Issue 78284 - Random packaging failures (regcomp failes) after SRC680_m212
Summary: Random packaging failures (regcomp failes) after SRC680_m212
Status: CLOSED FIXED
Alias: None
Product: porting
Classification: Code
Component: code (show other issues)
Version: 680m212
Hardware: PC (x86_64) Linux, all
: P2 Trivial (vote)
Target Milestone: OOo 2.3
Assignee: kay.ramme
QA Contact: issues@porting
URL:
Keywords:
: 77991 78300 (view as issue list)
Depends on:
Blocks:
 
Reported: 2007-06-11 05:24 UTC by pavel
Modified: 2007-09-27 12:37 UTC (History)
11 users (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Use NOOPTFILES instead of adding CFLAGSNOOPT (742 bytes, text/plain)
2007-06-22 20:55 UTC, jkim
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description pavel 2007-06-11 05:24:57 UTC
Hi,

starting from SRC680_m212, build in instsetoo_native randomly fails for me.
I do build both rpm and deb formats and for many languages. The typical build in instsetoo_native after 
SRC680_m212 looks like rpm and debs are generated for few languages (2 or 3 or so) and the next 
language is problematic. Sometimes the first format is built (rpm) and the second fails with 
regcomp.bin segfault. dmesg contains this:

regcomp.bin[17484]: segfault at 00002aaaabe9e1a0 rip 00002aaaac65b6c3 rsp 0000000040400fa8 
error 4
regcomp.bin[29991]: segfault at 00002aaaabe9e1a0 rip 0000000000409ce3 rsp 0000000040400fc8 
error 4

The log file contains this:

.. analyzing files with flag SCPZIP_REPLACE ...
... analyzing files with flag PATCH_SO_NAME ...
... analyzing files with flag HIDDEN ...
... creating preregistered services.rdb ...
javavm.uno.so
javaloader.uno.so
uriproc.uno.so

**************************************************
ERROR: ERROR: Could not register all components!
in function: create_services_rdb
**************************************************

**************************************************  
ERROR: Saved logfile: /data/oo/BuildDir/ooo_SRC680_m215_src/instsetoo_native/unxlngx6.pro/
OpenOffice/rpm/logging/en-US/log_SRC680_en-US.log
**************************************************
... cleaning the output tree ...
... removing directory /data/oo/BuildDir/tmp/ooopackaging/i_243901181644430 ...

The file /data/oo/BuildDir/ooo_SRC680_m215_src/instsetoo_native/unxlngx6.pro/OpenOffice/rpm/
logging/en-US/log_SRC680_en-US.log then contains:

Tue Jun 12 12:34:29 2007 (00:39 min.)
######################################################
Registering python UNO components:
######################################################
SUCCESS: Source for types.rdb: /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/
bin/types.rdb
SUCCESS: Source for pyuno_services.rdb: /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/
unxlngx6.pro/bin/pyuno_services.rdb
Systemcall:  /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/regcomp -
register -br /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/types.rdb -br /
data/oo/BuildDir/ooo_SRC680_m
vnd.openoffice.pymodule:mailmerge
register component 'vnd.openoffice.pymodule:mailmerge' in registry '/data/oo/BuildDir/tmp/
ooopackaging/i_243901181644430/unxlngx6.pro/OpenOffice/rpm/services.rdb/en-US_inprogress_1/
services.rdb' succesful!
SUCCESS:  /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/regcomp -register 
-br /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/types.rdb -br /data/oo/
BuildDir/ooo_SRC680_m215
Systemcall:  /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/regcomp -
register -br /data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/types.rdb -br /
data/oo/BuildDir/ooo_SRC680_m
vnd.openoffice.pymodule:pythonscript
register component 'vnd.openoffice.pymodule:pythonscript' in registry '/data/oo/BuildDir/tmp/
ooopackaging/i_243901181644430/unxlngx6.pro/OpenOffice/rpm/services.rdb/en-US_inprogress_1/
services.rdb' succesful!

ERROR:
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/regcomp
-register -br
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/types.rdb
-br
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/bin/pyuno_services.rdb
-r
/data/oo/BuildDir/tmp/ooopackaging/i_243901181644430/unxlngx6.pro/OpenOffice/rpm/
services.rdb/en-US_inprogress_1/services.rdb
-c vnd.openoffice.pymodule:pythonscript -l com.sun.star.loader.Python 2>&1 |

Moved directory from /data/oo/BuildDir/tmp/ooopackaging/i_243901181644430/unxlngx6.pro/
OpenOffice/rpm/services.rdb/en-US_inprogress_1 to /data/oo/BuildDir/tmp/ooopackaging/
i_243901181644430/unxlngx6.pro/OpenOffi

Removing directory /data/oo/BuildDir/tmp/ooopackaging/i_243901181644430

***************************************************************
ERROR: Could not register all components!
in function: create_services_rdb

I investigated cwses integrated into SRC680_m212 and the problematic cws is bunoexttm. When I 
reverted modules cppu and cppuhelper to SRC680_m211, rebuilt them and deliver them, build in 
instsetoo_native is OK.

I think this is connected with #i77422# as well.
It also happens in current m215+unomacli64.

I can provide test environment access, just ask.
Comment 1 Stephan Bergmann 2007-06-11 08:21:13 UTC
FYI:  I just experienced the exact same problem (regcomp spuriously successfully
registers vnd.openoffice.pymodule:pythonscript and then obviously crashes) on
unxlngi6 on a SRC680m213-based CWS (sb71).
Comment 2 pavel 2007-06-11 08:33:29 UTC
I have never seen it on unxlngi6.pro and I did *lot* of builds there since m212 though.
Comment 3 kay.ramme 2007-06-11 10:25:41 UTC
I have not experienced this on any of the platforms (unxlngi6, wntmsci10,
unxsols4) I typically build. 

Pavel, if I understand correctly, you are seeing this on x86-64, so it seems I
need to upgrade one of the machines here ... ;-) By the way, can I still build
32bits e.g. on a x86-64 Ubuntu?
Comment 4 pavel 2007-06-11 11:05:23 UTC
yes, you can build 32bit on 64bit, but you have to use Xen or linux32 to fake the environment and chroot.
Comment 5 kay.ramme 2007-06-11 15:17:42 UTC
.
Comment 6 kay.ramme 2007-06-13 12:59:41 UTC
->Pavel, I just build unomacli64 successfully on a Ubuntu 64bit box (note: the
fixes for i77422 are _not_ the ones I added as patches), because of some Java
problems, I did disable Java, which actually shouldn't be problem,.

I also tried to reproduce the failing regcomp by hand several times, without
success:
kr93794@x42-so23[466] /local/home/kr/unomacli64/instsetoo_native>
/local/home/kr/unomacli64/solver/680/unxlngx6.pro/bin/regcomp -register -br
/local/home/kr/unomacli64/solver/680/unxlngx6.pro/bin/types.rdb -br
/local/home/kr/unomacli64/solver/680/unxlngx6.pro/bin/pyuno_services.rdb -r
/tmp/services.rdb -c vnd.openoffice.pymodule:pythonscript -l
com.sun.star.loader.Python
vnd.openoffice.pymodule:pythonscript
register component 'vnd.openoffice.pymodule:pythonscript' in registry
'/tmp/services.rdb' succesful!

So, would it be possible to again get access to your box, to see what the actual
problem is?

Thanks in advance

  Kay
Comment 7 kay.ramme 2007-06-13 19:02:52 UTC
I finally managed to get a stacktrace (thanks to Pavel):

(gdb) info threads
  3 process 10479  0x00002b4f6d214fc9 in do_lookup_x () from
/lib64/ld-linux-x86-64.so.2
* 2 process 10500  0x00002b4f6da64a5f in pthread_cond_timedwait@@GLIBC_2.3.2 ()
from /lib64/tls/libpthread.so.0
  1 process 10501  0x0000000000409ce3 in com::sun::star::uno::cpp_release ()
(gdb) thread 3
[Switching to thread 3 (process 10479)]#0  0x00002b4f6d214fc9 in do_lookup_x ()
from /lib64/ld-linux-x86-64.so.2
(gdb) bt
#0  0x00002b4f6d214fc9 in do_lookup_x () from /lib64/ld-linux-x86-64.so.2
#1  0x00002b4f6d215372 in _dl_lookup_symbol_x () from /lib64/ld-linux-x86-64.so.2
#2  0x00002b4f6d2181f1 in fixup () from /lib64/ld-linux-x86-64.so.2
#3  0x00002b4f6d217f32 in _dl_runtime_resolve () from /lib64/ld-linux-x86-64.so.2
#4  0x00002b4f6d63c506 in uno_EnvDcp_getPurpose ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#5  0x00002b4f6d63c541 in uno_EnvDcp_getPurpose ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#6  0x00002b4f6d61f522 in ?? () from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#7  0x00007fffffb389f0 in ?? ()
#8  0x00002b4f6d642e81 in ?? () from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#9  0x0000000000000000 in ?? ()
#10 0x00002b4f6d218c28 in _dl_fini () from /lib64/ld-linux-x86-64.so.2

(gdb) thread 2
[Switching to thread 2 (process 10500)]#0  0x00002b4f6da64a5f in
pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib64/tls/libpthread.so.0
(gdb) bt
#0  0x00002b4f6da64a5f in pthread_cond_timedwait@@GLIBC_2.3.2 () from
/lib64/tls/libpthread.so.0
#1  0x00002b4f6d360d4f in rtl_cache_create ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_sal.so.3
#2  0x00002b4f6da61fa5 in start_thread () from /lib64/tls/libpthread.so.0
#3  0x00002b4f6e269cb2 in clone () from /lib64/tls/libc.so.6

(gdb) thread 1
[Switching to thread 1 (process 10501)]#0  0x0000000000409ce3 in
com::sun::star::uno::cpp_release ()
(gdb) bt
#0  0x0000000000409ce3 in com::sun::star::uno::cpp_release ()
#1  0x00002b4f6d62a1cb in uno_type_constructData ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#2  0x00002b4f6d631e81 in uno_any_destruct ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_cppu.so.3
#3  0x00002aaaac1219aa in pyuno::PyUNO_del ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libpyuno.so
#4  0x00002aaaac29822f in PyDict_Next ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libpython2.3.so.1.0
#5  0x00002aaaac27b903 in PyMethod_Fini ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libpython2.3.so.1.0
#6  0x00002aaaac13472a in pyuno::GCThread::run ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libpyuno.so
#7  0x00002aaaac134a1a in threadFunc () from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libpyuno.so
#8  0x00002b4f6d352ffd in osl_yieldThread ()
   from
/data/oo/BuildDir/ooo_SRC680_m215_src/solver/680/unxlngx6.pro/lib/libuno_sal.so.3
#9  0x00002b4f6da61fa5 in start_thread () from /lib64/tls/libpthread.so.0
#10 0x00002b4f6e269cb2 in clone () from /lib64/tls/libc.so.6
#11 0x0000000000000000 in ?? ()

Obviously this is PyUno related, so it shouldn't be experienced in SO builds, as
SO does not bring PyUno.
Comment 8 Stephan Bergmann 2007-06-14 08:04:40 UTC
@kr:  "it shouldn't be experienced in SO builds" --- Fits into the picture, as I
experienced it when doing OOo builds, not SO builds.  Sorry I did not mention
that earlier...
Comment 9 kay.ramme 2007-06-14 10:38:51 UTC
The stacks also show, that some GC thread is used to asynchronously destroy some
objects. Especially the construct and comments regarding
"g_destructorsOfStaticObjectsHaveBeenCalled" (see
pyuno/source/module/pyuno_gc.cxx) seem to be fragile, especially as it looks
like that something is going wrong while terminating ...

Added JBU to CC:

->Joerg, could you give some supporting comments? Thanks, Kay

Comment 10 kay.ramme 2007-06-14 12:33:44 UTC
OK, it seems I finally found a fix for this. 
Actually
 i78284 (this issue), i78300 and i77991
are all the same, and are all related to the fact, that C++ d'tors have a
relationship to "atexit" (see
http://wiki.services.openoffice.org/wiki/Uno/Cpp/Tutorials/Global_References for
details), leading to a wrong order of destruction.

The fix is, to disable this feature!
Comment 11 pavel 2007-06-14 14:32:32 UTC
kr: you rock!
Comment 12 kay.ramme 2007-06-15 09:46:30 UTC
Guys, sorry for disappointing you, the fix is not yet ready (but close to :-). I
think I now understand why this does not happen in the Sun build env, even when
building Python etc.

Looking at the switches, our local gcc has been compiled to support:
> gcc -v
Reading specs from
/so/env/gcc_3.4.1_p_linux_libc2.24/lib/gcc/i686-pc-linux-gnu/3.4.1/specs
Configured with: ./configure --prefix=/so/env/gcc_3.4.1_p_linux_libc2.24
--with-gnu-as --with-as=/so/env/gcc_3.4.1_p_linux_libc2.24/bin/as --with-gnu-ld
--with-ld=/so/env/gcc_3.4.1_p_linux_libc2.24/bin/ld --enable-languages=c,c++
Thread model: posix
gcc version 3.4.1

And a standard Ubuntu one:
> gcc -v
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 (Ubuntu 4.1.2-0ubuntu4)

The local one is missing "--enable-__cxa_atexit", which is (at least that is
what the documentation says), required for strict C++ compliance. 

Doing some tests (which I am going to put on the wiki), I see a difference in
destruction order, comparing our local gcc with a plain Ubuntu one. Basically
leading to the effect, that using the local one the crashes are _not_
reproduceable. 

Certainly the fix is not disabling "__cxa_atexit" ... ;-)  By the way, a similar
/ close problem is known as "The Dead Reference Problem" (see Alexandrescu,
"Modern C++ Design").
Comment 13 Stephan Bergmann 2007-06-15 10:02:47 UTC
Still, I see crashes with the Sun-local gcc 3.4.1 (and --enable-__cxa_atexit is
probably on by default, given that libs built with the Sun-local gcc 3.4.1 do
have dependencies on the __cxa_atexit symbol).
Comment 14 kay.ramme 2007-06-15 12:56:48 UTC
->SB: I can not confirm your observations, building with local gcc and with
"-fuse-cxa-atexit" gives 
> nm libbla.so | grep -i exit
         U __cxa_atexit@@GLIBC_2.1.3
>

building without "-fuse-cxa-atexit" gives
> nm libbla.so | grep -i exit
>

However, I am digging further and sure will find a satisfactory solution soon
... :-)
Comment 15 joergbudi 2007-06-16 20:03:27 UTC
Hi,

for some (certainly discussable,let me know if you are interested) reason, the
pyuno bridge needs a separate thread to release python objects (and thus
potentially uno objects as it is the case in the callstack given above).

This can lead to crashes at process termination, because the race between
"regcomp releases all loader/factory objects and terminates main()" and
"pyuno-gc-thread release call" is not solved. 

The "static destructor guard" worked for my earlier problems, but it can't avoid
the core race, so when it hits you now, it might be, that you cant find a
compiler switch, which will make it work. 

The urp remote bridge had (and may have it still, dont know) the same problem
(see urp_environment.cxx and g_bStaticDestructorsCalled).

The crash can be avoided
1) (easy and dirty) terminating regcomp with _exit()
2) introduce a process termination synchronization API eg. in sal, which can
cleanly solve the races, here changes in regcomp (and all other uno executables
which currently dare to terminate with exit()), sal and pyuno are necessary. But
as everyone, who uses a thread as implementation detail in the uno world has the
same problem, it might be the way to go.

Bye,

Joerg
Comment 16 kay.ramme 2007-06-20 11:18:44 UTC
*** Issue 78300 has been marked as a duplicate of this issue. ***
Comment 17 kay.ramme 2007-06-20 11:20:28 UTC
*** Issue 77991 has been marked as a duplicate of this issue. ***
Comment 18 kay.ramme 2007-06-20 11:31:34 UTC
Finally fixed ...
Comment 19 pavel 2007-06-20 11:33:00 UTC
kr: unomacli64?

Can I delete builddir on test machine?
Comment 20 kay.ramme 2007-06-20 13:34:41 UTC
->Pavel, sorry for not informing you ... you certainly can delete my ssh account
and the build dir, I think I understood the issue and could fix it independently. 

By the way, one of the reasons I couldn't reproduce it here is a differently
configured gcc in the Hamburg build env. (see my earlier comments), I am going
to write an issue for that ...
Comment 21 pavel 2007-06-21 19:09:32 UTC
Yes, with unomacli64, it works perfectly. Thanks!
Comment 22 jkim 2007-06-22 20:55:18 UTC
Created attachment 46196 [details]
Use NOOPTFILES instead of adding CFLAGSNOOPT
Comment 23 pavel 2007-06-22 21:01:40 UTC
jkim: yes, that solution is much better.

Kay?
Comment 24 jkim 2007-06-22 21:05:40 UTC
Can you verified the attached patch as well?  We should not add CFLAGSNOOPT
after existing optimization flags.  Also, we don't want to turn off optimization
for anything else.  Any way, I am still seeing the problem on FreeBSD/amd64:

> sizeof(AlignSize_Impl) = 16; __alignof__ (AlignSize_Impl) = 8
> sizeof(M) = 8; __alignof__ (M) = 4
> sizeof(N) = 12; __alignof__ (N) = 4
> sizeof(N2) = 12; __alignof__ (N2) = 4
> sizeof(O) = 24; __alignof__ (O) = 8
> sizeof(D) = 8; __alignof__ (D) = 4
> sizeof(C1) = 2; __alignof__ (C1) = 2
> sizeof(C2) = 8; __alignof__ (C2) = 4
> sizeof(C3) = 24; __alignof__ (C3) = 8
> sizeof(C4) = 40; __alignof__ (C4) = 8
> sizeof(C5) = 56; __alignof__ (C5) = 8
> sizeof(C6) = 72; __alignof__ (C6) = 8
> sizeof(O2) = 32; __alignof__ (O2) = 8
> sizeof(Char3) = 3; __alignof__ (Char3) = 1
> sizeof(P) = 24; __alignof__ (P) = 8
> sizeof(second) = 4; __alignof__ (second) = 4
Thread:      1 :component
path=file:///usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/servicemgr.uno.so

=> no CPLD_ACCESSPATH set.
loadSharedLibComponentFactory envDcp: gcc3          implName:
p.stoc.ORegistryServiceManager  libName: servicemgr.uno.
Thread:      1 :> inserting new mapping: ;gcc3[8005dd008];gcc3[8005dd008]
Thread:      1 :> revoking mapping ;gcc3[8005dd008];gcc3[8005dd008]
Error: File
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/cppu/source/typelib/static_types.cxx,
Line 568
Thread:      1 :
### type cannot be completed: com.sun.star.container.XElementAccess
Error: File
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/cppu/source/typelib/typelib.cxx,
Line 1204
Segmentation fault (core dumped)

GDB backtrace:
#0  0x0000000801df4eca in typelib_typedescription_register () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppu.so.3
#1  0x0000000801c42097 in com::sun::star::container::cppu_detail_getUnoType ()
from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#2  0x0000000801c422ce in
cppu::UnoType<com::sun::star::container::XEnumerationAccess>::get ()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#3  0x0000000801c422e1 in
cppu::detail::cppu_detail_getUnoType<com::sun::star::container::XEnumerationAccess>
()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#4  0x0000000801c422fe in
cppu::UnoType<com::sun::star::uno::Reference<com::sun::star::container::XEnumerationAccess>
>::get ()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#5  0x0000000801c42311 in getCppuType () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#6  0x0000000801c4253c in com::sun::star::container::cppu_detail_getUnoType ()
from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#7  0x0000000801c42f5e in cppu::UnoType<com::sun::star::container::XSet>::get ()
from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#8  0x0000000801c42f71 in
cppu::detail::cppu_detail_getUnoType<com::sun::star::container::XSet> ()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#9  0x0000000801c42f8e in
cppu::UnoType<com::sun::star::uno::Reference<com::sun::star::container::XSet>
>::get ()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#10 0x0000000801c42fa1 in getCppuType () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#11 0x0000000801c42fc6 in com::sun::star::container::XSet::static_type () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#12 0x0000000801c43a86 in
com::sun::star::uno::Reference<com::sun::star::container::XSet>::iquery ()
   from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#13 0x0000000801c43acd in Reference () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#14 0x0000000801c5096d in cppu::addFactories () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#15 0x0000000801c39c5a in cppu::bootstrapInitialSF () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#16 0x0000000801c5101b in defaultBootstrap_InitialComponentContext () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#17 0x0000000801c51c2d in cppu::defaultBootstrap_InitialComponentContext () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libuno_cppuhelpergcc3.so.3
#18 0x00000000004322aa in desktop::Desktop::CreateApplicationServiceManager ()
#19 0x000000000041aa2b in desktop::Desktop::Init ()
#20 0x00000008007509b7 in InitVCL () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libvcl680fx.so
#21 0x0000000800750c1a in ImplSVMain () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libvcl680fx.so
#22 0x0000000800750e05 in SVMain () from
/usr/ports/editors/openoffice.org-2-devel/work/SRC680_m216/solver/680/unxfbsdx.pro/lib/libvcl680fx.so
#23 0x0000000000418d4f in main ()
Comment 25 jkim 2007-06-22 21:13:20 UTC
I forgot to add environment detail.  It is FreeBSD/amd64 -CURRENT and GCC 4.2. 
I think -fuse-cxa-atexit is on by default.
Comment 26 pavel 2007-06-23 10:13:04 UTC
reopening.

No longer random packaging failures, but OOo crashes immediatelly on start:

oo@amd64:~/m217/program> ./soffice


Fatal exception: Signal 11
Stack:
/data/oo/m217/program/libuno_sal.so.3[0x2b111581e2fa]
/data/oo/m217/program/libuno_sal.so.3[0x2b111581e470]
/data/oo/m217/program/libuno_sal.so.3[0x2b111581e509]
/lib64/tls/libpthread.so.0[0x2b11165692c0]
/data/oo/m217/program/libuno_cppu.so.3(typelib_typedescription_register+0x114)[0x2b11156bf6c6]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN3com3sun4star9container22cppu_detail_getUnoTypeEPKNS2_18XEnumerationAccessE+0x177)
[0x2b111551d537]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN3com3sun4star9container22cppu_detail_getUnoTypeEPKNS2_4XSetE+0xcf)[0x2b111551da3f]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN4cppu12addFactoriesEPKPKcRKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINSA_4lang22X
MultiComponentFactoryEEERKNSC_INSA_8registry12XRegistryKeyEEE+0x2e)[0x2b111552efae]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN4cppu18bootstrapInitialSFERKN3rtl8OUStringE+0x1bc)[0x2b11155171cc]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN4cppu39_GLOBAL__N__ZN4cppu16get_this_libpathEv40defaultBootstrap_InitialComponentContextE
RKN3rtl9BootstrapE+0x79)[0x2b1115530199]
/data/oo/m217/program/libuno_cppuhelpergcc3.so.3
(_ZN4cppu40defaultBootstrap_InitialComponentContextEv+0x14)[0x2b1115530ed4]
/data/oo/m217/program/soffice.bin(_ZN7desktop7Desktop31CreateApplicationServiceManagerEv
+0x25)[0x434c75]
/data/oo/m217/program/soffice.bin(_ZN7desktop7Desktop4InitEv+0x1b)[0x41cedb]
/data/oo/m217/program/libvcl680lx.so
(_Z7InitVCLRKN3com3sun4star3uno9ReferenceINS1_4lang20XMultiServiceFactoryEEE+0x29b)
[0x2b1113f994ab]
/data/oo/m217/program/libvcl680lx.so[0x2b1113f9972f]
/data/oo/m217/program/libvcl680lx.so(_Z6SVMainv+0x25)[0x2b1113f99925]
/data/oo/m217/program/soffice.bin(main+0x3f)[0x41b75f]
/lib64/tls/libc.so.6(__libc_start_main+0xda)[0x2b1116cca5aa]
/data/oo/m217/program/soffice.bin(_ZN6Window11RequestHelpERK9HelpEvent+0x3a)[0x41b68a]
./soffice: line 236: 22306 Aborted                 "$sd_prog/$sd_binary" "$@"
oo@amd64:~/m217/program> 

(gdb) where
#0  0x00002ab722bd06c6 in typelib_typedescription_register () from /data/oo/m217/program/
libuno_cppu.so.3
#1  0x00002ab722a2e537 in com::sun::star::container::cppu_detail_getUnoType () from /data/oo/
m217/program/libuno_cppuhelpergcc3.so.3
#2  0x00002ab722a2ea3f in com::sun::star::container::cppu_detail_getUnoType () from /data/oo/
m217/program/libuno_cppuhelpergcc3.so.3
#3  0x00002ab722a3ffae in cppu::addFactories () from /data/oo/m217/program/
libuno_cppuhelpergcc3.so.3
#4  0x00002ab722a281cc in cppu::bootstrapInitialSF () from /data/oo/m217/program/
libuno_cppuhelpergcc3.so.3
#5  0x00002ab722a41199 in cppu::(anonymous 
namespace)::defaultBootstrap_InitialComponentContext () from /data/oo/m217/program/
libuno_cppuhelpergcc3.so.3
#6  0x00002ab722a41ed4 in cppu::defaultBootstrap_InitialComponentContext () from /data/oo/m217/
program/libuno_cppuhelpergcc3.so.3
#7  0x0000000000434c75 in desktop::Desktop::CreateApplicationServiceManager ()
#8  0x000000000041cedb in desktop::Desktop::Init ()
#9  0x00002ab7214aa4ab in InitVCL () from /data/oo/m217/program/libvcl680lx.so
#10 0x00002ab7214aa72f in InitVCL () from /data/oo/m217/program/libvcl680lx.so
#11 0x00002ab7214aa925 in SVMain () from /data/oo/m217/program/libvcl680lx.so
#12 0x000000000041b75f in main ()
(gdb) 


kr: the access to that machine is still valid for you.

Comment 27 kay.ramme 2007-06-25 07:57:31 UTC
I am fine with "NOOPTFILES" ...

I am going to check why it dies, have not seen it here though ... ;-( Seems to
be similar to what Kendy reported on IRC on Friday.

Comment 28 kay.ramme 2007-06-26 09:01:47 UTC
Just to keep you updated, it seems that some platforms don't use map files for
cppuhelper (despite the fact, that they are defined in the makefile), which
randomly leads to wrong resolution of "getCppuType" symbols, using the "non
comprehensive" versions. I experimentally fixed the map file for Linux x86-64,
and the soffice comes up again ...
Comment 29 jkim 2007-06-26 18:36:30 UTC
Ah, it was addressed by issue 77975 and partially fixed in CWS cmcfixes35.  I
say partially because amd64 map file for cppuhelper seem to have some missing
symbols. :-(
Comment 30 kay.ramme 2007-06-27 12:53:56 UTC
Quick summary:
Since bunoexttm (SRC680_m212) on Unix (and alike) systems map files for
cppuhelper are mandatory. More or less, the reason for this is a design issue
regarding the generated "getCppuType" functions, which vary in implementation
depending on their desired usage. On Unix (ELF?) systems the different generated
"getCppuType" function resolution may compete, leading to undesired results in
case a shallow version succeeds.

This was not a problem on main stream Unix platforms, as these have valid map
files for cppuhelper. I just tweaked the "gcc3_linux_intel.map" file to
generically work with Linux x86/x86-64. I am currently unsure what the map files
for FreeBSD or Mac need to like like, a helping end would be appreciated.

->Pavel: I actually would like to set this issue to "resolved/verified" again,
and to have another issue for finally fixing this, as this is unrelated to the
packaging failures seen by you. I suggest to use i78830 for this purpose ...
Comment 31 kay.ramme 2007-06-27 15:56:07 UTC
Just checked in (unomacli64) some fixes for cppuhelper and Linux x86-64, the
brave may try it ...
Comment 32 jkim 2007-06-27 18:08:30 UTC
->kr, I made a separate map file for FreeBSD/amd64 and it worked okay.  The last
patch from unomacli64 worked as well but you missed FreeBSD and MacOSX. ;-)  Can
you just rename it to gcc3_unix.map or something like that and remove OS and CPU
check altogether?  Thanks!
Comment 33 jkim 2007-06-27 18:12:42 UTC
->kr, I am sorry that I missed your last comment. :-(  I cannot speak for MacOSX
but it works for FreeBSD/amd64.
Comment 34 kay.ramme 2007-06-27 19:05:25 UTC
->jkim: You mean the gcc3_linux_intel.map file works for FreeBSD? Does that
mean, that FreeBSD has the same ABI as Linux? If so, I am going to change the
makefile accordingly ... Mac OS X is what I am currently looking into.
Comment 35 jkim 2007-06-27 19:27:14 UTC
->kr: yes, FreeBSD has the same ABI as Linux.
Comment 36 Stephan Bergmann 2007-06-28 07:28:38 UTC
@kr:  Are you aware of cmc's current cppuhelper/salhelper map file cleanup
(cws_src680_cmcfixes35)?
Comment 37 kay.ramme 2007-06-28 08:43:02 UTC
->SB: I aware of Caolans work regarding the map files, I am going to discuss
this with him in i77975 ...
Comment 38 kay.ramme 2007-06-29 13:03:39 UTC
.
Comment 39 kay.ramme 2007-07-04 16:23:48 UTC
->Pavel, could you check this again (and put it on verified)? Thanks in advance.
Comment 40 kendy 2007-07-04 17:19:45 UTC
Pavel, before you do, could you please commit a tiny change:

 _ZN4cppu20OPropertyArrayHelper4initEh;
 _ZN4cppu20OPropertyArrayHelperC1EPN3com3sun4star5beans8PropertyE?h;
 
_ZN4cppu20OPropertyArrayHelperC1ERKN3com3sun4star3uno8SequenceINS3_5beans8PropertyEEEh;
-_ZN4cppu20OPropertyArrayHelperC2EPN3com3sun4star5beans8PropertyElh;
+_ZN4cppu20OPropertyArrayHelperC2EPN3com3sun4star5beans8PropertyE?h;
 
_ZN4cppu20OPropertyArrayHelperC2ERKN3com3sun4star3uno8SequenceINS3_5beans8PropertyEEEh;
 
_ZN4cppu20WeakImplHelper_queryERKN3com3sun4star3uno4TypeEPNS_10class_dataEPvPNS_11OWeakObjectE;
 _ZN4cppu20createNestedRegistryERKN3rtl8OUStringE;
Comment 41 kay.ramme 2007-07-04 19:09:04 UTC
->Kendy: Applied and committed ... ;-)
Comment 42 pavel 2007-07-12 23:03:23 UTC
Verified in unomacli64.

Everything works as expected.

Thanks!
Comment 43 kay.ramme 2007-09-27 12:37:33 UTC
closing ...