Re: libuno_cppu failure
Hi Απόστολος, On 04.01.2014 19:41, Απόστολος Συρόπουλος wrote: Today I tried to investigate a little bit why uno fails, in particular why build --all:testtools fails in OpenSolaris. So I tried to rebuild some libraries with debugging information. I have used build debug=true dbglevel=2 to build libuno_cppu.so.3 and here is what I get: Compiling: cppu/unxsogi.pro/misc/uno_cppu_version.c Compiling: cppu/unxsogi.pro/misc/uno_purpenvhelpergcc3_version.c Making:libuno_cppu.so.3 ### OFFSET_OF(AlignSize_Impl, dDouble) = 4 instead of expected 8!!! /extra/sources/OpenOffice/aoo4/main/solenv/bin/checkdll.sh: line 60: 4017: Abort(coredump) dmake: Error code 1, while making '../unxsogi.pro/lib/libuno_cppu.so.3' ERROR: error 65280 occurred while making /extra/sources/OpenOffice/aoo4/main/cppu/util The following patch solves the problem: --- cppu/source/uno/data.cxx.oldΣαβ Ιαν 4 20:13:17 2014 +++ cppu/source/uno/data.cxxΣαβ Ιαν 4 20:13:10 2014 @@ -357,7 +357,7 @@ #if defined(INTEL) \ (defined(__GNUC__) (defined(LINUX) || defined(FREEBSD) || defined(OS2 )) || defined(MACOSX) \ -|| defined(__SUNPRO_CC) defined(SOLARIS)) +|| (defined(__SUNPRO_CC) || defined(__GNUC__)) defined(SOLARIS)) #define MAX_ALIGNMENT_4 #endif Great! As expected the source tree has zero support for Solaris and GCC (The Sun people did lousy job as far it regards GCC and Solaris). Well, building Solaris OOo with GCC was as interesting to the Sun people as Microsoft is in building their MSO with the Sunpro or the GCC compiler: Almost zero. Now, I rerun build --all:testtools and I get the following: [...] ### unexpected exception content! failed exception test failed oneway exception test failed exception occured: error: test failed! Ouch! None of the exception stuff works in your new build. That is a hard nut to crack... Can anybody help me proceed? You already had the UNO bridges and their tests working in your older builds. Do you have an idea, what might have caused this bad regression? Getting back to the old (working) behavior is the only reasonable thing to do. Debugging/Fixing UNO bridge is not much fun and doing it remotely with only an occassional mail here and there is almost impossible. Herbert - To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org For additional commands, e-mail: dev-h...@openoffice.apache.org
RE: libuno_cppu failure
Ouch! None of the exception stuff works in your new build. That is a hard nut to crack... I have recompiled the libraries used by uno with debugging info and I have enabled this time -fno-use-cxa-atexit. Now it dumps core and here is what I get with gdb: gdb ../../../solver/410/unxsogi.pro/bin/uno GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type show copying and show warranty for details. This GDB was configured as i386-pc-solaris2.11... (gdb) run -ro uno_services.rdb -ro uno_types.rdb -s com.sun.star.test.bridge.BridgeTest -- com.sun.star.test.bridge.CppTestObject Starting program: /extra/sources/OpenOffice/aoo4/main/solver/410/unxsogi.pro/bin/uno -ro uno_services.rdb -ro uno_types.rdb -s com.sun.star.test.bridge.BridgeTest -- com.sun.star.test.bridge.CppTestObject warning: Lowest section in /lib/libdl.so.1 is .dynamic at 0074 warning: Lowest section in /lib/libpthread.so.1 is .dynamic at 0074 warning: Lowest section in /lib/librt.so.1 is .dynamic at 0074 warning: Lowest section in /lib/libthread.so.1 is .dynamic at 0074 [New LWP 1] [New LWP 2] terminate called after throwing an instance of 'com::sun::star::uno::RuntimeException' (gdb) backtrace Program received signal SIGABRT, Aborted. 0xfe690687 in _lwp_kill () from /lib/libc.so.1 (gdb) backtrace #0 0xfe690687 in _lwp_kill () from /lib/libc.so.1 #1 0xfe68972c in thr_kill () from /lib/libc.so.1 #2 0xfe638f2a in raise () from /lib/libc.so.1 #3 0xfe610f1a in abort () from /lib/libc.so.1 #4 0xfe879095 in __gnu_cxx::__verbose_terminate_handler () at /extra/sources/gcc-4.7.2/libstdc++-v3/libsupc++/vterminate.cc:95 #5 0xfe875d77 in __cxxabiv1::__terminate (handler=0xfe878f40 __gnu_cxx::__verbose_terminate_handler()) at /extra/sources/gcc-4.7.2/libstdc++-v3/libsupc++/eh_terminate.cc:40 #6 0xfe874bcb in __cxa_call_terminate (ue_header=0x8110050) at /extra/sources/gcc-4.7.2/libstdc++-v3/libsupc++/eh_call.cc:56 #7 0xfe87584f in __gxx_personality_v0 (version=1, actions=6, exception_class=5138137972254386944, ue_header=0x8110050, context=0x804478c) at /extra/sources/gcc-4.7.2/libstdc++-v3/../libgcc/unwind-pe.h:159 #8 0x08110050 in ?? () #9 0x in ?? () (gdb) Maybe this will help find out what might be the problem. A.S. -- Apostols Syropoulos Xanthi, Greece