Opened 4 years ago

Last modified 4 years ago

#5344 closed defect

Logger: RuntimeError: wrapped C/C++ object of type QTimer has been deleted — at Version 1

Reported by: guillaume.gaullier@… Owned by: Tom Goddard
Priority: moderate Milestone:
Component: Logging Version:
Keywords: Cc: Eric Pettersen
Blocked By: Blocking:
Notify when closed: Platform: all
Project: ChimeraX

Description (last modified by Tom Goddard)

Begin forwarded message:

From: Guillaume Gaullier via ChimeraX-users <chimerax-users@…>
Subject: [chimerax-users] Error messages when executing command file with chimerax --exit
Date: October 5, 2021 at 2:01:02 AM PDT
To: ChimeraX Users Help <chimerax-users@…>
Reply-To: Guillaume Gaullier

Hello,

When I run the attached command file from within ChimeraX 1.2.5 on macOS 10.15.7 (open 7otq_figure-2-supplement-2.cxc), it completes without any error. However, when I run it from the shell with 'chimerax --exit 7otq_figure-2-supplement-2.cxc', I get the attached errors in the terminal. In both cases, the figures are generated correctly, so as far as I am concerned it seems I can simply ignore these errors. But I thought you (ChimeraX developers) might need to know that this happens.

This does not happen with other command files (I have been happily making movies without ever seeing these error messages), which makes me think maybe the problem is specific to this particular one?

Cheers,

Guillaume


Error in sys.excepthook:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 297, in ehook
    self.session.ui.thread_safe(self.report_exception, exc_info=exc_info)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 443, in report_exception
    self.info(tb_msg, is_html=True)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 388, in info
    self._log(Log.LEVEL_INFO, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted

Original exception was:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 202, in cx_qt_msg_handler
    self.session.logger.method_map[log_level](msg_string)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 465, in warning
    self._log(Log.LEVEL_WARNING, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted
Error in sys.excepthook:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 297, in ehook
    self.session.ui.thread_safe(self.report_exception, exc_info=exc_info)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 443, in report_exception
    self.info(tb_msg, is_html=True)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 388, in info
    self._log(Log.LEVEL_INFO, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted

Original exception was:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 202, in cx_qt_msg_handler
    self.session.logger.method_map[log_level](msg_string)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 465, in warning
    self._log(Log.LEVEL_WARNING, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted
Error in sys.excepthook:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 297, in ehook
    self.session.ui.thread_safe(self.report_exception, exc_info=exc_info)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 443, in report_exception
    self.info(tb_msg, is_html=True)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 388, in info
    self._log(Log.LEVEL_INFO, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted

Original exception was:
Traceback (most recent call last):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 202, in cx_qt_msg_handler
    self.session.logger.method_map[log_level](msg_string)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 465, in warning
    self._log(Log.LEVEL_WARNING, msg, add_newline, image, is_html,
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/core/logger.py", line 498, in _log
    if log.log(*args):
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 340, in log
    self.show_page_source()
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 344, in show_page_source
    self.session.ui.thread_safe(self._show)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/ui/gui.py", line 366, in thread_safe
    func(*args, **kw)
  File "/Applications/ChimeraX.app/Contents/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/chimerax/log/tool.py", line 348, in _show
    self.regulating_timer.start(100)
RuntimeError: wrapped C/C++ object of type QTimer has been deleted

Change History (2)

by Tom Goddard, 4 years ago

comment:1 by Tom Goddard, 4 years ago

Description: modified (diff)

I tried running the script from the command-line

~/Desktop/ChimeraX-1.2.5.app/Contents/MacOS/ChimeraX --exit ~/Downloads/7otq_figure-2-supplement-2.cxc

and did not get any errors. But the traceback you got makes it pretty clear that Qt issues an error when ChimeraX was shutting down and ChimeraX tried to report that error to the Log panel, but the Qt timer for the Log panel had already been destroyed. The Qt error should have been reported to the shell.

Note: See TracTickets for help on using tickets.