tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

LibreOffice crashes on 6.x, possibly libc-related



Hi,

I'm posting this here on the advice of Thomas Klausner.

It is impossible to build LibreOffice on NetBSD 5.99/6.x, one of the
binaries involved in the process segfaults 100% of the time:

/bin/bash: line 1: 22205 Segmentation fault      (core dumped)
LD_LIBRARY_PATH=/disk/4/archive/tmp/ftigeot/core/solver/unxnbsd.pro/lib${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
 /disk/4/archive/tmp/ftigeot/core/solver/unxnbsd.pro/bin/uno -ro 
uno_services.rdb -ro uno_types.rdb -s com.sun.star.test.bridge.BridgeTest -- 
com.sun.star.test.bridge.CppTestObject

I've put the full stack trace here:
http://dl.wolfpond.org/UNO_Bridge.NetBSD-6.backtrace.txt

The segfault is caused by an invalid pointer used in a __sync_add_and_fetch
statement:
http://opengrok.libreoffice.org/xref/core/sal/osl/unx/interlck.c#65

I briefly had a look at the functions used in the backtrace and nothing
seemed wrong with the LibreOffice code.

The rtl* symbols present in the backtrace makes me suspect something in libc
and/or ld.elf_so

One of the first results when googling for them is this PR Thomas had opened
in 2010:
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=43005

LibreOffice makes heavy usage of advanced C++ constructor/destructor features
which need to have special libc support; DragonFly also had strange issues
like this one before bugfixes from FreeBSD where committed to its libc.
They were mostly pthread and cxa_finalize related if I remember correctly.

The problem can be easily reproduced by trying to build wip/libreoffice on
recent versions of NetBSD (I tested with amd64; i386 should give the same
results).

I hope some libc/toolchain specialist could sched some more light on this
issue.

-- 
Francois Tigeot


Home | Main Index | Thread Index | Old Index