qemu/scripts
Daniel P. Berrange f3fddaf60b trace: disallow more than 10 arguments per trace event
The UST trace backend can only cope with upto 10 arguments. To ensure we
don't exceed the limit when UST is not compiled in, disallow more than
10 arguments upfront.

This prevents the case where:

  commit 0fc8aec7de
  Author: Zhang Chen <zhangchen.fnst@cn.fujitsu.com>
  Date:   Tue Apr 18 10:20:20 2017 +0800

    COLO-compare: Optimize tcp compare trace event

    Optimize two trace events as one, adjust print format make
    it easy to read. rename trace_colo_compare_pkt_info_src/dst
    to trace_colo_compare_tcp_info.

regressed the fix done in

  commit 2dfe5113b1
  Author: Alex Bennée <alex.bennee@linaro.org>
  Date:   Fri Oct 28 14:25:59 2016 +0100

    net: split colo_compare_pkt_info into two trace events

    It seems there is a limit to the number of arguments a UST trace event
    can take and at 11 the previous trace command broke the build. Split the
    trace into a src pkt and dst pkt trace to fix this.

    Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
    Message-id: 20161028132559.8324-1-alex.bennee@linaro.org
    Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
    Signed-off-by: Peter Maydell <peter.maydell@linaro.org>

Now we get an immediate fail even when UST is disabled:

  GEN     net/trace.h
Traceback (most recent call last):
  File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 154, in <module>
    main(sys.argv)
  File "/home/berrange/src/virt/qemu/scripts/tracetool.py", line 145, in main
    events.extend(tracetool.read_events(fh))
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 307, in read_events
    event = Event.build(line)
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 244, in build
    event = Event(name, props, fmt, args)
  File "/home/berrange/src/virt/qemu/scripts/tracetool/__init__.py", line 196, in __init__
    "argument count" % name)
ValueError: Event 'colo_compare_tcp_info' has more than maximum permitted argument count
Makefile:96: recipe for target 'net/trace.h-timestamp' failed

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20170426153900.21066-1-berrange@redhat.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
2017-05-08 09:38:30 -04:00
..
coccinelle coccinelle: add a script to remove useless casts 2016-09-15 15:32:22 +03:00
kvm vmxcap: update for September 2016 SDM 2017-03-03 16:40:02 +01:00
modules scripts: Allow block module to not define BlockDriver 2016-10-07 14:14:06 +02:00
qemu-guest-agent
qemugdb scripts/qemugdb/mtree.py: fix up mtree dump 2017-04-07 15:24:56 +01:00
qmp qmp: allow setting properties to empty string in qmp-shell 2017-03-16 07:13:01 +01:00
tracetool trace: disallow more than 10 arguments per trace event 2017-05-08 09:38:30 -04:00
analyse-9p-simpletrace.py
analyze-inclusions Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
analyze-migration.py
check-qerror.sh
checkpatch.pl checkpatch: allow spaces before parenthesis for 'coroutine_fn' 2016-11-02 09:28:56 +01:00
clean-header-guards.pl scripts: New clean-header-guards.pl 2016-07-12 16:19:16 +02:00
clean-includes scripts/clean-includes: added duplicate #include check 2016-10-28 18:17:23 +03:00
cleanup-trace-events.pl
cocci-macro-file.h coccinelle: add g_assert_cmp* to macro file 2016-05-23 16:53:46 +02:00
coverity-model.c coverity-model: model address_space_read/write 2017-03-15 13:59:16 +01:00
create_config build-sys: define QEMU_VERSION_{MAJOR, MINOR, MICRO} 2016-09-19 17:32:21 +02:00
disas-objdump.pl
dump-guest-memory.py scripts/dump-guest-memory.py: fix int128_get64 on recent gcc 2017-03-14 13:26:36 +01:00
extract-vsssdk-headers
feature_to_c.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
get_maintainer.pl
gtester-cat
hxtool hxtool: emit Texinfo headings as @subsection 2017-01-16 17:52:35 +01:00
make_device_config.sh scripts: Use $(..) instead of deprecated .. 2016-06-07 18:19:23 +03:00
make-release
ordereddict.py
qapi2texi.py qapi2texi: Fix translation of *strong* and _emphasized_ 2017-03-21 10:42:58 +01:00
qapi-commands.py qapi: Make pylint a bit happier 2017-03-16 07:13:04 +01:00
qapi-event.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-introspect.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-types.py qapi: Prefer single-quoted strings more consistently 2017-03-16 07:13:02 +01:00
qapi-visit.py qapi: Make pylint a bit happier 2017-03-16 07:13:04 +01:00
qapi.py qapi: Drop unused QAPIDoc member optional 2017-03-21 10:42:49 +01:00
qemu-binfmt-conf.sh linux-user: add hppa magic numbers in qemu-binfmt-conf.sh 2017-02-06 18:24:39 -08:00
qemu-gdb.py
qemu.py iotest: fix python based IO tests 2016-07-26 18:28:40 +02:00
qtest.py iotest: fix python based IO tests 2016-07-26 18:28:40 +02:00
refresh-pxe-roms.sh
shaderinclude.pl
show-fixed-bugs.sh scripts: Add a script to check for bug URLs in the git log 2016-09-22 20:20:53 +02:00
signrom.py linuxboot_dma: avoid guest ABI breakage on gcc vs. clang compilation 2016-08-09 22:57:36 +02:00
simpletrace.py simpletrace: document Analyzer method signatures 2017-04-21 10:45:35 +01:00
switch-timer-api
texi2pod.pl texi2pod: learn quotation, deftp and deftypefn 2017-01-16 09:15:25 +01:00
tracetool.py trace: switch to modular code generation for sub-directories 2017-01-31 17:11:18 +00:00
update-linux-headers.sh update-linux-headers: update for 4.11 2017-02-28 16:18:49 +00:00
vmstate-static-checker.py vmstate-static-checker: update white list with spapr_pci 2017-02-28 11:30:22 +00:00