Closed Bug 1449131 Opened 7 years ago Closed 7 years ago

Win64 CFI unwind tests failing on clang build, writing to uncommitted memory

Categories

(Toolkit :: Crash Reporting, defect)

x86_64
Windows
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla61
Tracking Status
firefox61 --- fixed

People

(Reporter: ccorcoran, Assigned: ccorcoran)

References

Details

Attachments

(1 file)

For tests such as https://searchfox.org/mozilla-central/rev/49cc27555d5b7ed2eb06baf156693dd578daa06f/toolkit/crashreporter/test/win64UnwindInfoTests.asm#262 the caller must ensure enough stack space in committed. This is done in: https://searchfox.org/mozilla-central/rev/49cc27555d5b7ed2eb06baf156693dd578daa06f/toolkit/crashreporter/test/nsTestCrasher.cpp#113 Here, the code is being optimized away by clang; mozilla::Unused is not enough. Working on a patch now to ensure we commit this stack space.
Great find!
Comment on attachment 8962715 [details] Bug 1449131: Ensure stack memory is being committed for use in win64 unwind CFI tests; https://reviewboard.mozilla.org/r/231584/#review237116 ::: toolkit/crashreporter/test/nsTestCrasher.cpp:116 (Diff revision 1) > } > > -void ReserveStack() { > - // This ensures our tests have enough reserved stack space. > - uint8_t* p = (uint8_t*)alloca(1024000); > - // This ensures we don't optimized away this meaningless code at build time. > +// This ensures tests have enough committed stack space. > +// Must not be inlined, or the stack space would not be freed for the caller > +// to use. > +void MOZ_HAVE_NEVER_INLINE ReserveStack() { This should be MOZ_NEVER_INLINE. The _HAVE_ stuff is just for use by the header's internal ifdef logic. Let's chat if that didn't work for some reason.
Attachment #8962715 - Flags: review?(dmajor) → review+
Keywords: checkin-needed
Pushed by ryanvm@gmail.com: https://hg.mozilla.org/integration/autoland/rev/e0e2463d86c6 Ensure stack memory is being committed for use in win64 unwind CFI tests; r=dmajor
Keywords: checkin-needed
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla61
Depends on: 1449392
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: