日期:2014-05-16  浏览次数:20786 次

xmlParseFile死锁问题
多个线程同时调用xmlParseFile出现死锁,
gdb调试发现所有的子线程都是下面这样:
#0 0x000000347b20aee9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0
#1 0x000000347ca9a5ab in xmlRMutexLock () from /usr/lib64/libxml2.so.2
#2 0x000000347ca974ac in ?? () from /usr/lib64/libxml2.so.2
#3 0x000000347ca97e7b in ?? () from /usr/lib64/libxml2.so.2
#4 0x000000347ca983bf in xmlACatalogResolve () from /usr/lib64/libxml2.so.2
#5 0x000000347ca58f85 in ?? () from /usr/lib64/libxml2.so.2
#6 0x000000347ca5796f in xmlLoadExternalEntity () from /usr/lib64/libxml2.so.2
#7 0x000000347ca34be4 in xmlCreateURLParserCtxt () from /usr/lib64/libxml2.so.2
#8 0x000000347ca4999d in xmlSAXParseFileWithData () from /usr/lib64/libxml2.so.2
#9 0x000000000050df29 in xmlconfig::parse (this=0x2aaf70d39a00, file=@0x2aaf70d39a30) at xmlconfig.cpp:449

google搜索出有人也出现过,但未果:http://mail.gnome.org/archives/xml/2007-June/msg00110.html
请问有人还遇见过吗?

------解决方案--------------------
是不是主线程也用了xmlconfig?