Re: [xml] xmlParseFile Deadlock



On Wed, Jun 27, 2007 at 04:42:12PM +1000, Rhys Palmer wrote:
Hi all,

I'm using libxml2-2.6.6-3.x86_64 on RHEL3.
I am trying to write a program in c that receives URLs to XML files from a
database and then creates a thread for each row.
I'm getting a deadlock when 2 threads call xmlParseFile at the same time.

I call xmlInitParser() before creating the threads.

  sounds right.

[...]
#1  0x0000002a965cf310 in xmlRMutexLock () from /usr/lib64/libxml2.so.2
#2  0x0000002a965cb5fd in xmlParseCatalogFile () from
/usr/lib64/libxml2.so.2

  looks like a race in the catalog code. There is a testThread.c case in
recent versions to check this kind of things, and that's part of normal
regression tests,

The backtrace is the same for each locked thread.
If two threads call xmlParseFile at different times everything works.

The thread code looks like
[...]
Am I doing something wrong here? Thanks for any help.

  no probably a bug fixed in recent versions. Try with a new version to
see if this fixes it,

NOTICE:
This email and any attachment/s may contain confidential and/or privileged
information. If you are not the intended recipient, please contact dStore
Australia Pty Ltd immediately by return email or by telephone on 1800 378
673. You should not copy, distribute or disclose all or any part of this
email unless you are authorised to do so.

  Those terms are unacceptable for the opensource process. Please read
     http://xmlsoft.org/bugs.html

Daniel , with my libxml2 hat on, not the red one !

-- 
Red Hat Virtualization group http://redhat.com/virtualization/
Daniel Veillard      | virtualization library  http://libvirt.org/
veillard redhat com  | libxml GNOME XML XSLT toolkit  http://xmlsoft.org/
http://veillard.com/ | Rpmfind RPM search engine  http://rpmfind.net/



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]