My Diagram Editor crashes (Python or EXE), without error, all source and EXE provided 😅
-
Pre-release:
https://github.com/FruitfulApproach/DiagramDetective/releases/tag/Alpha-v0.0.0
The source is up-to-date on main branch.
I can't figure this one out and I never learned how to. I tried using the sys.excepthook trick:
def my_exception_hook(exctype, value, traceback): sys.__excepthook__(exctype, value, traceback) # Print the usual traceback sys.excepthook = my_exception_hookbut nothing gets printed.
To get it to crash (either running from the .wpr (Wing)) file or from the EXE, you simply place some nodes. Double click the center of a node to place a node inside of that one. Place arrows around like 5-10. Then shake the node parent rapidly. It will eventually freeze, then crash 5 seconds later. For example, this will do it:

I have also tried limiting the time that update() gets called on a given memo'd id of a QGraphicsObject subclass instance by using datetime.now() & timedelta's and the limit is no more than once every 25 milliseconds. I could increase this, but then things get jerky as you manipulate the objects.
Anyone have experience debugging a PyQt5 application's error-less crash?
I tried my best to KISS and the code is as simple as it can get for this application...
-
I know what is going on now. And I remember this from old code. I am updating the arrows instead of simply moving them by a delta whenever things are selected and drag moved. The arrows don't need to be updated there. Also, visually this causes shaking arrows when you move a bunch of things. They should move rigidly.
-
I think it has to do with a sudden self-loop that gets placed on accident. Let me make those auto-bezier curves and I'll post back here if that fixes it.
Edit: No actually, that's not right. I place two nodes and arrow between, then rapidly shake the shit out of one node, and it will bring the crash on.
-
I know what is going on now. And I remember this from old code. I am updating the arrows instead of simply moving them by a delta whenever things are selected and drag moved. The arrows don't need to be updated there. Also, visually this causes shaking arrows when you move a bunch of things. They should move rigidly.
-
E enjoysmath has marked this topic as solved on