This is an archive of the discontinued LLVM Phabricator instance.

msan: disble CHECK test on powerpc64
ClosedPublic

Authored by dvyukov on Oct 25 2021, 7:36 AM.

Details

Summary

It seems that CHECK terminates the process with 0 status on powerpc64:
https://reviews.llvm.org/D112440#3084251
Disable the test for now.

Diff Detail

Event Timeline

dvyukov created this revision.Oct 25 2021, 7:36 AM
dvyukov requested review of this revision.Oct 25 2021, 7:36 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 25 2021, 7:36 AM
Herald added a subscriber: Restricted Project. · View Herald Transcript

This sucks. But this allows to move incrementally rather than not move at all (reverting all commits failed on one of the OSes/arches).

melver added inline comments.Oct 25 2021, 7:39 AM
compiler-rt/test/msan/check-handler.cpp
7

It seems that the change is a regression on PPC.

Can we instead not do "Trap()" on PPC, with a comment to get it fixed on PPC?

I don't think anybody will investigate this any time soon.

dvyukov updated this revision to Diff 382043.Oct 25 2021, 10:33 AM

revert the trap instead

melver accepted this revision.Oct 25 2021, 10:36 AM

revert the trap instead

This is unfortunate, but probably the right thing for now until someone can explain why PPC is being weird about Trap().

This revision is now accepted and ready to land.Oct 25 2021, 10:36 AM
dvyukov added inline comments.Oct 25 2021, 10:36 AM
compiler-rt/test/msan/check-handler.cpp
7

This is likely to be true.

I am going to revert the trap instead.
I've found it also fails on x86 (works if I run a stand-alone binary manually, but fails as part of 'ninja check-msan'). It would be good to figure out what happens, but I don't have time right now and don't want to leave broken bots. Anyway, it's just a debugging aid.

This revision was landed with ongoing or failed builds.Oct 25 2021, 10:38 AM
This revision was automatically updated to reflect the committed changes.

Yikes, I had a proper revert commit locally, but 'arc' landed it with the previous subject/description...

Just out of curiosity, what does the test case expect? I see mention of Trap() causing a zero vs. non-zero exit code. I don't really follow that since a trap is a void function that doesn't return. But I suppose this is referring to the exit code from the program which I imagine will be something like SIGABRT. Should the invocation of not in the test case just have --crash?