diff options
Diffstat (limited to 'results/classifier/deepseek-2-tmp/output/mistranslation/1884719')
| -rw-r--r-- | results/classifier/deepseek-2-tmp/output/mistranslation/1884719 | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/results/classifier/deepseek-2-tmp/output/mistranslation/1884719 b/results/classifier/deepseek-2-tmp/output/mistranslation/1884719 deleted file mode 100644 index 3798d87e..00000000 --- a/results/classifier/deepseek-2-tmp/output/mistranslation/1884719 +++ /dev/null @@ -1,133 +0,0 @@ - -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 |
