Closed MatthieuDartiailh closed 4 years ago
Merging #417 into master will not change coverage. The diff coverage is
33.33%
.
@@ Coverage Diff @@
## master #417 +/- ##
=======================================
Coverage 73.47% 73.47%
=======================================
Files 311 311
Lines 23788 23788
=======================================
Hits 17478 17478
Misses 6310 6310
@frmdstryr if you can confirm this fixes the issue it would be great. I am not sure why the double Looper was the only one showing that issue. Basically anything calling dynamic functions enough time can trigger that bug. Meaning it is really dangerous for long running application !
Yes it seems to be working here.
I'll can also test it with another project tomorrow where I originally saw this.
Thank you!
Meaning it is really dangerous for long running application !
Haha, yeah found that out when one of my enaml-web websites crashed after a month or so of running...
Are there any tools that you know of to watch for stuff like this? I know of https://valgrind.org/ but haven't used it enough to be able to do much with it.
Valgrind can be used to watch for memory leak from my understanding. Here the issue is spurious decref which internal to python. You could in the background of your website run a monitoring of the references and look for suspicious trend (constant increase, or decrease of supposedly long-lived objects). The gc module probably provides all the required tools to do something like that.
This fixed the crashing issues I had with inkcut. Thanks!
Thanks for the confirmation !
It's also no longer crashing in the app where I originally saw it. Nice work!
Thanks. I will do my best to cut the release and publish the wheels next week. And please do not hesitate to report that kind of issue. Hopefully that was the last one for the cppy update.
I cut and published the release and I strongly encourage all users to update ! I also audited all uses of function returning borrowed references and hopefully this was the last issue caused by the cppy migration.
conda package should show up later this week.
This fixes a bug identified in https://github.com/nucleic/enaml/pull/348, which boils down to a reference counting issue in declarative function that led to the deletion of the builtins dictionary.