当前位置: 首页 > news >正文

linux core分析---TLS读取异常

文章目录

      • TLS概念
      • core 线程调用栈
        • 查看堆栈: bt
        • 查看所有线程堆栈:
        • core分析:
        • 锁分析
      • 代码修改:
        • thread8 f 4 (第四层堆栈) jcallback.c:186**
        • thread10 f4 SynStack.cpp:1175
        • tl_send_message 加锁修改
          • tls_table
          • 1 socket_tab加锁保护
          • 2 增加tls_table 中buse的使用
          • 3 tls_tl_read_message修改

TLS概念

TLS 协议主要用于保护网络通信中的数据安全,工作过程主要分为握手阶段和数据传输阶段,绝大多数的 TLS 通信都是基于 TCP 协议的

core 线程调用栈

命令: ./gdb 进程名称 core

查看堆栈: bt
ore was generated by `./SMGSvr'.
Program terminated with signal 6, Aborted.
#0  0x400f5170 in pthread_join () from /lib/libpthread.so.0Thread 1 (Thread 0x410dc000 (LWP 1140)):
#0  0x400f5170 in pthread_join () from /lib/libpthread.so.0
#1  0x000da0c4 in WaitForSingleObject (hHandle=-1073741826, dwMilliseconds=4294967295) at compat.cpp:213
#2  0x000b60a4 in SMGRun () at SMGManager.cpp:2488
#3  0x00016558 in MySvrMain (argc=1, argv=0xbee65e34) at SMGSvr.cpp:23
#4  0x000f1fc0 in Svrmain (argc=1, argv=0xbee65e34) at LinuxService.cpp:74
#5  0x000f1ff4 in Run (argc=1, argv=0xbee65e34) at LinuxService.cpp:79
#6  0x000f203c in main (argc=1, argv=0xbee65e34) at LinuxService.cpp:89
查看所有线程堆栈:

thread apply all bt


Thread 20 (Thread 0x5d8ff460 (LWP 1284)):
#0  0x41036e94 in nanosleep () from /lib/libc.so.6
#1  0x41064138 in usleep () from /lib/libc.so.6
#2  0x40224358 in BoardClock (lpParam=0x0) at shssm.cpp:891
#3  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#4  0x4106a588 in ?? () from /lib/libc.so.6
#5  0x4106a588 in ?? () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 19 (Thread 0x4524b460 (LWP 1266)):
#0  0x41036e94 in nanosleep () from /lib/libc.so.6
#1  0x41064138 in usleep () from /lib/libc.so.6
#2  0x433aa6dc in thread_start_handle_msg (arg=0x0) at octvoc.c:10682
#3  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#4  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
#5  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 18 (Thread 0x44236460 (LWP 1264)):
#0  0x41036e94 in nanosleep () from /lib/libc.so.6
#1  0x41064138 in usleep () from /lib/libc.so.6
#2  0x433aa374 in thread_start (arg=0x0) at octvoc.c:10594
#3  0x400f3e64 in start_thread () from /lib/libpthread.so.0
Thread 5 (Thread 0x597a5460 (LWP 1273)):
#0  0x400fbfb4 in #4  0x4106a588 in ?? () from /lib/libc.so.6r
ead () from /lib/libpthread.so.0
#1  0x502822cc in sock_read () from /usr/lib/libSynSip.so
#2  0x50280c7c in BIO_read () from /usr/lib/libSynSCannot access memory at address 0x0ip.so#3  0x502605f8 in ssl3_read_n () from /usr/lib/libSynSip.so
#4  0x50261454 in ssl3_read_bytes () from /usr/lib/libSynSip.so
#5  0x5025ecc8 in ssl3_read_internal () from /usr/lib/libSynSip.so
#6  0x5025ed54 in ssl3_read () from /usr/lib/libSynSip.so
#7  0x50243024 in SSL_read () from /usr/lib/libSynSip.so
#8  0x501753b8 in tls_tl_read_me#5  0x4106a588 in ?? () from /lib/libc.so.6s
sage (osip_fdset=0x597a4cc8) at eXtl_tls.c:1009
#9  0x501f7554 in SipSocketReadMessage (max_message_nb=1, sec_max=0, usec_max=100000) at udp.c:3097Cannot access memory at address 0x0
#10 0
x501fcaf8 in SipStackInternalBacktrace stopped: previous frame identical to this frame (corrupt stack?)C
heckTimer () at SynConf.cpp:412
#11 0x5020fd64 in SipStackScheduleThread (arg=0x0) at SynStack.cpp:578
#12 0x400f3e64 in start_thread ()from /lib/Thread 17 (Thread 0x65c88460 (LWP 1327)):l
ibpthread.so.0
#13 0x4106a588 in ?? () from /lib/libc.so.6
#0  0x400fadd4 in do_futex_wait () from /lib/libpthread.so.0
#1  0x400faea0 in sem_wait@@GLIBC_2.4 () from /lib/libpthread.so.0
#2  0x000ded04 in WaitSemaphore (hSemaphore=2, dwMilliseconds=0) at compat.cpp:2501
#3  0x000b37e4 in OnDiskWork (arg=0x0) at SMGManager.cpp:1254
#4  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#5  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
#6  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 16 (Thread 0x66488460 (LWP 1328)):
#0  0x41036e94 in nanosleep () from /lib/libc.so.6
#1  0x41064138 in usleep () from /lib/libc.so.6
#2  0x0004993c in ProcessOtherThing (arg=0x0) at ChManger.cpp:5420
#3  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#4  0x4106a588 in ?? () from /lib/libc.so.6
#5  0x4106a588 in ?? () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 15 (Thread 0x5ceff460 (LWP 1283)):
#0  0x400fba04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x400f6244 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x501cc9e0 in osip_mutex_lock (_mut=0x1486ca20) at port_sema.c:194
#3  0x502099d0 in SipStackInternalLock () at Synsip.cpp:37
#4  0x5020145c in SynSipEventGetEvent (dwSec=0, dwMilliSec=50, phEvent=0x5cefedb0) at SynEvent.cpp:344
#5  0x4029e964 in CbSynSipEventGetEvent (dwSec=0, dwMilliSec=50, phEvent=0x5cefedb0) at SipExport.cpp:2173
#6  0x402c4cb4 in ProcessSipEvent () at SipLogical.cpp:2644
#7  0x402a7020 in SipEventHandleThread (lpParam=0x0) at SipInterface.cpp:1384
#8  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#9  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
#10 0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 14 (Thread 0x6446b460 (LWP 1321)):
#0  0x400fba04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x400f6244 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x4041cd28 in EnterCriticalSection (cri_mutex=0x40c6ec44 <csSipGlobalLock>) at compat.cpp:1072
#3  0x401ce804 in SmartLock::SLock (this=0x64468e2c) at SipExport.h:34
#4  0x402a91b0 in SipIcHangup (pCh=0x46ceac08) at SipInterface.cpp:2040
#5  0x403786d8 in SsmHangup (ch=448) at ssmapi.cpp:12101
#6  0x000e452c in CtiHangup (nCh=448) at CtiOp.cpp:2402
#7  0x0007f650 in IPHandleCallOutCh (pgwCh=0x606e6f08) at ChManger.cpp:19338
#8  0x00069a7c in HandleCallOutCh (pgwCh=0x606e6f08) at ChManger.cpp:13744
#9  0x0006befc in IPChStateChange (nCh=448, nDriverState=0) at ChManger.cpp:14656
#10 0x00058e94 in ChStateChange (nCh=448, nState=0) at ChManger.cpp:9734
#11 0x00058dd8 in ChStateChange (nCh=448, nState=0, nAppend=24, dwParam=9830400) at ChManger.cpp:9719
#12 0x000e89c0 in ChStateOp (nCh=448, nState=0, nAppend=24, dwParam=9830400) at CtiOp.cpp:3877
#13 0x000e7860 in SynwayEventCallback (pEvent=0x6446ad90) at CtiOp.cpp:3928
#14 0x4018cbc4 in EventCallbackProcA (lpParameter=0x0) at event.cpp:3539
#15 0x400f3e64 in start_thread () from /lib/libpthread.so.0
#16 0x4106a588 in ?? () from /lib/libc.so.6
#17 0x4106a588 in ?? () from /lib/libc.so.6
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 13 (Thread 0x5a05f460 (LWP 1274)):
#0  0x400fba04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x400f6244 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x501cc9e0 in osip_mutex_lock (_mut=0x1486ca20) at port_sema.c:194
#3  0x502099d0 in SipStackInternalLock () at Synsip.cpp:37
#4  0x501fcb48 in SipCheckTimerOut () at SynConf.cpp:419
#5  0x5020fe18 in SipStackTmOutThread (arg=0x0) at SynStack.cpp:594
#6  0x400f3e64 in start_thread () from /lib/libpthread.so.0
#7  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
#8  0x4106a588 in ?? () from /lib/libc.so.6
Cannot access memory at address 0x0
Backtrace stopped: previous frame identical to this frame (corrupt stack?)Thread 12 (Thread 0x5ea0e460 (LWP 1286)):
#0  0x400fba04 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x400f6244 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x501cc9e0 in osip_mutex_lock (_mut=0x1486ca20) at port_sema.c:194
#3  0x502099d0 in SipStackInternalLock () at Synsip.cpp:37
#4  0x50208560 in SynSipMsgTerminatedCall (dwCallID=398821, dwDialogID=398822) at SynMsg.cpp:1066

相关文章:

linux core分析---TLS读取异常

文章目录 TLS概念core 线程调用栈查看堆栈: bt查看所有线程堆栈:core分析:锁分析代码修改:thread8 f 4 (第四层堆栈) jcallback.c:186**thread10 f4 SynStack.cpp:1175tl_send_message 加锁修改tls_table1 socket_tab加锁保护2 增加tls_table 中buse的使用3 tls_tl_read_mes…...

SpringBoot 排除一些包的注入

文章目录 需求一、使用 ComponentScan 需求 在系统迭代的过程中&#xff0c;有一些 Controller 大批量的不再使用&#xff0c;或者有一些接口我们不想再提供给外界 一、使用 ComponentScan SpringBootApplication(scanBasePackages "com.zrb.excludeSomePkg") Comp…...

PHP Composer:高效项目依赖管理工具详解

PHP Composer:高效项目依赖管理工具详解 引言 随着Web开发领域的不断扩展,项目的复杂性也在逐渐增加。为了提高开发效率,减少重复劳动,依赖管理工具应运而生。其中,PHP的Composer成为了开发者们的首选。本文将详细介绍PHP Composer的功能、使用方法以及在实际开发中的应…...

第四届图像、信号处理与模式识别国际学术会议(ISPP 2025)

重要信息 大会官网&#xff1a;www.icispp.com 大会时间&#xff1a;2025年3月28日-30日 大会地点&#xff1a;南京 简介 由河海大学和江苏大学联合主办的第四届图像、信号处理与模式识别&#xff08;ISPP 2025) 将于2025年3月28日-30日在中国南京举行。主要围绕图像信号处…...

【设计模式精讲】创建型模式之工厂方法模式(简单工厂、工厂方法)

文章目录 第四章 创建型模式4.2 工厂方法模式4.2.1 需求: 模拟发放奖品业务4.2.2 原始开发方式4.2.3 简单工厂模式4.2.3.1 简单工厂模式介绍4.2.3.2 简单工厂原理4.2.3.3 简单工厂模式重构代码4.2.3.4 简单工厂模式总结 4.2.4 工厂方法模式4.2.4.1 工厂方法模式介绍4.2.4.2 工厂…...

python:多重继承、MRO(方法解析顺序)

在 Python 中&#xff0c;当类存在多重继承时&#xff0c;方法的调用顺序由 方法解析顺序&#xff08;Method Resolution Order, MRO&#xff09; 决定。 Python 使用 C3线性化算法 来确定类的继承顺序&#xff08;MRO&#xff09;&#xff0c;其核心规则是&#xff1a; 子类优…...

Oracle RAC数据库单节点轮流重启

0、sqlplus / as sysdba 备份参数文件 create pfile/home/oracle/pfile.ora from spfile; 备份控制文件 Alter database backup controlfile to trace; 1、关闭两节点的监听&#xff1b; 2、操作系统层面kill掉所有LOCALNO的所有进程&#xff0c;即&#xff1a;连接会话。 p…...

电脑想安装 Windows 11 需要开启 TPM 2.0 怎么办?

尽管 TPM 2.0 已经内置在许多新电脑中&#xff0c;但很多人并不知道如何激活这一功能&#xff0c;甚至完全忽略了它的存在。其实&#xff0c;只需简单的几步操作&#xff0c;你就能开启这项强大的安全特性&#xff0c;为你的数字生活增添一层坚固的防护屏障。无论你是普通用户还…...

Vue 3 中如何注册全局自定义组件:一个 SVG 图标的例子

Vue 3 中如何注册全局自定义组件&#xff1a;一个 SVG 图标的例子 嘿&#xff0c;小伙伴们&#xff01;今天我们来聊一下在 Vue 3 中如何注册一个全局的自定义组件。我知道有时候我们想要重复使用某些组件&#xff0c;比如说 SVG 图标&#xff0c;但不想在每个地方都重新定义。…...

SpringBoot+Vue3-学习笔记

1、SpringBoot特性 ①起步依赖&#xff0c;所有需要的依赖全部配置在一起 ②自动配置&#xff1a;遵循约定大约配置的原则&#xff0c;在boot程序启动后&#xff0c;一些bean对象会自动注入到ioc容器&#xff0c;不需要手动声明&#xff0c;简化开发 ③内嵌的Tomcat、Jetty(无…...

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu&#xff1a;I5-10代&#xff1b; 主板&#xff1a;华硕&#xff1b; OS&#xff1a;银河麒麟V10&#xff08;SP1&#xff09;未激活 架构&#xff1a;Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本&#xff1a;mysql-5.7.34-linux-glibc2.12-x86_64.ta…...

为什么WP建站更适合于谷歌SEO优化?

在当今数字时代&#xff0c;建立一个网站似乎变得容易&#xff0c;但要构建一个真正能够带来流量和订单的网站却并非易事。特别是在谷歌SEO优化方面&#xff0c;不同的建站程序在SEO支持方面的效果差异显著。对于希望提升搜索引擎表现的用户来说&#xff0c;WordPress无疑是最佳…...

ue----git局域网内部署裸仓库,别的机器进行访问

最近由于经常迁移项目到另一台机器上进行部署更新一点就要整个迁移 弄得麻烦了 就在网上学了一下这个方式 首先我们在想要建立裸仓库的电脑上找到一个文件夹放置我们的裸仓库 在此点击鼠标右键选择 open git bash here 输入命令 创裸仓库 git init --bare gitTestName.git…...

leetcode876.链表的中间结点

目录 问题描述示例提示 具体思路思路一 代码实现 问题描述 给你单链表的头结点 head &#xff0c;请你找出并返回链表的中间结点。 如果有两个中间结点&#xff0c;则返回第二个中间结点。 题目链接&#xff1a;链表的中间结点 示例 提示 链表的结点数范围是 [1, 100]   1 &…...

旧手机热点无法提供ipv6解决方法(emui 8 热点提供ipv6)

旧手机热点无法提供ipv6解决方法 手机&#xff1a;荣耀8x 系统版本: EMUI 8 网络&#xff1a;移动流量卡 解决方案 设置-》无线和网络-》移动网络-》接入点名称(APN)-》cmiot 修改 APN协议: IPv4/IPv6 修改 APN漫游协议: IPv4/IPv6...

解决DeepSeek服务器繁忙问题的实用指南

目录 简述 1. 关于服务器繁忙 1.1 服务器负载与资源限制 1.2 会话管理与连接机制 1.3 客户端配置与网络问题 2. 关于DeepSeek服务的备用选项 2.1 纳米AI搜索 2.2 硅基流动 2.3 秘塔AI搜索 2.4 字节跳动火山引擎 2.5 百度云千帆 2.6 英伟达NIM 2.7 Groq 2.8 Firew…...

新数据结构(12)——代理

什么是代理 在进行操作时有时不希望用户直接接触到目标&#xff0c;这时需要使用代理让用户间接接触到目标 给目标对象提供一个代理对象&#xff0c;并且由代理对象控制着对目标对象的引用 图解&#xff1a; 代理的目的 控制访问&#xff1a;通过代理对象的方式间接的访问目…...

记一次一波三折的众测SRC经历

视频教程和更多福利在我主页简介或专栏里 &#xff08;不懂都可以来问我 专栏找我哦&#xff09; 目录&#xff1a; 前言 波折一&#xff1a;RCE漏洞利用失败 波折二&#xff1a;SQL时间盲注 波折三&#xff1a;寻找管理后台 总结 前言 先谈个人SRC心得体会吧&#xff0c;我虽…...

Laravel从入门到上云

大家好&#xff0c;今天给大家介绍一下PHP的经典框架Laravel。 本文假定你已经安装好了PHP执行环境&#xff0c;并且使用PHP版本为PHP8.0以上。 首先&#xff0c;让我们来安装Laravel框架&#xff0c;执行命令&#xff1a;composer create-project laravel/laravel 命令执行…...

【小游戏】C++控制台版本俄罗斯轮盘赌

制作团队&#xff1a;洛谷813622&#xff08;Igallta&#xff09; 989571&#xff08;_ayaka_&#xff09; Mod&#xff1a;_ayaka_ 双人模式&#xff1a;Igallta 公告&#xff1a; 原先的9.8改名为 Alpha 1.0&#xff0c;以后每次更新都增加 0.1。 Alpha 1.11 改为 Beta 1…...

别再乱试那个ChatGPT“开发者模式”咒语了,实测无效还可能导致封号

揭秘ChatGPT“开发者模式”真相&#xff1a;安全使用AI的终极指南 最近在各大社交平台和论坛上&#xff0c;流传着一种号称可以“解锁ChatGPT全部潜能”的神秘指令。不少用户抱着好奇或功利的心态尝试这些所谓的“开发者模式咒语”&#xff0c;却不知这背后隐藏着怎样的技术原理…...

Phi-3-vision-128k图文对话模型开箱即用:Chainlit前端调用与效果实测

Phi-3-vision-128k图文对话模型开箱即用&#xff1a;Chainlit前端调用与效果实测 1. 模型简介 Phi-3-Vision-128K-Instruct是微软推出的轻量级开放多模态模型&#xff0c;属于Phi-3模型家族的最新成员。这个模型特别针对图文对话场景进行了优化&#xff0c;支持高达128K的上下…...

C语言新手必看:从电子科大程算I机考真题里,我总结出的5个函数题避坑指南

C语言新手必看&#xff1a;从电子科大程算I机考真题里&#xff0c;我总结出的5个函数题避坑指南 第一次参加电子科大程算I机考的同学&#xff0c;往往会在函数题上栽跟头。作为过来人&#xff0c;我复盘了近年真题&#xff0c;发现80%的失分都集中在几个典型陷阱上。今天不谈标…...

Fastboot Enhance:告别命令行,用可视化工具轻松管理Android设备

Fastboot Enhance&#xff1a;告别命令行&#xff0c;用可视化工具轻松管理Android设备 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 还在为复杂…...

使用LaTeX撰写技术报告:如何优雅呈现cv_unet_image-colorization实验数据

使用LaTeX撰写技术报告&#xff1a;如何优雅呈现cv_unet_image-colorization实验数据 写技术报告或者论文&#xff0c;最头疼的往往不是实验本身&#xff0c;而是怎么把那些辛辛苦苦跑出来的数据、图表、结果&#xff0c;清晰又专业地呈现出来。你肯定遇到过这种情况&#xff…...

终极Unity游戏自动翻译指南:XUnity.AutoTranslator完全使用教程

终极Unity游戏自动翻译指南&#xff1a;XUnity.AutoTranslator完全使用教程 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 想要畅玩日文、韩文等外语Unity游戏却苦于语言障碍&#xff1f;XUnity.AutoTra…...

SpringBoot项目打包遇阻:Java版本不匹配的深度诊断与修复

1. 当SpringBoot打包遇上Java版本冲突 最近在给一个SpringBoot多模块项目打包时&#xff0c;遇到了一个让人头疼的问题。Maven打包过程中突然报错&#xff0c;提示"class file version 61.0"不兼容&#xff0c;而当前Java运行时环境最高只支持到"class file ve…...

2024机器学习工程师薪资趋势与技能溢价分析

1. 2024年机器学习行业薪资与就业市场全景扫描过去三年机器学习工程师的薪资中位数增长了47%&#xff0c;这个数字背后反映的是整个行业供需关系的深刻变化。我最近刚帮团队招聘了一位有3年经验的计算机视觉工程师&#xff0c;开出的package比两年前同等资历候选人高出30%依然竞…...

Oracle 常用数据类型:数值类型、字符类型、日期时间、大对象、特殊类型(ROWID、XML、JSON)附:和 MySql对比,Oracle 特有的关键字或方法

Oracle提供了丰富的数据类型&#xff0c;主要包括&#xff1a;数值类型&#xff1a;NUMBER为主&#xff0c;支持任意精度数值&#xff0c;FLOAT用于科学计算字符类型&#xff1a;VARCHAR2最常用&#xff0c;CHAR用于定长&#xff0c;CLOB处理大文本日期时间&#xff1a;DATE(最…...

终极指南:如何用CXPatcher一键提升Mac上CrossOver游戏性能

终极指南&#xff1a;如何用CXPatcher一键提升Mac上CrossOver游戏性能 【免费下载链接】CXPatcher A patcher to upgrade Crossover dependencies and improve compatibility 项目地址: https://gitcode.com/gh_mirrors/cx/CXPatcher 还在为Mac上运行Windows游戏卡顿、闪…...