labscript-suite-temp / labscript_utils

Shared modules used by the labscript suite. Includes a graphical exception handler, debug tools, configuration management, cross platform filepath conversions, unit conversions and custom GUI widgets.
Other
0 stars 0 forks source link

Excepthook should save me from my stupidity #5

Closed philipstarkey closed 10 years ago

philipstarkey commented 10 years ago

Original report (archived issue) by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).


I just launched a Qt program with a typo in like the topmost event filter or something, which got called about a billion times as my program started up. Of course Qt's event loop doesn't miss a beat on an exception in a callback, and so my program spawned what looked (with ps) like several hundred excepthook processes. I didn't see them actually pop up, and they eventually stopped accumulating, because my desktop environment immediately became unresponsive. After dropping to a virtual terminal to check things out and executing a carefully crafted few lines of Python to filter ps and kill them all, I was able to not lose my record of not having not rebooted my laptop yet on this continent.

Anyway it occured to me that this shouldn't happen. Excepthook should cough max ten or so concurrent exception windows, and should cough a final one saying further errors are not being shown graphically.

philipstarkey commented 10 years ago

Original comment by Chris Billington (Bitbucket: cbillington, GitHub: chrisjbillington).


Resolves issue #5, excepthook now raises at most ten errors, plus one final one to say that it isn't going to show any more errors.

Also has taskbar icon

→ \<\<cset 8e0448ddbbc0f4f60001930a5db9e97a942237a9>>