Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix the recursion issue #204

Open
crazyideas21 opened this issue Aug 21, 2023 · 2 comments
Open

Fix the recursion issue #204

crazyideas21 opened this issue Aug 21, 2023 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@crazyideas21
Copy link
Contributor

A user reported:

RecursionError: maximum recursion depth exceeded while calling a Python object

... after running Inspector for several hours.

I have seen something similar. My suspicious is that st.experimental_run() causes this issue. I'll need to disable automatic rerun after an hour or so

@crazyideas21 crazyideas21 added the bug Something isn't working label Aug 21, 2023
@crazyideas21 crazyideas21 self-assigned this Aug 21, 2023
@cathsaigh
Copy link

I've had similar error:

RecursionError: maximum recursion depth exceeded in comparison
Traceback:
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\streamlit\runtime\scriptrunner\script_runner.py", line 552, in _run_script
exec(code, module.dict)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\script\iot-inspector-client\ui\pages\1_Overview.py", line 362, in
main()
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\script\iot-inspector-client\ui\pages\1_Overview.py", line 76, in main
show_activity_graph(
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\streamlit\runtime\caching\cache_utils.py", line 211, in wrapper
return cached_func(*args, **kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\streamlit\runtime\caching\cache_utils.py", line 242, in call
return self._get_or_create_cached_value(args, kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\streamlit\runtime\caching\cache_utils.py", line 266, in _get_or_create_cached_value
return self._handle_cache_miss(cache, value_key, func_args, func_kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\streamlit\runtime\caching\cache_utils.py", line 320, in _handle_cache_miss
computed_value = self._info.func(*func_args, **func_kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\script\iot-inspector-client\ui\pages\1_Overview.py", line 173, in show_activity_graph
fig = px.bar(
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\express_chart_types.py", line 373, in bar
return make_figure(
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\express_core.py", line 2262, in make_figure
fig.update_layout(template=args["template"], overwrite=True)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs_figure.py", line 775, in update_layout
return super(Figure, self).update_layout(dict1, overwrite, **kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 1393, in update_layout
self.layout.update(dict1, overwrite=overwrite, **kwargs)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5136, in update
BaseFigure._perform_update(self, kwargs, overwrite=overwrite)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 3909, in _perform_update
plotly_obj[key] = val
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5875, in setitem
super(BaseLayoutHierarchyType, self).setitem(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4865, in setitem
self._set_compound_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5276, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2768, in validate_coerce
return super(BaseTemplateValidator, self).validate_coerce(
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2479, in validate_coerce
v = self.data_class(v)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs\layout_template.py", line 323, in init
self["data"] = _v
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4865, in setitem
self._set_compound_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5276, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2475, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs\layout\template_data.py", line 1576, in init
self["candlestick"] = _v
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4869, in setitem
self._set_array_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5350, in _set_array_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2567, in validate_coerce
res.append(self.data_class(v_el, skip_invalid=skip_invalid))
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs_candlestick.py", line 1805, in init
self["decreasing"] = _v
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4865, in setitem
self._set_compound_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5276, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2475, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs\candlestick_decreasing.py", line 175, in init
self["line"] = _v
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4865, in setitem
self._set_compound_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5276, in _set_compound_prop
val = validator.validate_coerce(val, skip_invalid=self._skip_invalid)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 2475, in validate_coerce
v = self.data_class(v, skip_invalid=skip_invalid, _validate=_validate)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\graph_objs\candlestick\decreasing_line.py", line 154, in init
self["color"] = _v
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 4873, in setitem
self._set_prop(prop, value)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages\plotly\basedatatypes.py", line 5212, in _set_prop
val = validator.validate_coerce(val)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 1372, in validate_coerce
validated_v = self.vc_scalar(v)
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 1402, in vc_scalar
return ColorValidator.perform_validate_coerce(
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\site-packages_plotly_utils\basevalidators.py", line 1425, in perform_validate_coerce
if isinstance(v, numbers.Number) and allow_number:
File "C:\Users\mediamonkey\iot-inspector-2\IoT-Inspector-Package\3rd-party-software\python\tools\lib\abc.py", line 98, in instancecheck
return _abc_instancecheck(cls, instance)

@crazyideas21
Copy link
Contributor Author

@cathsaigh, thanks for the report! I am aware of the issue. Let me try to fix next week. The new semester has just started at New York University, and I'm trying to deal with my new class.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants