-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Internal Code Merge and update branding to 5.0.3 #46888
Conversation
Anipik
commented
Jan 12, 2021
- Internal Code Merge
- Update Branding to 5.0.3
- Update PackageIndex
- Remove building of shipped packages
Tagging subscribers to this area: @safern, @ViktorHofer Issue Details
|
@akoeplinger can you take a look at the mono failure here ? |
@Anipik hmm there's no Mono-specifics at that point, it should be identical to CoreCLR. I do see that the projects it complains about missing are indeed disabled on Mono:
Not sure why/how that could be triggered due to this PR though. |
@akoeplinger any suggestions on fixing this ? |
Raw log from the Unzip native test artifacts step just before this failing Copy native test components to test output folder step In there I see .dylib files being extracted for other test libraries, but not for these four. Now if I look in the CoreCLR native test builds, I see them being built for Debug but not for Release |
The release build seems to have failed here (silently)
whereas on debug it did not. |
It seems this error can mean that the system is asked to execute a binary that was built for a different architecture, but perhaps that's not the only possibility. More (?) importantly, why did the build step not fail as a whole? See it failed even though make returned error 2:
|
I do not know how to continue investigation as I'm not familiar with how cmake works/our makefiles. |
Hmm yeah the build step not failing even though there's an error is concerning. |
It seems like somehow we're loosing the last exit code: runtime/src/coreclr/build-test.sh Line 747 in 17fc554
|
If we had an idea how to generate that message, probably you could easily track down where the error code went. But I do not - if the linker itself was corrupted, I would imagine the other libraries would fail to build. is there anything special these 4 have in common? or perhaps there is a race condition that only affected them - something getting overwritten? |
Actually this is where we lost the exit code: runtime/src/coreclr/build-test.sh Line 374 in 17fc554
And that's why I can see this executed because of this message print in the logs: runtime/eng/native/build-commons.sh Line 78 in 17fc554
So it seems like build_native didn't return a failing exit code here: runtime/eng/native/build-commons.sh Line 197 in 17fc554
|
Which presumably means that Question remains what |
Might it be interesting to pull down the payload (that the test step is extracting from) -- it contains the cmake files for each library? |
In that case I think @trylek or @jkoritzinsky could point us towards the right direction on how to try and repro this with what we have from the build to figure out what's swallowing the exit code |
runtime/eng/native/build-commons.sh Line 187 in 17fc554
seems to be missing the error check bit we now have in the equivalent place runtime/eng/native/build-commons.sh Line 200 in 6ded57b
|
Aha - yes, that's necessary because the next line
This is not the case on Windows. Any way we could search for any other such places to fix? |
Ah right. Thanks @trylek I totally missed that setting vars resets the exit code 😄 |
would it make sense to merge this branding PR and create an issue to track this failure ? this will help us make progress on merging the servicing approved changes. |
Yeah, however it would be good to actually add this: runtime/eng/native/build-commons.sh Line 200 in 6ded57b
|
For "other places to fix", we have some that Jarret collected based on developer reports in I'm not sure if I see any easy way to auto-scan the scripts for swallowed error codes like this. |
i will cherry-pick and push |
When native build fails, handle exit code properly by checking it immediately after cmake is called
The only failure is this on Mono: probably not worth logging/investigating unless it reoccurs, since this is a servicing branch.
|
@Anipik mergeable? |
yes we can merge this one. waiting for a review cc @safern @ViktorHofer @ericstj @aik-jahoda for a review ? |