From 94150e55c2a2f43e95e5c14c753aee5900df47f1 Mon Sep 17 00:00:00 2001 From: Stefan Hajnoczi Date: Wed, 11 Jul 2018 12:31:04 +0100 Subject: [PATCH 3/4] simpletrace: Convert name from mapping record to str RH-Author: Stefan Hajnoczi Message-id: <20180711123104.31091-2-stefanha@redhat.com> Patchwork-id: 81299 O-Subject: [qemu-kvm RHEL8/virt212 PATCH 1/1] simpletrace: Convert name from mapping record to str Bugzilla: 1594969 RH-Acked-by: Laurent Vivier RH-Acked-by: Eduardo Habkost RH-Acked-by: Markus Armbruster From: Eduardo Habkost The rest of the code assumes that idtoname is a (int -> str) dictionary, so convert the data accordingly. This is necessary to make the script work with Python 3 (where reads from a binary file return 'bytes' objects, not 'str'). Fixes the following error: $ python3 ./scripts/simpletrace.py trace-events-all trace-27445 b'object_class_dynamic_cast_assert' event is logged but is not \ declared in the trace events file, try using trace-events-all instead. Signed-off-by: Eduardo Habkost Message-id: 20180619194549.15584-1-ehabkost@redhat.com Signed-off-by: Stefan Hajnoczi (cherry picked from commit 749c1d8e3e12c44247927d8f72f68ec0c0266f8b) Signed-off-by: Stefan Hajnoczi Signed-off-by: Danilo C. L. de Paula --- scripts/simpletrace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/simpletrace.py b/scripts/simpletrace.py index d4a50a1..4ad34f9 100755 --- a/scripts/simpletrace.py +++ b/scripts/simpletrace.py @@ -70,7 +70,7 @@ def get_record(edict, idtoname, rechdr, fobj): def get_mapping(fobj): (event_id, ) = struct.unpack('=Q', fobj.read(8)) (len, ) = struct.unpack('=L', fobj.read(4)) - name = fobj.read(len) + name = fobj.read(len).decode() return (event_id, name) -- 1.8.3.1