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 upAndroid crashes with "fatal runtime error: allocator memory exhausted" #20149
Comments
|
Running |
|
Interestingly, only release builds panic. Debug builds show the same pages without any issues. |
|
This is from mozilla.org:
|
|
And similarly from loading the default page in Servo:
|
|
I can reproduce this on my Pixel |
|
I can reproduce here as well. Looks like this: #11642 (comment) |
|
Any idea what could cause this? I'm trying to work on a ServoView for Android, and to get the scrolling performance right, I need a release build. |
|
The cause is the layout algorithm attempting to split a line and getting trapped in a loop where it keeps creating endless empty lines. |
|
This is a minimal testcase that reproduces the problem: <style>
div {
font-size: 3em;
}
</style>
<div>w wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww</div> |
|
There's something mysterious going on which makes me suspect a compiler bug. The difference in behaviour between desktop and mobile is that this code executes on desktop and successfully places the remainder of the fragment. On Android, that code is skipped because |
|
Smoking gun: changing the |
Don't OOM when laying out basic web pages on Android This is a workaround for the symptom described in #20149 (comment) which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change. <!-- 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/20390) <!-- Reviewable:end -->
|
Looks like it's fixed. |
…droid (from jdm:android-layout-workaround); r=emilio This is a workaround for the symptom described in servo/servo#20149 (comment) which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change. Source-Repo: https://github.com/servo/servo Source-Revision: eaf59ca9b9dc3bf31c95555b8d43a5d476bfd7f4 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : 5dab5a2d32d23a490ecebebfa0708b82fc51ce10
# This is the 1st commit message: resolved merge conflict # This is the commit message servo#2: getRandomValues uses ArrayBufferView now # This is the commit message servo#3: Workaround servo#20149 - presumed rustc bug on android. # This is the commit message servo#4: Update WR (accelerated webgl fix on mac, line decoration optimizations). # This is the commit message servo#5: build(mach): generate webrender revision via cargo lockfile
…droid (from jdm:android-layout-workaround); r=emilio This is a workaround for the symptom described in servo/servo#20149 (comment) which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change. Source-Repo: https://github.com/servo/servo Source-Revision: eaf59ca9b9dc3bf31c95555b8d43a5d476bfd7f4 UltraBlame original commit: d9ceec63383560a74df250e12a52b1fc019b0cd0
…droid (from jdm:android-layout-workaround); r=emilio This is a workaround for the symptom described in servo/servo#20149 (comment) which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change. Source-Repo: https://github.com/servo/servo Source-Revision: eaf59ca9b9dc3bf31c95555b8d43a5d476bfd7f4 UltraBlame original commit: d9ceec63383560a74df250e12a52b1fc019b0cd0
…droid (from jdm:android-layout-workaround); r=emilio This is a workaround for the symptom described in servo/servo#20149 (comment) which looks like either a standard library or compiler bug. My release android build can load all sorts of web pages as expected with this change. Source-Repo: https://github.com/servo/servo Source-Revision: eaf59ca9b9dc3bf31c95555b8d43a5d476bfd7f4 UltraBlame original commit: d9ceec63383560a74df250e12a52b1fc019b0cd0
When I open the Servo app on my Pixel, it crashes after partially displaying the Rust wikipedia page. Logcat shows: