Hello,
I think guys from sems mailing list will be able to answer faster. Some are also here, but the traffic size may hide such subject and they are not able to spot it quickly. Also, getting it archived on the sems mailing list will make easier to find for people with same problem in the future.
Cheers, Daniel
On 06/19/07 12:55, Helmut Kuper wrote:
-----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@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@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@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@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-----
Users mailing list Users@openser.org http://openser.org/cgi-bin/mailman/listinfo/users