bdwgc
bdwgc copied to clipboard
SIGSEGV of a2ps when compiled against bdw-gc on Solaris
Hello,
I am trying to upgrade to a recent version of a2ps where bdw-gc is a mandatory dependency. I have successfully built and tested bdw-gc on recent Solaris:
$ gmake check
...
/bin/bash ./libtool --tag=CC --mode=link /usr/gcc/13/bin/gcc -fexceptions -DGC_VISIBILITY_HIDDEN_SET -fvi
sibility=hidden -Wall -Wextra -Wpedantic -Wno-long-long -m64 -fPIC -DPIC -O3 -ffile-prefix-map=/scratch/userla
nd-gate/components/bdw-gc=. -fno-strict-aliasing -Wno-frame-address -o disclaim_weakmap_test tests/disclaim_weakmap_test.o ./libgc.la -lpthread -lrt -ldl
libtool: link: /usr/gcc/13/bin/gcc -fexceptions -DGC_VISIBILITY_HIDDEN_SET -fvisibility=hidden -Wall -Wextra -
Wpedantic -Wno-long-long -m64 -fPIC -DPIC -O3 -ffile-prefix-map=/scratch/userland-gate/components/bdw-gc=. -fn
o-strict-aliasing -Wno-frame-address -o .libs/disclaim_weakmap_test tests/disclaim_weakmap_test.o ./.libs/lib
gc.so -lpthread -lrt -ldl -R/usr/lib/amd64
make[3]: 'libstaticrootslib_test.la' is up to date.
make[3]: 'libstaticrootslib2_test.la' is up to date.
make[3]: Leaving directory '/scratch/userland-gate/components/bdw-gc/build/amd64'
/usr/gnu/bin/make check-TESTS
make[3]: Entering directory '/scratch/userland-gate/components/bdw-gc/build/amd64'
make[4]: Entering directory '/scratch/userland-gate/components/bdw-gc/build/amd64'
PASS: cordtest
PASS: gctest
PASS: leaktest
PASS: middletest
PASS: smashtest
PASS: hugetest
PASS: realloc_test
PASS: staticrootstest
PASS: test_atomic_ops
PASS: threadleaktest
PASS: threadkey_test
PASS: subthreadcreate_test
PASS: initsecondarythread_test
PASS: disclaim_test
PASS: disclaim_bench
PASS: disclaim_weakmap_test
============================================================================
Testsuite summary for gc 8.2.8
============================================================================
# TOTAL: 16
# PASS: 16
# SKIP: 0
# XFAIL: 0
# FAIL: 0
# XPASS: 0
# ERROR: 0
============================================================================
make[4]: Leaving directory '/scratch/userland-gate/components/bdw-gc/build/amd64'
a2ps
configure script has found libgc.so.1
and the whole package has built without issues. I am getting following SIGSEGV after trying to run the binary built:
Reading symbols from build/prototype/i386/usr/bin/a2ps...
(gdb) r
Starting program: /scratch/userland-gate/components/a2ps/build/prototype/i386/usr/bin/a2ps
[Thread debugging using libthread_db enabled]
warning: could not convert 'mutex_t' from the host encoding (ISO-8859-1) to UTF-32.
This normally should not happen, please file a bug report.
[New Thread 1 (LWP 1)]
Thread 2 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1 (LWP 1)]
0x00007fdec8425491 in GC_SysVGetDataStart () from /usr/lib/64/libgc.so.1
(gdb) bt
#0 0x00007fdec8425491 in GC_SysVGetDataStart () from /usr/lib/64/libgc.so.1
#1 0x00007fdec84258d3 in GC_init () from /usr/lib/64/libgc.so.1
#2 0x00007fdec8426a32 in GC_generic_malloc_inner () from /usr/lib/64/libgc.so.1
#3 0x00007fdec8427ddf in GC_generic_malloc () from /usr/lib/64/libgc.so.1
#4 0x00007fdec84281fd in GC_malloc_kind_global () from /usr/lib/64/libgc.so.1
#5 0x00007fdec8e67a2a in rpl_malloc (n=5) at ./build/amd64/lib/malloc.c:43
#6 0x00007fdec8e63dfb in imalloc (s=5) at ./build/amd64/lib/ialloc.h:51
#7 0x00007fdec8e67432 in ximalloc (s=5) at ./build/amd64/lib/xmalloc.c:51
#8 0x00007fdec8e638df in base_name (
name=0x7fed2e720cf0 "/scratch/userland-gate/components/a2ps/build/prototype/i386/usr/bin/a2ps")
at ./build/amd64/lib/basename.c:53
#9 0x00007fdec8e30d01 in main (argc=1, argv=0x7fed2e720a98) at ./build/amd64/src/main.c:922
(gdb)
Could you help me with debugging the issue, please? Should you need more information, dont't hesitate to ask.
Thank you, m.