From 9ae5ff48955e182b3a4800897de14af4390b608c Mon Sep 17 00:00:00 2001 From: Mathieu Chartier Date: Tue, 13 Jun 2017 10:55:48 -0700 Subject: [PATCH] Fix potential divide by zero in display_html When using logwrapper, there is only a zygote heap. This caused a divide by zero for the app heap. Test: native_heapdump_viewer.py --html art/native_heap.txt > test.html Change-Id: I7defd94935d72ee9c4cb6e53d7a1a308a1030eb3 --- scripts/native_heapdump_viewer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/native_heapdump_viewer.py b/scripts/native_heapdump_viewer.py index d896ca6c1..0689a1d1d 100755 --- a/scripts/native_heapdump_viewer.py +++ b/scripts/native_heapdump_viewer.py @@ -244,7 +244,10 @@ def display_html(total, node, extra): lib = fd.library else: lib = os.path.basename(fd.library) - label = "%d %6.2f%% %6d %s%s %s %s" % (node.size, 100*node.size/float(total), node.number, extra, lib, fd.function, fd.location) + total_percent = 0 + if total != 0: + total_percent = 100 * node.size / float(total) + label = "%d %6.2f%% %6d %s%s %s %s" % (node.size, total_percent, node.number, extra, lib, fd.function, fd.location) label = label.replace("&", "&") label = label.replace("'", "'") label = label.replace('"', """)