From eaa4f91913ac338fb057f8644ab1ac4a32fe111f Mon Sep 17 00:00:00 2001 From: Lukas Hoellein Date: Wed, 24 May 2023 19:03:50 +0200 Subject: [PATCH] Fix Viewer Recursion: StackOverflow in Server Setup (#1987) fix viewer recursion --- nerfstudio/viewer/server/gui_utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nerfstudio/viewer/server/gui_utils.py b/nerfstudio/viewer/server/gui_utils.py index 901425c5d..cd17172cb 100644 --- a/nerfstudio/viewer/server/gui_utils.py +++ b/nerfstudio/viewer/server/gui_utils.py @@ -60,6 +60,10 @@ def parse_object( if isinstance(v, type_check): add(ret, new_tree_stub, v) elif isinstance(v, nn.Module): + if v is obj: + # some nn.Modules might contain infinite references, e.g. consider foo = nn.Module(), foo.bar = foo + # to stop infinite recursion, we skip such attributes + continue lower_rets = parse_object(v, type_check, new_tree_stub) # check that the values aren't already in the tree for ts, o in lower_rets: