Opened 10 years ago
Closed 10 years ago
#11204 closed bug (fixed)
[Debugger] crashes in UiUtils::FunctionNameForFrame ()
Reported by: | diver | Owned by: | anevilyak |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | Applications/Debugger | Version: | R1/Development |
Keywords: | Cc: | bonefish | |
Blocked By: | Blocking: | ||
Platform: | All |
Description
I started top
in the Terminal and when it crashed I clicked Save debug report which also crashed.
Attachments (1)
Change History (3)
by , 10 years ago
Attachment: | Debugger-774-debug-31-08-2014-06-45-19.report added |
---|
comment:1 by , 10 years ago
Cc: | added |
---|
comment:2 by , 10 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Hopefully fixed in hrev47824. Please reopen if seen again.
Note:
See TracTickets
for help on using tickets.
Right now I'm not entirely certain as to what to make of this one. If I'm reading the disassembly correctly, the crash appears to occur around http://cgit.haiku-os.org/haiku/tree/src/apps/debugger/user_interface/util/UiUtils.cpp#n113 . However, I see nothing obviously wrong with how things are being handled there. Looking further up the stack, The only potential problem I see is that http://cgit.haiku-os.org/haiku/tree/src/apps/debugger/controllers/DebugReportGenerator.cpp#n476 can potentially exit the initial loop without reacquiring the team lock if it's interrupted while acquiring the team data semaphore, but then successfully gets the stack trace immediately after said continue.
In that case, it would retrieve the statement corresponding to the IP from the team without having the team locked, which I suppose could possibly lead to one or the other of the pointers being passed into FunctionNameForFrame() being invalid, but I'm uncertain. A second pair of eyes would be helpful.