-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crashing on Mac Ventura 13.0 frequently #181
Comments
Thank you so much for the bug report and debug log! This helps a ton! I definitely noticed stability issues on different OS/platforms I test it on but I've had a hard time pinning down and recreating most of the issues. But to hear that it's crashing every 2-3 minutes is horrendous and something I'd love to fix- I also didn't realize there was a new major MacOS version (I think my only Mac laptop is maxed out w/ Monterey/12) so I'll need to look into that as being a factor that needs supporting. Going to read through the debug log, check out some of the dependencies to see if they have updated versions, and I'll post an update here if/when I find something. Also- so glad II is helping you with ECG interpretation! 😄 And if you get into any of the tough cardiology concepts (specific diseases and their morphology, axis alterations, etc.) and need some more good reading, I can point you to some of the resources I used when modeling the rhythms and waveforms. |
Pertinent portions of the debug log, notes for my future self:
... most up-to-date version ...
... crashed @ ~10 min of runtime 😞
... abort called from ??? ... ??? was called by .net CLR, at least 1 function called by CLR would be Avalonia as window manager... other threads have ~4-20 internal/??? calls in the stack trace... small # of function calls indicates either the abort was called by Avalonia for a window management exception, or the base function of an II (Infirmary Integrated) window or control... from memory, I don't remember implementing any exceptions being handled in window or control constructors... leading me to believe the exception is from the window management functionality. Before tossing blame on Avalonia, will read through the rest of the log.
Memory use consistent with stability tests on Windows 10, Linux (kernel ?), Mac 12... no obvious memory leaks/misuse. II 2.4.5-1 was compiled using Avalonia 0.10.7 ... very out of date ... need to try updating upstream packages, recompiling, then testing to recreate problem. |
Okay @greenfishgit22, I think I have an update ready for you. I've fixed what I think is the problem and compiled a new version. I updated the libraries that Infirmary uses to run on different platforms, and there were definitely updates that should improve stability on all platforms including MacOS. I tested the new build on my Windows, Linux, and Mac machines, but I only have MacOS Monterey, so I'm not sure if you'll have different results on Ventura. The new update for you is at https://github.com/tanjera/infirmary-integrated/releases/download/v2.4/infirmary-integrated-2.4.6-macos.tar.gz It'll probably be another day before I get the link up and running on the website, so I just wanted to share it here first. If you can just use that version and update me if it's fixed or if it still remains problematic, that would help a ton! Thank you so much! |
Hello sir, Very impressed by your prompt response and more importantly you managed to compile a new version so fast for me to try! I've noticed the crashes happens more frequently if i'm up and running 12-ECG in the background and in the same time reading a pdf/website browsing. The difference compared to the last time is that when the application crashes there's no log, because I have to "force-quit" the non responding application. Since i'm not a developer like yourself i'm not familar with all the terms used in software language. I think you guys call this a hard crash.
Update: I can see the ECG trace in grid mode, the full QRS complex then the whole app freezes. Update; holy jesus look at memory usage!!! >30GB <---------- I'm using macbook air m1 2020 model with ventura 13.0 Thank You :) |
I actually think this is progress... there may have been multiple problems causing crashes, and that may have fixed one and exposed another. On the bright side, your information that you provided (specifically the exorbitant memory usage) and that the program creeps to a halt are both signs of a memory leak. I'm just thankful you were able to pin it down to the 12-lead ECG. I'll have to do a bit of profiling and debugging and find and fix the memory leak. It'll probably take about a week with my current schedule to complete all that. In the meantime, a workaround worth trying would be to pause the 12 lead ECG. It's probably accruing memory usage while the tracings "draw" off-screen- using the "Pause Device" option should maybe stop that. Either way, it definitely needs fixing. Thank you so much for the update! |
Troubleshooting profiling notes: ~ 18 minute memory profiling with 12 lead ECG and cardiac monitor open; Visual Studio (Windows)
Next steps:
|
Take your time. It's no rush for me. Like you said if I pause the ECG it won't crash. I've attached 3 screenshots from htop running your application. Please let me know if you need any additional information from my side. Thanks again sir! Regards Oscar |
Recreated the crash experience that @greenfishgit22 was having, but it does present slightly differently from before. Might be because I am on macOS 12. Appears to be a memory overrun in SkiaSharp, a drawing library used by Avalonia for geometric drawings, which I indirectly use for creating the ECG tracings. The problem is definitely easy to recreate, and I notice significant performance issues when Infirmary is in the background (like @greenfishgit22 says, when tabbing to a different window to read, etc.)... leads me to think it may be the Avalonia window management functions with a bug versus an actual problem with SkiaSharp. Either way... it appears the problem is in the foundational libraries Infirmary is built on... so it's not a bug I can fix. Since I can't fix it, I'll think on ways I can mitigate the problem, maybe by refreshing controls or pausing tracings when in the background... but I don't know if it will be successful. Worth a try to attempt to circumvent the bug when I'm next able to. For now, will keep this issue open and tag it appropriately, but I won't hold up the development or release cycle because of it- I had been holding off on the next release in the hope I could fix this bug... but it will have to wait :(
|
Also wanted to thank you Oscar @greenfishgit22 for help in figuring out the full extent of the issue. While I don't think I can fix the heart of the problem, the fact that you said it doesn't crash if you pause it helps me to think I may be able to auto-pause when in the background, and that could circumvent it. So thank you for bringing the bug to my attention and helping me pin down the problem and possible solutions! |
May have to do with: Per issue thread, appears to be fixed (?) in Avalonia preview 4... not sure if this is true... can create a test build on the preview packages to try to replicate... don't recommend moving Infirmary to target preview releases though... bad idea. |
Hi! I had to create a new account due to login issues. I really hope you can resolve this issue. I've noticed the same "bug" or memory overrun also occurs with cardiac monitor if it's left running in the background. Really hope you can find a solution for this problem because your application is quite excellent. It's a treasure for an RN like my self or a physician going into cardiology. Let me know in the future if you need help with testing. Cheers //Oscar |
A couple of suggestions:
Thanks as always |
These are great suggestions! I will post them as issues so that I have a line item to-do list for when I am able to work on them in the future. Thank you for sharing the suggestions! |
I implemented some of the ideas you mentioned Issues. The only one I can't think of a way to properly implement would be |
By the way, thank you for the good ideas :) I definitely like them. I am currently swamped with work and school so I may have to wait for my next school break before I have a chance to work on these ideas. That's why I put them in as issues... so I could think about them and keep notes until I have a chance to program them. |
Reviving this issue because it appears to be wider-spread than initially thought. Also experiencing the same crashing on Linux, primarily with the 12-lead ECG and especially with the grid background. Doesn't appear to be strictly an issue with the drawing library- may be positioning or compositing issues with the image box re: red grid. Potential solutions:
|
Hi,
First of all a huge thank you for this excellent application. Been an rn for more than 2 years now. Finally broading my self into ECG interpretation. I find your application to be more than excellent for this purpose.
I've noticed on Ventura 13.0 the application is crashing every 2-3 minute in usage.
Here's a debug log: https://pastebin.pl/view/c88d2012
I'm just a user, if you need any additional information, please let me know.
Thank you again.
The text was updated successfully, but these errors were encountered: