tael-paladin fails vm_guest_tools unittests |
|||
Issue descriptionhttps://build.chromium.org/p/chromiumos/builders/tael-paladin/builds/1 vm_guest_tools-0.0.1-r2: cmd: {/var/cache/portage/chromeos-base/vm_guest_tools/out/Default/maitred_syslog_test} '/var/cache/portage/chromeos-base/vm_guest_tools/out/Default/maitred_syslog_test' vm_guest_tools-0.0.1-r2: [0;32m[==========] [mRunning 31 tests from 5 test cases. vm_guest_tools-0.0.1-r2: [0;32m[----------] [mGlobal test environment set-up. vm_guest_tools-0.0.1-r2: [0;32m[----------] [m1 test from CollectorTest vm_guest_tools-0.0.1-r2: [0;32m[ RUN ] [mCollectorTest.EndToEnd vm_guest_tools-0.0.1-r2: I0405 20:28:09.336959005 21 server_builder.cc:247] Synchronous server. Num CQs: 1, Min pollers: 1, Max Pollers: 2147483647, CQ timeout (msec): 1000 vm_guest_tools-0.0.1-r2: Unsupported setsockopt level=1 optname=15 vm_guest_tools-0.0.1-r2: E0405 20:28:09.346513333 21 tcp_server_posix.c:80] check for SO_REUSEPORT: {"created":"@1522960089.344890551","description":"OS Error","errno":92,"file":"src/core/lib/iomgr/socket_utils_common_posix.c","file_line":183,"os_error":"Protocol not available","syscall":"setsockopt(SO_REUSEPORT)"} vm_guest_tools-0.0.1-r2: [0405/202809:ERROR:collector.cc(522)] Failed to create temporary file for kernel log sequence: Is a directory vm_guest_tools-0.0.1-r2: ../../../../../../../../../mnt/host/source/src/platform2/vm_tools/syslog/collector_unittest.cc:266: Failure vm_guest_tools-0.0.1-r2: Value of: collector_ vm_guest_tools-0.0.1-r2: Actual: false vm_guest_tools-0.0.1-r2: Expected: true vm_guest_tools-0.0.1-r2: terminating with uncaught exception of type testing::internal::GoogleTestFailureException: ../../../../../../../../../mnt/host/source/src/platform2/vm_tools/syslog/collector_unittest.cc:266: Failure vm_guest_tools-0.0.1-r2: Value of: collector_ vm_guest_tools-0.0.1-r2: Actual: false vm_guest_tools-0.0.1-r2: Expected: true vm_guest_tools-0.0.1-r2: qemu: uncaught target signal 6 (Aborted) - core dumped
,
Apr 5 2018
The line producing the error in question uses O_TMPFILE to create a temporary file. This flag was added in linux version 3.11 and requires pathname to point to a directory. Getting EISDIR on that call implies that the kernel on which we are running these tests is older than 3.11 (and doesn't recognize O_TMPFILE). How do we find out the kernel version for the builder?
,
Apr 12 2018
Looks like there's a bug in QEMU that's causing this Chirantan found a patch in upstream: https://git.qemu.org/?p=qemu.git;a=patch;h=5f9cee46cd4ec4600e1a I'll port that over to our version of QEMU
,
Apr 12 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/bd4bea1305d888166178b7840c84dc8ef57b3d2f commit bd4bea1305d888166178b7840c84dc8ef57b3d2f Author: Sonny Rao <sonnyrao@chromium.org> Date: Thu Apr 12 19:38:27 2018 app-emulation/qemu: fix O_TMPFILE handling on ARM ARM uses a different number for the O_TMPFILE flag to the open syscall so qemu needs to translate this flag when running on an x86 host. This was fixed in upstream qemu with commit 5f9cee46cd4ec46 BUG= chromium:829601 TEST="FEATURES=test emerge-tael vm_guest_tools" passes Change-Id: I535e0a42f24be17c89568dc0756bce2959949cde Reviewed-on: https://chromium-review.googlesource.com/1009209 Commit-Ready: Sonny Rao <sonnyrao@chromium.org> Tested-by: Sonny Rao <sonnyrao@chromium.org> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> [add] https://crrev.com/bd4bea1305d888166178b7840c84dc8ef57b3d2f/app-emulation/qemu/files/qemu-2.6.0-o_tmpfile.patch [modify] https://crrev.com/bd4bea1305d888166178b7840c84dc8ef57b3d2f/app-emulation/qemu/qemu-2.6.0.ebuild [rename] https://crrev.com/bd4bea1305d888166178b7840c84dc8ef57b3d2f/app-emulation/qemu/qemu-2.6.0-r3.ebuild
,
Apr 12 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by smbar...@chromium.org
, Apr 5 2018