-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi,
I derived a SEMS module from ann_B2B for ringtones I got a segmentation
fault after a few calls.
It works like this:
Call comes in and a ringtone (e.g. sound files) is played. In parallel I
call callee with connectCallee(). When Callee replies positive ringtone
stops. When caller sends a Bye befor Callee replies I close the ringtone
file, call setStopped() and dlg.bye().
My test is like this:
I place a call and get the ringtone. SEMS tries to connect to callee in
parallel. Then I hang up (sending a Bye). SEMS stops ringtone and
session with caller.
I do the test number of times until a segmentation fault occurs. SEMS
logfile is like this, when test seems to be ok:
(7396) DEBUG: write_to_socket (AmUtils.cpp:616): write to unix socket:
completed
(7396) DEBUG: cacheMsg (AmCtrlInterface.cpp:186): recv-ed: <200 Succeeded
(7396) DEBUG: onBye (AnnounceB2B.cpp:139): @@@@
AnnounceCallerDialog::onBye()
(7396) DEBUG: onBye (AnnounceB2B.cpp:149): @@@@ onBye: Callee is not
connected.
(7396) DEBUG: onBye (AnnounceB2B.cpp:150): @@@@ onBye: Stopping Ringtone ...
(7396) DEBUG: close (AmRingToneGenerator.cpp:43): AmRingTone::close :
Beende Ringtone
(7396) DEBUG: bye (AmSipDialog.cpp:385): bye(): we are not connected
(status=0). do nothing!
(7396) DEBUG: relayEvent (AmB2BSession.cpp:163):
AmB2BSession::relayEvent: id=24586875-4677A4390000B604-B77F5BB0
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: processEvents (AmEventQueue.cpp:71): event processed
(7396) DEBUG: run (AmSession.cpp:301):
5f211c238834357fNTA0NmE0M2ZkM2Y4MTg0YmU4NjQzNTllM2Q1YzliZGE.
dlg.getUACTransPending() = 0
(7396) DEBUG: destroy (AmSession.cpp:351): AmSession::destroy()
(7396) DEBUG: stopAndQueue (AmSessionContainer.cpp:121): session cleaner
about to stop 4B592026-4677A4390000B272-B7D356C0
(7396) DEBUG: stop (AmThread.cpp:144): Thread -1216390224 (-1216390224)
calling on_stop, give it a chance to clean up.
(7396) DEBUG: on_stop (AmSession.cpp:341): AmSession::on_stop()
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:135):
AmMediaProcessor::removeSession
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:140):
callgroup is '4B592026-4677A4390000B272-B7D356C0', thread 0
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:155): callgroup
empty, erasing it.
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: stop (AmThread.cpp:159): Thread -1216390224 (-1216390224)
finished detach.
(7396) DEBUG: destroySession (AmSessionContainer.cpp:148): session
stopped and queued for deletion (#sessions=1)
(7396) DEBUG: run (AmSession.cpp:334): session is stopped.
(7396) DEBUG: _start (AmThread.cpp:77): Thread -1216390224 is ending.
(7396) DEBUG: processEvents (AmEventQueue.cpp:69): before processing event
(7396) DEBUG: onOtherBye (AmB2BSession.cpp:173): onOtherBye()
(7396) DEBUG: init (AmCtrlInterface.cpp:231): AmUnixCtrlInterface::init
@ /tmp/6FA7E90A-4677A43E0005A3C6-B78F6BB0
(7396) DEBUG: write_to_socket (AmUtils.cpp:590): sending:
<:t_uac_cancel:/tmp/6FA7E90A-4677A43E0005A3C6-B78F6BB0
06103761-4677A4390000B60A-B77F5BB0(a)212.6.123.119
10
(7396) DEBUG: write_to_socket (AmUtils.cpp:616):
write to unix socket:
completed
(7396) DEBUG: cacheMsg (AmCtrlInterface.cpp:186): recv-ed: <200
uac_cancel succeeded
(7396) DEBUG:
processEvents (AmEventQueue.cpp:71): event processed
(7396) DEBUG: run (AmSession.cpp:301):
06103761-4677A4390000B60A-B77F5BB0(a)212.6.123.119
dlg.getUACTransPending() = 1
(7396) DEBUG: processEvents (AmEventQueue.cpp:69): before processing event
(7396) DEBUG: gotoNextItem (AmPlaylist.cpp:62): posting
AmAudioEvent::noAudio event!
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: clearAudio (AmSession.cpp:418): Audio cleared !!!
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: process (AmMediaProcessor.cpp:336): Session removed from
the scheduler
(7396) DEBUG: processEvents (AmEventQueue.cpp:71): event processed
(7396) DEBUG: run (AmServer.cpp:93): revents = 1
(7396) DEBUG: cacheMsg (AmCtrlInterface.cpp:186): recv-ed: <487 Request
Terminated
######################################################################################
This is the logfile, when a segmentation fault occured:
(7396) DEBUG: write_to_socket (AmUtils.cpp:616): write to unix socket:
completed
(7396) DEBUG: cacheMsg (AmCtrlInterface.cpp:186): recv-ed: <200 Succeeded
(7396) DEBUG: onBye (AnnounceB2B.cpp:139): @@@@
AnnounceCallerDialog::onBye()
(7396) DEBUG: onBye (AnnounceB2B.cpp:149): @@@@ onBye: Callee is not
connected.
(7396) DEBUG: onBye (AnnounceB2B.cpp:150): @@@@ onBye: Stopping Ringtone ...
(7396) DEBUG: close (AmRingToneGenerator.cpp:43): AmRingTone::close :
Beende Ringtone
(7396) DEBUG: bye (AmSipDialog.cpp:385): bye(): we are not connected
(status=0). do nothing!
(7396) DEBUG: relayEvent (AmB2BSession.cpp:163):
AmB2BSession::relayEvent: id=6D8F12F3-4677A44A0003123F-B78F6BB0
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: processEvents (AmEventQueue.cpp:71): event processed
(7396) DEBUG: run (AmSession.cpp:301):
b349570a90498523NTA0NmE0M2ZkM2Y4MTg0YmU4NjQzNTllM2Q1YzliZGE.
dlg.getUACTransPending() = 0
(7396) DEBUG: destroy (AmSession.cpp:351): AmSession::destroy()
(7396) DEBUG: stopAndQueue (AmSessionContainer.cpp:121): session cleaner
about to stop 100D78B4-4677A44A00030E24-B7D356C0
(7396) DEBUG: stop (AmThread.cpp:144): Thread -1215337552 (-1215337552)
calling on_stop, give it a chance to clean up.
(7396) DEBUG: on_stop (AmSession.cpp:341): AmSession::on_stop()
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:135):
AmMediaProcessor::removeSession
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:140):
callgroup is '100D78B4-4677A44A00030E24-B7D356C0', thread 0
(7396) DEBUG: removeFromProcessor (AmMediaProcessor.cpp:155): callgroup
empty, erasing it.
(7396) DEBUG: postEvent (AmEventQueue.cpp:48): AmEventQueue: trying to
post event
(7396) DEBUG: postEvent (AmEventQueue.cpp:56): AmEventQueue: event posted
(7396) DEBUG: stop (AmThread.cpp:159): Thread -1215337552 (-1215337552)
finished detach.
(7396) DEBUG: destroySession (AmSessionContainer.cpp:148): session
stopped and queued for deletion (#sessions=1)
(7396) DEBUG: run (AmSession.cpp:334): session is stopped.
(7396) DEBUG: _start (AmThread.cpp:77): Thread -1215337552 is ending.
(7396) DEBUG: processEvents (AmEventQueue.cpp:69): before processing event
(7396) DEBUG: onOtherBye (AmB2BSession.cpp:173): onOtherBye()
(7396) DEBUG: init (AmCtrlInterface.cpp:231): AmUnixCtrlInterface::init
@ /tmp/0B1C4E05-4677A456000C0056-B77F5BB0
(7396) DEBUG: write_to_socket (AmUtils.cpp:590): sending:
<:t_uac_cancel:/tmp/0B1C4E05-4677A456000C0056-B77F5BB0
70C64043-4677A44A00031246-B78F6BB0(a)212.6.123.119
10
(7396) DEBUG: write_to_socket (AmUtils.cpp:616):
write to unix socket:
completed
(7396) DEBUG: cacheMsg (AmCtrlInterface.cpp:186): recv-ed: <200
uac_cancel succeeded
(7396) DEBUG:
processEvents (AmEventQueue.cpp:71): event processed
(7396) DEBUG: run (AmSession.cpp:301):
70C64043-4677A44A00031246-B78F6BB0(a)212.6.123.119
dlg.getUACTransPending() = 1
Segmentation fault
It seems to me that there happens something in process handling of SEMS.
I have no special process() function in my module
Any ideas?
regards
helmut
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (MingW32)
Comment: Using GnuPG with Mozilla -
http://enigmail.mozdev.org
iD8DBQFGd6gO4tZeNddg3dwRAsS9AJ9glBjLpRPUuy++Yg3l4xY/xMnXYQCeMLBW
n3WE/kinb91A7Rw4IJaGQiE=
=N2sn
-----END PGP SIGNATURE-----