uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Retzlaff <pe.retzl...@gmail.com>
Subject Re: dlclose Assertion fails for C++-Analysis Engine
Date Tue, 18 Feb 2014 15:03:50 GMT
Hi,

I already cross-referenced the ldd-output of libuima and libopencv_core.
There are some common dependencies (I got a list on my other computer),
but there are no version differences.
Also, if I'm not mistaken, libs pulled in with dlopen won't even appear
in ldd's output, right?
Therefore, I also combed through the code to check if maybe UIMA and
OpenCV dlopen the same libs. As far as I can tell, this is not the case.

Peter

On 02/18/2014 02:22 PM, Eddie Epstein wrote:
> UIMA-C++ uses several libraries including APR, ICU and xercesc. Does OpenCV
> drag in any of these at different version levels?
> 
> Eddie
> 
> 
> On Tue, Feb 18, 2014 at 6:34 AM, Peter Retzlaff <pe.retzlaff@gmail.com>wrote:
> 
>> Hello,
>>
>> we are working on a UIMA project with several C++-Analysis Engines
>> (UIMA-AS 2.4 + UIMACPP 2.4). For a while now, we've been getting this
>> error message, when one of these AEs exits:
>>
>> Inconsistency detected by ld.so: dl-close.c: 759: _dl_close: Assertion
>> `map->l_init_called'
>>
>> In particular, this happens with AEs that use OpenCV. I have constructed
>> a toy example that does nothing, except defining an Annotator, linking
>> it against OpenCV and UIMA and executing it with runAECpp.
>>
>> The error message seems to be related to the fact, that some calls to
>> dlclose happen in library destructors which are called _after_ all
>> dynamically loaded libraries have been unloaded. (see
>> https://bugzilla.novell.com/show_bug.cgi?id=622977, for example)
>>
>> So this error might not be specific to UIMA, but what's baffling me is
>> that it only occurs, when UIMA and OpenCV are both linked into the lib.
>> Linking either one of them on it's own doesn't produce the error message.
>>
>> Has anyone ever seen this problem with C++-AEs before? I'm desperately
>> looking for any pointers or hints, how this problem could be resolved.
>>
>> Thanks and best regards
>> Peter
>>
>>
>> P.S.: This is the test code I use:
>> TestAnnotator.cpp:
>> "#include "uima/api.hpp"
>> using namespace uima;
>>
>> class TestAnnotator: public Annotator {
>> };
>> // This macro exports an entry point that is used to create the annotator.
>>
>> MAKE_AE( TestAnnotator);
>> "
>>
>> Makefile:
>> "
>> UIMACPP_HOME=/opt/apache-uima-as/uimacpp
>> UIMA_HOME=/opt/apache-uima-as
>> TARGET_FILE=TestAnnotator
>> OBJS=TestAnnotator.o
>> USER_LINKFLAGS=/usr/local/lib/libopencv_core.so.2.4.3-1
>> DEBUG=1
>> DLL_BUILD=1
>>
>> all:
>>     # include file with generic compiler instructions
>>     include $(UIMACPP_HOME)/lib/base.mak
>>
>> Executing it with:
>> /opt/apache-uima-as/uimacpp/bin/runAECpp ./TestAnnotatorAE.xml -x
>> testdata/cas.xml .
>>
>>
> 



Mime
View raw message