[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