[Libreoffice] smoke test failed

Stephan Bergmann stephan.bergmann.secondary at googlemail.com
Tue Aug 23 13:05:10 PDT 2011


On Aug 23, 2011, at 7:09 PM, Jenei Gábor wrote:

> Hello,
> 
> I just wanted to do make dev-install after a successful make -sr
> debug=true dbglevel=2. I have already posted so patches,because I met
> problems even in making, but finally I made it all. Now smoke-test fails
> with the error messages:
> 
> invokeComponentFactory envDcp:gcc3
> implName:com.sun.star.comp.filter.config.FilterFactory
> modPath:file:///home/LOff/libo/solver/350/unxlngi6.pro/installation/opt/program/../basis-link/program/libfilterconfig1.so
> Trace 2733/8: "> inserting new mapping: ;gcc3[909c6e0];gcc3[909c6e0]"
> Trace 2733/8: "> revoking mapping ;gcc3[909c6e0];gcc3[909c6e0]"
> Error: File /home/LOff/libo/filter/source/config/cache/filtercache.cxx,
> Line 225: Who disturb our "fill cache on demand" feature and force
> loading of ALL data during office startup? Please optimize your code, so
> a full filled filter cache is not realy needed here!
> Exited with code '-1'
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
>> c++ exception occurred: com.sun.star.lang.DisposedException
>> uno exception occurred: com.sun.star.lang.DisposedException
> Trace 1986/2: "/home/LOff/libo/binaryurp/source/bridge.cxx:504; caught
> runtime exception 'Binary URP bridge already disposed'"
> Trace 1986/2: "/home/LOff/libo/binaryurp/source/bridge.cxx:504; caught
> runtime exception 'Binary URP bridge already disposed'"
> Trace 1986/2: "/home/LOff/libo/binaryurp/source/bridge.cxx:504; caught
> runtime exception 'Binary URP bridge already disposed'"
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
>> c++ exception occurred: com.sun.star.lang.DisposedException
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
>> c++ exception occurred: com.sun.star.lang.DisposedException
>> uno exception occurred: com.sun.star.lang.DisposedException
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
>> c++ exception occurred: com.sun.star.lang.DisposedException
>> toUNOname(): N3com3sun4star4lang17DisposedExceptionE =>
> com.sun.star.lang.DisposedException
> ##Failure Location unknown## : Error
> Test name: N12_GLOBAL__N_14TestE::test
> An uncaught exception of type com.sun.star.lang.DisposedException
> - Binary URP bridge disposed during call
> 
> ##Failure Location unknown## : Error
> Test name: N12_GLOBAL__N_14TestE::test
> tearDown() failed
> - An uncaught exception of type com.sun.star.lang.DisposedException
> - Binary URP bridge already disposed
> 
> Failures !!!
> Run: 1   Failure total: 2   Failures: 0   Errors: 2
> Trace 1986/2: "/home/LOff/libo/binaryurp/source/bridge.cxx:504; caught
> runtime exception 'Binary URP bridge already disposed'"
> Trace 1986/2: "/home/LOff/libo/binaryurp/source/bridge.cxx:504; caught
> runtime exception 'Binary URP bridge already disposed'"
> Trace 1986/2: "> revoking mapping ;gcc3[40ad3c18];uno[40ad3b58]"
> Trace 1986/2: "> revoking mapping ;uno[40ad3b58];gcc3[40ad3c18]"
> dmake:  Error code 1, while making 'cpptest'
> 
> could someone help in this problem? it seems to me that filtercache.cxx
> has a function which has an optional bool parameter, but on call load
> function the parameter is not given even in debug version, so maybe I
> should give this parameter,but I don't know how it gets true or false.
> 

filtercache.cxx should probably be changed like

> diff --git a/filter/source/config/cache/filtercache.cxx b/filter/source/config/cache/filtercache.cxx
> index b3f5c91..5d1c72b 100644
> --- a/filter/source/config/cache/filtercache.cxx
> +++ b/filter/source/config/cache/filtercache.cxx
> @@ -214,13 +214,7 @@ void FilterCache::load(EFillState eRequired,
>          return;
>  
>  #if OSL_DEBUG_LEVEL > 1
> -    if (
> -        (!bByThread) &&
> -        (
> -            ((eRequired & E_CONTAINS_FILTERS) == E_CONTAINS_FILTERS) ||
> -            ((eRequired & E_CONTAINS_ALL    ) == E_CONTAINS_ALL    )
> -        )
> -       )
> +    if (!bByThread && ((eRequired & E_CONTAINS_ALL) == E_CONTAINS_ALL))
>      {
>          OSL_FAIL("Who disturb our \"fill cache on demand\" feature and force loading of ALL data during office startup? Please optimize your code, so a full filled filter cache is not realy needed here!");
>      }



(The bByThread bool is true when called from lateinitthread.cxx, and what this debug check obviously shall do is ensure that only that late-init thread requests to load expensive data; however, type detection.cxx has non-late-init-thread loads that demand E_CONTAINS_FILTERS with comment "That can disturb our 'load on demand feature'. But we have no other chance!", so the debug check is apparently broken.  All rather stinky and pathetic…)

-Stephan


More information about the LibreOffice mailing list