You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by sanishkanjany <sa...@gmail.com> on 2008/02/14 12:04:22 UTC

Xerces hanging on XMLPlatformUtils::unlockMutex

Hi, 

I am using xerces-c DOM Parser for XML parsing. But some times the main
thread goes to a infinite wait state from parser. It is not always coming
from same function call. My program has more than one threads, and many of
them creates instances of parsers. 

The function call stack of the waiting thread is as below.

0012f278 00433b5b 01278dd0 0044e65a 01278dd0
ntdll!RtlLeaveCriticalSection+0x1d
0012f280 0044e65a 01278dd0 1200ed6e 01d99988
xerces_c_2_7!xercesc_2_7::XMLPlatformUtils::unlockMutex+0xb
*** WARNING: Unable to verify checksum for
D:\OpsXML\Goldengate\bin\Release\xerces-depdom_2_7.dll
*** ERROR: Symbol file could not be found.  Defaulted to export symbols for
D:\OpsXML\Goldengate\bin\Release\xerces-depdom_2_7.dll - 
0012f288 1200ed6e 01d99988 01278db8 00433b9b
xerces_c_2_7!xercesc_2_7::XMLMutexLock::~XMLMutexLock+0xa
0012f294 00433b9b 0012f300 12022b75 ffffffff
xerces_depdom_2_7!xercesc_2_7::DOMParser::resetCachedGrammarPool+0x4ce
0012f2a4 1200f4d6 012aac6c 012ee130 012ce778
xerces_c_2_7!xercesc_2_7::XMLPlatformUtils::atomicDecrement+0xb
0012f2b4 12001fb3 00000000 012ee130 00000000
xerces_depdom_2_7!xercesc_2_7::DOMString::operator=+0x66
0012f2c8 12002558 012ee130 1201526a 012ee130
xerces_depdom_2_7!xercesc_2_7::AttrImpl::makeChildNode+0x33
0012f2d0 1201526a 012ee130 012ccbf0 12014067
xerces_depdom_2_7!xercesc_2_7::AttrImpl::getFirstChild+0x8
0012f2dc 12014067 012ee130 012c7d10 00000001
xerces_depdom_2_7!xercesc_2_7::NodeImpl::deleteIf+0x5a
0012f2f0 12011d97 012c7d10 012c7d10 0012f374
xerces_depdom_2_7!xercesc_2_7::NamedNodeMapImpl::removeAll+0x47
0012f308 12011c6f 00000000 00000000 120152a1
xerces_depdom_2_7!xercesc_2_7::ElementImpl::~ElementImpl+0x37
0012f314 120152a1 00000001 012c7d10 012a7c38
xerces_depdom_2_7!xercesc_2_7::ElementImpl::ElementImpl+0xdf
00000000 00000000 00000000 00000000 00000000
xerces_depdom_2_7!xercesc_2_7::NodeImpl::deleteIf+0x91

I was using xerces-c 2.3. I am facing the same issue even after changing to
2.7

Can anybody help me to find the reason ?

Thanks in advance,
Sanish
-- 
View this message in context: http://www.nabble.com/Xerces-hanging-on-XMLPlatformUtils%3A%3AunlockMutex-tp15478184p15478184.html
Sent from the Xerces - C - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Xerces hanging on XMLPlatformUtils::unlockMutex

Posted by sanishkanjany <sa...@gmail.com>.
Hi Alberto,

Other threads in my program also create some instances of DOMParsers. But
they do not share the instances of main thread.  Sometimes more than one
thusands instances will be existing at a time. Is there any limit on number
of instances? 

Thanks,
Sanish
-- 
View this message in context: http://www.nabble.com/Xerces-hanging-on-XMLPlatformUtils%3A%3AunlockMutex-tp15478184p15496019.html
Sent from the Xerces - C - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org


Re: Xerces hanging on XMLPlatformUtils::unlockMutex

Posted by Alberto Massari <am...@datadirect.com>.
Hi Sanish,
we would need a lot more info in order to understand what's going on 
(e.g. what the other threads are doing in that moment, what they usually 
do, whether they share the same DOMParser object, etc..)
Also, the DOMParser is part of the deprecated interfaces, and it's not 
going to be fixed in any case (it's not even there anymore in version 3.0).
I would suggest you to migrate to the new XercesDOMParser, and verify if 
it shows the same lock problem.

Hope this helps,
Alberto

sanishkanjany wrote:
> Hi, 
>
> I am using xerces-c DOM Parser for XML parsing. But some times the main
> thread goes to a infinite wait state from parser. It is not always coming
> from same function call. My program has more than one threads, and many of
> them creates instances of parsers. 
>
> The function call stack of the waiting thread is as below.
>
> 0012f278 00433b5b 01278dd0 0044e65a 01278dd0
> ntdll!RtlLeaveCriticalSection+0x1d
> 0012f280 0044e65a 01278dd0 1200ed6e 01d99988
> xerces_c_2_7!xercesc_2_7::XMLPlatformUtils::unlockMutex+0xb
> *** WARNING: Unable to verify checksum for
> D:\OpsXML\Goldengate\bin\Release\xerces-depdom_2_7.dll
> *** ERROR: Symbol file could not be found.  Defaulted to export symbols for
> D:\OpsXML\Goldengate\bin\Release\xerces-depdom_2_7.dll - 
> 0012f288 1200ed6e 01d99988 01278db8 00433b9b
> xerces_c_2_7!xercesc_2_7::XMLMutexLock::~XMLMutexLock+0xa
> 0012f294 00433b9b 0012f300 12022b75 ffffffff
> xerces_depdom_2_7!xercesc_2_7::DOMParser::resetCachedGrammarPool+0x4ce
> 0012f2a4 1200f4d6 012aac6c 012ee130 012ce778
> xerces_c_2_7!xercesc_2_7::XMLPlatformUtils::atomicDecrement+0xb
> 0012f2b4 12001fb3 00000000 012ee130 00000000
> xerces_depdom_2_7!xercesc_2_7::DOMString::operator=+0x66
> 0012f2c8 12002558 012ee130 1201526a 012ee130
> xerces_depdom_2_7!xercesc_2_7::AttrImpl::makeChildNode+0x33
> 0012f2d0 1201526a 012ee130 012ccbf0 12014067
> xerces_depdom_2_7!xercesc_2_7::AttrImpl::getFirstChild+0x8
> 0012f2dc 12014067 012ee130 012c7d10 00000001
> xerces_depdom_2_7!xercesc_2_7::NodeImpl::deleteIf+0x5a
> 0012f2f0 12011d97 012c7d10 012c7d10 0012f374
> xerces_depdom_2_7!xercesc_2_7::NamedNodeMapImpl::removeAll+0x47
> 0012f308 12011c6f 00000000 00000000 120152a1
> xerces_depdom_2_7!xercesc_2_7::ElementImpl::~ElementImpl+0x37
> 0012f314 120152a1 00000001 012c7d10 012a7c38
> xerces_depdom_2_7!xercesc_2_7::ElementImpl::ElementImpl+0xdf
> 00000000 00000000 00000000 00000000 00000000
> xerces_depdom_2_7!xercesc_2_7::NodeImpl::deleteIf+0x91
>
> I was using xerces-c 2.3. I am facing the same issue even after changing to
> 2.7
>
> Can anybody help me to find the reason ?
>
> Thanks in advance,
> Sanish
>   



---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org