You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This looks like the memory fault happened in the memory allocator (tcmalloc in your case) while it held some mutex. backward-cpp then tried to allocate memory (indirectly via the bfd library here), and tmcalloc dead-locked on the mutex.
The best solution is to make backward-cpp never allocated any memory. This is really hard to achieve in practice. First one would have to write a DWARF interpreter that never allocates, that's some serious work (this might exists already?).
Another solution is to spawn a "monitor" process before doing any serious work. When a fatal signal is raised, the monitored process communicates it to the monitor process, which then acts similar as a traditional debugger.
For what I understand Google breakpad is doing a combination of safe in-process dump generation + external process to process the dump. Its multi-plateform! Of course this is a bit more work to distribute/setup.
Here is the backtrace printed by gdb,
The text was updated successfully, but these errors were encountered: