32-bit ARM Linux builds FATAL on startup via is_lock_free CHECK() in persistent_memory_allocator.cc
Reported by
micah.ti...@beechwoods.com,
Feb 21 2017
|
||
Issue description
Chrome Version :
OS Version:
URLs (if applicable) :
Other browsers tested:
Add OK or FAIL after other browsers where you have tested this issue:
Safari 5:
Firefox 4.x:
IE 7/8/9:
What steps will reproduce the problem?
1. Compile or download a recent 32-bit ARM Linux build.
2. Run it on a 32-bit ARM Linux platform.
3. Enjoy the FATAL.
What is the expected result?
A running browser instance.
What happens instead of that?
A log FATAL.
Please provide any additional information below. Attach a screenshot if
possible.
I'd been trying to get a 32-bit ARM Linux build working last week, and encountering this problem with my own builds. Asking about it in the Chromium development IRC channel, I was told my build environment was likely "jacked." As such, I tried to eliminate variables on my end, one by one, though I was starting with a rather vanilla build environment in the first place. After a few days of that, I again asked in the IRC channel, this time as to whether 32-bit ARM Linux had any coverage in the waterfall. The great and wonderful thakis took pity on me and directed me to https://build.chromium.org/p/chromium.fyi/builders/Linux%20ARM?numbuilds=200 . After walking a few hundred builds back from the tip, I've yet to find a single one that was marked good. Every build I checked that was marked as broken had failed on this same issue. All that I checked which were marked as exceptions had failed to run the relevant test by way of a lack of sufficient resources.
The related code change appears to be 34ae4983, committed on 2016/01/20, though, given the nature of the beast, the actual breakage is likely to be coming from whatever is implementing the is_lock_free for the related types in the current build process - which I have yet to track down sufficiently as I am relatively new to Chromium. If there are records back beyond the last 1000 builds for the platform, I suspect those might be rather useful.
As for the dump itself, any recent red build should suffice.
For example: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fchromium.fyi%2FLinux_ARM%2F34610%2F%2B%2F%2A%2A%2Fstdout&s=chromium%2Fbb%2Fchromium.fyi%2FLinux_ARM%2F34610%2F%2B%2F%2A%2A%2Fstderr
Once that's loaded, a quick search for "is_lock_free" should provide you with the trace.
I realize this is likely to be an exceptionally low priority, but it's probably better to log a bug and have it be ignored than to let something slip through the cracks, as such things sometimes suddenly matter later.
Cheers.
UserAgentString:
,
Feb 23 2017
I spoke with Tim Northover who handles ARM support in clang last night (2017/02/22), and he's looking into this as a clang bug, pertaining to the way void's alignment is handled in the lock free check code. He assured me that, until a fix is available, the checked operations would actually be lock free on ARM v7, if anyone cares.
,
Feb 27 2017
To update further, the underlying issue now has a bug in the tracker for LLVM: https://bugs.llvm.org/show_bug.cgi?id=32064
,
Feb 27 2018
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue. For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot |
||
►
Sign in to add a comment |
||
Comment 1 by ajha@chromium.org
, Feb 22 2017Labels: TE-NeedsTriageHelp