Laurent Schweizer wrote: > Hello, > > I don't know if I have correctly added the onBeforeDestroy() because I > see again the same bug today. > > I have added onBeforeDestroy(); in AmSession just before destroy(); > And I have also created the onBeforeDestroy(); in Amsession.h and > Amsession.cpp but must be surcharged with the declaration in > AmB2ABsession (from the patch). > >
If you can see the debug messages issued from within AmB2ABSession::onBeforeDestroy(), then you applied the changes correctly. If not, you surely missed something. Maybe Stefan could re-send a complete patch? -Raphael. > > > (11999) DEBUG: ~AmSipDialog (AmSipDialog.cpp:52): uac_trans.size() = 0 > (11999) DEBUG: ~AmSipDialog (AmSipDialog.cpp:60): uas_trans.size() = 0 > (11999) DEBUG: run (AmSessionContainer.cpp:114): Session cleaner > finished > (11999) DEBUG: conceal_loss (AmRtpAudio.cpp:182): default PLC (ts_diff = > 160; s = 320) > ==11999== > ==11999== Thread 4: > ==11999== Invalid read of size 4 > ==11999== at 0x80A0030: > AmMediaProcessorThread::processAudio(unsigned) > (AmMediaProcessor.cpp:292) > ==11999== by 0x80A07E7: AmMediaProcessorThread::run() > (AmMediaProcessor.cpp:211) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== Address 0x71F1258 is 0 bytes inside a block of size 82,012 > free'd > ==11999== at 0x4004CF1: operator delete(void*) > (vg_replace_malloc.c:244) > ==11999== by 0x807D80F: AmB2ABCallerSession::~AmB2ABCallerSession() > (AmB2ABSession.cpp:138) > ==11999== by 0x4189DBA: > ServiceLineCallerDialog::~ServiceLineCallerDialog() (ServiceLine.h:96) > ==11999== by 0x80C9455: AmSessionContainer::run() > (AmSessionContainer.cpp:91) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== > ==11999== Invalid read of size 4 > ==11999== at 0x8074574: AmAudio::put(unsigned, unsigned char*, > unsigned) (AmAudio.cpp:317) > ==11999== by 0x80A004B: > AmMediaProcessorThread::processAudio(unsigned) > (AmMediaProcessor.cpp:292) > ==11999== by 0x80A07E7: AmMediaProcessorThread::run() > (AmMediaProcessor.cpp:211) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== Address 0x71F1260 is 8 bytes inside a block of size 82,012 > free'd > ==11999== at 0x4004CF1: operator delete(void*) > (vg_replace_malloc.c:244) > ==11999== by 0x807D80F: AmB2ABCallerSession::~AmB2ABCallerSession() > (AmB2ABSession.cpp:138) > ==11999== by 0x4189DBA: > ServiceLineCallerDialog::~ServiceLineCallerDialog() (ServiceLine.h:96) > ==11999== by 0x80C9455: AmSessionContainer::run() > (AmSessionContainer.cpp:91) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== > ==11999== Invalid read of size 4 > ==11999== at 0x8073DF7: DblBuffer::operator unsigned char*() > (AmAudio.cpp:494) > ==11999== by 0x80A004B: > AmMediaProcessorThread::processAudio(unsigned) > (AmMediaProcessor.cpp:292) > ==11999== by 0x80A07E7: AmMediaProcessorThread::run() > (AmMediaProcessor.cpp:211) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== Address 0x71F3264 is 8,204 bytes inside a block of size > 82,012 free'd > ==11999== at 0x4004CF1: operator delete(void*) > (vg_replace_malloc.c:244) > ==11999== by 0x807D80F: AmB2ABCallerSession::~AmB2ABCallerSession() > (AmB2ABSession.cpp:138) > ==11999== by 0x4189DBA: > ServiceLineCallerDialog::~ServiceLineCallerDialog() (ServiceLine.h:96) > ==11999== by 0x80C9455: AmSessionContainer::run() > (AmSessionContainer.cpp:91) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== > ==11999== Invalid write of size 1 > ==11999== at 0x4006CC7: memcpy (mc_replace_strmem.c:406) > ==11999== by 0x8074599: AmAudio::put(unsigned, unsigned char*, > unsigned) (AmAudio.cpp:321) > ==11999== by 0x80A004B: > AmMediaProcessorThread::processAudio(unsigned) > (AmMediaProcessor.cpp:292) > ==11999== by 0x80A07E7: AmMediaProcessorThread::run() > (AmMediaProcessor.cpp:211) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== Address 0x71F13A3 is 331 bytes inside a block of size 82,012 > free'd > ==11999== at 0x4004CF1: operator delete(void*) > (vg_replace_malloc.c:244) > ==11999== by 0x807D80F: AmB2ABCallerSession::~AmB2ABCallerSession() > (AmB2ABSession.cpp:138) > ==11999== by 0x4189DBA: > ServiceLineCallerDialog::~ServiceLineCallerDialog() (ServiceLine.h:96) > ==11999== by 0x80C9455: AmSessionContainer::run() > (AmSessionContainer.cpp:91) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== > ==11999== Invalid write of size 1 > ==11999== at 0x4006CCD: memcpy (mc_replace_strmem.c:406) > ==11999== by 0x8074599: AmAudio::put(unsigned, unsigned char*, > unsigned) (AmAudio.cpp:321) > ==11999== by 0x80A004B: > AmMediaProcessorThread::processAudio(unsigned) > (AmMediaProcessor.cpp:292) > ==11999== by 0x80A07E7: AmMediaProcessorThread::run() > (AmMediaProcessor.cpp:211) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== Address 0x71F13A2 is 330 bytes inside a block of size 82,012 > free'd > ==11999== at 0x4004CF1: operator delete(void*) > (vg_replace_malloc.c:244) > ==11999== by 0x807D80F: AmB2ABCallerSession::~AmB2ABCallerSession() > (AmB2ABSession.cpp:138) > ==11999== by 0x4189DBA: > ServiceLineCallerDialog::~ServiceLineCallerDialog() (ServiceLine.h:96) > ==11999== by 0x80C9455: AmSessionContainer::run() > (AmSessionContainer.cpp:91) > ==11999== by 0x80E0BFD: AmThread::_start(void*) (AmThread.cpp:70) > ==11999== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) > ==11999== by 0xB0724D: clone (in /lib/libc-2.5.so) > ==11999== > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Laurent Schweizer > Sent: jeudi 26 juin 2008 11:47 > To: Stefan Sayer; Raphael > Cc: Stefan Sayer; [email protected] > Subject: Re: [Semsdev] Segmentation fault > > Thanks, I will try and send you a feedback. > > Just I send also an other problem about glitch in voice, did you > remember ? Any idea ? > > Laurent > > -----Original Message----- > From: Stefan Sayer [mailto:[EMAIL PROTECTED] > Sent: mercredi 25 juin 2008 12:02 > To: Raphael > Cc: Laurent Schweizer; [email protected]; Stefan Sayer > Subject: Re: [Semsdev] Segmentation fault > > > Raphael wrote: > >> Hi Laurent, >> >> it looks like the patch i got from Stefan (which should be the same as >> the one you got) is missing some pieces... >> >> Do you get the same results for following command? >> >> [EMAIL PROTECTED]:~/src/sems/trunk/core$ grep onBeforeDestroy * >> AmB2ABSession.cpp:void AmB2ABCallerSession::onBeforeDestroy() { >> AmB2ABSession.cpp:void AmB2ABCalleeSession::onBeforeDestroy() { >> AmB2ABSession.h: void onBeforeDestroy(); >> AmB2ABSession.h: void onBeforeDestroy(); >> Binary file AmB2ABSession.o matches >> >> If yes, that means that we are missing the piece where onBeforeDestroy >> gets called (probably from AmSession.cpp). Let's just ask Stefan for >> some explainations. >> > zut! sorry looks like i forgot to add that to the patchset. > > obviously onBeforeDestroy is another event handler that gets called > before > the session is destroyed (but in the session thread): > onBeforeDestroy(); > destroy(); > > // wait at least until session is out of RtpScheduler > DBG("session is stopped.\n"); > > there it waits for the callee session to be released.. > >> Cheers >> Raphael. >> >> Laurent Schweizer wrote: >> >>> Hello, >>> >>> I'm not 100 % sure that it's the same bug, but I run the same >>> application with Valgrind : >>> >>> (12809) DEBUG: conceal_loss (AmRtpAudio.cpp:182): default PLC >>> > (ts_diff = > >>> 160; s = 320) >>> (12809) DEBUG: conceal_loss (AmRtpAudio.cpp:182): default PLC >>> > (ts_diff = > >>> 160; s = 320) >>> (12809) DEBUG: conceal_loss (AmRtpAudio.cpp:182): default PLC >>> > (ts_diff = > >>> 160; s = 320) >>> (12809) DEBUG: run (AmSessionContainer.cpp:76): Session cleaner >>> > starting > >>> its work >>> (12809) DEBUG: run (AmSessionContainer.cpp:90): session 0xafafb90 has >>> been destroyed' >>> (12809) DEBUG: ~AmSipDialog (AmSipDialog.cpp:50): callid = >>> [EMAIL PROTECTED] >>> (12809) DEBUG: ~AmSipDialog (AmSipDialog.cpp:51): local_tag = >>> 196EA7C0-48610F86000B6B25-04DD5B90 >>> (12809) DEBUG: ~AmSipDialog (AmSipDialog.cpp:52): uac_trans.size() = >>> > 0 > >>> (12809) DEBUG: conceal_loss (AmRtpAudio.cpp:182): default PLC >>> > (ts_diff = > >>> 160; s = 320) >>> ==12809== >>> ==12809== Thread 5: >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x809FFE0: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77CA8 is 0 bytes inside a block of size 82,012 >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x8074544: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:317) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77CB0 is 8 bytes inside a block of size 82,012 >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x8073DC7: DblBuffer::operator unsigned char*() >>> (AmAudio.cpp:494) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA79CB4 is 8,204 bytes inside a block of size >>> 82,012 free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid write of size 1 >>> ==12809== at 0x4006CC7: memcpy (mc_replace_strmem.c:406) >>> ==12809== by 0x8074569: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:321) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77DF3 is 331 bytes inside a block of size >>> > 82,012 > >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid write of size 1 >>> ==12809== at 0x4006CCD: memcpy (mc_replace_strmem.c:406) >>> ==12809== by 0x8074569: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:321) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77DF2 is 330 bytes inside a block of size >>> > 82,012 > >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid write of size 1 >>> ==12809== at 0x4006CD4: memcpy (mc_replace_strmem.c:406) >>> ==12809== by 0x8074569: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:321) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77DF1 is 329 bytes inside a block of size >>> > 82,012 > >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid write of size 1 >>> ==12809== at 0x4006CDE: memcpy (mc_replace_strmem.c:406) >>> ==12809== by 0x8074569: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:321) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA77DF0 is 328 bytes inside a block of size >>> > 82,012 > >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x8074462: AmAudio::encode(unsigned) (memory:286) >>> ==12809== by 0x8074575: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:323) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0xBA79CB8 is 8,208 bytes inside a block of size >>> 82,012 free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x807D7DF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.cpp:138) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x8074473: AmAudio::encode(unsigned) >>> > (AmAudio.cpp:385) > >>> ==12809== by 0x8074575: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:323) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0x52401B8 is 0 bytes inside a block of size 40 >>> > free'd > >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x8077154: >>> > AmAudioSimpleFormat::~AmAudioSimpleFormat() > >>> (AmAudio.h:159) >>> ==12809== by 0x80742C1: AmAudio::~AmAudio() (memory:259) >>> ==12809== by 0x807A247: AmAudioDelayBridge::~AmAudioDelayBridge() >>> (AmB2ABSession.cpp:438) >>> ==12809== by 0x807D7CF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.h:293) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x80757DD: AmAudioFormat::getCodec() >>> > (AmAudio.cpp:234) > >>> ==12809== by 0x807447A: AmAudio::encode(unsigned) >>> > (AmAudio.cpp:385) > >>> ==12809== by 0x8074575: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:323) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0x52401D4 is 28 bytes inside a block of size 40 >>> free'd >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x8077154: >>> > AmAudioSimpleFormat::~AmAudioSimpleFormat() > >>> (AmAudio.h:159) >>> ==12809== by 0x80742C1: AmAudio::~AmAudio() (memory:259) >>> ==12809== by 0x807A247: AmAudioDelayBridge::~AmAudioDelayBridge() >>> (AmB2ABSession.cpp:438) >>> ==12809== by 0x807D7CF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.h:293) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== >>> ==12809== Invalid read of size 4 >>> ==12809== at 0x80757F4: AmAudioFormat::getCodec() >>> > (AmAudio.cpp:235) > >>> ==12809== by 0x807447A: AmAudio::encode(unsigned) >>> > (AmAudio.cpp:385) > >>> ==12809== by 0x8074575: AmAudio::put(unsigned, unsigned char*, >>> unsigned) (AmAudio.cpp:323) >>> ==12809== by 0x809FFFB: >>> AmMediaProcessorThread::processAudio(unsigned) >>> (AmMediaProcessor.cpp:292) >>> ==12809== by 0x80A0797: AmMediaProcessorThread::run() >>> (AmMediaProcessor.cpp:211) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> ==12809== Address 0x52401B8 is 0 bytes inside a block of size 40 >>> > free'd > >>> ==12809== at 0x4004CF1: operator delete(void*) >>> (vg_replace_malloc.c:244) >>> ==12809== by 0x8077154: >>> > AmAudioSimpleFormat::~AmAudioSimpleFormat() > >>> (AmAudio.h:159) >>> ==12809== by 0x80742C1: AmAudio::~AmAudio() (memory:259) >>> ==12809== by 0x807A247: AmAudioDelayBridge::~AmAudioDelayBridge() >>> (AmB2ABSession.cpp:438) >>> ==12809== by 0x807D7CF: >>> > AmB2ABCallerSession::~AmB2ABCallerSession() > >>> (AmB2ABSession.h:293) >>> ==12809== by 0x4181DBA: >>> ServiceLineCallerDialog::~ServiceLineCallerDialog() >>> > (ServiceLine.h:96) > >>> ==12809== by 0x80C9405: AmSessionContainer::run() >>> (AmSessionContainer.cpp:91) >>> ==12809== by 0x80E0A9D: AmThread::_start(void*) (AmThread.cpp:70) >>> ==12809== by 0xBAF45A: start_thread (in /lib/libpthread-2.5.so) >>> ==12809== by 0xB0724D: clone (in /lib/libc-2.5.so) >>> pure virtual method called >>> (12809) DEBUG: ~AmSipDialog (AmSipDialog.cpp:60): (12809) DEBUG: >>> conceal_loss (AmRtpAudio.cpp:182): default PLC (ts_diff = 160; s = >>> > 320) > >>> terminate called without an active exception >>> uas_trans.size() = 0 >>> (12809) DEBUG: run (AmSessionContainer.cpp:114): Session cleaner >>> finished >>> ==12809== >>> >>> -----Original Message----- >>> From: Raphael Coeffic [mailto:[EMAIL PROTECTED] >>> Sent: lundi 23 juin 2008 18:54 >>> To: Laurent Schweizer >>> Cc: [EMAIL PROTECTED] >>> Subject: Re: [Semsdev] Segmentation fault >>> >>> Laurent Schweizer wrote: >>> >>> >>>> Hello, >>>> >>>> Any news ? >>>> >>>> >>>> >>>> >>> Hi Laurent, >>> >>> sorry for the long delay... i just forgot your issue (shame on >>> > me!!!). > >>> Now, the trouble is that i realized that the core dump alone wouldn't >>> help me much, as it has to be loaded in GDB with exact the same >>> > program > >>> binaries >>> and exact the same source... >>> >>> Anyhow, i think it would be much better to trace this with Valgrind. >>> > Is > >>> it crashing often enough that you could reproduce it easely? If yes, >>> > we > >>> should try to let it run within Valgrind. This way, we will know >>> > where > >>> the pointer causing the seg fault is coming from... >>> >>> >>> -Raphael. >>> >>> >>>> How can I debug this ? >>>> >>>> Laurent >>>> >>>> -----Original Message----- >>>> From: Laurent Schweizer >>>> Sent: vendredi 20 juin 2008 11:50 >>>> To: 'Raphael Coeffic' >>>> Cc: [EMAIL PROTECTED] >>>> Subject: RE: [Semsdev] Segmentation fault >>>> >>>> Link to the core dump >>>> >>>> http://download.yousendit.com/064E011638295CD9 >>>> >>>> >>>> -----Original Message----- >>>> From: Raphael Coeffic [mailto:[EMAIL PROTECTED] >>>> Sent: vendredi 20 juin 2008 11:00 >>>> To: Laurent Schweizer >>>> Cc: [EMAIL PROTECTED] >>>> Subject: Re: [Semsdev] Segmentation fault >>>> >>>> >>>> Laurent Schweizer wrote: >>>> >>>> >>>> >>>>> Hello, >>>>> >>>>> Again the same segmentation fault today! >>>>> >>>>> What can I do ? >>>>> >>>>> >>>>> >>>>> >>>>> >>>> Can you please send me the core dump? >>>> >>>> -Raphael. >>>> >>>> >>>> >>>> >>>>> Thanks >>>>> Laurent >>>>> >>>>> Core was generated by `./core/sems -f sems.config.standalone'. >>>>> Program terminated with signal 11, Segmentation fault. >>>>> #0 0x0809fff9 in AmMediaProcessorThread::processAudio >>>>> >>>>> >>>>> >>>> (this=0x84388a8, >>>> >>>> >>>> >>>>> ts=34167920) at AmMediaProcessor.cpp:292 >>>>> 292 int ret = input->put(ts,buffer,got_audio); >>>>> (gdb) >>>>> (gdb) >>>>> (gdb) bt >>>>> #0 0x0809fff9 in AmMediaProcessorThread::processAudio >>>>> >>>>> >>>>> >>>> (this=0x84388a8, >>>> >>>> >>>> >>>>> ts=34167920) at AmMediaProcessor.cpp:292 >>>>> #1 0x080a0798 in AmMediaProcessorThread::run (this=0x84388a8) at >>>>> AmMediaProcessor.cpp:211 >>>>> #2 0x080e0a9e in AmThread::_start (_t=0x84388a8) at >>>>> > AmThread.cpp:70 > >>>>> #3 0x00baf45b in start_thread () from /lib/libpthread.so.0 >>>>> #4 0x001de24e in clone () from /lib/libc.so.6 >>>>> >>>>> >>>>> >>>>> >>>>> -----Original Message----- >>>>> From: [EMAIL PROTECTED] >>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Laurent >>>>> >>>>> >>>>> >>>> Schweizer >>>> >>>> >>>> >>>>> Sent: jeudi 19 juin 2008 09:52 >>>>> To: [EMAIL PROTECTED] >>>>> Subject: Re: [Semsdev] Segmentation fault >>>>> >>>>> I forget to indicate that I use the patch >>>>> b2absession_caller_owns_connector of Stefan. >>>>> >>>>> Laurent >>>>> >>>>> -----Original Message----- >>>>> From: [EMAIL PROTECTED] >>>>> [mailto:[EMAIL PROTECTED] On Behalf Of Laurent >>>>> >>>>> >>>>> >>>> Schweizer >>>> >>>> >>>> >>>>> Sent: jeudi 19 juin 2008 09:36 >>>>> To: [EMAIL PROTECTED] >>>>> Subject: [Semsdev] Segmentation fault >>>>> >>>>> Hello all, >>>>> >>>>> I use sems trunk version and I have this segmentation fault. >>>>> >>>>> #0 0x00b76523 in main_arena () from /lib/libc.so.6 >>>>> (gdb) bt >>>>> #0 0x00b76523 in main_arena () from /lib/libc.so.6 >>>>> #1 0x0809fffc in AmMediaProcessorThread::processAudio >>>>> >>>>> >>>>> >>>> (this=0x94be8a8, >>>> >>>> >>>> >>>>> ts=37259040) at AmMediaProcessor.cpp:292 >>>>> #2 0x080a0798 in AmMediaProcessorThread::run (this=0x94be8a8) at >>>>> AmMediaProcessor.cpp:211 >>>>> #3 0x080e0a9e in AmThread::_start (_t=0x94be8a8) at >>>>> > AmThread.cpp:70 > >>>>> #4 0x00baf45b in start_thread () from /lib/libpthread.so.0 >>>>> #5 0x00b0724e in clone () from /lib/libc.so.6 >>>>> (gdb) >>>>> >>>>> Regards >>>>> >>>>> Laurent >>>>> _______________________________________________ >>>>> Semsdev mailing list >>>>> [email protected] >>>>> http://lists.iptel.org/mailman/listinfo/semsdev >>>>> _______________________________________________ >>>>> Semsdev mailing list >>>>> [email protected] >>>>> http://lists.iptel.org/mailman/listinfo/semsdev >>>>> _______________________________________________ >>>>> Semsdev mailing list >>>>> [email protected] >>>>> http://lists.iptel.org/mailman/listinfo/semsdev >>>>> >>>>> >>>>> >>>>> >> > > _______________________________________________ > Semsdev mailing list > [email protected] > http://lists.iptel.org/mailman/listinfo/semsdev > _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
