summaryrefslogtreecommitdiffstats
path: root/results/classifier/deepseek-r1:32b/output/syscall/1884719
diff options
context:
space:
mode:
authorChristian Krinitsin <mail@krinitsin.com>2025-07-06 16:43:19 +0000
committerChristian Krinitsin <mail@krinitsin.com>2025-07-06 16:43:19 +0000
commit238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd (patch)
treecd8a1b75ba7b3543eb7fe6857f408e7be4d9fd0b /results/classifier/deepseek-r1:32b/output/syscall/1884719
parent96049c939b1916d80532630d63c14e04d5244f1d (diff)
downloademulator-bug-study-238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd.tar.gz
emulator-bug-study-238ec2b7cc1557d6f34c33cc482e4d0cd3e266dd.zip
add results
Diffstat (limited to 'results/classifier/deepseek-r1:32b/output/syscall/1884719')
-rw-r--r--results/classifier/deepseek-r1:32b/output/syscall/1884719135
1 files changed, 135 insertions, 0 deletions
diff --git a/results/classifier/deepseek-r1:32b/output/syscall/1884719 b/results/classifier/deepseek-r1:32b/output/syscall/1884719
new file mode 100644
index 00000000..58e4b595
--- /dev/null
+++ b/results/classifier/deepseek-r1:32b/output/syscall/1884719
@@ -0,0 +1,135 @@
+
+
+
+Function not implemented when using libaio
+
+Hello
+
+I experience "Function not implemented" errors when trying to use Linux libaio library in foreign architecture, e.g. aarch64.
+
+I've faced this problem while using https://github.com/multiarch/qemu-user-static, i.e. Docker+QEMU.
+I understand that I do not use plain QEMU and you may count this report as a "distribution of QEMU"! Just let me know what are the steps to test it with plain QEMU and I will test and update this ticket!
+
+
+Here are the steps to reproduce the issue:
+
+1) On x86_64 machine register QEMU:
+
+ `docker run -it --rm --privileged multiarch/qemu-user-static --reset --credential yes --persistent yes`
+
+2) Start a Docker image with foreign CPU architecture, e.g. aarch64
+
+ `docker run -it arm64v8/centos:8 bash`
+
+3) Inside the Docker container install GCC and libaio
+
+ `yum install gcc libaio libaio-devel`
+
+4) Compile the following C program
+
+```
+#include <stdio.h>
+#include <errno.h>
+#include <libaio.h>
+#include <stdlib.h>
+
+struct io_control {
+ io_context_t ioContext;
+};
+
+int main() {
+ int queueSize = 10;
+
+ struct io_control * theControl = (struct io_control *) malloc(sizeof(struct io_control));
+ if (theControl == NULL) {
+ printf("theControl is NULL");
+ return 123;
+ }
+
+ int res = io_queue_init(queueSize, &theControl->ioContext);
+ io_queue_release(theControl->ioContext);
+ free(theControl);
+ printf("res is: %d", res);
+}
+```
+
+ ```
+ cat > test.c
+ [PASTE THE CODE ABOVE HERE]
+ ^D
+ ```
+
+ `gcc test.c -o out -laio && ./out`
+
+
+When executed directly on aarch64 machine (i.e. without emulation) or on x86_64 Docker image (e.g. centos:8) it prints `res is: 0`, i.e. it successfully initialized a LibAIO queue.
+
+But when executed on Docker image with foreign/emulated CPU architecture it prints `res is: -38` (ENOSYS). `man io_queue_init` says that error ENOSYS is returned when "Not implemented."
+
+Environment:
+
+QEMU version: 5.0.0.2 (https://github.com/multiarch/qemu-user-static/blob/master/.travis.yml#L24-L28)
+Container application: Docker
+Output of `docker --version`:
+
+```
+Client:
+ Version: 19.03.8
+ API version: 1.40
+ Go version: go1.13.8
+ Git commit: afacb8b7f0
+ Built: Wed Mar 11 23:42:35 2020
+ OS/Arch: linux/amd64
+ Experimental: false
+
+Server:
+ Engine:
+ Version: 19.03.8
+ API version: 1.40 (minimum version 1.12)
+ Go version: go1.13.8
+ Git commit: afacb8b7f0
+ Built: Wed Mar 11 22:48:33 2020
+ OS/Arch: linux/amd64
+ Experimental: false
+ containerd:
+ Version: 1.3.3-0ubuntu2
+ GitCommit:
+ runc:
+ Version: spec: 1.0.1-dev
+ GitCommit:
+ docker-init:
+ Version: 0.18.0
+ GitCommit:
+```
+
+Same happens with Ubuntu (arm64v8/ubuntu:focal).
+
+I've tried to `strace` it but :
+
+```
+/usr/bin/strace: ptrace(PTRACE_TRACEME, ...): Function not implemented
+/usr/bin/strace: PTRACE_SETOPTIONS: Function not implemented
+/usr/bin/strace: detach: waitpid(112): No child processes
+/usr/bin/strace: Process 112 detached
+```
+
+Here are the steps to reproduce the problem with strace:
+
+ ```
+ docker run --rm -it --security-opt seccomp:unconfined --security-opt apparmor:unconfined --privileged --cap-add ALL arm64v8/centos:8 bash
+
+ yum install -y strace`
+
+ strace echo Test
+ ```
+
+Note: I used --privileged, disabled seccomp and apparmor, and added all capabilities
+
+Disabling security solves the "Permission denied" problem but then comes the "Not implemented" one.
+
+
+Any idea what could be the problem and how to work it around ?
+I've googled a lot but I wasn't able to find any problems related to libaio on QEMU.
+
+Thank you!
+Martin \ No newline at end of file