Bug: Segfault in notifier thread PING
Closed this issue ยท 9 comments
Segfault in notifier thread
Note also the [GC]
cleanout. Why does it suddenly see outdated local data for >600 seconds!?
Affected/triggering line:
Also a little more context:
- client run about half an hour
- connected where 30 bots
- The terminal reported callsign in LCL-State was slow to change. Without clients its crisp fast.
@Krzmbrzl
Sorry! to bother again.
I'm a little confused. That code did work for a longer time, and now it segaults sporadically.
Am I checking wrongly for error?
I recently made some changes to how the synchronization of API calls works. It seems that this is probably responsible for the segfault you are seeing. The only issue is: I don't understand why it would segfault...
EDIT: Actually after having stared at the code for a while I might have found a problem with it. It doesn't seem to explain why the Segfault would happen at the position it did but then again C++ can be a bit weird when it comes to where the error actually causes a crash. I'll create a PR with the fix and then you can test against that build to see if the issue persists :)
Robert, again, you are my hero.
I can't express how thankful I am that you aren't annoyed of me yet. I am feeling shame that I don't grasp C/C++ things better by now. Those bugs I always seem to dig out are so hard to reproduce and see and get an Idea of what's going on. It feels a lot like fishing in gloomy waters.
And I'm sorry, that I cause you so much trouble.
Note however that if this is indeed the cause of the issue, then it seems that your plugin has produced a deadlock again (which thanks to the new mechanic will not result in an actual deadlock though but instead returns after some time with a timeout error code).
Thus if the crash is fixed by this, you should search for timeout error codes being returned to you.
Robert, again, you are my hero.
I can't express how thankful I am that you aren't annoyed of me yet. I am feeling shame that I don't grasp C/C++ things better by now. Those bugs I always seem to dig out are so hard to reproduce and see and get an Idea of what's going on. It feels a lot like fishing in gloomy waters.
And I'm sorry, that I cause you so much trouble.
Thanks for the kind words ๐
Don't feel troubled asking things like this though. First of all you have been and continue to be a huge contribution in making the plugin API more stable and usable thanks to your continuous tests and reports. And secondly: C++ is a bitch and it took me quite some time to get to where I am now in terms of proficiency with this language and still I quite often look at my screen without the slightest idea what is going on - so this is nothing to be ashamed about ๐
So in that sense: Please keep "troubling" me so that in the end the plugin API will end up being as good as it can be :D
That was a huge relieve to read.
Thank you :D <3
Just tested a little. All went good until the GUI hang again (still with my last mumble checkout, so not your fixes yet).
It hang with disabled GarbageCollector, so that was not the main cause.
Seems to be fixed by mumble-voip/mumble#5188