Closed Bug 1491236 Opened 7 years ago Closed 7 years ago

Permafail of GTest on Linux 32-bit LulIntegration.unwind_consistency | Value of: nTestsPassed == nTests when Fx64 becomes beta on 2018-10-15

Categories

(Core :: Gecko Profiler, defect)

defect
Not set
normal

Tracking

()

VERIFIED FIXED
mozilla64
Tracking Status
firefox-esr60 --- unaffected
firefox62 --- unaffected
firefox63 --- unaffected
firefox64 + verified

People

(Reporter: aryx, Assigned: glandium)

References

Details

Attachments

(1 file)

central as beta simulation: https://treeherder.mozilla.org/#/jobs?repo=try&resultStatus=testfailed,busted,exception&revision=dabcb3ffcca482f2c99467a181f647dc92382d32&selectedJob=198875271 Log: https://treeherder.mozilla.org/logviewer.html#?job_id=198875271&repo=try [task 2018-09-12T14:34:34.964Z] 14:34:34 INFO - TEST-START | LulIntegration.unwind_consistency [task 2018-09-12T14:34:35.710Z] 14:34:35 WARNING - TEST-UNEXPECTED-FAIL | LulIntegration.unwind_consistency | Value of: nTestsPassed == nTests [task 2018-09-12T14:34:35.711Z] 14:34:35 INFO - Actual: false [task 2018-09-12T14:34:35.711Z] 14:34:35 INFO - Expected: true [task 2018-09-12T14:34:35.711Z] 14:34:35 INFO - Not all tests passed @ /builds/worker/workspace/build/src/tools/profiler/tests/gtest/LulTest.cpp:48 [task 2018-09-12T14:34:35.728Z] 14:34:35 WARNING - TEST-UNEXPECTED-FAIL | LulIntegration.unwind_consistency | test completed (time: 759ms)
Flags: needinfo?(mh+mozilla)
https://hg.mozilla.org/mozilla-central/annotate/645939049d7e41e634ab7a315ab99a422db080bf/tools/profiler/lul/LulMain.cpp#l1832 > // [...] This is all > // somewhat dubious in the sense that a sufficiently clever compiler > // (clang, for one) can figure out that space[] is unused and delete > // it from the frame. Hence the somewhat elaborate hoop jumping to > // fill it up before the call and to at least appear to use the > // value afterwards.
This is the same as bug 1480706, except we don't have frame pointers. The discovery back then is that while GCC defaults to emit eh_frame sections on x86, clang doesn't. Enabling the LUL frame pointer chasing code was enough on central because we have frame pointers there. But we don't have them on beta. So we need eh_frames.
Assignee: nobody → mh+mozilla
Flags: needinfo?(mh+mozilla)
We were already always enabling it on builds with frame pointers on Android. We now extend this to builds without frame pointers, helping with client-side stacktracing for crashes. It's also the default on many platforms, such as x86-64, whether frame pointer are enabled or not and on x86 with GCC. Somehow, it's not the case for x86 with clang, so this makes clang builds the same as GCC builds in that regard. On ARM, we were always omitting frame pointers because of a GCC bug, but we've not been using GCC for Android builds for a long time (and the GCC bug was actually fixed in 4.7 and backported to 4.6, making it fixed in all versions of GCC we support).
Comment on attachment 9009820 [details] Bug 1491236 - Always enable unwind tables on *nix Nathan Froyd [:froydnj] has approved the revision.
Attachment #9009820 - Flags: review+
Pushed by mh@glandium.org: https://hg.mozilla.org/integration/autoland/rev/303fb0953da3 Always enable unwind tables on *nix r=froydnj
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla64
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: