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 upLocked::read_with called with a guard from an unrelated SharedRwLock #16097
Comments
|
CC @SimonSapin |
|
It'd be nice to see what the |
|
I can see it too on http://natemat.pl: stack backtrace: It happens because elements are moved between documents. When Element is created its style_attributes are initialized with style_shared_lock from current document, but this is not updated when element is moved to another document (Node::set_owning_document is called). |
…elements between documents. Fixes servo#16097
|
This also occurs on http://thany.nl/apps/BoxShadows |
|
“Interesting” edge case: if I keep a reference to |
|
See my comment in #16125:
Of course, if you can move an element keeping a ref to its style attribute, the same restrictions also apply. Perhaps the best we can do is a lock per script-thread? Shouldn't be extremely hard I guess. |
|
That sounds reasonable to me. |
|
Could we move forward with this? It affects many of the nontrivial websites that I've tried to run in Servo. |
|
I’m working on a sort-of-revert now. (Reverting the behavior to per-process, but keeping most of the code.) |
Revert to per-process shared lock for author-origin stylesheets Fixes #16097 Reopens #16027 <!-- 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/16246) <!-- Reviewable:end -->
Revert to per-process shared lock for author-origin stylesheets Fixes #16097 Reopens #16027 <!-- 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/16246) <!-- Reviewable:end -->
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : c8b45f3883847d325c30ab9a95193a8eb530bc5c
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd
Fixes servo#16097 Reopens servo#16027
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd UltraBlame original commit: c2363a9e7d2f5a5e952a3f4e907d8210ea24e504
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd UltraBlame original commit: c2363a9e7d2f5a5e952a3f4e907d8210ea24e504
…igin stylesheets (from servo:revert-per-doc); r=jdm Fixes servo/servo#16097 Reopens servo/servo#16027 Source-Repo: https://github.com/servo/servo Source-Revision: b6b6608ca3a46113bb488e4da835b4ee743299fd UltraBlame original commit: c2363a9e7d2f5a5e952a3f4e907d8210ea24e504
I'm seeing this panic with Google Docs, after login with 2FA.
Blocks #13942