summary refs log tree commit diff stats
path: root/results/classifier/zero-shot-user-mode/syscall/957
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-08 13:28:15 +0200
committerChristian Krinitsin <mail@krinitsin.com>2025-07-08 13:28:28 +0200
commit5aa276efcbd67f4300ca1a7f809c6e00aadb03da (patch)
tree9b8f0e074014cda8d42f5a97a95bc25082d8b764 /results/classifier/zero-shot-user-mode/syscall/957
parent1a3c4faf4e0a25ed0b86e8739d5319a634cb9112 (diff)
downloademulator-bug-study-5aa276efcbd67f4300ca1a7f809c6e00aadb03da.tar.gz
emulator-bug-study-5aa276efcbd67f4300ca1a7f809c6e00aadb03da.zip
restructure results
Diffstat (limited to 'results/classifier/zero-shot-user-mode/syscall/957')
-rw-r--r--results/classifier/zero-shot-user-mode/syscall/95777
1 files changed, 77 insertions, 0 deletions
diff --git a/results/classifier/zero-shot-user-mode/syscall/957 b/results/classifier/zero-shot-user-mode/syscall/957
new file mode 100644
index 00000000..12861457
--- /dev/null
+++ b/results/classifier/zero-shot-user-mode/syscall/957
@@ -0,0 +1,77 @@
+syscall: 0.402
+runtime: 0.306
+instruction: 0.292
+
+
+
+qemu-m68k: python runtime failures, "The futex facility returned an unexpected error code."
+Description of problem:
+The python interpreter (both Python 3.9 and Python 3.10) crashes during a rebuild of Python itself (fairly reproducible but not always at the same point of the build; using MAKEOPTS=-j1 or running under high system load decreases the probability, as does using the qemu -systrace switch). The output is
+```
+The futex facility returned an unexpected error code.
+```
+
+Digging into glibc sources, this error together with an abort occurs when the return value of a futex call is not in a short list of allowed values, see ``nptl/futex-internal.c`` and ``sysdeps/nptl/futex-internal.h``.
+
+Running qemu with QEMU_STRACE=1 decreases the probability of the error greatly, but after some attempts I was able to get a log. Several threads seem to write at the same time, leading to rather garbled output, but my interpretation is an error value of "Invalid argument".
+
+
+```
+116876 get_thread_area(0x00000001) = 989882672
+116876 116876 get_thread_area(0x00000001)get_thread_area(0x00000018) = 989882672
+ = 1065219744
+116876 get_thread_area(0x00000000) = 1065219744
+116876 futex(0x3f5003fa,FUTEX_PRIVATE_FLAG|FUTEX_WAIT116876 ,2,116876 NULL,0x3fffda10,get_thread_area(0xffffffff) = 1065219744
+futex(0x3f5003fa,1073732112)FUTEX_PRIVATE_FLAG|FUTEX_WAIT = ,2,NULL,-1 errno=22 (Invalid argument)116876 get_thread_area(0x00000000)
+ = 1065219744
+0x3fffda10,116876 get_thread_area(0x00000000)1073732112 = )1065219744
+116876 futex(0x3f7d4c34,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,1,NULL,NULL, = 0)-1 errno=22 (Invalid argument)
+ = 0
+ = 116876 get_thread_area(0x3f7d4c34)1 = 
+116876 get_thread_area(0x00000000) = 1065219744
+926968112
+116876 get_thread_area(0x00000016) = 926968112
+116876 get_thread_area(0x00000000) = 1065219744
+116876 get_thread_area(0x00000000) = 1065219744
+116876 get_thread_area(0x00000001)116876  = futex(116876 0x3f5003fa,get_thread_area(0x00000000)FUTEX_PRIVATE_FLAG| = 926968112
+116876 get_thread_area(0x00000000) = 926968112FUTEX_WAKE
+,1,116876 NULL,0x3fffda10,get_thread_area(0x00000000) = 926968112
+1065219744
+116876 get_thread_area(0x00000001)116876  = 1065219744
+1073732112) = 116876 -1 errno=22 (Invalid argument)
+futex(0x3ba005fc,FUTEX_PRIVATE_FLAG|FUTEX_CLOCK_REALTIME|FUTEX_WAIT_BITSET,0,NULL,NULL,get_thread_area(0x00000000)0 = 926968112)
+116876 get_thread_area(0x00000000) = 926968112
+116876 futex(0x3f7d4c38,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,1,NULL,0x40007bf8,1073773560) = 0
+116876 futex(0x40053a8c,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,1,NULL,NULL,0) = 1
+ = 0
+116876 get_thread_area(0x40053a8c) = 885025072
+116876 get_thread_area(0x00000001) = 885025072
+116876 get_thread_area(0x00b4b456) = 885025072
+116876 get_thread_area(0x00000000) = 885025072
+116876 get_thread_area(0x00000000) = 885025072
+116876 Unknown syscall 403
+116876 get_thread_area(0x00000000) = 885025072
+116876 get_thread_area(0x00003baa) = 885025072
+116876 get_thread_area(0x00003b01) = 885025072
+116876 get_thread_area(0x00003b01) = 885025072
+116876 116876 futex(get_thread_area(0x00b4b456)0x3f7d4c30,FUTEX_PRIVATE_FLAG|FUTEX_WAIT_BITSET,0,0x34bfe62c,NULL,0) = 926968112
+116876 get_thread_area(0x00000018) = 926968112
+116876 get_thread_area(0x3ed5b9c8) = 926968112
+116876 get_thread_area(0x00000000) = 926968112
+116876 get_thread_area(0x00000000) = 926968112
+116876 get_thread_area(0x00000000) = 926968112
+116876 get_thread_area(0x00000000) = 926968112
+116876 get_thread_area(0x00000000) = 926968112
+116876 futex(0x3f7d4c30,FUTEX_PRIVATE_FLAG|FUTEX_WAKE,1,NULL,NULL,0) = 1
+116876 get_thread_area(0x00000000) = 926968112
+116876 get_thread_area(0x00000001) = 926968112
+116876 get_thread_area(0x0000000f) = 926968112116876  = 0
+
+116876 get_thread_area(0x00000001) = 926968112
+116876 get_thread_area(0x00000001) = 926968112
+116876 get_thread_area(0x00000001)writev(2,0x3affed88,0x1) = 926968112
+The futex facility returned an unexpected error code.
+116876 get_thread_area(0x3f7d4c30) = 885025072
+```
+
+Advice on how to do further debuggging is appreciated.