From 2455f6c0dd61f37d95f786cae02bcfc9ac18f048 Mon Sep 17 00:00:00 2001 From: Gabe Black Date: Wed, 18 Sep 2019 20:27:13 -0700 Subject: [PATCH] python: Don't try to bind a stat group to the NULL simobject. That is a SimObject like object which is used when a SimObject parameter is purposefully left empty, vs. being accidentally left empty through a typo or accidental ommission. It doesn't have a getCCObject method, and attempting to use it anyway causes gem5 to crash. Change-Id: Ie86321fbdbcc41cf88b7009184423acd7b64484b Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/21059 Reviewed-by: Andreas Sandberg Reviewed-by: Anthony Gutierrez Maintainer: Andreas Sandberg Tested-by: kokoro --- src/python/m5/stats/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/python/m5/stats/__init__.py b/src/python/m5/stats/__init__.py index 4b118ea13..ab11a9d61 100644 --- a/src/python/m5/stats/__init__.py +++ b/src/python/m5/stats/__init__.py @@ -47,6 +47,7 @@ import m5 import _m5.stats from m5.objects import Root +from m5.params import isNullPointer from m5.util import attrdict, fatal # Stat exports @@ -253,6 +254,8 @@ def _visit_stats(visitor, root=None): def _bindStatHierarchy(root): def _bind_obj(name, obj): + if isNullPointer(obj): + return if m5.SimObject.isSimObjectVector(obj): for idx, obj in enumerate(obj): _bind_obj("{}{}".format(name, idx), obj) -- 2.30.2