[Bug build/31316] New: Fails test misc/tst-dirname "Didn't expect signal from child: got `Illegal instruction'" on non SSE CPUs
immoloism at googlemail dot com
sourceware-bugzilla@sourceware.org
Tue Jan 30 03:05:44 GMT 2024
https://sourceware.org/bugzilla/show_bug.cgi?id=31316
Bug ID: 31316
Summary: Fails test misc/tst-dirname "Didn't expect signal from
child: got `Illegal instruction'" on non SSE CPUs
Product: glibc
Version: 2.38
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: build
Assignee: unassigned at sourceware dot org
Reporter: immoloism at googlemail dot com
CC: carlos at redhat dot com
Target Milestone: ---
Created attachment 15345
--> https://sourceware.org/bugzilla/attachment.cgi?id=15345&action=edit
Build log and out file of test fails
Originally discovered by drumgod on a Celeron Mendocino and then confirmed by
myself on a Pentium 2 (deschutes) which was kindly donated by a Gentoo user to
be used to dig further into this issue.
This currently effects 2.38 and the upcoming 2.39 release however no issue is
found in the releases before these two.
The two fails are:
misc/tst-dirname: Didn't expect signal from child: got `Illegal instruction
misc/tst-glibc-hwcaps-prepend-cache:
tst-glibc-hwcaps-prepend-cache.c:90: numeric comparison failure
left: 1 (0x1); from: marker1 ()
right: 2 (0x2); from: 2
tst-glibc-hwcaps-prepend-cache.c:105: numeric comparison failure
left: 1 (0x1); from: marker1 ()
right: 2 (0x2); from: 2
tst-glibc-hwcaps-prepend-cache.c:113: numeric comparison failure
left: 1 (0x1); from: marker1 ()
right: 3 (0x3); from: 3
error: tst-glibc-hwcaps-prepend-cache.c:122: not true: dlopen (SONAME,
RTLD_NOW) == NULL
tst-glibc-hwcaps-prepend-cache.c:129: numeric comparison failure
left: 1 (0x1); from: marker1 ()
right: 2 (0x2); from: 2
I think the first one is the one which is the main issue but included both for
completeness.
On a Gentoo system this can also be reproduced by installing glibc 2.38 then
running "emerge -va nano":
/usr/lib/portage/python3.11/ebuild.sh: line 789: 21 Illegal instruction
( if [[ -n ${PORTAGE_PIPE_FD} ]]; then
eval "exec ${PORTAGE_PIPE_FD}>&-"; unset PORTAGE_PIPE_FD;
fi; __ebuild_main ${EBUILD_SH_ARGS}; exit 0 )
dmesg output:
[106071.719000] process 'ld-linux.so.2' launched
'/var/tmp/portage/sys-libs/glibc-9999/temp/testscriptRsIrAs' with NULL argv:
empty string added
[110136.637049] traps: ld-linux.so.2[9275] trap invalid opcode ip:b7e4fc8f
sp:bfa360cc error:0 in libc.so[b7cc7000+194000]
[110326.703936] ld-linux.so.2[9796]: memfd_create() called without MFD_EXEC or
MFD_NOEXEC_SEAL set
[240275.802537] ld-linux.so.2[16706]: segfault at 9393b150 ip b7d814e3 sp
bfc36c40 error 4 in libc.so[b7d02000+193000] likely on CPU 0 (core 0, socket 0)
[240275.802721] Code: 8d 70 08 f7 c6 0f 00 00 00 0f 85 20 0a 00 00 8d 5c 97 04
65 a1 0c 00 00 00 85 c0 0f 85 46 04 00 00 8b 4c 24 18 89 f0 c1 e8 0c <8b> 79 08
8b 4c 24 14 31 f8 89 41 04 8b 44 24 18 8b 40 04 89 44 24
[240275.807617] ld-linux.so.2[16707]: segfault at 151537d0 ip b7d814e3 sp
bfc36c40 error 4 in libc.so[b7d02000+193000] likely on CPU 0 (core 0, socket 0)
[240275.807770] Code: 8d 70 08 f7 c6 0f 00 00 00 0f 85 20 0a 00 00 8d 5c 97 04
65 a1 0c 00 00 00 85 c0 0f 85 46 04 00 00 8b 4c 24 18 89 f0 c1 e8 0c <8b> 79 08
8b 4c 24 14 31 f8 89 41 04 8b 44 24 18 8b 40 04 89 44 24
[264420.901533] traps: ld-linux.so.2[18454] trap invalid opcode ip:b7f0258f
sp:bf80e39c error:0 in libc.so[b7d7b000+193000]
[363201.403362] traps: bash[1205] trap invalid opcode ip:b7dcceb5 sp:bf90298c
error:0 in libc.so.6[b7c46000+193000]
[363357.204421] traps: bash[2431] trap invalid opcode ip:b7e9aeb5 sp:bfb088ac
error:0 in libc.so.6[b7d14000+193000]
I knowing finding one of machines isn't easy but I can arrange for access to be
given although I have found a way to reproduce in QEMU
1. qemu-img create -f qcow2 linux-nosse.qcow2 30G
2. Install distro of choice with the command "
qemu-system-i386 -cpu pentium2 -enable-kvm -smp 8 -m 3G -cdrom <iso> -drive
file=linux-nosse.qcow2,format=qcow2 -boot d"
3. Once installed boot into the machine with "qemu-system-i386 -cpu pentium2
-smp 8 -m 3G -cdrom <iso> -drive file=linux-nosse.qcow2,format=qcow2 -boot c"
4. Now compile glibc as normal and run "make check".
Gentoo bug: https://bugs.gentoo.org/922497
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Glibc-bugs
mailing list