[Opalvoip-user] About the segfault/sigbus in PHashTableInfo::GetElementAt
Brought to you by:
csoutheren,
rjongbloed
|
From: Giovani G. <gio...@gm...> - 2014-04-22 13:37:34
|
Hi Guys, I have a program that receives a SIP connection. Whenever it receives the call, there is a segfault or a sigbus in PHashTableInfo::GetElementAt. OPAL version is 3.14.0 and PTLIB version is 2.14.0. Here is the part of the output log and the backtrace in gdb: 0:04.997 0x7fffd8006b70 osutils.cxx(2611) PTLib Created read/write mutex 0x7fffcc01d0d8 0:04.997 0x7fffd8006b70 mediasession.cxx(295) Media Session 1 for audio created. 0:04.997 0x7fffd8006b70 config.cxx(179) PTLib Created PXConfig 0x7fffcc01a0e0 0:04.998 0x7fffd8006b70 pconfig.cxx(74) PTLib PConfig::GetInteger str = 100 Program received signal SIGBUS, Bus error. [Switching to Thread 0x7fffea773700 (LWP 5131)] 0x00007ffff7cd28b0 in PHashTableInfo::GetElementAt(PObject const&) () from /usr/lib/libpt.so.2.14.0 Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.23-13.el6_3.1.x86_64 dbus-libs-1.2.24-7.el6_3.x86_64 expat-2.0.1-11.el6_2.x86_64 flac-1.2.1-6.1.el6.x86_64 glibc-2.12-1.132.el6.x86_64 gsm-1.0.13-4.el6.x86_64 libICE-1.0.6-1.el6.x86_64 libSM-1.2.1-2.el6.x86_64 libX11-1.5.0-4.el6.x86_64 libXau-1.0.6-4.el6.x86_64 libXext-1.3.1-2.el6.x86_64 libXi-1.6.1-3.el6.x86_64 libXtst-1.2.1-2.el6.x86_64 libasyncns-0.8-1.1.el6.x86_64 libgcc-4.4.7-4.el6.x86_64 libogg-1.1.4-2.1.el6.x86_64 libsndfile-1.0.20-5.el6.x86_64 libsrtp-1.4.4-4.20101004cvs.el6.x86_64 libstdc++-4.4.7-4.el6.x86_64 libtheora-1.1.0-2.el6.x86_64 libuuid-2.17.2-12.14.el6.x86_64 libvorbis-1.2.3-4.el6_2.1.x86_64 libxcb-1.8.1-1.el6.x86_64 ncurses-libs-5.7-3.20090208.el6.x86_64 nspr-4.10.2-1.el6_5.x86_64 nss-3.15.3-6.el6_5.x86_64 nss-softokn-freebl-3.14.3-9.el6.x86_64 nss-util-3.15.3-1.el6_5.x86_64 openldap-2.4.23-34.el6_5.1.x86_64 pulseaudio-libs-0.9.21-14.el6_3.x86_64 speex-1.2-0.12.rc1.1.el6.x86_64 tcp_wrappers-libs-7.6-57.el6.x86_64 zlib-1.2.3-29.el6.x86_64 (gdb) backtrace #0 0x00007ffff7cd28b0 in PHashTableInfo::GetElementAt(PObject const&) () from /usr/lib/libpt.so.2.14.0 #1 0x00007ffff7c60464 in PConfig::GetString(PString const&, PString const&, PString const&) const () from /usr/lib/libpt.so.2.14.0 #2 0x00007ffff7c5d6da in PConfig::GetInteger(PString const&, PString const&, long) const () from /usr/lib/libpt.so.2.14.0 #3 0x00007ffff74e63ba in OpalRTPSession::OpalRTPSession(OpalMediaSession::Init const&) () from /usr/lib/libopal.so.3.14.0 #4 0x00007ffff74f1649 in PParamFactory<OpalMediaSession, OpalMediaSession::Init const&, PCaselessString>::Worker<OpalRTPSession>::Create(OpalMediaSession::Init const&) const () from /usr/lib/libopal.so.3.14.0 #5 0x00007ffff750242f in OpalRTPConnection::CreateMediaSession(unsigned int, OpalMediaType const&, PString const&) () from /usr/lib/libopal.so.3.14.0 #6 0x00007ffff750590a in OpalRTPConnection::UseMediaSession(unsigned int, OpalMediaType const&, PString const&) () from /usr/lib/libopal.so.3.14.0 #7 0x00007ffff756ba8c in SIPConnection::SetUpMediaSession(unsigned int, OpalMediaType const&, SDPMediaDescription const&, OpalTransportAddress&, bool&) () from /usr/lib/libopal.so.3.14.0 #8 0x00007ffff756a47a in SIPConnection::OnSendAnswerSDPSession(SDPMediaDescription*, unsigned int, SDPCommonAttributes::Direction) () from /usr/lib/libopal.so.3.14.0 #9 0x00007ffff75651a8 in SIPConnection::OnSendAnswerSDP(SDPSessionDescription const&, SDPSessionDescription&) () from /usr/lib/libopal.so.3.14.0 #10 0x00007ffff7569317 in SIPConnection::SendInviteOK() () from /usr/lib/libopal.so.3.14.0 #11 0x00007ffff756216d in SIPConnection::SetConnected() () from /usr/lib/libopal.so.3.14.0 #12 0x00007ffff74a33cd in OpalCall::OnConnected(OpalConnection&) () from /usr/lib/libopal.so.3.14.0 #13 0x00007ffff7477ac6 in OpalManager::OnConnected(OpalConnection&) () from /usr/lib/libopal.so.3.14.0 #14 0x00007ffff7493176 in OpalConnection::OnConnectedInternal() () from /usr/lib/libopal.so.3.14.0 #15 0x00007ffff7496579 in OpalConnection::AnsweringCall(OpalConnection::AnswerCallResponse) () from /usr/lib/libopal.so.3.14.0 #16 0x00007ffff756edaf in SIPConnection::OnReceivedINVITE(SIP_PDU&) () from /usr/lib/libopal.so.3.14.0 #17 0x00007ffff755c4a7 in SIPConnection::OnReceivedPDU(SIP_PDU&) () from /usr/lib/libopal.so.3.14.0 #18 0x00007ffff7548154 in SIP_PDU_Work::Work() () from /usr/lib/libopal.so.3.14.0 #19 0x00007ffff75571ba in PQueuedThreadPool<SIPWorkItem>::QueuedWorkerThread::Main() () from /usr/lib/libopal.so.3.14.0 #20 0x00007ffff7c82032 in PThread::PX_ThreadMain(void*) () from /usr/lib/libpt.so.2.14.0 #21 0x00000038c48079d1 in start_thread () from /lib64/libpthread.so.0 #22 0x00000038c44e8b6d in clone () from /lib64/libc.so.6 Inside the PConfig::GetInteger method, I added a PTRACE to print the current value of the string, which is 100 ( PConfig::GetInteger str = 100). GetInteger calls GetString which has an Iterator that accesses PHashTableInfo::GetElementAt(). Is the cause of this error already known? Best, Giovani |