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_hook
but 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.
-