[SERVER-46744] unittest debug symbols not uploaded to evergreen Created: 10/Mar/20 Updated: 29/Oct/23 Resolved: 17/Apr/20 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Testing Infrastructure |
| Affects Version/s: | None |
| Fix Version/s: | 4.4.0-rc2, 4.7.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Kevin Pulo | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Fixed | Votes: | 1 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Issue Links: |
|
||||||||||||||||||||||||
| Backwards Compatibility: | Fully Compatible | ||||||||||||||||||||||||
| Operating System: | ALL | ||||||||||||||||||||||||
| Backport Requested: |
v4.4
|
||||||||||||||||||||||||
| Sprint: | Dev Platform 2020-04-20 | ||||||||||||||||||||||||
| Participants: | |||||||||||||||||||||||||
| Linked BF Score: | 55 | ||||||||||||||||||||||||
| Description |
|
However, "gather failed unittests" does not expect to have to collect separate foo.debug files, which means that the uploaded unittest files contain only the stripped binary, and not the (now separate) debug symbols. This isn't great for debugging, since the debug symbols are almost always needed for unittests. Presumably the reason for adding --separate-debug, when switching to hygenic builds, was to avoid copying very large unittests binaries, and this concern is likely still valid. Therefore "gather failed unittests" should be updated to also grab the .debug files (which are likely still in the build tree, not the install tree). |
| Comments |
| Comment by Githook User [ 20/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Author: {'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}Message: | ||||||||||||||||||||||||||||||||
| Comment by Githook User [ 20/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Author: {'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}Message: (cherry picked from commit cfa89fbaf0b397f07d8f9c884a04776224b4e918) | ||||||||||||||||||||||||||||||||
| Comment by Githook User [ 17/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Author: {'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}Message: | ||||||||||||||||||||||||||||||||
| Comment by Githook User [ 17/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Author: {'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}Message: | ||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 07/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
kevin.pulo - The whole point of the hygienic builds program is to stop doing things like that, and let the build system ensure that the right files are in the right places, so I'd really prefer to leverage that, rather than make this already overly complex and fragile script worse. | ||||||||||||||||||||||||||||||||
| Comment by Kevin Pulo [ 07/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Can we not just use find to find them in the build tree, and grab them from there? eg. something like this:
| ||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 06/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Well, actually, it definitely doesn't work for PDBs because for the script to do anything you would need to run toolchain GDB, and that definitely doesn't exist on Windows. There is also no handling for dSYM. | ||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 06/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
And on some further reflection, I doubt this works for PDBs right now, since the execution directory will be build/install/bin, and since we haven't run install-unittests-debug, the PDB files won't have been copied up either. | ||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 06/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
Ah, I see. Actually we are just building install-unittests, not install-unittests-debug, which would be required to get the unit test debug symbols copied up to the install directory. The problem with this is that the debug information is massive, and this would effectively double the space required to build the unittests, which is already outrageous (hundreds of GB due to static linking). I will think a bit about what the right way to do this might look like. | ||||||||||||||||||||||||||||||||
| Comment by Andrew Morrow (Inactive) [ 06/Apr/20 ] | ||||||||||||||||||||||||||||||||
|
kevin.pulo - Actually the debug files should be being copied into the install directory, so this as easy as updating that "gather failed unittests" script to also look for .debug files or .dSYM files. |