Open Bug 1477340 Opened 6 years ago Updated 2 years ago

Sort out geckodriver brokenness on android-x86

Categories

(Firefox Build System :: General, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: ted, Unassigned)

References

(Depends on 1 open bug)

Details

Quoting myself from bug 1441656 comment 7:

(In reply to Ted Mielczarek [:ted] [:ted.mielczarek] from comment #7)
> With my patches from bug 1409276 I have this building on try:
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=3bccdf25dde25d20f63874bee5f2a5b24229ec66&selectedJob=1
> 88427910
> 
> Although it still breaks with the pthread_atfork issue on android-x86:
> https://treeherder.mozilla.org/logviewer.
> html#?job_id=188427859&repo=try&lineNumber=30154
> 
> It looks like the Rust standard library put in a workaround for this, but it
> only applies when the target contains "androideabi":
> https://github.com/rust-lang/rust/blob/
> 50702b28383c15907c29e8f70256cdd439800834/src/liballoc_jemalloc/build.rs#L142
> 
> ...so that doesn't quite cover "i686-linux-android". I guess we'll still
> need that local hack for android-x86.

I'm just going to --disable-geckodriver for android-x86 for now, if someone wants to fix this that's fine.
So, https://github.com/rust-lang/rust/commit/61e89446 seems to have deleted all of the jemalloc stuff from rust, which includes that workaround you mentioned. Does that mean they don't need that anymore for any platform with jemalloc gone?

I'm a bit confused about the current state of things. A search for "disable-geckodriver" only shows in-tree results for mingwclang on win32 and win64, and bug 1441656 is still open.

What would be involved in seeing what builds at this point?
Flags: needinfo?(ted)
I had originally rolled a patch for bug 1441656 into my patches on bug 1417646 but that got dropped along the way. To try out enabling geckodriver for Android builds you should just need to remove the Android check here:
https://dxr.mozilla.org/mozilla-central/rev/c2593a3058afdfeaac5c990e18794ee8257afe99/toolkit/moz.configure#928

I don't know if the jemalloc removal in rustc will fix the issues we were seeing, although it seems possible. It looks like that change will ship in Rust 1.32:
https://github.com/rust-lang/rust/issues/36963#issuecomment-445553110

...but you could presumably fiddle the toolchain definition for linux64-rust-android to use a nightly rustc to try it out:
https://dxr.mozilla.org/mozilla-central/rev/c2593a3058afdfeaac5c990e18794ee8257afe99/taskcluster/ci/toolchain/linux.yml#585-610

You can see the linux64-rust-nightly-macos toolchain right above that one for an example.
Flags: needinfo?(ted)
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.