Random tapisrv.dll crashes, stuck in infinite loop



Hi

I've written a TSP in Delphi for a SIP based VoIP phone. Everything in
the TSP works fine, but whenever the CALLSTATE messages are processed,
Tapi seems to get stuck in an infinite loop. I've check the results for
all of the tapi functions involved and they return SUCCESS. The
callbacks also execute and return back to the TSP, but afterwards the
infinite loop occurs.

This happens randomly (sometimes on the first try, sometimes on the
35th etc.) and I can't figure why. I've checked for null-terminated
strings, memory leaks etc. The TSP and the softphone speak to each
other via shared memory.

I've attached to the tapisrv process using the IDE debugger, and traced
the problem into the tapisrv.dll. In the CPU window, I see that
register eax gets decremented. The initial value of this register is 0,
and the value afterwards is -1. This is the point where the infinite
loop occurs.

This happens on both win2k and winxp.

Any help would be appreciated, since I'm completely stumped on this
one.
Thanks,
Stephan

.



Relevant Pages

  • Re: Random tapisrv.dll crashes, stuck in infinite loop
    ... what are the symptoms of this infinite loop, i.e. what is the actual problem? ... netsh ras set tracing tapisrv enable ... Microsoft MVP for TAPI / Windows SDK ... My TAPI and TSPI FAQ: ...
    (microsoft.public.win32.programmer.tapi)
  • Re: Random tapisrv.dll crashes, stuck in infinite loop
    ... the TSP works fine, but whenever the CALLSTATE messages are processed, ... Tapi seems to get stuck in an infinite loop. ... See my TAPI and TSPI FAQ: ...
    (microsoft.public.win32.programmer.tapi)