Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upMultiple LayoutWorker-panics on Android release-build #12303
Comments
|
I'm noticing that there are 6 layout worker threads here - so this is an 8 core machine? We may just have a race condition here that hasn't been exhibited because we really don't almost ever run on machines with more than 4 cores. Can you try it passing a different Obv. we need to fix this potential race, as it's Bad News :-) |
|
Yes, the Nexus 6P is a heterogeneous 8-core machine. Hmm, it seem like the thread-panicks still exist when I specify 2 and 4 threads for layout :/
|
|
adb logcat message of a thread-panic on the release Android build:
ndk-gdb backtrace of the thread-panic:
|
|
I was surprised to learn that the in-process ipc-channel implementation uses RefCell in OsIpcSender - https://github.com/servo/ipc-channel/blob/master/platform/inprocess/mod.rs#L139 . That being said, it's not clear to me where the sender would be mutable borrowed at the same time... |
|
I wonder if the issue is that we have |
|
@rzambre See if building with servo/ipc-channel#89 improves the situation? |
|
servo/ipc-channel#89 fixes the LayoutWorker-panics :) Closing this issue. |
|
Please reopen this issue: the PR that supposedly fixes it hasn't even landed in |
Update ipc-channel - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12303 - [X] These changes do not require tests because we don't run automated tests on the platforms this affects <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12545) <!-- Reviewable:end -->
Host: OS X 10.11.5
Device: Nexus 6P
I used the following commands:
I also did the same using the android_params file under /sdcard/servo/ but I'm seeing the same errors.
Urls played with:
Sample error message:
Sometimes just before forcibly terminating Servo on the device (through the touch interface) I get this error message:
The backtrace information spitted out with RUST_BACKTRACE=1 is incomprehensible (even with the debug build) since it is all hex values.
Output of
adb logcatfor./mach run --android -p -x https://www.twitter.com: https://pastebin.mozilla.org/8882118Output of
adb logcatfor./mach run --android -p 2 https://www.twitter.com: https://pastebin.mozilla.org/8882120Do these output messages help on what might be going wrong in the Android release-builds?