[SERVER-54285] "Internal Error" message spam when printing libdep cycles Created: 04/Feb/21 Updated: 29/Oct/23 Resolved: 08/Mar/21 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Build |
| Affects Version/s: | None |
| Fix Version/s: | 4.9.0 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Mathias Stearn | Assignee: | Andrew Morrow (Inactive) |
| Resolution: | Fixed | Votes: | 0 |
| 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
|
||||
| Steps To Reproduce: | Build command: /usr/bin/python3 "./buildscripts/scons.py" "VARIANT_DIR=ninja" "--variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars" "--ninja" "generate-ninja" "ICECC=icecc" "CCACHE=ccache" "--link-model=dynamic" "--dbg" "--opt" "--linker=gold" "CCFLAGS=-gsplit-dwarf -fdiagnostics-color" |
||||
| Sprint: | Dev Platform 2021-02-22, Dev Platform 2021-03-08 | ||||
| Participants: | |||||
| Description |
This is just a sample, it goes on for many pages of this. |
| Comments |
| Comment by Githook User [ 05/Mar/21 ] | ||||||||||||
|
Author: {'name': 'Andrew Morrow', 'email': 'acm@mongodb.com', 'username': 'acmorrow'}Message: | ||||||||||||
| Comment by Daniel Moody [ 26/Feb/21 ] | ||||||||||||
|
We have decided to just bring over the singular fix for now, as opposed promoting next to stable because we have several issues we want to complete on next, and wait for SCons 4.1 update. | ||||||||||||
| Comment by Daniel Moody [ 25/Feb/21 ] | ||||||||||||
|
The excessive printing around dependency cycles appears to be fixed with --build-tools=next option. | ||||||||||||
| Comment by Daniel Moody [ 04/Feb/21 ] | ||||||||||||
|
Not much we can do as user of SCons since this is a SCons internal issue. I suppose we could catch the exception and strip out the extraneous info before re-emmiting? There are probably real no cycle cases though that you want that information. | ||||||||||||
| Comment by Daniel Moody [ 04/Feb/21 ] | ||||||||||||
|
Its not ninja specific. The no cycle means that some nodes never finished building, which can happen when there is a dependency cycle because SCons will never build the nodes that have the actual dependency cycle, so any nodes that depend on those never get built, and SCons runs out of tasks it can start on and finishes. Its extra information about which nodes were affected by your dependency cycle, but it is not very useful. | ||||||||||||
| Comment by Andrew Morrow (Inactive) [ 04/Feb/21 ] | ||||||||||||
|
Would be good to know if it does or does not repro without --ninja but with the deliberate cycle. The Ninja tool is pretty invasive, it is definitely possible that it has caused the taskmaster state to be in a bad place such that when it tries to do its cycle reporting, the expected information is just not there. We might need to override that behavior when Ninja is in play. | ||||||||||||
| Comment by Mathias Stearn [ 04/Feb/21 ] | ||||||||||||
|
And this seems to be the minimal set of flags to repro with: python3 buildscripts/scons.py --variables-files=etc/scons/mongodbtoolchain_stable_gcc.vars --link-model=dynamic --ninja | ||||||||||||
| Comment by Mathias Stearn [ 04/Feb/21 ] | ||||||||||||
|
Weirdly it seems to only do it for some cycles. Here is a patch that causes it on top of clean master (efbacd78d539c761e3af82e66f0e7ac7c9247d65):
| ||||||||||||
| Comment by Andrew Morrow (Inactive) [ 04/Feb/21 ] | ||||||||||||
|
Yeah, I've seen this happen before too when a cycle really existed. I agree it would be nice if it didn't happen; the error is definitely confusing. | ||||||||||||
| Comment by Mathias Stearn [ 04/Feb/21 ] | ||||||||||||
|
I am forked off at 8baad6fdb799b24bbc999089773698a10bfeaecc. This is on a virtual workstation if that matters. I'll see if I can repro with a clean checkout modified only to have a cycle. | ||||||||||||
| Comment by Daniel Moody [ 04/Feb/21 ] | ||||||||||||
|
I could not reproduce on master (4abad9089912ff62e492923cafd2315412f6600b), what commit are you on? |