< Previous by Date Date Index Next by Date >
  Thread Index Next in Thread >

[reSIProcate] DUM process loop crashes on TCP connection close initiated by peer


Hi,
 
We're running reSIProcate (rev 1.0.3)  on our IPBX to connect to an operator network for SIP trunking. The SIP trunking works fine when the UDP transport is used. However, when we change the transport to TCP, the SIP stack crashes on the connection close initiated by the operator network. The test scenario is as follows:
 
register to operator network using tcp transport
... wait some time while being inactive ...
... receive TCP [FIN, ACK] from operator network => causing DUM process loop to crash.
 
Our application and DUM/stack run in separate processes. We basically run the typical DUM process loop as follows:
 
  while (!dumShutDown)
  {
     FdSet fdset;
     stack->buildFdSet(fdset);
     int err = fdset.selectMilliSeconds(stack->getTimeTillNextProcessMS());
     assert ( err != -1 );
     stack->process(fdset);
     while(dumUas->process());
  }
 
The DUM process loop crashes (segmentation fault) on ~auto_ptr() call.
 
Can anyone help?
 
Is this a known problem fixed in a version later than 1.0.3?
 
Kind regards,
Shaofeng


__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com