[reSIProcate] Crash in Stack probe routine?
david Butcher
david at purplecomm.com
Fri Jul 15 19:29:32 CDT 2005
Hi,
I wrote a test against your XML. Parsed just fine.
Your enclosed stack trace isn't all that long; there is no evidence of
excessive
recursion, for example. Is it possible you just need more stack space?
david
Quoting Christian_Gavin at logitech.com:
>
> Hi List,
>
> Has anyone encountered this error? I am writing a DLL linking with
> reSIProcate (0.9.0) under VS .NET 2003. The DLL uses the static version of
> MFC.
>
> I am testing 2 user agents running in peer-to-peer presence mode. When one
> user agent sends a status of "away", the other agent receiving the NOTIFY
> crashes in the XmlCursor class. It looks like the crash happens inside
> _chkstk( ) which is a stack probe inserted by the VC++ compiler when it
> thinks the stack will be greater than 4KB.
>
> I slightly modified the Pidf class to include support for activities.
>
> Any hints on how to debug this?
>
> Thanks,
> CG
>
> DEBUG | 20050715-110300.750 | xxxxxxxxxx.dll | RESIP:DUM | 4296 |
> DialogUsageManager.cxx:1500 | Looking for dialogSet:
> 3c3b8257bf749c22 at TmV3QWdlTGFwdG9w-674b2c0d in map:
> DEBUG | 20050715-110300.750 | xxxxxxxxxx.dll | RESIP:DUM | 4296 |
> DialogUsageManager.cxx:1501 | [3c3b8257bf749c22 at TmV3QWdlTGFwdG9w-674b2c0d
> -> 02534670, c52ae90a80359d72 at TmV3QWdlTGFwdG9w-1e00d536 -> 02528990,
> c5460b1276371c10 at TmV3QWdlTGFwdG9w-272a8e74 -> 025241D0]
> DEBUG | 20050715-110300.750 | xxxxxxxxxx.dll | RESIP:DUM | 4296 |
> DialogUsageManager.cxx:607 | SEND: SIP/2.0 200 OK
> To: <sip:chris2 at xxx.xx.xxx.xx>;tag=674b2c0d
> From: <sip:chris at xxx.xx.xxx.xx>;tag=ab3afb48
> Via: SIP/2.0/UDP xxx.xx.xxx.xx;branch=z9hG4bK5941.dec5.0
> Via: SIP/2.0/UDP
> 172.17.72.53:5065;branch=z9hG4bK-d87543-bd27c179e477ad60-1--d87543-;rport=5065
> Call-ID: 3c3b8257bf749c22 at TmV3QWdlTGFwdG9w
> CSeq: 5 NOTIFY
> Record-Route: <sip:chris2 at xxx.xx.xxx.xx;ftag=ab3afb48;lr=on>
> Contact: <sip:chris2>
> User-Agent: ineen release 3005l stamp 17169
> Content-Length: 0
>
>
> DEBUG | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 |
> SipStack.cxx:269 | SEND: SipResp: 200 tid=5941.dec5.0 cseq=NOTIFY
> contact=chris2 / 5 from(tu)
> allocate 253aa60
> allocate 253aaa8
> DEBUG | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 |
> SipMessage.cxx:790 | SipMessage::getContents: application/pidf+xml
> DEBUG | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 | Pidf.cxx:263
> | Pidf::parse(<?xml version="1.0" encoding="UTF-8"?>
> <presence xmlns="urn:ietf:params:xml:ns:pidf"
> xmlns:ep="urn:ietf:params:xml:ns:pidf:rpid:rpid-person"
> xmlns:pp="urn:ietf:params:xml:ns:pidf:person"
> entity="sip:chris at xxx.xx.xxx.xx">
> <pp:person>
> <status>
> <ep:activities>
> <ep:activity>away</ep:activity>
> </ep:activities>
> </status>
> </pp:person>
> <tuple id="9b6yhF2Gk37o4" >
> <status><basic>open</basic></status>
> </tuple>
> </presence>
> )
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:440 | XMLCursor::Node::Node02542398[<presence
> xmlns="urn:ietf:params:xm]
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:366 | attribute: xmlns
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:376 | quote is <">
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:366 | attribute: xmlns:ep
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:376 | quote is <">
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:366 | attribute: xmlns:pp
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:376 | quote is <">
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:366 | attribute: entity
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:376 | quote is <">
> INFO | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 | Pidf.cxx:276 |
> Presence attribute name: xmlns value: urn:ietf:params:xml:ns:pidf
>
> INFO | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 | Pidf.cxx:276 |
> Presence attribute name: xmlns:ep value:
> urn:ietf:params:xml:ns:pidf:rpid:rpid-person
>
> INFO | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP | 4296 | Pidf.cxx:276 |
> Presence attribute name: xmlns:pp value: urn:ietf:params:xml:ns:pidf:person
>
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:440 | XMLCursor::Node::Node02542A48[<pp:person>
> <status>
> <ep:a]
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:493 | XMLCursor::Node::skipToEndTag(pp:person)
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:440 | XMLCursor::Node::Node02542AD8[<status>
> <ep:activities>
> ]
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:493 | XMLCursor::Node::skipToEndTag(status)
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:440 | XMLCursor::Node::Node02542BA8[<ep:activities>
> <ep:activity>]
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:493 | XMLCursor::Node::skipToEndTag(ep:activities)
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:440 |
> XMLCursor::Node::Node02542C78[<ep:activity>away</ep:activity>
> ]
> STACK | 20050715-110300.765 | xxxxxxxxxx.dll | RESIP:CONTENTS | 4296 |
> XMLCursor.cxx:493 | XMLCursor::Node::skipToEndTag(ep:activity)
> First-chance exception at 0x01b07855 (xxxxxxxxxx.dll) in Test.exe:
> 0xC00000FD: Stack overflow.
> Unhandled exception at 0x01b07855 (xxxxxxxxxx.dll) in Test.exe: 0xC00000FD:
> Stack overflow.
>
> Stack Trace
> ===========
>
>> xxxxxxxxxx.dll!_chkstk() Line 91 Asm
> xxxxxxxxxx.dll!resip::XMLCursor::Node::skipToEndTag() Line 523 +
> 0x60 C++
> xxxxxxxxxx.dll!resip::XMLCursor::Node::skipToEndTag() Line 577 C++
> xxxxxxxxxx.dll!resip::XMLCursor::Node::skipToEndTag() Line 577 C++
> xxxxxxxxxx.dll!resip::XMLCursor::Node::skipToEndTag() Line 577 C++
> xxxxxxxxxx.dll!resip::XMLCursor::parseNextRootChild() Line 230 C++
> xxxxxxxxxx.dll!resip::XMLCursor::firstChild() Line 276 C++
> xxxxxxxxxx.dll!resip::Pidf::parse(resip::ParseBuffer & pb={...})
> Line 293 + 0xb C++
> xxxxxxxxxx.dll!resip::LazyParser::checkParsed() Line 79 + 0x11 C++
> xxxxxxxxxx.dll!resip::Pidf::getSimpleStatus(resip::Data *
> note=0x0220cfec) Line 449 C++
> ...
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at list.sipfoundry.org
> https://list.sipfoundry.org/mailman/listinfo/resiprocate-devel
>
More information about the resiprocate-devel
mailing list