Linux32 crash symbols missing at least in mochitests
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox66 fixed)
Tracking | Status | |
---|---|---|
firefox66 | --- | fixed |
People
(Reporter: NarcisB, Assigned: gsvelto)
References
Details
Attachments
(1 file, 1 obsolete file)
(deleted),
text/x-phabricator-request
|
Details |
Comment 2•6 years ago
|
||
Assignee | ||
Comment 4•6 years ago
|
||
Assignee | ||
Comment 5•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment 6•6 years ago
|
||
Comment 7•6 years ago
|
||
Assignee | ||
Updated•6 years ago
|
Comment hidden (Intermittent Failures Robot) |
Updated•6 years ago
|
Comment 9•6 years ago
|
||
Comment 10•6 years ago
|
||
Updated•6 years ago
|
Assignee | ||
Comment 11•6 years ago
|
||
Comment 12•6 years ago
|
||
Comment 13•6 years ago
|
||
Assignee | ||
Comment 14•6 years ago
|
||
Comment 15•6 years ago
|
||
Comment 16•6 years ago
|
||
Comment 17•6 years ago
|
||
(In reply to Ted Mielczarek [:ted] [:ted.mielczarek] from comment #16)
The Linux dump writing code does all sorts of fiddling with the list of
mappings, so we could absolutely filter out stuff that's not useful:
https://dxr.mozilla.org/mozilla-central/rev/
c2593a3058afdfeaac5c990e18794ee8257afe99/toolkit/crashreporter/breakpad-
client/linux/minidump_writer/linux_dumper.cc#575
If I'm following that correctly, it merges adjacent mappings from the same file, and tracks whether any of those mappings was executable… but does Breakpad ever need to do anything with non-executable segments?
In any case, for code that isn't actually a library or executable, MappingInfo::exec
should always be false, and vice versa.
Comment 18•6 years ago
|
||
No, Breakpad has no need for non-executable segments.
Comment 19•6 years ago
|
||
(In reply to Ted Mielczarek [:ted] [:ted.mielczarek] from comment #18)
No, Breakpad has no need for non-executable segments.
... And yet, they are included in crash reports as modules.
Assignee | ||
Comment 20•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #19)
... And yet, they are included in crash reports as modules.
I'm on PTO this week but I'll resume work on this ASAP. The starting point as we had discussed is to fork breakpad for good and do all the adjustments we need to fix our short-term pain-points. I would also like to fix this issue as quickly as possible. I've got patches to build minidump_stackwalker as a host tool, Mike can you attach your changes so that I can integrate them? What I still need to do is adjust our automation script to pick up the host tool instead of using tooltool but that shouldn't be too hard.
Comment 21•6 years ago
|
||
I've got patches to build minidump_stackwalker as a host tool
That's not enough. Because the host is not necessarily where it's going to run. For one, minidump_stackwalk doesn't build on Windows, so windows builds need one built with mingw. And mac tests need a native mac one, but the host for mac builds is linux. Which is why I went with separate jobs to build minidump_stackwalk. Which should all be landed by the time you're back from PTO.
In any case, minidump_stackwalk is not involved in putting modules in minidumps.
Assignee | ||
Comment 22•6 years ago
|
||
(In reply to Mike Hommey [:glandium] from comment #21)
That's not enough. Because the host is not necessarily where it's going to run. For one, minidump_stackwalk doesn't build on Windows, so windows builds need one built with mingw. And mac tests need a native mac one, but the host for mac builds is linux. Which is why I went with separate jobs to build minidump_stackwalk. Which should all be landed by the time you're back from PTO.
That's nasty.
In any case, minidump_stackwalk is not involved in putting modules in minidumps.
You're right, I was still stuck on the idea of increasing the maximum number of modules allowed by the tool but it's much easier to trim down the module list when generating the dump. I'll hack the client code ASAP to do that.
Assignee | ||
Comment 23•6 years ago
|
||
OK, I've got a patch that removes the shared memory segments from the module list which seems to be working correctly. Getting rid of all the non-executable modules doesn't work because it messes up Breakpad's stack scanning logic. That logic should never be looking at pointers within an IPC shared segment so not having those modules shouldn't be a problem.
Assignee | ||
Comment 24•6 years ago
|
||
Comment 25•6 years ago
|
||
Comment 26•6 years ago
|
||
bugherder |
Comment 27•6 years ago
|
||
For reference, I've made some notes about future changes that will need adjustments to the path filtering (bug 1426526 comment #2, bug 1440203 comment #6).
Description
•