#361 closed баг (fixed)
Падение по ошибке сегментирования в процессе вызова в конференцию
Reported by: | alx | Owned by: | dimag |
---|---|---|---|
Priority: | major | Milestone: | 2 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | algorithm |
Cc: | san |
Description
В r373 проделал следующее:
- Запустил программу.
- Вошел в сеть как техник.
- Последовательно вызвал в конференцию пользователей 204, 205 и 206.
По истечении таймаута вызова "плащка" первого вызванного пользователя стала красной, после чего программа упала.
Логи прилагаю.
Вот часть вывода в консоль и стек в момент падения:
HEARTBEAT - BACKGROUND_JOB - -aefe0066-cf69-415f-aacb-3498bcc4f9b2 BACKGROUND_JOB - -a371f47c-7a71-4fe1-aea8-4b02bebb04c9 BACKGROUND_JOB - -93c25a43-b30b-4949-808b-cac3411f2ba1 CHANNEL_CALLSTATE - CS_HANGUP-HANGUP-outbound-HANGUP CHANNEL_CALLSTATE - CS_ROUTING|RINGING| CHANNEL_CALLSTATE - CS_HANGUP-HANGUP-inbound-HANGUP CHANNEL_CALLSTATE - CS_HANGUP-HANGUP-outbound-HANGUP PRESENCE_IN - outbound-204@192.168.0.63-CS_HANGUP-808237ad-a901-4162-ad05-a85e2fd314ac-NO_ANSWER Events Processed - 6 MainAppFrameWindow3::RefreshUserListState() MainAppFrameWindow3::RefreshConferencesListState(const QString &sConference) MainAppFrameWindow3::RefreshParicipantsState(const QString &sConference) BACKGROUND_JOB - -6f552497-9d17-4c08-ba93-39968560693a Thread 6 "QThread" received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffeaf52700 (LWP 2166)] __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 35 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S: Нет такого файла или каталога. (gdb) bt #0 __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:35 #1 0x00007ffff54943c2 in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_assign(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #2 0x000000000046f38d in std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::assign ( __str=<error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, this=<optimized out>) at /usr/include/c++/5/bits/basic_string.h:1095 #3 std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::operator= ( __str=<error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, this=<optimized out>) at /usr/include/c++/5/bits/basic_string.h:551 #4 Events::EventsTimerTick (this=0x71e900 <EventsObject>) at MainAppFrameWindow3.cpp:11128 #5 0x00000000004e2cf5 in Events::qt_static_metacall (_o=<optimized out>, _id=<optimized out>, _a=<optimized out>, _c=<optimized out>) at moc_MainAppFrameWindow3.cpp:1323 #6 0x00007ffff5ab3010 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #7 0x00007ffff5ab8c83 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #8 0x00007ffff6320fdc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #9 0x00007ffff6327f16 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 #10 0x00007ffff5a9e90d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #11 0x00007ffff5ad1780 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #12 0x00007ffff5ace929 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #13 0x00007ffff1f371a7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #14 0x00007ffff1f37400 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #15 0x00007ffff1f374ac in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007ffff5acf2ae in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #17 0x00007ffff5a9d18f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #18 0x00007ffff5a9d4f5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #19 0x00007ffff598c549 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #20 0x00007ffff598ee3c in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 #21 0x00007ffff56fe6fa in start_thread (arg=0x7fffeaf52700) at pthread_create.c:333 #22 0x00007ffff4b93b5d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
Attachments (2)
Change History (4)
by , 8 years ago
Attachment: | debug2016-08-30.log added |
---|
by , 8 years ago
comment:1 by , 8 years ago
Keywords: | algorithm added |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
r377
Я сделал ошибку которую старался не делать.
Я использовал одно и тоже имя для переменной цикла, для внешнего цикла и для внутреннего, одна и та же переменная цикла использовалась для доступа к элементам данных разного размера, в итоге произошёл выход за приделы массива.