aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlhrelement.rs
diff options
context:
space:
mode:
authorbors-servo <infra@servo.org>2023-05-26 17:23:08 +0200
committerGitHub <noreply@github.com>2023-05-26 17:23:08 +0200
commitae23298403cd5ebcade7b3e6b1a0ce162ffecd1e (patch)
tree5c0523f8acb912f3c36afc3df8904892e1415f59 /components/script/dom/htmlhrelement.rs
parentcd3bf5b5298535d6f63afc80c3b78f9ba629602c (diff)
parent17238b56a1634e4d26ca1ff761ce54a3fcaa32f0 (diff)
downloadservo-ae23298403cd5ebcade7b3e6b1a0ce162ffecd1e.tar.gz
servo-ae23298403cd5ebcade7b3e6b1a0ce162ffecd1e.zip
Auto merge of #29792 - mukilan:fix-layout-2020-crashes, r=mrobinson
Fix layout 2020 crashes <!-- Please describe your changes on the following line: --> This PR contains (temporary) fixes for two issues discovered in layout-2020. 1. servo crashing due to 'already mutably borrowed' error when loading 'https://mozdevs.github.io/servo-experiments/experiments/bookshelf/' 2. Dev builds crashing when loading servo.org, but not in release mode. For the first issue, when rendering a page containing an iframe, layout 2020 creates parallel 'Layout' threads which share workers in the stylo thread pool. Because of the way the 'StyleSharingCache' structures are designed using TLS for storage of LRU cache, this leads to a double borrow of the cache when both layout threads run concurrently. More details about the issue can be found here: https://gist.github.com/mukilan/ed57eb61b83237a05fbf6360ec5e33b0 This PR is a workaround until we find a more elegant/optimal design that also can work for gecko. The fix for now is simply to not allow multiple layouts in parallel. For the second issue, it seems like the style pool threads overrun their allocated stack space more quickly in debug mode than in release mode. Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1376883 it seems the stack size was chosen after several experiments. It is possible the results of those experiments are no longer valid. The temporary workaround is to increase the stack size of the worker threads to avoid layout 2020 builds from crashing when servo.org is loaded, until we can confirm the theory and implement a more robust solution. --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: --> - [x] `./mach build -d` does not report any errors - [x] `./mach test-tidy` does not report any errors - [ ] These changes fix #___ (GitHub issue number if applicable) <!-- Either: --> - [ ] There are tests for these changes OR - [x] These changes do not require tests because they fix crashing behaviour <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
Diffstat (limited to 'components/script/dom/htmlhrelement.rs')
0 files changed, 0 insertions, 0 deletions