#357 closed баг (fixed)
Падение по ошибке сегментирования
| Reported by: | alx | Owned by: | dimag |
|---|---|---|---|
| Priority: | major | Milestone: | 2 очередь |
| Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | config, SIP port |
| Cc: | san |
Description
В конфигурации программы (r370) параметру "SIP порт" было задано такое значение порта, на котором другая программа уже слушает TCP сокет. В результате программа упала при старте. Вот что вывелось в консоль:
/usr/lib/x86_64-linux-gnu/qt4/plugins rootStartElement Characters 10:11:17.961 os_core_unix.c !pjlib 2.1 for POSIX initialized 8013003 UP 0 years, 0 days, 17 hours, 15 minutes, 22 seconds, 139 milliseconds, 239 microseconds FreeSWITCH (Version 1.6.10 git 726448d 2016-08-24 21:54:04Z 64bit) is ready 118 session(s) since startup 0 session(s) - peak 13, last 5min 0 0 session(s) per Sec out of max 30, peak 6, last 5min 0 1000 session(s) max min idle cpu 0.00/98.17 Current Stack Size/Max 240K/8192K 10:11:18.798 sip_endpoint.c !.Creating endpoint instance... 10:11:18.798 pjlib .select() I/O Queue created (0x7f861400ee60) 10:11:18.799 sip_endpoint.c .Module "mod-msg-print" registered 10:11:18.799 sip_transport. .Transport manager created. 10:11:18.799 pjsua_core.c .PJSUA state changed: NULL --> CREATED 10:11:18.799 sip_endpoint.c .Module "mod-pjsua-log" registered 10:11:18.799 sip_endpoint.c .Module "mod-tsx-layer" registered 10:11:18.799 sip_endpoint.c .Module "mod-stateful-util" registered 10:11:18.799 sip_endpoint.c .Module "mod-ua" registered 10:11:18.799 sip_endpoint.c .Module "mod-100rel" registered 10:11:18.799 sip_endpoint.c .Module "mod-pjsua" registered 10:11:18.799 sip_endpoint.c .Module "mod-invite" registered ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM sysdefault ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM sysdefault ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958 ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM default ALSA lib confmisc.c:768:(parse_card) cannot find card '0' ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_card_driver returned error: Нет такого файла или каталога ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_concat returned error: Нет такого файла или каталога ALSA lib confmisc.c:1251:(snd_func_refer) error evaluating name ALSA lib conf.c:4292:(_snd_config_evaluate) function snd_func_refer returned error: Нет такого файла или каталога ALSA lib conf.c:4771:(snd_config_expand) Evaluate error: Нет такого файла или каталога ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM dmix Cannot connect to server socket err = Нет такого файла или каталога Cannot connect to server request channel jack server is not running or cannot be started JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for 4294967295, skipping unlock 10:11:18.808 pa_dev.c ..PortAudio sound library initialized, status=0 10:11:18.808 pa_dev.c ..PortAudio host api count=2 10:11:18.808 pa_dev.c ..Sound device count=0 10:11:18.808 pjlib ..select() I/O Queue created (0x7f8614030638) 10:11:18.816 sip_endpoint.c .Module "mod-evsub" registered 10:11:18.816 sip_endpoint.c .Module "mod-presence" registered 10:11:18.816 sip_endpoint.c .Module "mod-mwi" registered 10:11:18.816 sip_endpoint.c .Module "mod-refer" registered 10:11:18.816 sip_endpoint.c .Module "mod-pjsua-pres" registered 10:11:18.816 sip_endpoint.c .Module "mod-pjsua-im" registered 10:11:18.816 sip_endpoint.c .Module "mod-pjsua-options" registered 10:11:18.816 pjsua_core.c .1 SIP worker threads created 10:11:18.816 pjsua_core.c .pjsua version 2.1 for Linux-4.4.0.22/x86_64/glibc-2.17 initialized 10:11:18.816 pjsua_core.c .PJSUA state changed: CREATED --> INIT 10:11:18.817 pjsua_core.c SIP UDP socket reachable at 192.168.0.63:8080 10:11:18.817 udp0x7f861404c SIP UDP transport started, published address is 192.168.0.63:8080 10:11:18.817 tcplis SIP TCP listener destroyed 10:11:18.817 pjsua_core.c Error creating SIP TCP listener: Адрес уже используется [status=120098] 10:11:18.817 pjsua_core.c Shutting down, flags=0... 10:11:18.817 pjsua_core.c PJSUA state changed: INIT --> CLOSING 10:11:18.826 pjsua_call.c .Hangup all calls.. 10:11:18.826 pjsua_pres.c .Shutting down presence.. 10:11:18.826 pjsua_media.c .Shutting down media.. 10:11:18.826 pjsua_media.c ..Call 0: deinitializing media.. 10:11:18.826 pjsua_media.c ..Call 1: deinitializing media.. 10:11:18.826 pjsua_media.c ..Call 2: deinitializing media.. 10:11:18.826 pjsua_media.c ..Call 3: deinitializing media.. 10:11:19.308 pa_dev.c ..PortAudio sound library shutting down.. 10:11:20.318 pjsua_core.c .Destroying... 10:11:20.318 sip_transactio .Stopping transaction layer module 10:11:20.318 sip_transactio .Stopped transaction layer module 10:11:20.318 sip_endpoint.c .Module "mod-pjsua-options" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-pjsua-im" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-pjsua-pres" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-pjsua" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-stateful-util" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-refer" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-mwi" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-presence" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-evsub" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-invite" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-100rel" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-ua" unregistered 10:11:20.318 sip_transactio .Transaction layer module destroyed 10:11:20.318 sip_endpoint.c .Module "mod-tsx-layer" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-msg-print" unregistered 10:11:20.318 sip_endpoint.c .Module "mod-pjsua-log" unregistered 10:11:20.319 sip_endpoint.c .Endpoint 0x7f8614004348 destroyed 10:11:20.319 pjsua_core.c .PJSUA state changed: CLOSING --> NULL 10:11:20.319 pjsua_core.c .PJSUA destroyed... QThread: Destroyed while thread is still running Ошибка сегментирования (сделан дамп памяти)
Конфиг прилагаю.
Attachments (1)
Change History (5)
by , 9 years ago
| Attachment: | Config.xml added |
|---|
comment:1 by , 9 years ago
comment:2 by , 9 years ago
А вот другое падение, так падает чаще всего:
QThread: Destroyed while thread is still running Thread 2 "InitializationT" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffeaf52700 (LWP 32240)] 0x00007ffff5ab2d99 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 (gdb) bt #0 0x00007ffff5ab2d99 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #1 0x00007ffff598dd7f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #2 0x00007ffff598ee5b in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #3 0x00007ffff56fe6fa in start_thread (arg=0x7fffeaf52700) at pthread_create.c:333 #4 0x00007ffff4b93b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
comment:3 by , 9 years ago
| Keywords: | config SIP port added |
|---|---|
| Resolution: | → fixed |
| Status: | new → closed |
r374.
Причина данного явления в том, что я посылал emit Error_Report и после него ещё деинициализиловал объекты и потом только завершал основную функцию потока Run. Так как деинициализация может занимать достаточно много времени, то главный поток успевал получить сообщение и первым приказать совершить потоку инициализации, пока он работал. Ошибка явео из-за этого и удалось воспроизвести подобную ситуацию.

Вот стэк в месте получения сигнала под отладчиком (падение выглядит немного иначе чем в описании тикета):
... QThread: Destroyed while thread is still running QWaitCondition::wakeAll(): mutex lock failure: Недопустимый аргумент *** Error in `/home/alx/src/dispatcher/MC04Dispatcher': malloc(): smallbin double linked list corrupted: 0x00000000007c2730 *** ... (gdb) bt #0 0x00007ffff4ac2418 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54 #1 0x00007ffff4ac401a in __GI_abort () at abort.c:89 #2 0x00007ffff4b0472a in __libc_message (do_abort=do_abort@entry=2, fmt=fmt@entry=0x7ffff4c1d6b0 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007ffff4b0ef01 in malloc_printerr (ar_ptr=0x3, ptr=<optimized out>, str=0x7ffff4c1dae0 "malloc(): smallbin double linked list corrupted", action=3) at malloc.c:5007 #4 _int_malloc (av=av@entry=0x7ffff4e50b20 <main_arena>, bytes=bytes@entry=56) at malloc.c:3387 #5 0x00007ffff4b105a4 in __GI___libc_malloc (bytes=56) at malloc.c:2914 #6 0x00007ffff5402e78 in operator new(unsigned long) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #7 0x00007ffff64cb50a in QRegion::QRegion(QRect const&, QRegion::RegionType) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #8 0x00007ffff654860a in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #9 0x00007ffff636727e in QWidget::update(QRect const&) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #10 0x00007ffff6367333 in QWidget::update() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #11 0x00007ffff6752fdf in QLineEdit::changeEvent(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #12 0x00007ffff63777bb in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #13 0x00007ffff6752a63 in QLineEdit::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #14 0x00007ffff6320fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #15 0x00007ffff6327f16 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #16 0x00007ffff5a9e90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #17 0x00007ffff666d67d in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #18 0x00007ffff666d7a6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #19 0x00000000004c7b28 in CStartupDlg::ErrorReport(QString const&) () #20 0x00007ffff5ab8db1 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #21 0x00007ffff6377d3c in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #22 0x00007ffff6320fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #23 0x00007ffff6327f16 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #24 0x00007ffff5a9e90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #25 0x00007ffff5aa23c6 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #26 0x00007ffff5acf13e in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #27 0x00007ffff1f371a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #28 0x00007ffff1f37400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #29 0x00007ffff1f374ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #30 0x00007ffff5acf2ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #31 0x00007ffff63ce616 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #32 0x00007ffff5a9d18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () ---Type <return> to continue, or q <return> to quit--- from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #33 0x00007ffff5a9d4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #34 0x00007ffff6803a3c in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #35 0x00000000004188e1 in main ()