.gitignore | 1 MAINTAINERS | 8 + Makefile | 8 + Makefile.objs | 4 + Makefile.target | 1 accel/stubs/tcg-stub.c | 3 accel/tcg/translate-all.c | 7 + bsd-user/main.c | 17 ++ bsd-user/syscall.c | 14 ++ configure | 13 ++ cpus-common.c | 9 + docs/instrument.txt | 173 ++++++++++++++++++++++ hmp-commands.hx | 32 ++++ include/exec/cpu_ldst_template.h | 19 +- include/exec/cpu_ldst_useronly_template.h | 19 +- include/exec/exec-all.h | 1 include/exec/helper-gen.h | 1 include/exec/helper-proto.h | 1 include/exec/helper-tcg.h | 1 include/qemu/compiler.h | 19 ++ instrument/Makefile.objs | 8 + instrument/cmdline.c | 128 ++++++++++++++++ instrument/cmdline.h | 51 +++++++ instrument/control.c | 227 +++++++++++++++++++++++++++++ instrument/control.h | 153 ++++++++++++++++++++ instrument/control.inc.h | 67 +++++++++ instrument/error.h | 34 ++++ instrument/events.h | 86 +++++++++++ instrument/events.inc.h | 109 ++++++++++++++ instrument/helpers.h | 2 instrument/load.c | 210 +++++++++++++++++++++++++++ instrument/load.h | 88 +++++++++++ instrument/qemu-instr/control.h | 177 +++++++++++++++++++++++ instrument/qemu-instr/state.h | 104 +++++++++++++ instrument/qemu-instr/types.h | 115 +++++++++++++++ instrument/qemu-instr/types.inc.h | 15 ++ instrument/qmp.c | 82 ++++++++++ instrument/state.c | 73 +++++++++ instrument/trace.c | 125 ++++++++++++++++ linux-user/main.c | 21 +++ linux-user/syscall.c | 7 + monitor.c | 43 +++++ qapi-schema.json | 3 qapi/instrument.json | 49 ++++++ qemu-options.hx | 19 ++ qom/cpu.c | 2 stubs/Makefile.objs | 1 stubs/instrument.c | 75 ++++++++++ tcg/tcg-op.c | 27 ++- trace/control-target.c | 2 trace/control.c | 4 - trace/control.h | 24 +++ trace/mem-internal.h | 22 ++- trace/mem.h | 8 + vl.c | 15 ++ 55 files changed, 2487 insertions(+), 40 deletions(-) create mode 100644 docs/instrument.txt create mode 100644 instrument/Makefile.objs create mode 100644 instrument/cmdline.c create mode 100644 instrument/cmdline.h create mode 100644 instrument/control.c create mode 100644 instrument/control.h create mode 100644 instrument/control.inc.h create mode 100644 instrument/error.h create mode 100644 instrument/events.h create mode 100644 instrument/events.inc.h create mode 100644 instrument/helpers.h create mode 100644 instrument/load.c create mode 100644 instrument/load.h create mode 100644 instrument/qemu-instr/control.h create mode 100644 instrument/qemu-instr/state.h create mode 100644 instrument/qemu-instr/types.h create mode 100644 instrument/qemu-instr/types.inc.h create mode 100644 instrument/qmp.c create mode 100644 instrument/state.c create mode 100644 instrument/trace.c create mode 100644 qapi/instrument.json create mode 100644 stubs/instrument.c
This series adds an API to add instrumentation events. It also provides additional APIs for: * Controlling tracing events. * Peek/poke guest memory. TODO: * Replace qi_event_gen_* with generating calls to arbitrary functions (e.g., qi_event_gen_call(num_args, va_list)). * Flush all TBs when an execution-time event is unset (to ensure it won't be called in the future). * Flush all TBs when a translation-time event is set (to ensure no future events will be lost). Undecided: * Alternatively to the two last points above, provide an API to request a TB flush (much more flexible and can be more efficient, but requires instrumentor to clearly know differences between translation and execution). * Pass a user-provided pointer to events (i.e., to avoid using global variables). * Provide something like tracing's per-vCPU trace states (i.e., so that each vCPU can have different instrumentation code). Useful mainly for sampling (enable/disable instrumentation multiple times without re-translating guest code) and more complex use cases like tracing a guest process in softmmu mode. It's still not clear to me if we should extend the per-vCPU bitmap with instrumentation events, or otherwise somehow reuse the bits in tracing events (since they're currently limited). * Allow multiple callbacks per event (both to support multiple callbacks installed by a library, and multiple libraries at the same time). * Allow instr libraries to iterate on the list of guest CPUs (info is already available through guest_cpu_enter/guest_cpu_exit, but forces libs to be prepared for hot-plugging guest CPUs). Future APIs (for later series): * Peek/poke guest registers. * Add breakpoints to trigger instrumentation functions. * Trigger instrumentation functions from guest code (former hypertrace). * Add events for guest code translation/execution (once the respective tracing events are accepted upstream). * Add events for exceptions/syscalls. * Add events for TB invalidation (necessary for libraries to deallocate any data they might have allocated for the TBs they instrumented). The instrumentation code is dynamically loaded as a library into QEMU either when it starts or later using its remote control interfaces. The loaded code only has access to function explicitly exported through the QI_VPUBLIC macro. This series is branch 'devel-instrument' in https://code.gso.ac.upc.edu/git/qemu-dbi. Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu> --- Changes in v5 ============= * Rebase on fcea73709b. * Minor changes to pass checkpatch. * Fix symbol availability to external libraries by adding missing default symbol visibility flag. * Use a string to identify instrumentation handles [Markus Armbruster]. * Use stubs for command line initialization. * Use stubs to signal unsupported QAPI commands [Markus Armbruster]. * Use error messages instead of codes in QAPI commands [Markus Armbruster]. * Move symbol visibility macros to internal "qemu/compiler.h" header. * Trigger event 'guest_cpu_enter' when library is loaded. * Trigger event 'guest_cpu_exit' and flush TBs when library is unloaded. * Rename instr_cpu_get/instr_cpu_set into clearer instr_cpu_to_qicpu/instr_cpu_from_qicpu. * Rename handle_get/handle_put to clearer handle_new/handle_destroy. * Ensure qi_event_set_* are called only on the proper mode and targets. Changes in v4 ============= * Add missing stub function. Changes in v3 ============= * Use a separate event set for instrumentation (i.e., do not instrument tracing events) [Stefan Hajnoczi]. * Add API for peek/poke guest memory. Changes in v2 ============= * Update QEMU version in QAPI [Eric Blake]. * Clarify 'msg' result in QAPI is for humans only. * Make 'msg' and 'handle' results optional in QAPI. * Use a list of 'str' in 'instr-load' QAPI command. * Update MAINTAINERS. * Add macros for error-reporting in API. Lluís Vilanova (22): instrument: Add documentation instrument: Add configure-time flag instrument: Add generic library loader instrument: [linux-user] Add command line library loader instrument: [bsd-user] Add command line library loader instrument: [softmmu] Add command line library loader instrument: [qapi] Add library loader instrument: [hmp] Add library loader instrument: Add basic control interface instrument: Add support for tracing events instrument: Track vCPUs instrument: Add event 'guest_cpu_enter' instrument: Support synchronous modification of vCPU state exec: Add function to synchronously flush TB on a stopped vCPU instrument: Add event 'guest_cpu_exit' instrument: Add event 'guest_cpu_reset' trace: Introduce a proper structure to describe memory accesses instrument: Add event 'guest_mem_before_trans' instrument: Add event 'guest_mem_before_exec' instrument: Add event 'guest_user_syscall' instrument: Add event 'guest_user_syscall_ret' instrument: Add API to manipulate guest memory .gitignore | 1 MAINTAINERS | 8 + Makefile | 8 + Makefile.objs | 4 + Makefile.target | 1 accel/stubs/tcg-stub.c | 3 accel/tcg/translate-all.c | 7 + bsd-user/main.c | 17 ++ bsd-user/syscall.c | 14 ++ configure | 13 ++ cpus-common.c | 9 + docs/instrument.txt | 173 ++++++++++++++++++++++ hmp-commands.hx | 32 ++++ include/exec/cpu_ldst_template.h | 19 +- include/exec/cpu_ldst_useronly_template.h | 19 +- include/exec/exec-all.h | 1 include/exec/helper-gen.h | 1 include/exec/helper-proto.h | 1 include/exec/helper-tcg.h | 1 include/qemu/compiler.h | 19 ++ instrument/Makefile.objs | 8 + instrument/cmdline.c | 128 ++++++++++++++++ instrument/cmdline.h | 51 +++++++ instrument/control.c | 227 +++++++++++++++++++++++++++++ instrument/control.h | 153 ++++++++++++++++++++ instrument/control.inc.h | 67 +++++++++ instrument/error.h | 34 ++++ instrument/events.h | 86 +++++++++++ instrument/events.inc.h | 109 ++++++++++++++ instrument/helpers.h | 2 instrument/load.c | 210 +++++++++++++++++++++++++++ instrument/load.h | 88 +++++++++++ instrument/qemu-instr/control.h | 177 +++++++++++++++++++++++ instrument/qemu-instr/state.h | 104 +++++++++++++ instrument/qemu-instr/types.h | 115 +++++++++++++++ instrument/qemu-instr/types.inc.h | 15 ++ instrument/qmp.c | 82 ++++++++++ instrument/state.c | 73 +++++++++ instrument/trace.c | 125 ++++++++++++++++ linux-user/main.c | 21 +++ linux-user/syscall.c | 7 + monitor.c | 43 +++++ qapi-schema.json | 3 qapi/instrument.json | 49 ++++++ qemu-options.hx | 19 ++ qom/cpu.c | 2 stubs/Makefile.objs | 1 stubs/instrument.c | 75 ++++++++++ tcg/tcg-op.c | 27 ++- trace/control-target.c | 2 trace/control.c | 4 - trace/control.h | 24 +++ trace/mem-internal.h | 22 ++- trace/mem.h | 8 + vl.c | 15 ++ 55 files changed, 2487 insertions(+), 40 deletions(-) create mode 100644 docs/instrument.txt create mode 100644 instrument/Makefile.objs create mode 100644 instrument/cmdline.c create mode 100644 instrument/cmdline.h create mode 100644 instrument/control.c create mode 100644 instrument/control.h create mode 100644 instrument/control.inc.h create mode 100644 instrument/error.h create mode 100644 instrument/events.h create mode 100644 instrument/events.inc.h create mode 100644 instrument/helpers.h create mode 100644 instrument/load.c create mode 100644 instrument/load.h create mode 100644 instrument/qemu-instr/control.h create mode 100644 instrument/qemu-instr/state.h create mode 100644 instrument/qemu-instr/types.h create mode 100644 instrument/qemu-instr/types.inc.h create mode 100644 instrument/qmp.c create mode 100644 instrument/state.c create mode 100644 instrument/trace.c create mode 100644 qapi/instrument.json create mode 100644 stubs/instrument.c To: qemu-devel@nongnu.org Cc: Stefan Hajnoczi <stefanha@redhat.com> Cc: Emilio G. Cota <cota@braap.org> Cc: Eric Blake <eblake@redhat.com> Cc: Markus Armbruster <armbru@redhat.com>
Hi, This series seems to have some coding style problems. See output below for more information: Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation Message-id: 150525010239.15988.8172586618197849619.stgit@frigg.lan Type: series === TEST SCRIPT BEGIN === #!/bin/bash BASE=base n=1 total=$(git log --oneline $BASE.. | wc -l) failed=0 git config --local diff.renamelimit 0 git config --local diff.renames True commits="$(git log --format=%H --reverse $BASE..)" for c in $commits; do echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then failed=1 echo fi n=$((n+1)) done exit $failed === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 From https://github.com/patchew-project/qemu * [new tag] patchew/150525010239.15988.8172586618197849619.stgit@frigg.lan -> patchew/150525010239.15988.8172586618197849619.stgit@frigg.lan t [tag update] patchew/20170912144459.11359-1-pbonzini@redhat.com -> patchew/20170912144459.11359-1-pbonzini@redhat.com Switched to a new branch 'test' 1ab48ae9b7 instrument: Add API to manipulate guest memory 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' 334caef899 instrument: Add event 'guest_user_syscall' 09a1773791 instrument: Add event 'guest_mem_before_exec' 2bd64563d3 instrument: Add event 'guest_mem_before_trans' 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses 04e5b883b1 instrument: Add event 'guest_cpu_reset' 7971d0f2a4 instrument: Add event 'guest_cpu_exit' 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU d8b51515d2 instrument: Support synchronous modification of vCPU state 08d492e35f instrument: Add event 'guest_cpu_enter' 0be52b1bbd instrument: Track vCPUs 7ab01f20f5 instrument: Add support for tracing events 78676cff2d instrument: Add basic control interface 00172972ae instrument: [hmp] Add library loader 34ccf831e6 instrument: [qapi] Add library loader d1ab648b00 instrument: [softmmu] Add command line library loader 150ad4a651 instrument: [bsd-user] Add command line library loader a064b1621a instrument: [linux-user] Add command line library loader aa78ee9f5a instrument: Add generic library loader f10357e313 instrument: Add configure-time flag 4d324ad619 instrument: Add documentation === OUTPUT BEGIN === Checking PATCH 1/22: instrument: Add documentation... Checking PATCH 2/22: instrument: Add configure-time flag... Checking PATCH 3/22: instrument: Add generic library loader... Checking PATCH 4/22: instrument: [linux-user] Add command line library loader... Checking PATCH 5/22: instrument: [bsd-user] Add command line library loader... Checking PATCH 6/22: instrument: [softmmu] Add command line library loader... Checking PATCH 7/22: instrument: [qapi] Add library loader... ERROR: externs should be avoided in .c files #254: FILE: stubs/instrument.c:40: +void qmp_instr_unload(const char *id, Error **errp); total: 1 errors, 0 warnings, 204 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 8/22: instrument: [hmp] Add library loader... Checking PATCH 9/22: instrument: Add basic control interface... WARNING: architecture specific defines should be avoided #52: FILE: include/qemu/compiler.h:119: +#if defined _WIN32 || defined __CYGWIN__ WARNING: architecture specific defines should be avoided #53: FILE: include/qemu/compiler.h:120: + #ifdef __GNUC__ WARNING: architecture specific defines should be avoided #59: FILE: include/qemu/compiler.h:126: + #if __GNUC__ >= 4 WARNING: architecture specific defines should be avoided #343: FILE: instrument/qemu-instr/control.h:13: +#ifdef __cplusplus WARNING: architecture specific defines should be avoided #372: FILE: instrument/qemu-instr/control.h:42: +#ifdef __cplusplus total: 0 errors, 5 warnings, 309 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 10/22: instrument: Add support for tracing events... WARNING: architecture specific defines should be avoided #77: FILE: instrument/qemu-instr/types.h:13: +#ifdef __cplusplus WARNING: architecture specific defines should be avoided #111: FILE: instrument/qemu-instr/types.h:47: +#ifdef __cplusplus total: 0 errors, 2 warnings, 225 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 11/22: instrument: Track vCPUs... Checking PATCH 12/22: instrument: Add event 'guest_cpu_enter'... Checking PATCH 13/22: instrument: Support synchronous modification of vCPU state... WARNING: line over 80 characters #73: FILE: instrument/control.c:85: + async_run_on_cpu(cpu, instr_cpu_stop_all__cb, RUN_ON_CPU_HOST_PTR(info)); total: 0 errors, 1 warnings, 127 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 14/22: exec: Add function to synchronously flush TB on a stopped vCPU... Checking PATCH 15/22: instrument: Add event 'guest_cpu_exit'... Checking PATCH 16/22: instrument: Add event 'guest_cpu_reset'... Checking PATCH 17/22: trace: Introduce a proper structure to describe memory accesses... ERROR: spaces prohibited around that ':' (ctx:WxW) #244: FILE: trace/mem.h:29: + uint8_t size_shift : 2; ^ ERROR: spaces prohibited around that ':' (ctx:VxW) #245: FILE: trace/mem.h:30: + bool sign_extend: 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #246: FILE: trace/mem.h:31: + uint8_t endianness : 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #247: FILE: trace/mem.h:32: + bool store : 1; ^ total: 4 errors, 0 warnings, 227 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 18/22: instrument: Add event 'guest_mem_before_trans'... ERROR: spaces prohibited around that ':' (ctx:WxW) #302: FILE: instrument/qemu-instr/types.h:64: + uint8_t size_shift : 2; ^ ERROR: spaces prohibited around that ':' (ctx:VxW) #303: FILE: instrument/qemu-instr/types.h:65: + bool sign_extend: 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #304: FILE: instrument/qemu-instr/types.h:66: + uint8_t endianness : 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #305: FILE: instrument/qemu-instr/types.h:67: + bool store : 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #430: FILE: trace/control.h:37: + uint8_t size_shift : 2; ^ ERROR: spaces prohibited around that ':' (ctx:VxW) #431: FILE: trace/control.h:38: + bool sign_extend: 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #432: FILE: trace/control.h:39: + uint8_t endianness : 1; ^ ERROR: spaces prohibited around that ':' (ctx:WxW) #433: FILE: trace/control.h:40: + bool store : 1; ^ total: 8 errors, 0 warnings, 389 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 19/22: instrument: Add event 'guest_mem_before_exec'... ERROR: externs should be avoided in .c files #337: FILE: stubs/instrument.c:61: +void helper_instr_guest_mem_before_exec( total: 1 errors, 0 warnings, 258 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. Checking PATCH 20/22: instrument: Add event 'guest_user_syscall'... Checking PATCH 21/22: instrument: Add event 'guest_user_syscall_ret'... Checking PATCH 22/22: instrument: Add API to manipulate guest memory... WARNING: architecture specific defines should be avoided #41: FILE: instrument/qemu-instr/state.h:13: +#ifdef __cplusplus WARNING: architecture specific defines should be avoided #128: FILE: instrument/qemu-instr/state.h:100: +#ifdef __cplusplus total: 0 errors, 2 warnings, 181 lines checked Your patch has style problems, please review. If any of these errors are false positives report them to the maintainer, see CHECKPATCH in MAINTAINERS. === OUTPUT END === Test command exited with code: 1 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org
no-reply writes: > Hi, > This series seems to have some coding style problems. See output below for > more information: > Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation > Message-id: 150525010239.15988.8172586618197849619.stgit@frigg.lan > Type: series > === TEST SCRIPT BEGIN === > #!/bin/bash > BASE=base > n=1 > total=$(git log --oneline $BASE.. | wc -l) > failed=0 > git config --local diff.renamelimit 0 > git config --local diff.renames True > commits="$(git log --format=%H --reverse $BASE..)" > for c in $commits; do > echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..." > if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then > failed=1 > echo > fi > n=$((n+1)) > done > exit $failed > === TEST SCRIPT END === > Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 > From https://github.com/patchew-project/qemu > * [new tag] patchew/150525010239.15988.8172586618197849619.stgit@frigg.lan -> patchew/150525010239.15988.8172586618197849619.stgit@frigg.lan > t [tag update] patchew/20170912144459.11359-1-pbonzini@redhat.com -> patchew/20170912144459.11359-1-pbonzini@redhat.com > Switched to a new branch 'test' > 1ab48ae9b7 instrument: Add API to manipulate guest memory > 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' > 334caef899 instrument: Add event 'guest_user_syscall' > 09a1773791 instrument: Add event 'guest_mem_before_exec' > 2bd64563d3 instrument: Add event 'guest_mem_before_trans' > 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses > 04e5b883b1 instrument: Add event 'guest_cpu_reset' > 7971d0f2a4 instrument: Add event 'guest_cpu_exit' > 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU > d8b51515d2 instrument: Support synchronous modification of vCPU state > 08d492e35f instrument: Add event 'guest_cpu_enter' > 0be52b1bbd instrument: Track vCPUs > 7ab01f20f5 instrument: Add support for tracing events > 78676cff2d instrument: Add basic control interface > 00172972ae instrument: [hmp] Add library loader > 34ccf831e6 instrument: [qapi] Add library loader > d1ab648b00 instrument: [softmmu] Add command line library loader > 150ad4a651 instrument: [bsd-user] Add command line library loader > a064b1621a instrument: [linux-user] Add command line library loader > aa78ee9f5a instrument: Add generic library loader > f10357e313 instrument: Add configure-time flag > 4d324ad619 instrument: Add documentation > === OUTPUT BEGIN === > Checking PATCH 1/22: instrument: Add documentation... > Checking PATCH 2/22: instrument: Add configure-time flag... > Checking PATCH 3/22: instrument: Add generic library loader... > Checking PATCH 4/22: instrument: [linux-user] Add command line library loader... > Checking PATCH 5/22: instrument: [bsd-user] Add command line library loader... > Checking PATCH 6/22: instrument: [softmmu] Add command line library loader... > Checking PATCH 7/22: instrument: [qapi] Add library loader... > ERROR: externs should be avoided in .c files > #254: FILE: stubs/instrument.c:40: > +void qmp_instr_unload(const char *id, Error **errp); > total: 1 errors, 0 warnings, 204 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 8/22: instrument: [hmp] Add library loader... > Checking PATCH 9/22: instrument: Add basic control interface... > WARNING: architecture specific defines should be avoided > #52: FILE: include/qemu/compiler.h:119: > +#if defined _WIN32 || defined __CYGWIN__ > WARNING: architecture specific defines should be avoided > #53: FILE: include/qemu/compiler.h:120: > + #ifdef __GNUC__ > WARNING: architecture specific defines should be avoided > #59: FILE: include/qemu/compiler.h:126: > + #if __GNUC__ >= 4 > WARNING: architecture specific defines should be avoided > #343: FILE: instrument/qemu-instr/control.h:13: > +#ifdef __cplusplus > WARNING: architecture specific defines should be avoided > #372: FILE: instrument/qemu-instr/control.h:42: > +#ifdef __cplusplus > total: 0 errors, 5 warnings, 309 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 10/22: instrument: Add support for tracing events... > WARNING: architecture specific defines should be avoided > #77: FILE: instrument/qemu-instr/types.h:13: > +#ifdef __cplusplus > WARNING: architecture specific defines should be avoided > #111: FILE: instrument/qemu-instr/types.h:47: > +#ifdef __cplusplus > total: 0 errors, 2 warnings, 225 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 11/22: instrument: Track vCPUs... > Checking PATCH 12/22: instrument: Add event 'guest_cpu_enter'... > Checking PATCH 13/22: instrument: Support synchronous modification of vCPU state... > WARNING: line over 80 characters > #73: FILE: instrument/control.c:85: > + async_run_on_cpu(cpu, instr_cpu_stop_all__cb, RUN_ON_CPU_HOST_PTR(info)); Fixed in next series. All above are false positives. > total: 0 errors, 1 warnings, 127 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 14/22: exec: Add function to synchronously flush TB on a stopped vCPU... > Checking PATCH 15/22: instrument: Add event 'guest_cpu_exit'... > Checking PATCH 16/22: instrument: Add event 'guest_cpu_reset'... > Checking PATCH 17/22: trace: Introduce a proper structure to describe memory accesses... > ERROR: spaces prohibited around that ':' (ctx:WxW) > #244: FILE: trace/mem.h:29: > + uint8_t size_shift : 2; > ^ > ERROR: spaces prohibited around that ':' (ctx:VxW) > #245: FILE: trace/mem.h:30: > + bool sign_extend: 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #246: FILE: trace/mem.h:31: > + uint8_t endianness : 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #247: FILE: trace/mem.h:32: > + bool store : 1; > ^ > total: 4 errors, 0 warnings, 227 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 18/22: instrument: Add event 'guest_mem_before_trans'... > ERROR: spaces prohibited around that ':' (ctx:WxW) > #302: FILE: instrument/qemu-instr/types.h:64: > + uint8_t size_shift : 2; > ^ > ERROR: spaces prohibited around that ':' (ctx:VxW) > #303: FILE: instrument/qemu-instr/types.h:65: > + bool sign_extend: 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #304: FILE: instrument/qemu-instr/types.h:66: > + uint8_t endianness : 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #305: FILE: instrument/qemu-instr/types.h:67: > + bool store : 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #430: FILE: trace/control.h:37: > + uint8_t size_shift : 2; > ^ > ERROR: spaces prohibited around that ':' (ctx:VxW) > #431: FILE: trace/control.h:38: > + bool sign_extend: 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #432: FILE: trace/control.h:39: > + uint8_t endianness : 1; > ^ > ERROR: spaces prohibited around that ':' (ctx:WxW) > #433: FILE: trace/control.h:40: > + bool store : 1; > ^ Ignoring; these keep field lengths nicely aligned. > total: 8 errors, 0 warnings, 389 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 19/22: instrument: Add event 'guest_mem_before_exec'... > ERROR: externs should be avoided in .c files > #337: FILE: stubs/instrument.c:61: > +void helper_instr_guest_mem_before_exec( False positive. Cannot include the proper helper headers on the stub file. > total: 1 errors, 0 warnings, 258 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > Checking PATCH 20/22: instrument: Add event 'guest_user_syscall'... > Checking PATCH 21/22: instrument: Add event 'guest_user_syscall_ret'... > Checking PATCH 22/22: instrument: Add API to manipulate guest memory... > WARNING: architecture specific defines should be avoided > #41: FILE: instrument/qemu-instr/state.h:13: > +#ifdef __cplusplus > WARNING: architecture specific defines should be avoided > #128: FILE: instrument/qemu-instr/state.h:100: > +#ifdef __cplusplus > total: 0 errors, 2 warnings, 181 lines checked > Your patch has style problems, please review. If any of these errors > are false positives report them to the maintainer, see > CHECKPATCH in MAINTAINERS. > === OUTPUT END === > Test command exited with code: 1 More false positives. Thanks, Lluis
On 12 September 2017 at 22:01, Lluís Vilanova <vilanova@ac.upc.edu> wrote: > This series adds an API to add instrumentation events. > > It also provides additional APIs for: > * Controlling tracing events. > * Peek/poke guest memory. > Future APIs (for later series): > * Peek/poke guest registers. > * Add breakpoints to trigger instrumentation functions. > * Trigger instrumentation functions from guest code (former hypertrace). > * Add events for guest code translation/execution (once the respective tracing > events are accepted upstream). > * Add events for exceptions/syscalls. > * Add events for TB invalidation (necessary for libraries to deallocate any data > they might have allocated for the TBs they instrumented). > > The instrumentation code is dynamically loaded as a library into QEMU either > when it starts or later using its remote control interfaces. The loaded code > only has access to function explicitly exported through the QI_VPUBLIC macro. > > This series is branch 'devel-instrument' in > https://code.gso.ac.upc.edu/git/qemu-dbi. To parallel the comment I sent on Emilio's series: I think the first thing we should do here is work out the API we want to present to the instrumentation plugin, because that's permanent and we want to get it right. Then we can figure out the implementation details later. Particular notes: * putting things in the instrumentation plugin API that basically parallel some existing trace points is something I'm wary of, because a lot of our existing tracing is "output something at a point and in a way that's convenient for our internal implementation", rather than "what is the right clean interface to provide this sort of information". I'd rather we started with a blank piece of paper and designed an API, and then implemented it. * I definitely don't think we should expose to the instrumentation the distinction between translate time and execute time thanks -- PMM
Peter Maydell writes: > On 12 September 2017 at 22:01, Lluís Vilanova <vilanova@ac.upc.edu> wrote: >> This series adds an API to add instrumentation events. >> >> It also provides additional APIs for: >> * Controlling tracing events. >> * Peek/poke guest memory. >> Future APIs (for later series): >> * Peek/poke guest registers. >> * Add breakpoints to trigger instrumentation functions. >> * Trigger instrumentation functions from guest code (former hypertrace). >> * Add events for guest code translation/execution (once the respective tracing >> events are accepted upstream). >> * Add events for exceptions/syscalls. >> * Add events for TB invalidation (necessary for libraries to deallocate any data >> they might have allocated for the TBs they instrumented). >> >> The instrumentation code is dynamically loaded as a library into QEMU either >> when it starts or later using its remote control interfaces. The loaded code >> only has access to function explicitly exported through the QI_VPUBLIC macro. >> >> This series is branch 'devel-instrument' in >> https://code.gso.ac.upc.edu/git/qemu-dbi. > To parallel the comment I sent on Emilio's series: I think the > first thing we should do here is work out the API we want to > present to the instrumentation plugin, because that's permanent > and we want to get it right. Then we can figure out the > implementation details later. > Particular notes: > * putting things in the instrumentation plugin API that basically > parallel some existing trace points is something I'm wary of, > because a lot of our existing tracing is "output something at > a point and in a way that's convenient for our internal > implementation", rather than "what is the right clean interface > to provide this sort of information". I'd rather we started > with a blank piece of paper and designed an API, and then > implemented it. Do you have an opinion on specific trace points, or an observation in general? I wanted to have the following events: * cpu hotplug/hotunplug * cpu reset * memory access translation/execution * BBL/TB translation/execution * instruction translation/execution * exceptions / syscalls > * I definitely don't think we should expose to the instrumentation > the distinction between translate time and execute time Please see my response to your email in v6. Also, I forgot an even simpler case, like instrumenting a subset of memory accesses (e.g., only writes). Thanks, Lluis
On 15 September 2017 at 14:45, Lluís Vilanova <vilanova@ac.upc.edu> wrote: > Do you have an opinion on specific trace points, or an observation in general? > > I wanted to have the following events: > > * cpu hotplug/hotunplug > * cpu reset > * memory access translation/execution > * BBL/TB translation/execution > * instruction translation/execution > * exceptions / syscalls My initial stab at a "basic" set of events would be: * instruction executes * memory accesses * exceptions But the better approach would probably be to survey the existing trace APIs in other models. thanks -- PMM
Hi, This series failed automatic build test. Please find the testing commands and their output below. If you have docker installed, you can probably reproduce it locally. Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation Message-id: 150525010239.15988.8172586618197849619.stgit@frigg.lan Type: series === TEST SCRIPT BEGIN === #!/bin/bash set -e git submodule update --init dtc # Let docker tests dump environment info export SHOW_ENV=1 export J=8 time make docker-test-quick@centos6 time make docker-test-build@min-glib time make docker-test-mingw@fedora === TEST SCRIPT END === Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 Switched to a new branch 'test' 1ab48ae9b7 instrument: Add API to manipulate guest memory 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' 334caef899 instrument: Add event 'guest_user_syscall' 09a1773791 instrument: Add event 'guest_mem_before_exec' 2bd64563d3 instrument: Add event 'guest_mem_before_trans' 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses 04e5b883b1 instrument: Add event 'guest_cpu_reset' 7971d0f2a4 instrument: Add event 'guest_cpu_exit' 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU d8b51515d2 instrument: Support synchronous modification of vCPU state 08d492e35f instrument: Add event 'guest_cpu_enter' 0be52b1bbd instrument: Track vCPUs 7ab01f20f5 instrument: Add support for tracing events 78676cff2d instrument: Add basic control interface 00172972ae instrument: [hmp] Add library loader 34ccf831e6 instrument: [qapi] Add library loader d1ab648b00 instrument: [softmmu] Add command line library loader 150ad4a651 instrument: [bsd-user] Add command line library loader a064b1621a instrument: [linux-user] Add command line library loader aa78ee9f5a instrument: Add generic library loader f10357e313 instrument: Add configure-time flag 4d324ad619 instrument: Add documentation === OUTPUT BEGIN === Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' Cloning into '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/dtc'... Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' BUILD centos6 make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' ARCHIVE qemu.tgz ARCHIVE dtc.tgz COPY RUNNER RUN test-quick in qemu:centos6 Packages installed: SDL-devel-1.2.14-7.el6_7.1.x86_64 bison-2.4.1-5.el6.x86_64 bzip2-devel-1.0.5-7.el6_0.x86_64 ccache-3.1.6-2.el6.x86_64 csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 flex-2.5.35-9.el6.x86_64 gcc-4.4.7-18.el6.x86_64 git-1.7.1-8.el6.x86_64 glib2-devel-2.28.8-9.el6.x86_64 libepoxy-devel-1.2-3.el6.x86_64 libfdt-devel-1.4.0-1.el6.x86_64 librdmacm-devel-1.0.21-0.el6.x86_64 lzo-devel-2.03-3.1.el6_5.1.x86_64 make-3.81-23.el6.x86_64 mesa-libEGL-devel-11.0.7-4.el6.x86_64 mesa-libgbm-devel-11.0.7-4.el6.x86_64 package g++ is not installed pixman-devel-0.32.8-1.el6.x86_64 spice-glib-devel-0.26-8.el6.x86_64 spice-server-devel-0.12.4-16.el6.x86_64 tar-1.23-15.el6_8.x86_64 vte-devel-0.25.1-9.el6.x86_64 xen-devel-4.6.3-15.el6.x86_64 zlib-devel-1.2.3-29.el6.x86_64 Environment variables: PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel HOSTNAME=fd698ce7a83b TERM=xterm MAKEFLAGS= -j8 HISTSIZE=1000 J=8 USER=root LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36: CCACHE_DIR=/var/tmp/ccache EXTRA_CONFIGURE_OPTS= V= SHOW_ENV=1 MAIL=/var/spool/mail/root PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PWD=/ LANG=en_US.UTF-8 TARGET_LIST= HISTCONTROL=ignoredups SHLVL=1 HOME=/root TEST_DIR=/tmp/qemu-test LOGNAME=root LESSOPEN=||/usr/bin/lesspipe.sh %s FEATURES= dtc DEBUG= G_BROKEN_FILENAMES=1 CCACHE_HASHDIR= _=/usr/bin/env Configure options: --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install No C++ compiler available; disabling C++ specific optional code Install prefix /var/tmp/qemu-build/install BIOS directory /var/tmp/qemu-build/install/share/qemu binary directory /var/tmp/qemu-build/install/bin library directory /var/tmp/qemu-build/install/lib module directory /var/tmp/qemu-build/install/lib/qemu libexec directory /var/tmp/qemu-build/install/libexec include directory /var/tmp/qemu-build/install/include config directory /var/tmp/qemu-build/install/etc local state directory /var/tmp/qemu-build/install/var Manual directory /var/tmp/qemu-build/install/share/man ELF interp prefix /usr/gnemul/qemu-%M Source path /tmp/qemu-test/src C compiler cc Host C compiler cc C++ compiler Objective-C compiler cc ARFLAGS rv CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DNCURSES_WIDECHAR -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1 -I/usr/include/cacard -I/usr/include/nss3 -I/usr/include/nspr4 LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python -B smbd /usr/sbin/smbd module support no host CPU x86_64 host big endian no target list x86_64-softmmu aarch64-softmmu gprof enabled no sparse enabled no strip binaries yes profiler no static build no pixman system SDL support yes (1.2.14) GTK support yes (2.24.23) GTK GL support no VTE support yes (0.25.1) TLS priority NORMAL GNUTLS support no GNUTLS rnd no libgcrypt no libgcrypt kdf no nettle no nettle kdf no libtasn1 no curses support yes virgl support no curl support no mingw32 support no Audio drivers oss Block whitelist (rw) Block whitelist (ro) VirtFS support no VNC support yes VNC SASL support no VNC JPEG support yes VNC PNG support yes xen support yes xen ctrl version 40600 pv dom build no brlapi support no bluez support no Documentation no PIE yes vde support no netmap support no Linux AIO support no ATTR/XATTR support yes Install blobs yes KVM support yes HAX support no TCG support yes TCG debug enabled no TCG interpreter no RDMA support yes fdt support yes preadv support yes fdatasync yes madvise yes posix_madvise yes libcap-ng support no vhost-net support yes vhost-scsi support yes vhost-vsock support yes vhost-user support yes Trace backends log instrumentation no spice support yes (0.12.6/0.12.4) rbd support no xfsctl support no smartcard support yes libusb no usb net redir no OpenGL support yes OpenGL dmabufs no libiscsi support no libnfs support no build guest agent yes QGA VSS support no QGA w32 disk info no QGA MSI support no seccomp support no coroutine backend ucontext coroutine pool yes debug stack usage no crypto afalg no GlusterFS support no gcov gcov gcov enabled no TPM support yes libssh2 support no TPM passthrough yes QOM debugging yes Live block migration yes lzo support yes snappy support no bzip2 support yes NUMA host support no tcmalloc support no jemalloc support no avx2 optimization no replication support yes VxHS block device no mkdir -p dtc/libfdt mkdir -p dtc/tests GEN aarch64-softmmu/config-devices.mak.tmp GEN x86_64-softmmu/config-devices.mak.tmp GEN config-host.h GEN qemu-options.def GEN qmp-commands.h GEN qapi-types.h GEN qapi-visit.h GEN qapi-event.h GEN x86_64-softmmu/config-devices.mak GEN qmp-marshal.c GEN aarch64-softmmu/config-devices.mak GEN qapi-types.c GEN qapi-visit.c GEN qapi-event.c GEN qmp-introspect.h GEN qmp-introspect.c GEN trace/generated-tcg-tracers.h GEN trace/generated-helpers-wrappers.h GEN trace/generated-helpers.h GEN trace/generated-helpers.c GEN module_block.h GEN tests/test-qapi-types.h GEN tests/test-qapi-visit.h GEN tests/test-qmp-commands.h GEN tests/test-qapi-event.h GEN tests/test-qmp-introspect.h GEN trace-root.h GEN util/trace.h GEN crypto/trace.h GEN io/trace.h GEN migration/trace.h GEN block/trace.h GEN chardev/trace.h GEN hw/block/trace.h GEN hw/block/dataplane/trace.h GEN hw/char/trace.h GEN hw/intc/trace.h GEN hw/net/trace.h GEN hw/virtio/trace.h GEN hw/audio/trace.h GEN hw/misc/trace.h GEN hw/usb/trace.h GEN hw/scsi/trace.h GEN hw/nvram/trace.h GEN hw/display/trace.h GEN hw/input/trace.h GEN hw/timer/trace.h GEN hw/dma/trace.h GEN hw/sparc/trace.h GEN hw/sd/trace.h GEN hw/isa/trace.h GEN hw/mem/trace.h GEN hw/i386/trace.h GEN hw/i386/xen/trace.h GEN hw/9pfs/trace.h GEN hw/ppc/trace.h GEN hw/pci/trace.h GEN hw/s390x/trace.h GEN hw/vfio/trace.h GEN hw/acpi/trace.h GEN hw/arm/trace.h GEN hw/alpha/trace.h GEN hw/xen/trace.h GEN ui/trace.h GEN audio/trace.h GEN net/trace.h GEN target/arm/trace.h GEN target/i386/trace.h GEN target/mips/trace.h GEN target/sparc/trace.h GEN target/s390x/trace.h GEN target/ppc/trace.h GEN qom/trace.h GEN linux-user/trace.h GEN qapi/trace.h GEN accel/tcg/trace.h GEN accel/kvm/trace.h GEN nbd/trace.h GEN trace-root.c GEN util/trace.c GEN crypto/trace.c GEN io/trace.c GEN migration/trace.c GEN block/trace.c GEN chardev/trace.c GEN hw/block/trace.c GEN hw/block/dataplane/trace.c GEN hw/char/trace.c GEN hw/intc/trace.c GEN hw/net/trace.c GEN hw/virtio/trace.c GEN hw/audio/trace.c GEN hw/misc/trace.c GEN hw/usb/trace.c GEN hw/scsi/trace.c GEN hw/nvram/trace.c GEN hw/display/trace.c GEN hw/input/trace.c GEN hw/timer/trace.c GEN hw/dma/trace.c GEN hw/sparc/trace.c GEN hw/sd/trace.c GEN hw/isa/trace.c GEN hw/mem/trace.c GEN hw/i386/trace.c GEN hw/i386/xen/trace.c GEN hw/9pfs/trace.c GEN hw/ppc/trace.c GEN hw/pci/trace.c GEN hw/s390x/trace.c GEN hw/vfio/trace.c GEN hw/acpi/trace.c GEN hw/arm/trace.c GEN hw/alpha/trace.c GEN hw/xen/trace.c GEN ui/trace.c GEN audio/trace.c GEN net/trace.c GEN target/arm/trace.c GEN target/i386/trace.c GEN target/mips/trace.c GEN target/sparc/trace.c GEN target/s390x/trace.c GEN target/ppc/trace.c GEN qom/trace.c GEN linux-user/trace.c GEN qapi/trace.c GEN accel/tcg/trace.c GEN accel/kvm/trace.c GEN nbd/trace.c GEN config-all-devices.mak DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c DEP /tmp/qemu-test/src/dtc/tests/trees.S DEP /tmp/qemu-test/src/dtc/tests/testutils.c DEP /tmp/qemu-test/src/dtc/tests/value-labels.c DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c DEP /tmp/qemu-test/src/dtc/tests/check_path.c DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c DEP /tmp/qemu-test/src/dtc/tests/overlay.c DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c DEP /tmp/qemu-test/src/dtc/tests/incbin.c DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c DEP /tmp/qemu-test/src/dtc/tests/path-references.c DEP /tmp/qemu-test/src/dtc/tests/references.c DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c DEP /tmp/qemu-test/src/dtc/tests/del_node.c DEP /tmp/qemu-test/src/dtc/tests/del_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop.c DEP /tmp/qemu-test/src/dtc/tests/set_name.c DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/open_pack.c DEP /tmp/qemu-test/src/dtc/tests/nopulate.c DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c DEP /tmp/qemu-test/src/dtc/tests/nop_node.c DEP /tmp/qemu-test/src/dtc/tests/nop_property.c DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c DEP /tmp/qemu-test/src/dtc/tests/stringlist.c DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c DEP /tmp/qemu-test/src/dtc/tests/notfound.c DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c DEP /tmp/qemu-test/src/dtc/tests/get_alias.c DEP /tmp/qemu-test/src/dtc/tests/char_literal.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c DEP /tmp/qemu-test/src/dtc/tests/get_path.c DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c DEP /tmp/qemu-test/src/dtc/tests/getprop.c DEP /tmp/qemu-test/src/dtc/tests/get_name.c DEP /tmp/qemu-test/src/dtc/tests/path_offset.c DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c DEP /tmp/qemu-test/src/dtc/tests/find_property.c DEP /tmp/qemu-test/src/dtc/tests/root_node.c DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c DEP /tmp/qemu-test/src/dtc/util.c DEP /tmp/qemu-test/src/dtc/fdtput.c DEP /tmp/qemu-test/src/dtc/fdtget.c DEP /tmp/qemu-test/src/dtc/fdtdump.c LEX convert-dtsv0-lexer.lex.c DEP /tmp/qemu-test/src/dtc/srcpos.c BISON dtc-parser.tab.c LEX dtc-lexer.lex.c DEP /tmp/qemu-test/src/dtc/treesource.c DEP /tmp/qemu-test/src/dtc/livetree.c DEP /tmp/qemu-test/src/dtc/flattree.c DEP /tmp/qemu-test/src/dtc/fstree.c DEP /tmp/qemu-test/src/dtc/dtc.c DEP /tmp/qemu-test/src/dtc/data.c DEP /tmp/qemu-test/src/dtc/checks.c DEP convert-dtsv0-lexer.lex.c DEP dtc-parser.tab.c DEP dtc-lexer.lex.c CHK version_gen.h UPD version_gen.h DEP /tmp/qemu-test/src/dtc/util.c CC libfdt/fdt.o CC libfdt/fdt_ro.o CC libfdt/fdt_wip.o CC libfdt/fdt_sw.o CC libfdt/fdt_rw.o CC libfdt/fdt_empty_tree.o CC libfdt/fdt_strerror.o CC libfdt/fdt_addresses.o CC libfdt/fdt_overlay.o AR libfdt/libfdt.a ar: creating libfdt/libfdt.a a - libfdt/fdt.o a - libfdt/fdt_ro.o a - libfdt/fdt_wip.o a - libfdt/fdt_sw.o a - libfdt/fdt_rw.o a - libfdt/fdt_strerror.o a - libfdt/fdt_empty_tree.o a - libfdt/fdt_addresses.o a - libfdt/fdt_overlay.o CC tests/qemu-iotests/socket_scm_helper.o GEN qga/qapi-generated/qga-qapi-types.h GEN qga/qapi-generated/qga-qapi-visit.h GEN qga/qapi-generated/qga-qapi-types.c GEN qga/qapi-generated/qga-qmp-marshal.c GEN qga/qapi-generated/qga-qapi-visit.c GEN qga/qapi-generated/qga-qmp-commands.h CC qmp-introspect.o CC qapi-types.o CC qapi-visit.o CC qapi-event.o CC qapi/qapi-visit-core.o CC qapi/qapi-dealloc-visitor.o CC qapi/qobject-input-visitor.o CC qapi/qobject-output-visitor.o CC qapi/qmp-registry.o CC qapi/qmp-dispatch.o CC qapi/string-input-visitor.o CC qapi/string-output-visitor.o CC qapi/opts-visitor.o CC qapi/qapi-clone-visitor.o CC qapi/qmp-event.o CC qapi/qapi-util.o CC qobject/qnull.o CC qobject/qnum.o CC qobject/qstring.o CC qobject/qdict.o CC qobject/qlist.o CC qobject/qbool.o CC qobject/qlit.o CC qobject/qjson.o CC qobject/qobject.o CC qobject/json-lexer.o CC qobject/json-streamer.o CC qobject/json-parser.o CC trace/control.o CC trace/qmp.o CC util/osdep.o CC util/cutils.o CC util/unicode.o CC util/qemu-timer-common.o CC util/bufferiszero.o CC util/lockcnt.o CC util/aiocb.o CC util/async.o CC util/thread-pool.o CC util/qemu-timer.o CC util/main-loop.o CC util/iohandler.o CC util/aio-posix.o CC util/compatfd.o CC util/event_notifier-posix.o CC util/mmap-alloc.o CC util/oslib-posix.o CC util/qemu-openpty.o CC util/qemu-thread-posix.o CC util/memfd.o CC util/envlist.o CC util/path.o CC util/module.o CC util/host-utils.o CC util/bitmap.o CC util/bitops.o CC util/hbitmap.o CC util/fifo8.o CC util/acl.o CC util/cacheinfo.o CC util/error.o CC util/qemu-error.o CC util/id.o CC util/iov.o CC util/qemu-config.o CC util/qemu-sockets.o CC util/uri.o CC util/notify.o CC util/qemu-option.o CC util/qemu-progress.o CC util/keyval.o CC util/hexdump.o CC util/crc32c.o CC util/uuid.o CC util/throttle.o CC util/getauxval.o CC util/readline.o CC util/rcu.o CC util/qemu-coroutine.o CC util/qemu-coroutine-lock.o CC util/qemu-coroutine-io.o CC util/qemu-coroutine-sleep.o CC util/coroutine-ucontext.o CC util/buffer.o CC util/timed-average.o CC util/base64.o CC util/log.o CC util/qdist.o CC util/qht.o CC util/range.o CC util/stats64.o CC util/systemd.o CC trace-root.o CC util/trace.o CC crypto/trace.o CC io/trace.o CC migration/trace.o CC block/trace.o CC chardev/trace.o CC hw/block/trace.o CC hw/block/dataplane/trace.o CC hw/char/trace.o CC hw/intc/trace.o CC hw/net/trace.o CC hw/virtio/trace.o CC hw/audio/trace.o CC hw/misc/trace.o CC hw/usb/trace.o CC hw/scsi/trace.o CC hw/nvram/trace.o CC hw/display/trace.o CC hw/input/trace.o CC hw/timer/trace.o CC hw/dma/trace.o CC hw/sparc/trace.o CC hw/sd/trace.o CC hw/isa/trace.o CC hw/mem/trace.o CC hw/i386/trace.o CC hw/i386/xen/trace.o CC hw/9pfs/trace.o CC hw/ppc/trace.o CC hw/pci/trace.o CC hw/s390x/trace.o CC hw/vfio/trace.o CC hw/acpi/trace.o CC hw/arm/trace.o CC hw/alpha/trace.o CC hw/xen/trace.o CC ui/trace.o CC audio/trace.o CC net/trace.o CC target/arm/trace.o CC target/i386/trace.o CC target/mips/trace.o CC target/sparc/trace.o CC target/s390x/trace.o CC target/ppc/trace.o CC qom/trace.o CC linux-user/trace.o CC qapi/trace.o CC accel/tcg/trace.o CC accel/kvm/trace.o CC nbd/trace.o CC crypto/pbkdf-stub.o CC stubs/arch-query-cpu-def.o CC stubs/arch-query-cpu-model-expansion.o CC stubs/arch-query-cpu-model-comparison.o CC stubs/arch-query-cpu-model-baseline.o CC stubs/bdrv-next-monitor-owned.o CC stubs/blk-commit-all.o CC stubs/blockdev-close-all-bdrv-states.o CC stubs/clock-warp.o CC stubs/cpu-get-clock.o CC stubs/cpu-get-icount.o CC stubs/dump.o CC stubs/error-printf.o CC stubs/fdset.o CC stubs/gdbstub.o CC stubs/get-vm-name.o CC stubs/instrument.o CC stubs/iothread.o CC stubs/iothread-lock.o CC stubs/is-daemonized.o CC stubs/machine-init-done.o CC stubs/migr-blocker.o CC stubs/change-state-handler.o CC stubs/monitor.o CC stubs/notify-event.o CC stubs/qtest.o CC stubs/replay.o /tmp/qemu-test/src/stubs/instrument.c:22: error: redefinition of typedef ‘strList’ ./qapi-types.h:131: note: previous declaration of ‘strList’ was here CC stubs/runstate-check.o make: *** [stubs/instrument.o] Error 1 make: *** Waiting for unfinished jobs.... Traceback (most recent call last): File "./tests/docker/docker.py", line 384, in <module> sys.exit(main()) File "./tests/docker/docker.py", line 381, in main return args.cmdobj.run(args, argv) File "./tests/docker/docker.py", line 239, in run return Docker().run(argv, args.keep, quiet=args.quiet) File "./tests/docker/docker.py", line 207, in run quiet=quiet) File "./tests/docker/docker.py", line 125, in _do_check return subprocess.check_call(self._command + cmd, **kwargs) File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=9670c49e980a11e7950952540069c830', '-u', '0', '-t', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/docker-src.2017-09-12-18.34.46.13887:/var/tmp/qemu:z,ro', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', 'qemu:centos6', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2 make[1]: *** [tests/docker/Makefile.include:139: docker-run] Error 1 make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' make: *** [tests/docker/Makefile.include:168: docker-run-test-quick@centos6] Error 2 real 1m25.085s user 0m5.300s sys 0m1.695s === OUTPUT END === Test command exited with code: 2 --- Email generated automatically by Patchew [http://patchew.org/]. Please send your feedback to patchew-devel@freelists.org
no-reply writes: > Hi, > This series failed automatic build test. Please find the testing commands and > their output below. If you have docker installed, you can probably reproduce it > locally. > Subject: [Qemu-devel] [PATCH v5 00/22] instrument: Add basic event instrumentation > Message-id: 150525010239.15988.8172586618197849619.stgit@frigg.lan > Type: series > === TEST SCRIPT BEGIN === > #!/bin/bash > set -e > git submodule update --init dtc > # Let docker tests dump environment info > export SHOW_ENV=1 > export J=8 > time make docker-test-quick@centos6 > time make docker-test-build@min-glib > time make docker-test-mingw@fedora > === TEST SCRIPT END === > Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384 > Switched to a new branch 'test' > 1ab48ae9b7 instrument: Add API to manipulate guest memory > 7e0bd2cad7 instrument: Add event 'guest_user_syscall_ret' > 334caef899 instrument: Add event 'guest_user_syscall' > 09a1773791 instrument: Add event 'guest_mem_before_exec' > 2bd64563d3 instrument: Add event 'guest_mem_before_trans' > 5b344ec1c3 trace: Introduce a proper structure to describe memory accesses > 04e5b883b1 instrument: Add event 'guest_cpu_reset' > 7971d0f2a4 instrument: Add event 'guest_cpu_exit' > 53dbc9ad88 exec: Add function to synchronously flush TB on a stopped vCPU > d8b51515d2 instrument: Support synchronous modification of vCPU state > 08d492e35f instrument: Add event 'guest_cpu_enter' > 0be52b1bbd instrument: Track vCPUs > 7ab01f20f5 instrument: Add support for tracing events > 78676cff2d instrument: Add basic control interface > 00172972ae instrument: [hmp] Add library loader > 34ccf831e6 instrument: [qapi] Add library loader > d1ab648b00 instrument: [softmmu] Add command line library loader > 150ad4a651 instrument: [bsd-user] Add command line library loader > a064b1621a instrument: [linux-user] Add command line library loader > aa78ee9f5a instrument: Add generic library loader > f10357e313 instrument: Add configure-time flag > 4d324ad619 instrument: Add documentation > === OUTPUT BEGIN === > Submodule 'dtc' (git://git.qemu-project.org/dtc.git) registered for path 'dtc' > Cloning into '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/dtc'... > Submodule path 'dtc': checked out '558cd81bdd432769b59bff01240c44f82cfb1a9d' > BUILD centos6 > make[1]: Entering directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' > ARCHIVE qemu.tgz > ARCHIVE dtc.tgz > COPY RUNNER > RUN test-quick in qemu:centos6 > Packages installed: > SDL-devel-1.2.14-7.el6_7.1.x86_64 > bison-2.4.1-5.el6.x86_64 > bzip2-devel-1.0.5-7.el6_0.x86_64 > ccache-3.1.6-2.el6.x86_64 > csnappy-devel-0-6.20150729gitd7bc683.el6.x86_64 > flex-2.5.35-9.el6.x86_64 > gcc-4.4.7-18.el6.x86_64 > git-1.7.1-8.el6.x86_64 > glib2-devel-2.28.8-9.el6.x86_64 > libepoxy-devel-1.2-3.el6.x86_64 > libfdt-devel-1.4.0-1.el6.x86_64 > librdmacm-devel-1.0.21-0.el6.x86_64 > lzo-devel-2.03-3.1.el6_5.1.x86_64 > make-3.81-23.el6.x86_64 > mesa-libEGL-devel-11.0.7-4.el6.x86_64 > mesa-libgbm-devel-11.0.7-4.el6.x86_64 > package g++ is not installed > pixman-devel-0.32.8-1.el6.x86_64 > spice-glib-devel-0.26-8.el6.x86_64 > spice-server-devel-0.12.4-16.el6.x86_64 > tar-1.23-15.el6_8.x86_64 > vte-devel-0.25.1-9.el6.x86_64 > xen-devel-4.6.3-15.el6.x86_64 > zlib-devel-1.2.3-29.el6.x86_64 > Environment variables: > PACKAGES=bison bzip2-devel ccache csnappy-devel flex g++ gcc git glib2-devel libepoxy-devel libfdt-devel librdmacm-devel lzo-devel make mesa-libEGL-devel mesa-libgbm-devel pixman-devel SDL-devel spice-glib-devel spice-server-devel tar vte-devel xen-devel zlib-devel > HOSTNAME=fd698ce7a83b > TERM=xterm > MAKEFLAGS= -j8 > HISTSIZE=1000 > J=8 > USER=root > LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.tbz=01;31:*.tbz2=01;31:*.bz=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36: > CCACHE_DIR=/var/tmp/ccache > EXTRA_CONFIGURE_OPTS= > V= > SHOW_ENV=1 > MAIL=/var/spool/mail/root > PATH=/usr/lib/ccache:/usr/lib64/ccache:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin > PWD=/ > LANG=en_US.UTF-8 > TARGET_LIST= > HISTCONTROL=ignoredups > SHLVL=1 > HOME=/root > TEST_DIR=/tmp/qemu-test > LOGNAME=root > LESSOPEN=||/usr/bin/lesspipe.sh %s > FEATURES= dtc > DEBUG= > G_BROKEN_FILENAMES=1 > CCACHE_HASHDIR= > _=/usr/bin/env > Configure options: > --enable-werror --target-list=x86_64-softmmu,aarch64-softmmu --prefix=/var/tmp/qemu-build/install > No C++ compiler available; disabling C++ specific optional code > Install prefix /var/tmp/qemu-build/install > BIOS directory /var/tmp/qemu-build/install/share/qemu > binary directory /var/tmp/qemu-build/install/bin > library directory /var/tmp/qemu-build/install/lib > module directory /var/tmp/qemu-build/install/lib/qemu > libexec directory /var/tmp/qemu-build/install/libexec > include directory /var/tmp/qemu-build/install/include > config directory /var/tmp/qemu-build/install/etc > local state directory /var/tmp/qemu-build/install/var > Manual directory /var/tmp/qemu-build/install/share/man > ELF interp prefix /usr/gnemul/qemu-%M > Source path /tmp/qemu-test/src > C compiler cc > Host C compiler cc > C++ compiler > Objective-C compiler cc > ARFLAGS rv > CFLAGS -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -g > QEMU_CFLAGS -I/usr/include/pixman-1 -I$(SRC_PATH)/dtc/libfdt -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -DNCURSES_WIDECHAR -fPIE -DPIE -m64 -mcx16 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng12 -I/usr/include/libdrm -I/usr/include/spice-server -I/usr/include/cacard -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/nss3 -I/usr/include/nspr4 -I/usr/include/spice-1 -I/usr/include/cacard -I/usr/include/nss3 -I/usr/include/nspr4 > LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g > make make > install install > python python -B > smbd /usr/sbin/smbd > module support no > host CPU x86_64 > host big endian no > target list x86_64-softmmu aarch64-softmmu > gprof enabled no > sparse enabled no > strip binaries yes > profiler no > static build no > pixman system > SDL support yes (1.2.14) > GTK support yes (2.24.23) > GTK GL support no > VTE support yes (0.25.1) > TLS priority NORMAL > GNUTLS support no > GNUTLS rnd no > libgcrypt no > libgcrypt kdf no > nettle no > nettle kdf no > libtasn1 no > curses support yes > virgl support no > curl support no > mingw32 support no > Audio drivers oss > Block whitelist (rw) > Block whitelist (ro) > VirtFS support no > VNC support yes > VNC SASL support no > VNC JPEG support yes > VNC PNG support yes > xen support yes > xen ctrl version 40600 > pv dom build no > brlapi support no > bluez support no > Documentation no > PIE yes > vde support no > netmap support no > Linux AIO support no > ATTR/XATTR support yes > Install blobs yes > KVM support yes > HAX support no > TCG support yes > TCG debug enabled no > TCG interpreter no > RDMA support yes > fdt support yes > preadv support yes > fdatasync yes > madvise yes > posix_madvise yes > libcap-ng support no > vhost-net support yes > vhost-scsi support yes > vhost-vsock support yes > vhost-user support yes > Trace backends log > instrumentation no > spice support yes (0.12.6/0.12.4) > rbd support no > xfsctl support no > smartcard support yes > libusb no > usb net redir no > OpenGL support yes > OpenGL dmabufs no > libiscsi support no > libnfs support no > build guest agent yes > QGA VSS support no > QGA w32 disk info no > QGA MSI support no > seccomp support no > coroutine backend ucontext > coroutine pool yes > debug stack usage no > crypto afalg no > GlusterFS support no > gcov gcov > gcov enabled no > TPM support yes > libssh2 support no > TPM passthrough yes > QOM debugging yes > Live block migration yes > lzo support yes > snappy support no > bzip2 support yes > NUMA host support no > tcmalloc support no > jemalloc support no > avx2 optimization no > replication support yes > VxHS block device no > mkdir -p dtc/libfdt > mkdir -p dtc/tests > GEN aarch64-softmmu/config-devices.mak.tmp > GEN x86_64-softmmu/config-devices.mak.tmp > GEN config-host.h > GEN qemu-options.def > GEN qmp-commands.h > GEN qapi-types.h > GEN qapi-visit.h > GEN qapi-event.h > GEN x86_64-softmmu/config-devices.mak > GEN qmp-marshal.c > GEN aarch64-softmmu/config-devices.mak > GEN qapi-types.c > GEN qapi-visit.c > GEN qapi-event.c > GEN qmp-introspect.h > GEN qmp-introspect.c > GEN trace/generated-tcg-tracers.h > GEN trace/generated-helpers-wrappers.h > GEN trace/generated-helpers.h > GEN trace/generated-helpers.c > GEN module_block.h > GEN tests/test-qapi-types.h > GEN tests/test-qapi-visit.h > GEN tests/test-qmp-commands.h > GEN tests/test-qapi-event.h > GEN tests/test-qmp-introspect.h > GEN trace-root.h > GEN util/trace.h > GEN crypto/trace.h > GEN io/trace.h > GEN migration/trace.h > GEN block/trace.h > GEN chardev/trace.h > GEN hw/block/trace.h > GEN hw/block/dataplane/trace.h > GEN hw/char/trace.h > GEN hw/intc/trace.h > GEN hw/net/trace.h > GEN hw/virtio/trace.h > GEN hw/audio/trace.h > GEN hw/misc/trace.h > GEN hw/usb/trace.h > GEN hw/scsi/trace.h > GEN hw/nvram/trace.h > GEN hw/display/trace.h > GEN hw/input/trace.h > GEN hw/timer/trace.h > GEN hw/dma/trace.h > GEN hw/sparc/trace.h > GEN hw/sd/trace.h > GEN hw/isa/trace.h > GEN hw/mem/trace.h > GEN hw/i386/trace.h > GEN hw/i386/xen/trace.h > GEN hw/9pfs/trace.h > GEN hw/ppc/trace.h > GEN hw/pci/trace.h > GEN hw/s390x/trace.h > GEN hw/vfio/trace.h > GEN hw/acpi/trace.h > GEN hw/arm/trace.h > GEN hw/alpha/trace.h > GEN hw/xen/trace.h > GEN ui/trace.h > GEN audio/trace.h > GEN net/trace.h > GEN target/arm/trace.h > GEN target/i386/trace.h > GEN target/mips/trace.h > GEN target/sparc/trace.h > GEN target/s390x/trace.h > GEN target/ppc/trace.h > GEN qom/trace.h > GEN linux-user/trace.h > GEN qapi/trace.h > GEN accel/tcg/trace.h > GEN accel/kvm/trace.h > GEN nbd/trace.h > GEN trace-root.c > GEN util/trace.c > GEN crypto/trace.c > GEN io/trace.c > GEN migration/trace.c > GEN block/trace.c > GEN chardev/trace.c > GEN hw/block/trace.c > GEN hw/block/dataplane/trace.c > GEN hw/char/trace.c > GEN hw/intc/trace.c > GEN hw/net/trace.c > GEN hw/virtio/trace.c > GEN hw/audio/trace.c > GEN hw/misc/trace.c > GEN hw/usb/trace.c > GEN hw/scsi/trace.c > GEN hw/nvram/trace.c > GEN hw/display/trace.c > GEN hw/input/trace.c > GEN hw/timer/trace.c > GEN hw/dma/trace.c > GEN hw/sparc/trace.c > GEN hw/sd/trace.c > GEN hw/isa/trace.c > GEN hw/mem/trace.c > GEN hw/i386/trace.c > GEN hw/i386/xen/trace.c > GEN hw/9pfs/trace.c > GEN hw/ppc/trace.c > GEN hw/pci/trace.c > GEN hw/s390x/trace.c > GEN hw/vfio/trace.c > GEN hw/acpi/trace.c > GEN hw/arm/trace.c > GEN hw/alpha/trace.c > GEN hw/xen/trace.c > GEN ui/trace.c > GEN audio/trace.c > GEN net/trace.c > GEN target/arm/trace.c > GEN target/i386/trace.c > GEN target/mips/trace.c > GEN target/sparc/trace.c > GEN target/s390x/trace.c > GEN target/ppc/trace.c > GEN qom/trace.c > GEN linux-user/trace.c > GEN qapi/trace.c > GEN accel/tcg/trace.c > GEN accel/kvm/trace.c > GEN nbd/trace.c > GEN config-all-devices.mak > DEP /tmp/qemu-test/src/dtc/tests/dumptrees.c > DEP /tmp/qemu-test/src/dtc/tests/trees.S > DEP /tmp/qemu-test/src/dtc/tests/testutils.c > DEP /tmp/qemu-test/src/dtc/tests/value-labels.c > DEP /tmp/qemu-test/src/dtc/tests/asm_tree_dump.c > DEP /tmp/qemu-test/src/dtc/tests/truncated_property.c > DEP /tmp/qemu-test/src/dtc/tests/check_path.c > DEP /tmp/qemu-test/src/dtc/tests/overlay_bad_fixup.c > DEP /tmp/qemu-test/src/dtc/tests/overlay.c > DEP /tmp/qemu-test/src/dtc/tests/subnode_iterate.c > DEP /tmp/qemu-test/src/dtc/tests/property_iterate.c > DEP /tmp/qemu-test/src/dtc/tests/integer-expressions.c > DEP /tmp/qemu-test/src/dtc/tests/utilfdt_test.c > DEP /tmp/qemu-test/src/dtc/tests/path_offset_aliases.c > DEP /tmp/qemu-test/src/dtc/tests/add_subnode_with_nops.c > DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_unordered.c > DEP /tmp/qemu-test/src/dtc/tests/dtb_reverse.c > DEP /tmp/qemu-test/src/dtc/tests/dtbs_equal_ordered.c > DEP /tmp/qemu-test/src/dtc/tests/extra-terminating-null.c > DEP /tmp/qemu-test/src/dtc/tests/incbin.c > DEP /tmp/qemu-test/src/dtc/tests/boot-cpuid.c > DEP /tmp/qemu-test/src/dtc/tests/phandle_format.c > DEP /tmp/qemu-test/src/dtc/tests/path-references.c > DEP /tmp/qemu-test/src/dtc/tests/references.c > DEP /tmp/qemu-test/src/dtc/tests/string_escapes.c > DEP /tmp/qemu-test/src/dtc/tests/propname_escapes.c > DEP /tmp/qemu-test/src/dtc/tests/appendprop2.c > DEP /tmp/qemu-test/src/dtc/tests/appendprop1.c > DEP /tmp/qemu-test/src/dtc/tests/del_node.c > DEP /tmp/qemu-test/src/dtc/tests/del_property.c > DEP /tmp/qemu-test/src/dtc/tests/setprop.c > DEP /tmp/qemu-test/src/dtc/tests/set_name.c > DEP /tmp/qemu-test/src/dtc/tests/rw_tree1.c > DEP /tmp/qemu-test/src/dtc/tests/open_pack.c > DEP /tmp/qemu-test/src/dtc/tests/nopulate.c > DEP /tmp/qemu-test/src/dtc/tests/mangle-layout.c > DEP /tmp/qemu-test/src/dtc/tests/move_and_save.c > DEP /tmp/qemu-test/src/dtc/tests/sw_tree1.c > DEP /tmp/qemu-test/src/dtc/tests/nop_node.c > DEP /tmp/qemu-test/src/dtc/tests/nop_property.c > DEP /tmp/qemu-test/src/dtc/tests/setprop_inplace.c > DEP /tmp/qemu-test/src/dtc/tests/stringlist.c > DEP /tmp/qemu-test/src/dtc/tests/addr_size_cells.c > DEP /tmp/qemu-test/src/dtc/tests/notfound.c > DEP /tmp/qemu-test/src/dtc/tests/sized_cells.c > DEP /tmp/qemu-test/src/dtc/tests/get_alias.c > DEP /tmp/qemu-test/src/dtc/tests/char_literal.c > DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_compatible.c > DEP /tmp/qemu-test/src/dtc/tests/node_check_compatible.c > DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_phandle.c > DEP /tmp/qemu-test/src/dtc/tests/node_offset_by_prop_value.c > DEP /tmp/qemu-test/src/dtc/tests/parent_offset.c > DEP /tmp/qemu-test/src/dtc/tests/supernode_atdepth_offset.c > DEP /tmp/qemu-test/src/dtc/tests/get_path.c > DEP /tmp/qemu-test/src/dtc/tests/get_phandle.c > DEP /tmp/qemu-test/src/dtc/tests/getprop.c > DEP /tmp/qemu-test/src/dtc/tests/get_name.c > DEP /tmp/qemu-test/src/dtc/tests/path_offset.c > DEP /tmp/qemu-test/src/dtc/tests/subnode_offset.c > DEP /tmp/qemu-test/src/dtc/tests/find_property.c > DEP /tmp/qemu-test/src/dtc/tests/root_node.c > DEP /tmp/qemu-test/src/dtc/tests/get_mem_rsv.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_overlay.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_addresses.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_empty_tree.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_strerror.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_rw.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_sw.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_ro.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt_wip.c > DEP /tmp/qemu-test/src/dtc/libfdt/fdt.c > DEP /tmp/qemu-test/src/dtc/util.c > DEP /tmp/qemu-test/src/dtc/fdtput.c > DEP /tmp/qemu-test/src/dtc/fdtget.c > DEP /tmp/qemu-test/src/dtc/fdtdump.c > LEX convert-dtsv0-lexer.lex.c > DEP /tmp/qemu-test/src/dtc/srcpos.c > BISON dtc-parser.tab.c > LEX dtc-lexer.lex.c > DEP /tmp/qemu-test/src/dtc/treesource.c > DEP /tmp/qemu-test/src/dtc/livetree.c > DEP /tmp/qemu-test/src/dtc/flattree.c > DEP /tmp/qemu-test/src/dtc/fstree.c > DEP /tmp/qemu-test/src/dtc/dtc.c > DEP /tmp/qemu-test/src/dtc/data.c > DEP /tmp/qemu-test/src/dtc/checks.c > DEP convert-dtsv0-lexer.lex.c > DEP dtc-parser.tab.c > DEP dtc-lexer.lex.c > CHK version_gen.h > UPD version_gen.h > DEP /tmp/qemu-test/src/dtc/util.c > CC libfdt/fdt.o > CC libfdt/fdt_ro.o > CC libfdt/fdt_wip.o > CC libfdt/fdt_sw.o > CC libfdt/fdt_rw.o > CC libfdt/fdt_empty_tree.o > CC libfdt/fdt_strerror.o > CC libfdt/fdt_addresses.o > CC libfdt/fdt_overlay.o > AR libfdt/libfdt.a > ar: creating libfdt/libfdt.a > a - libfdt/fdt.o > a - libfdt/fdt_ro.o > a - libfdt/fdt_wip.o > a - libfdt/fdt_sw.o > a - libfdt/fdt_rw.o > a - libfdt/fdt_strerror.o > a - libfdt/fdt_empty_tree.o > a - libfdt/fdt_addresses.o > a - libfdt/fdt_overlay.o > CC tests/qemu-iotests/socket_scm_helper.o > GEN qga/qapi-generated/qga-qapi-types.h > GEN qga/qapi-generated/qga-qapi-visit.h > GEN qga/qapi-generated/qga-qapi-types.c > GEN qga/qapi-generated/qga-qmp-marshal.c > GEN qga/qapi-generated/qga-qapi-visit.c > GEN qga/qapi-generated/qga-qmp-commands.h > CC qmp-introspect.o > CC qapi-types.o > CC qapi-visit.o > CC qapi-event.o > CC qapi/qapi-visit-core.o > CC qapi/qapi-dealloc-visitor.o > CC qapi/qobject-input-visitor.o > CC qapi/qobject-output-visitor.o > CC qapi/qmp-registry.o > CC qapi/qmp-dispatch.o > CC qapi/string-input-visitor.o > CC qapi/string-output-visitor.o > CC qapi/opts-visitor.o > CC qapi/qapi-clone-visitor.o > CC qapi/qmp-event.o > CC qapi/qapi-util.o > CC qobject/qnull.o > CC qobject/qnum.o > CC qobject/qstring.o > CC qobject/qdict.o > CC qobject/qlist.o > CC qobject/qbool.o > CC qobject/qlit.o > CC qobject/qjson.o > CC qobject/qobject.o > CC qobject/json-lexer.o > CC qobject/json-streamer.o > CC qobject/json-parser.o > CC trace/control.o > CC trace/qmp.o > CC util/osdep.o > CC util/cutils.o > CC util/unicode.o > CC util/qemu-timer-common.o > CC util/bufferiszero.o > CC util/lockcnt.o > CC util/aiocb.o > CC util/async.o > CC util/thread-pool.o > CC util/qemu-timer.o > CC util/main-loop.o > CC util/iohandler.o > CC util/aio-posix.o > CC util/compatfd.o > CC util/event_notifier-posix.o > CC util/mmap-alloc.o > CC util/oslib-posix.o > CC util/qemu-openpty.o > CC util/qemu-thread-posix.o > CC util/memfd.o > CC util/envlist.o > CC util/path.o > CC util/module.o > CC util/host-utils.o > CC util/bitmap.o > CC util/bitops.o > CC util/hbitmap.o > CC util/fifo8.o > CC util/acl.o > CC util/cacheinfo.o > CC util/error.o > CC util/qemu-error.o > CC util/id.o > CC util/iov.o > CC util/qemu-config.o > CC util/qemu-sockets.o > CC util/uri.o > CC util/notify.o > CC util/qemu-option.o > CC util/qemu-progress.o > CC util/keyval.o > CC util/hexdump.o > CC util/crc32c.o > CC util/uuid.o > CC util/throttle.o > CC util/getauxval.o > CC util/readline.o > CC util/rcu.o > CC util/qemu-coroutine.o > CC util/qemu-coroutine-lock.o > CC util/qemu-coroutine-io.o > CC util/qemu-coroutine-sleep.o > CC util/coroutine-ucontext.o > CC util/buffer.o > CC util/timed-average.o > CC util/base64.o > CC util/log.o > CC util/qdist.o > CC util/qht.o > CC util/range.o > CC util/stats64.o > CC util/systemd.o > CC trace-root.o > CC util/trace.o > CC crypto/trace.o > CC io/trace.o > CC migration/trace.o > CC block/trace.o > CC chardev/trace.o > CC hw/block/trace.o > CC hw/block/dataplane/trace.o > CC hw/char/trace.o > CC hw/intc/trace.o > CC hw/net/trace.o > CC hw/virtio/trace.o > CC hw/audio/trace.o > CC hw/misc/trace.o > CC hw/usb/trace.o > CC hw/scsi/trace.o > CC hw/nvram/trace.o > CC hw/display/trace.o > CC hw/input/trace.o > CC hw/timer/trace.o > CC hw/dma/trace.o > CC hw/sparc/trace.o > CC hw/sd/trace.o > CC hw/isa/trace.o > CC hw/mem/trace.o > CC hw/i386/trace.o > CC hw/i386/xen/trace.o > CC hw/9pfs/trace.o > CC hw/ppc/trace.o > CC hw/pci/trace.o > CC hw/s390x/trace.o > CC hw/vfio/trace.o > CC hw/acpi/trace.o > CC hw/arm/trace.o > CC hw/alpha/trace.o > CC hw/xen/trace.o > CC ui/trace.o > CC audio/trace.o > CC net/trace.o > CC target/arm/trace.o > CC target/i386/trace.o > CC target/mips/trace.o > CC target/sparc/trace.o > CC target/s390x/trace.o > CC target/ppc/trace.o > CC qom/trace.o > CC linux-user/trace.o > CC qapi/trace.o > CC accel/tcg/trace.o > CC accel/kvm/trace.o > CC nbd/trace.o > CC crypto/pbkdf-stub.o > CC stubs/arch-query-cpu-def.o > CC stubs/arch-query-cpu-model-expansion.o > CC stubs/arch-query-cpu-model-comparison.o > CC stubs/arch-query-cpu-model-baseline.o > CC stubs/bdrv-next-monitor-owned.o > CC stubs/blk-commit-all.o > CC stubs/blockdev-close-all-bdrv-states.o > CC stubs/clock-warp.o > CC stubs/cpu-get-clock.o > CC stubs/cpu-get-icount.o > CC stubs/dump.o > CC stubs/error-printf.o > CC stubs/fdset.o > CC stubs/gdbstub.o > CC stubs/get-vm-name.o > CC stubs/instrument.o > CC stubs/iothread.o > CC stubs/iothread-lock.o > CC stubs/is-daemonized.o > CC stubs/machine-init-done.o > CC stubs/migr-blocker.o > CC stubs/change-state-handler.o > CC stubs/monitor.o > CC stubs/notify-event.o > CC stubs/qtest.o > CC stubs/replay.o > /tmp/qemu-test/src/stubs/instrument.c:22: error: redefinition of typedef ‘strList’ > ./qapi-types.h:131: note: previous declaration of ‘strList’ was here > CC stubs/runstate-check.o > make: *** [stubs/instrument.o] Error 1 > make: *** Waiting for unfinished jobs.... > Traceback (most recent call last): > File "./tests/docker/docker.py", line 384, in <module> > sys.exit(main()) > File "./tests/docker/docker.py", line 381, in main > return args.cmdobj.run(args, argv) > File "./tests/docker/docker.py", line 239, in run > return Docker().run(argv, args.keep, quiet=args.quiet) > File "./tests/docker/docker.py", line 207, in run > quiet=quiet) > File "./tests/docker/docker.py", line 125, in _do_check > return subprocess.check_call(self._command + cmd, **kwargs) > File "/usr/lib64/python2.7/subprocess.py", line 186, in check_call > raise CalledProcessError(retcode, cmd) > subprocess.CalledProcessError: Command '['docker', 'run', '--label', 'com.qemu.instance.uuid=9670c49e980a11e7950952540069c830', '-u', '0', '-t', '--rm', '--net=none', '-e', 'TARGET_LIST=', '-e', 'EXTRA_CONFIGURE_OPTS=', '-e', 'V=', '-e', 'J=8', '-e', 'DEBUG=', '-e', 'SHOW_ENV=1', '-e', 'CCACHE_DIR=/var/tmp/ccache', '-v', '/var/tmp/patchew-tester-tmp-lf5qg9x6/src/docker-src.2017-09-12-18.34.46.13887:/var/tmp/qemu:z,ro', '-v', '/root/.cache/qemu-docker-ccache:/var/tmp/ccache:z', 'qemu:centos6', '/var/tmp/qemu/run', 'test-quick']' returned non-zero exit status 2 > make[1]: *** [tests/docker/Makefile.include:139: docker-run] Error 1 > make[1]: Leaving directory '/var/tmp/patchew-tester-tmp-lf5qg9x6/src' > make: *** [tests/docker/Makefile.include:168: docker-run-test-quick@centos6] Error 2 I think I fixed it, and will send a new series (for some reason this does not happen with my GCC version). Cheers, Lluis
© 2016 - 2024 Red Hat, Inc.