Debugging an evil Go runtime bug
31–40 of 51 posts
Re: Debugging an evil Go runtime bug
#32Setting up for a 104 byte stack seems pretty crazy, wouldn't you risk overrunning the red zone even without all that stack probing? https://en.wikipedia.org/wiki/Red_zone_(computing)
Re: Debugging an evil Go runtime bug
#33> I tried setting GOMAXPROCS=1, which tells Go to only use a single OS-level thread to run Go code. This also stopped the crashes, again pointing strongly to a concurrency issue.
I think I would have stopped there.
Re: Debugging an evil Go runtime bug
#34Turns out somebody else did, too: https://twitter.com/bcantrill/status/774290166164754433?lang...
/edit: spelling
Re: Debugging an evil Go runtime bug
#35Wow, these are some serious debugging skills. I also admire the tenacity and the will to investigate the root cause. > I tried setting GOMAXPROCS=1, which tells Go to only use a single OS-level thread to run Go code. This also stopped the crashes, again pointing strongly to a concurrency issue. I think I would have stopped there.
Re: Debugging an evil Go runtime bug
#36Re: Debugging an evil Go runtime bug
#37Re: Debugging an evil Go runtime bug
#38Re: Debugging an evil Go runtime bug
#39Earlier quoted context omitted.
That was Captain Ahab level persistence. I wonder how long it took him.
I was one of the spectators on the Prometheus thread. It took him 2 days. It was insane.
Re: Debugging an evil Go runtime bug
#40Setting up for a 104 byte stack seems pretty crazy, wouldn't you risk overrunning the red zone even without all that stack probing? https://en.wikipedia.org/wiki/Red_zone_(computing)
The redzone is only non-explicit stack and only really matters if you violate it. If vDSO allocates stack properly, which it should considering it's an exported function, there is no problem.