libextractor
[Top][All Lists]
Advanced

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

Re: [libextractor] Threads shutting down with libextractor. Have you see


From: Christian Grothoff
Subject: Re: [libextractor] Threads shutting down with libextractor. Have you seen this before?
Date: Sun, 15 Jun 2008 09:23:53 -0600
User-agent: KMail/1.9.9

On Sunday 15 June 2008 12:50:15 am Dave Myron wrote:
> Sorry if this isn't the appropriate way to contact you (though it
> appears to be so from the libextractor page).
>
> I'm getting threads getting stuck when using libextractor. I've
> attached with gdb and here's the pertinent lines from the backtrace:
>
> #0  0x42bd90d4 in __pthread_sigsuspend () from /lib/i686/libpthread.so.0
> #1  0x42bd8708 in __pthread_wait_for_restart_signal () from /lib/i686/
> libpthread.so.0
> #2  0x42bd8e60 in pthread_create@@GLIBC_2.1 () from /lib/i686/
> libpthread.so.0
> #3  0xb6c5f6ac in libextractor_exiv2_extract (filename=0x862b970 "/tmp/
> CGI.11996.30", data=0xb5f63000 "ÿØÿà", size=341975, prev=0x88713f8) at
> exiv2extractor.cc:466
> #4  0xb6f8c037 in getKeywords () from /usr/lib/libextractor.so.1
> #5  0xb6f8c1ba in EXTRACTOR_getKeywords () from /usr/lib/
> libextractor.so.1
>
> Have you seen that before? Any ideas where to start fixing things?

Three ideas.

1) submit to Mantis the file that you are extracting metadata from (if you 
can), then we can see if we can find out what's going on.

2) exiv2 actually starts a second thread -- and waits for that one to 
terminate (in order to work around trouble with C++ exceptions and exit 
handlers).  So when your run gdb to get stacktraces, you need to look at both 
threads (info threads; thread NUM; ba, see also http://gnunet.org/faq.php3 
under reporting deadlocks)

3) You can avoid the threading-mess (at the expense of re-introducing another 
bug) by chaning #define WORKAROUND_905 1 to 0 (on top of th exiv2-extractor).  
If you are unfamiliar with threads and do never unload the LE plugins, this 
may help your diagnosis.  However, it does not solve the problem and should 
not be used in production...


Just to be clear here -- if the code is stuck as your trace seems to indicate, 
this is likely a bug in GNU libextractor.  However, you provided insufficient 
information for me to try to fix it.  I'll be happy to help given either full 
traces for all threads or the input / data given to LE that caused the 
problem.

Best,

Christian




reply via email to

[Prev in Thread] Current Thread [Next in Thread]