Kovács Bálint wrote:
Hello,
This IVR patch seems good for the memory leak, but I found a
segmentation fault with a SIPp scenario.
I wrote a simple IVR script, and run with 50 call/sec I got a
segmentation fault after 59822 Call, 101424 Call, 47048 Call....
That somehow sounds like a race-condition while cleaning up the
memory... This bug did probably not show up until now because we did not
free that memory before.
Do you have some core dumps? It should be enough if you post the
stack-trace as produced by GDB.
Thx for reporting!
-Raphael.
This is the scenario scheme:
----------------------------
INVITE ----------> 200 <---------- ACK ---------->
BYE <---------- 200 ---------->
and the Python script:
----------------------
from log import *
from ivr import *
class IvrDialog(IvrDialogBase):
announcement = None
byeSent = False
def onSipRequest(self, SipRequest):
info("Sip request")
def onSipReply(self, IvrSipReply):
info("Sip reply")
byeTerminatedCodes = (200, 408, 481)
if((IvrSipReply.code in byeTerminatedCodes) and (self.byeSent ==
True)):
self.stopSession()
def onSessionStart(self, hdrs):
info("Running...")
self.announcement = IvrAudioFile()
self.announcement.open(config['announce'], ivr.AUDIO_READ, False)
self.enqueue(self.announcement, None)
self.setTimer(1, 3)
def onTimer(self, timerId):
if(timerId == 1):
info("Timer")
self.flush()
def onDtmf(self, key, duration):
info("DTMF")
def onBye(self):
info("Bye")
self.stopSession()
def onEmptyQueue(self):
info("Empty queue")
self.bye()
self.byeSent = True
def __del__(self):
info("Del")
_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev