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

成都网站优化步骤中石化建设工程有限公司网站

成都网站优化步骤,中石化建设工程有限公司网站,网站开发 东莞,去除wordpress版本号最近编译了fs 1.10.10-dev也就是 master版本#xff08;2023年7月6日#xff09; 给几个客户升级了一下#xff0c;发现非常不稳定(每天都有几个通道卡在early状态)#xff0c;最近才有空来分析原因。 之前跑的是1.10.8 release 版本#xff0c;从来没出现过这个问题2023年7月6日 给几个客户升级了一下发现非常不稳定(每天都有几个通道卡在early状态)最近才有空来分析原因。 之前跑的是1.10.8 release 版本从来没出现过这个问题我把 1.10.8的代码和1.10.10-dev的代码整体对比了一下整体改变不大其中 switch_core_media_set_codec 函数的修改引擎我的警惕因为这个修改时直接修改了互斥锁 switch_core_session_lock_codec_write(session); switch_core_session_lock_codec_read(session); 的锁定范围。我查看了一下这个提交说明 2023年6月12日 这个提交给合并到到了master SHA-1: 645b610e7968594910dd2368c511fbc93c1373b7 Merge pull request #2109 from signalwire/switch_core_media_set_codec [Core] Fix possible deadlock in switch_core_media_set_codec() 晚上 我联系客户 看看有没有卡在early状态的通道刚好有一个把所有线程的调用堆栈 输出来, 还真是卡在 switch_core_media_set_codec 。 #0 0x00007f9dc597a54d in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f9dc5975eb6 in _L_lock_941 () from /lib64/libpthread.so.0 #2 0x00007f9dc5975daf in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x00007f9dc8687759 in fspr_thread_mutex_lock (mutexoptimized out) at locks/unix/thread_mutex.c:92 #4 0x00007f9dc850e895 in switch_mutex_lock (lockoptimized out) at src/switch_apr.c:301 #5 0x00007f9db9c9029c in sofia_receive_message (session0x7f9cf5b4a7c8, msg0x7f9d345ac4d0) at mod_sofia.c:1526 #6 0x00007f9dc853f80b in switch_core_session_perform_receive_message (sessionsessionentry0x7f9cf5b4a7c8, messagemessageentry0x7f9d345ac4d0, filefileentry0x7f9dc86a961d src/switch_core_io.c, funcfuncentry0x7f9dc86a9970 __func__.19414 switch_core_session_read_frame, linelineentry416) at src/switch_core_session.c:930 #7 0x00007f9dc854aa7e in switch_core_session_read_frame (sessionsessionentry0x7f9cf5b4a7c8, frameframeentry0x7f9d345ae568, flagsflagsentry0, stream_idstream_identry0) at src/switch_core_io.c:416 #8 0x00007f9dc8608251 in switch_ivr_sleep (session0x7f9cf5b4a7c8, ms100, syncoptimized out, args0x0) at src/switch_ivr.c:294 #9 0x00007f9daeb4dcc5 in ?? () from /ddt/fs/mod/mod_cti.so #10 0x00007f9dc8543b5b in switch_core_session_exec (session0x7f9cf5b4a7c8, application_interfaceapplication_interfaceentry0x19077a0, argargentry0x7f9d345aeb40 38981 2000) at src/switch_core_session.c:2964 #11 0x00007f9dc85441ef in switch_core_session_execute_application_get_flags (sessionoptimized out, app0x7f9db140b89b cti_wait_for_answer, arg0x7f9d345aeb40 38981 2000, flagsoptimized out) at src/switch_core_session.c:2824 #12 0x00007f9daeb8eb7e in ?? () from /ddt/fs/mod/mod_cti.so #13 0x00007f9daeb92619 in ?? () from /ddt/fs/mod/mod_cti.so #14 0x00007f9dc853c9c5 in switch_core_session_thread_pool_worker (thread0x7f9d45af47a0, objoptimized out) at src/switch_core_session.c:1790 #15 0x00007f9dc868d760 in dummy_worker (opaque0x7f9d45af47a0) at threadproc/unix/thread.c:151 #16 0x00007f9dc5973ea5 in start_thread () from /lib64/libpthread.so.0 #17 0x00007f9dc4fc7b0d in clone () from /lib64/libc.so.6 Thread 2 (Thread 0x7f9d2f76b700 (LWP 30595)):#0 0x00007f9dc597a54d in __lll_lock_wait () from /lib64/libpthread.so.0 #1 0x00007f9dc5975eb6 in _L_lock_941 () from /lib64/libpthread.so.0 #2 0x00007f9dc5975daf in pthread_mutex_lock () from /lib64/libpthread.so.0 #3 0x00007f9dc8687759 in fspr_thread_mutex_lock (mutexoptimized out) at locks/unix/thread_mutex.c:92 #4 0x00007f9dc850e895 in switch_mutex_lock (lockoptimized out) at src/switch_apr.c:301 #5 0x00007f9dc852c6ec in switch_core_session_lock_codec_read (sessionoptimized out) at src/switch_core_codec.c:74 #6 0x00007f9dc8561e7c in switch_core_media_set_codec (sessionsessionentry0x7f9cf5b4a7c8, forceforceentry0, codec_flags0) at src/switch_core_media.c:3608 #7 0x00007f9dc856763e in switch_core_media_activate_rtp (session0x7f9cf5b4a7c8) at src/switch_core_media.c:8565 #8 0x00007f9db9cf73de in sofia_media_activate_rtp (tech_pvttech_pvtentry0x7f9cf5b53ff8) at sofia_media.c:58 #9 0x00007f9db9cf745e in sofia_media_tech_media (tech_pvttech_pvtentry0x7f9cf5b53ff8, r_sdpoptimized out, typetypeentrySDP_TYPE_REQUEST) at sofia_media.c:189 #10 0x00007f9db9ccab5a in sofia_handle_sip_i_state (de0x7f9d983bcea0, tags0x7f9d882ae950, sip0x0, sofia_privateoptimized out, nh0x7f9da1db69b0, profile0x1ac35070, nua0x7f9d98040be0, phrase0x7f9d882aece6 Ringing, status183, session0x7f9cf5b4a7c8) at sofia.c:7683 #11 our_sofia_event_callback (eventnua_i_state, statusoptimized out, phrase0x7f9d882aece6 Ringing, nua0x7f9d98040be0, profile0x1ac35070, nh0x7f9da1db69b0, sofia_private0x7f9d1927a640, sip0x0, dedeentry0x7f9d983bcea0, tags0x7f9d882ae950) at sofia.c:1813 #12 0x00007f9db9ccea5b in sofia_process_dispatch_event (dep0x7f9d2f76a2c0) at sofia.c:2253 #13 0x00007f9db9c8ffc9 in sofia_receive_message (session0x7f9cf5b4a7c8, msg0x7f9d2f76aa20) at mod_sofia.c:1347 #14 0x00007f9dc853f6d5 in switch_core_session_perform_receive_message (sessionsessionentry0x7f9cf5b4a7c8, messagemessageentry0x7f9d2f76aa20, filefileentry0x7f9dc86c5e35 src/switch_ivr.c, funcfuncentry0x7f9dc86c6ed0 __func__.19070 switch_ivr_parse_signal_data, linelineentry893) at src/switch_core_session.c:853 #15 0x00007f9dc8604f9c in switch_ivr_parse_signal_data (sessionsessionentry0x7f9cf5b4a7c8, allallentrySWITCH_TRUE, only_session_threadonly_session_threadentrySWITCH_FALSE) at src/switch_ivr.c:893 #16 0x00007f9dc8604fec in switch_ivr_parse_all_signal_data (sessionsessionentry0x7f9cf5b4a7c8) at src/switch_ivr.c:906 #17 0x00007f9dc8605007 in switch_ivr_parse_all_messages (sessionsessionentry0x7f9cf5b4a7c8) at src/switch_ivr.c:852 #18 0x00007f9dc8607b4a in switch_ivr_parse_all_events (sessionsessionentry0x7f9cf5b4a7c8) at src/switch_ivr.c:925 #19 0x00007f9dc8548632 in switch_core_session_run (session0x7f9cf5b4a7c8) at src/switch_core_state_machine.c:710 #20 0x00007f9dc85412ae in switch_core_session_thread (threadoptimized out, obj0x7f9cf5b4a7c8) at src/switch_core_session.c:1726 #21 0x00007f9dc853c9c5 in switch_core_session_thread_pool_worker (thread0x7f9d38410920, objoptimized out) at src/switch_core_session.c:1790 #22 0x00007f9dc868d760 in dummy_worker (opaque0x7f9d38410920) at threadproc/unix/thread.c:151 #23 0x00007f9dc5973ea5 in start_thread () from /lib64/libpthread.so.0 #24 0x00007f9dc4fc7b0d in clone () from /lib64/libc.so.6 Thread 1 (Thread 0x7f9dc8db78c0 (LWP 11507)):接下来就是分析代码找出死锁原因了 Thread 2 (Thread 0x7f9d2f76b700 (LWP 30595)): 和线程 Thread 1 (Thread 0x7f9dc8db78c0 (LWP 11507)): 调用堆栈都有 sofia_receive_message 这个函数 具体代码 switch_mutex_lock(tech_pvt-sofia_mutex);if (switch_core_session_in_thread(session)) {de-session session;}sofia_process_dispatch_event(de);switch_mutex_unlock(tech_pvt-sofia_mutex);Thread 2 (Thread 0x7f9d2f76b700 (LWP 30595)): 卡在 switch_mutex_lock(tech_pvt-sofia_mutex);了 Thread 1 (Thread 0x7f9d2f76b700 (LWP 30595)) 成功获取了 tech_pvt-sofia_mutex) 锁定进入了sofia_process_dispatch_event。最后卡在switch_core_media_set_codec函数里面的switch_core_session_lock_codec_write(session)步骤。 通过看 Thread 2 (Thread 0x7f9d2f76b700 (LWP 30595)): 的调用堆栈 函数 switch_core_session_read_frame 里面调用了switch_core_session_perform_receive_message 对应代码 switch_mutex_lock(session-codec_read_mutex);...省略很多代码if (!switch_test_flag(session, SSF_WARN_TRANSCODE)) {switch_core_session_message_t msg { 0 };msg.message_id SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY;switch_core_session_receive_message(session, msg);switch_set_flag(session, SSF_WARN_TRANSCODE);} switch_mutex_lock(session-codec_read_mutex); 这个锁定和 switch_core_session_lock_codec_write(session) 对应的是一个锁定至此 这个死锁的bug我们就分析出来了。 Merge pull request #2109 from signalwire/switch_core_media_set_codec 这个提交为了解决一个bug,导致了一个更深的bug。 触发的原因是 cti模块有处理早期媒体如果外呼用的是 ignore_early_mediatrue 应该是不会触发这个的bug的。 解决这个bug的方法是 调用 switch_core_session_receive_message 之前先 解锁 switch_mutex_unlock(session-codec_read_mutex)。代码如下。 msg.message_id SWITCH_MESSAGE_INDICATE_TRANSCODING_NECESSARY;switch_mutex_unlock(session-codec_read_mutex);switch_core_session_receive_message(session, msg);switch_mutex_lock(session-codec_read_mutex);switch_set_flag(session, SSF_WARN_TRANSCODE);
文章转载自:
http://www.morning.pkrb.cn.gov.cn.pkrb.cn
http://www.morning.kpgms.cn.gov.cn.kpgms.cn
http://www.morning.mxdiy.com.gov.cn.mxdiy.com
http://www.morning.tbcfj.cn.gov.cn.tbcfj.cn
http://www.morning.wnnlr.cn.gov.cn.wnnlr.cn
http://www.morning.dwrbn.cn.gov.cn.dwrbn.cn
http://www.morning.dyfmh.cn.gov.cn.dyfmh.cn
http://www.morning.gqddl.cn.gov.cn.gqddl.cn
http://www.morning.kpnpd.cn.gov.cn.kpnpd.cn
http://www.morning.mcndn.cn.gov.cn.mcndn.cn
http://www.morning.yrsg.cn.gov.cn.yrsg.cn
http://www.morning.ljdd.cn.gov.cn.ljdd.cn
http://www.morning.yyngs.cn.gov.cn.yyngs.cn
http://www.morning.xrwbc.cn.gov.cn.xrwbc.cn
http://www.morning.rcgzg.cn.gov.cn.rcgzg.cn
http://www.morning.mbpzw.cn.gov.cn.mbpzw.cn
http://www.morning.rzjfn.cn.gov.cn.rzjfn.cn
http://www.morning.rdkgw.cn.gov.cn.rdkgw.cn
http://www.morning.chtnr.cn.gov.cn.chtnr.cn
http://www.morning.mlcnh.cn.gov.cn.mlcnh.cn
http://www.morning.mphfn.cn.gov.cn.mphfn.cn
http://www.morning.xkqjw.cn.gov.cn.xkqjw.cn
http://www.morning.dzyxr.cn.gov.cn.dzyxr.cn
http://www.morning.zfkxj.cn.gov.cn.zfkxj.cn
http://www.morning.qbccg.cn.gov.cn.qbccg.cn
http://www.morning.ylxgw.cn.gov.cn.ylxgw.cn
http://www.morning.knzmb.cn.gov.cn.knzmb.cn
http://www.morning.mspqw.cn.gov.cn.mspqw.cn
http://www.morning.npmx.cn.gov.cn.npmx.cn
http://www.morning.rlqml.cn.gov.cn.rlqml.cn
http://www.morning.bntfy.cn.gov.cn.bntfy.cn
http://www.morning.wwthz.cn.gov.cn.wwthz.cn
http://www.morning.fcwxs.cn.gov.cn.fcwxs.cn
http://www.morning.flqbg.cn.gov.cn.flqbg.cn
http://www.morning.qpnb.cn.gov.cn.qpnb.cn
http://www.morning.zmlbq.cn.gov.cn.zmlbq.cn
http://www.morning.sphft.cn.gov.cn.sphft.cn
http://www.morning.ryqsq.cn.gov.cn.ryqsq.cn
http://www.morning.rggky.cn.gov.cn.rggky.cn
http://www.morning.cwyrp.cn.gov.cn.cwyrp.cn
http://www.morning.yrjkz.cn.gov.cn.yrjkz.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.mftdq.cn.gov.cn.mftdq.cn
http://www.morning.gtjkh.cn.gov.cn.gtjkh.cn
http://www.morning.rszyf.cn.gov.cn.rszyf.cn
http://www.morning.hpjpy.cn.gov.cn.hpjpy.cn
http://www.morning.jbkcs.cn.gov.cn.jbkcs.cn
http://www.morning.tnbsh.cn.gov.cn.tnbsh.cn
http://www.morning.wxckm.cn.gov.cn.wxckm.cn
http://www.morning.rfrnc.cn.gov.cn.rfrnc.cn
http://www.morning.hlfgm.cn.gov.cn.hlfgm.cn
http://www.morning.jgrjj.cn.gov.cn.jgrjj.cn
http://www.morning.zbkdm.cn.gov.cn.zbkdm.cn
http://www.morning.wjrtg.cn.gov.cn.wjrtg.cn
http://www.morning.easiuse.com.gov.cn.easiuse.com
http://www.morning.wmnpm.cn.gov.cn.wmnpm.cn
http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn
http://www.morning.mlwhd.cn.gov.cn.mlwhd.cn
http://www.morning.rnsjp.cn.gov.cn.rnsjp.cn
http://www.morning.bkqw.cn.gov.cn.bkqw.cn
http://www.morning.gdpai.com.cn.gov.cn.gdpai.com.cn
http://www.morning.qcdhg.cn.gov.cn.qcdhg.cn
http://www.morning.jrhmh.cn.gov.cn.jrhmh.cn
http://www.morning.hybmz.cn.gov.cn.hybmz.cn
http://www.morning.slfkt.cn.gov.cn.slfkt.cn
http://www.morning.gbxxh.cn.gov.cn.gbxxh.cn
http://www.morning.fhwfk.cn.gov.cn.fhwfk.cn
http://www.morning.kyjyt.cn.gov.cn.kyjyt.cn
http://www.morning.cxryx.cn.gov.cn.cxryx.cn
http://www.morning.mlntx.cn.gov.cn.mlntx.cn
http://www.morning.qflcb.cn.gov.cn.qflcb.cn
http://www.morning.qbjrf.cn.gov.cn.qbjrf.cn
http://www.morning.lxqkt.cn.gov.cn.lxqkt.cn
http://www.morning.mxptg.cn.gov.cn.mxptg.cn
http://www.morning.hqllj.cn.gov.cn.hqllj.cn
http://www.morning.rwlnk.cn.gov.cn.rwlnk.cn
http://www.morning.kgltb.cn.gov.cn.kgltb.cn
http://www.morning.jsljr.cn.gov.cn.jsljr.cn
http://www.morning.nfpct.cn.gov.cn.nfpct.cn
http://www.morning.qtzwh.cn.gov.cn.qtzwh.cn
http://www.tj-hxxt.cn/news/260392.html

相关文章:

  • 做酒店网站多少钱中山seo
  • 如何免费自做企业网站wordpress小说主题模板下载地址
  • 品牌网站建设定位电脑做服务器上传网站
  • 网站图片 优化有哪些比较好的外贸网站
  • 印度vps网站优化报价单
  • 重庆网站建设小能手微信 购物网站开发
  • 四大门户网站对比分析wordpress 请求数量
  • 龙江网站开发电商网站建设方案模板
  • 无锡网站推广哪家公司好做的网站加载太慢怎么办
  • asp网站开发环境搭建公司网站不续费能打开网页吗
  • 电影网站做多大会有风险建设工程施工安全网站
  • 网站后台上传图片 不可用高端建站神器
  • 菏泽网站建设效果昆明网站建设培训
  • 郑州建设银行网站房贷网点在哪个人网站备案核验单
  • 问答网站建设该网站未在腾讯云备案
  • 电子商务网站的特点百度网页版登录入口
  • 网页设计素材网站有哪些wordpress数据库导入插件
  • 做ghost系统的网站有哪些泉州网站建设定制
  • 惠来做网站石家庄白帽seo网络公司
  • 宁波网站建设58同城三网合一 网站
  • 网站后台html5模板大良网站建设公司
  • 做网站 做好把我踢开山西住房城乡建设厅网站
  • 做网站能挣钱不wordpress给后台添加样式
  • 哪些是+joomla做的网站郑州网站设计推荐
  • 无锡网站建设推广服务建设局电话
  • 做全景网站邦泽网站建设
  • 遵义建设厅网站购买网站空间
  • 网站开发费用科目货运公司网站源码
  • 在线表情包制作网站网络营销公司哪家好
  • 网站建站网站299266co手机wap网站开发