The testsuite fails due to unaligned accesses: * Scanning for an open DISPLAY to start Xvfb ... * Starting Xvfb on $DISPLAY=0 ... make -j3 -f run-tests for test in --new --activate --open-uri=http://localhost --foo; do \ rm -f test_result; \ ./test-unique > test_result & \ main_pid=$!; \ sleep 5; \ ./test-unique $test & \ test_pid=$!; \ sleep 5; \ while ! test -s test_result; do sleep 0.5; done; \ sleep 5; \ kill ${test_pid} || exit 1; \ kill ${main_pid} || exit 1; \ grep -q 'Message received from.*' test_result || { echo "Test failed at $test"; exit 1; }; \ done /bin/sh: line 1: 4051 Bus error ./test-unique > test_result /bin/sh: line 1: 4067 Bus error ./test-unique $test
How could I make my portage setup to fail with this? I am currently getting this: >>> Source compiled. * Scanning for an open DISPLAY to start Xvfb ... * Starting Xvfb on $DISPLAY=1 ... make -j2 -f run-tests for test in --new --activate --open-uri=http://localhost --foo; do \ rm -f test_result; \ ./test-unique > test_result & \ main_pid=$!; \ sleep 5; \ ./test-unique $test & \ test_pid=$!; \ sleep 5; \ while ! test -s test_result; do sleep 0.5; done; \ sleep 5; \ kill ${test_pid} || exit 1; \ kill ${main_pid} || exit 1; \ grep -q 'Message received from.*' test_result || { echo "Test failed at $test"; exit 1; }; \ done /bin/sh: línea 1: 10541 Terminado ./test-unique > test_result /bin/sh: línea 1: 10562 Terminado ./test-unique $test /bin/sh: línea 1: 10582 Terminado ./test-unique > test_result /bin/sh: línea 1: 10599 Terminado ./test-unique $test /bin/sh: línea 1: 10619 Terminado ./test-unique > test_result /bin/sh: línea 1: 10636 Terminado ./test-unique $test /bin/sh: línea 1: 10656 Terminado ./test-unique > test_result /bin/sh: línea 1: 10675 Terminado ./test-unique $test >>> Install libunique-3.0.2 into /var/tmp/portage/dev-libs/libunique-3.0.2/image/ category dev-libs
Hm, if you get similar results, then the problem is most likely more general than unaligned accesses.
I think it's behaving normally in my case :-/
dmesg | grep -i uniq test-unique[340261]: segfault at 20 ip 00007f397ab305d3 sp 00007fffa1716548 error 4 in libglib-2.0.so.0.2800.8[7f397ab15000+118000] test-unique[340281]: segfault at 20 ip 00007fc8920385d3 sp 00007fff8e609808 error 4 in libglib-2.0.so.0.2800.8[7fc89201d000+118000] test-unique[229354]: segfault at 20 ip 00007f1b852bf5d3 sp 00007fffb0a94218 error 4 in libglib-2.0.so.0.2800.8[7f1b852a4000+118000] test-unique[229375]: segfault at 20 ip 00007fc15aa545d3 sp 00007fff7a7da8c8 error 4 in libglib-2.0.so.0.2800.8[7fc15aa39000+118000] cat /proc/uptime 393081.06 368335.36 perl -E 'say time' 1313976839 perl -E 'say time - 393081.06' 1313583788.94 LC_ALL=C grep -i "^1313[5-9].*install.*unique-3" /var/log/paludis.log 1313848320: starting install of package dev-libs/libunique-3.0.2:3::gentoo (198 of 1102, 3 failed) 1313960323: starting install of package dev-libs/libunique-3.0.2:3::gentoo (9 of 140, 3 failed) So 2 segfaults per test run. Usually though, it hangs and I have to kill -9 the process.
Some more context that may prove to be useful: >>> Starting src_test * Scanning for an open DISPLAY to start Xvfb ... * Starting Xvfb on $DISPLAY=8 ... for test in --new --activate --open-uri=http://localhost --foo; do \ rm -f test_result; \ ./test-unique > test_result & \ main_pid=$!; \ sleep 5; \ ./test-unique $test & \ test_pid=$!; \ sleep 5; \ while ! test -s test_result; do sleep 0.5; done; \ sleep 5; \ kill ${test_pid} || exit 1; \ kill ${main_pid} || exit 1; \ grep -q 'Message received from.*' test_result || { echo "Test failed at $test"; exit 1; }; \ done make --jobs=3 -f run-tests (test-unique:499768): Unique-GDBus-WARNING **: Unable to open a connection to the session bus: Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id: Failed to open file '/var/lib/dbus/machine-id': No such file or directory (test-unique:499768): GLib-GIO-CRITICAL **: g_dbus_connection_call_sync: assertion `G_IS_DBUS_CONNECTION (connection)' failed /bin/sh: line 1: 499768 Segmentation fault ./test-unique > test_result (test-unique:499788): Unique-GDBus-WARNING **: Unable to open a connection to the session bus: Cannot spawn a message bus without a machine-id: Unable to load /var/lib/dbus/machine-id: Failed to open file '/var/lib/dbus/machine-id': No such file or directory (test-unique:499788): GLib-GIO-CRITICAL **: g_dbus_connection_call_sync: assertion `G_IS_DBUS_CONNECTION (connection)' failed /bin/sh: line 1: 499788 Segmentation fault ./test-unique $test <<<<<HANG>>>>>> Additionally, there is a "/var/lib/dbus/machine-id.z9YBsHEE" file, but no "/var/lib/dbus/machine-id" , but this doesn't seem to be a problem for anything else.
Try building and running tests manually from upstream sources and see if it fails in the same way: ./configure && make && make check
(In reply to comment #6) > Try building and running tests manually from upstream sources and see if it > fails in the same way: > ./configure && make && make check Try this, anyway, also get a fixed dbus setup (bug 387713 and bug 390143)