New issue
Advanced search Search tips

Issue 694704 link

Starred by 4 users

Issue metadata

Status: Archived
Owner: ----
Closed: Feb 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug



Sign in to add a comment

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:




 

Comment 1 by ajha@chromium.org, Feb 22 2017

Components: Build
Labels: TE-NeedsTriageHelp
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.
To update further, the underlying issue now has a bug in the tracker for LLVM: https://bugs.llvm.org/show_bug.cgi?id=32064
Project Member

Comment 4 by sheriffbot@chromium.org, Feb 27 2018

Status: Archived (was: Unconfirmed)
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