Closed Bug 1355814 Opened 8 years ago Closed 8 years ago

stylo: Gecko_GetFontMetrics touches xpconnect off the main thread

Categories

(Core :: CSS Parsing and Computation, defect, P1)

defect

Tracking

()

RESOLVED DUPLICATE of bug 1356103
Tracking Status
firefox55 --- affected

People

(Reporter: froydnj, Assigned: manishearth)

References

Details

As seen in https://treeherder.mozilla.org/#/jobs?repo=try&revision=b10fecf7e5767cd076086ef3e35129341f3c1b2c in the opt jobs: INFO - REFTEST PROCESS-CRASH | file:///home/worker/workspace/build/tests/reftest/tests/layout/reftests/text-overflow/marker-string.html | application crashed [@ nsXPConnect::XPConnect] INFO - Crash dump filename: /tmp/tmprhEnqg.mozrunner/minidumps/1e0d255d-0e3d-0adb-15b4-2b13fc782e30.dmp INFO - Operating system: Linux INFO - 0.0.0 Linux 3.13.0-112-generic #159-Ubuntu SMP Fri Mar 3 15:26:07 UTC 2017 x86_64 INFO - CPU: amd64 INFO - family 6 model 62 stepping 4 INFO - 2 CPUs INFO - INFO - GPU: UNKNOWN INFO - INFO - Crash reason: SIGSEGV INFO - Crash address: 0x0 INFO - Process uptime: not available INFO - INFO - Thread 19 (crashed) INFO - 0 libxul.so!nsXPConnect::XPConnect [xpcprivate.h:b10fecf7e576 : 243 + 0x0] INFO - rax = 0x000000000061fd00 rdx = 0x00007fcea250dfb7 INFO - rcx = 0x000000004d00d084 rbx = 0x00007fce970c61f0 INFO - rsi = 0x00007fce96c59b90 rdi = 0x00007fcea3c8abe0 INFO - rbp = 0x00007fce941f76e0 rsp = 0x00007fce941f76e0 INFO - r8 = 0x0000000000000000 r9 = 0x0000000000000000 INFO - r10 = 0x000000000000007e r11 = 0x00007fceae462390 INFO - r12 = 0x0000000000000000 r13 = 0x00007fce941f7790 INFO - r14 = 0x00007fce941f7860 r15 = 0x00007fce941f7888 INFO - rip = 0x00007fce9ff6ca68 INFO - Found by: given as instruction pointer in context INFO - 1 libxul.so!XPCJSContext::Get [xpcprivate.h:b10fecf7e576 : 404 + 0x5] INFO - rbx = 0x00007fce970c61f0 rbp = 0x00007fce941f76f0 INFO - rsp = 0x00007fce941f76f0 r12 = 0x0000000000000000 INFO - r13 = 0x00007fce941f7790 r14 = 0x00007fce941f7860 INFO - r15 = 0x00007fce941f7888 rip = 0x00007fce9ff810c3 INFO - Found by: call frame info INFO - 2 libxul.so!xpc::PrivilegedJunkScope [XPCJSContext.cpp:b10fecf7e576 : 539 + 0x5] INFO - rbx = 0x00007fce970c61f0 rbp = 0x00007fce941f7700 INFO - rsp = 0x00007fce941f7700 r12 = 0x0000000000000000 INFO - r13 = 0x00007fce941f7790 r14 = 0x00007fce941f7860 INFO - r15 = 0x00007fce941f7888 rip = 0x00007fce9ff880eb INFO - Found by: call frame info INFO - 3 libxul.so!nsILoadContext::GetOriginAttributes [LoadContext.cpp:b10fecf7e576 : 19 + 0x5] INFO - rbx = 0x00007fce970c61f0 rbp = 0x00007fce941f7820 INFO - rsp = 0x00007fce941f7710 r12 = 0x0000000000000000 INFO - r13 = 0x00007fce941f7790 r14 = 0x00007fce941f7860 INFO - r15 = 0x00007fce941f7888 rip = 0x00007fcea16b6953 INFO - Found by: call frame info INFO - 4 libxul.so!mozilla::net::PredictorLearn [Predictor.cpp:b10fecf7e576 : 2284 + 0x8] INFO - rbx = 0x00007fce941f7888 rbp = 0x00007fce941f78e0 INFO - rsp = 0x00007fce941f7830 r12 = 0x00007fce96c0a8b0 INFO - r13 = 0x00007fce8417f030 r14 = 0x00007fce941f7860 INFO - r15 = 0x00007fce941f7868 rip = 0x00007fce9fa69b21 INFO - Found by: call frame info INFO - 5 libxul.so!mozilla::dom::FontFaceSet::StartLoad [FontFaceSet.cpp:b10fecf7e576 : 654 + 0x1c] INFO - rbx = 0x0000000000000000 rbp = 0x00007fce941f79f0 INFO - rsp = 0x00007fce941f78f0 r12 = 0x00007fce98f121a0 INFO - r13 = 0x00007fce941f7960 r14 = 0x00007fce84a142c0 INFO - r15 = 0x00007fce85e8d338 rip = 0x00007fcea0e7fd38 INFO - Found by: call frame info INFO - 6 libxul.so!gfxUserFontEntry::LoadNextSrc [gfxUserFontSet.cpp:b10fecf7e576 : 567 + 0xc] INFO - rbx = 0x00007fce9c1690e0 rbp = 0x00007fce941f7b40 INFO - rsp = 0x00007fce941f7a00 r12 = 0x00007fce85e8d338 INFO - r13 = 0x00007fce941f7a48 r14 = 0x0000000000000000 INFO - r15 = 0x00007fce941f7a50 rip = 0x00007fcea02143db INFO - Found by: call frame info INFO - 7 libxul.so!gfxFontGroup::GetFirstValidFont [gfxTextRun.cpp:b10fecf7e576 : 2020 + 0x8] INFO - rbx = 0x00007fce98f674f0 rbp = 0x00007fce941f7b90 INFO - rsp = 0x00007fce941f7b50 r12 = 0x00007fce98f14308 INFO - r13 = 0x00007fce9c1690e0 r14 = 0x0000000000000000 INFO - r15 = 0x00007fce8462d801 rip = 0x00007fcea021473e INFO - Found by: call frame info INFO - 8 libxul.so!nsFontMetrics::GetMetrics [nsFontMetrics.cpp:b10fecf7e576 : 169 + 0x6] INFO - rbx = 0x00007fce98f5e2c0 rbp = 0x00007fce941f7bc0 INFO - rsp = 0x00007fce941f7ba0 r12 = 0x0000000000000000 INFO - r13 = 0x0000000000000000 r14 = 0x00007fce98a982e0 INFO - r15 = 0x00007fce8462d800 rip = 0x00007fcea00cf867 INFO - Found by: call frame info INFO - 9 libxul.so!nsFontMetrics::XHeight [nsFontMetrics.cpp:b10fecf7e576 : 175 + 0x5] INFO - rbx = 0x00007fce98f5e2c0 rbp = 0x00007fce941f7be0 INFO - rsp = 0x00007fce941f7bd0 r12 = 0x00000000000003c0 INFO - r13 = 0x0000000000000000 r14 = 0x00007fce98a982e0 INFO - r15 = 0x00007fce8462d800 rip = 0x00007fcea00cf8f8 INFO - Found by: call frame info INFO - 10 libxul.so!Gecko_GetFontMetrics [ServoBindings.cpp:b10fecf7e576 : 1676 + 0x8] INFO - rbx = 0x00007fce98f5e2c0 rbp = 0x00007fce941f7c50 INFO - rsp = 0x00007fce941f7bf0 r12 = 0x00000000000003c0 INFO - r13 = 0x0000000000000000 r14 = 0x00007fce98a982e0 INFO - r15 = 0x00007fce8462d800 rip = 0x00007fcea0e7e3a1 INFO - Found by: call frame info INFO - 11 libxul.so!style::gecko::wrapper::{{impl}}::query [wrapper.rs:b10fecf7e576 : 479 + 0x9] INFO - rbx = 0x00007fce941f7c90 rbp = 0x00007fce941f7c70 INFO - rsp = 0x00007fce941f7c60 r12 = 0x00007fce941f7fa0 INFO - r13 = 0x00007fcea2a65978 r14 = 0x00007fce941f7d00 INFO - r15 = 0x00007fce941f8170 rip = 0x00007fcea23cf11b INFO - Found by: call frame info INFO - 12 libxul.so!style::values::specified::length::FontRelativeLength::to_computed_value [length.rs:b10fecf7e576 : 76 + 0x1d] INFO - rbx = 0x00000000000003c0 rbp = 0x00007fce941f7cb0 INFO - rsp = 0x00007fce941f7c80 r12 = 0x00007fce941f7fa0 INFO - r13 = 0x00007fcea2a65978 r14 = 0x00007fce941f7d00 INFO - r15 = 0x00007fce941f8170 rip = 0x00007fcea22de2f3 INFO - Found by: call frame info INFO - 13 libxul.so!style::properties::longhands::width::cascade_property::{{closure}} [length.rs:b10fecf7e576 : 27 + 0xa] INFO - rbx = 0x00007fce848bfa58 rbp = 0x00007fce941f7d00 INFO - rsp = 0x00007fce941f7cc0 r12 = 0x00007fce941f7fa0 INFO - r13 = 0x00007fcea2a65978 r14 = 0x00007fce941f7d58 INFO - r15 = 0x00007fce941f8170 rip = 0x00007fcea230ce2a INFO - Found by: call frame info INFO - 14 libxul.so!style::properties::longhands::width::cascade_property [lib.rs:b10fecf7e576 : 149 + 0x39] INFO - rbx = 0x00007fcea3c7a9f0 rbp = 0x00007fce941f7d90 INFO - rsp = 0x00007fce941f7d10 r12 = 0x00007fce941f7fa0 INFO - r13 = 0x00007fcea2a65978 r14 = 0x0000000b000c000d INFO - r15 = 0x00007fce941f8170 rip = 0x00007fcea22baf40 INFO - Found by: call frame info INFO - 15 libxul.so!style::properties::cascade [lib.rs:b10fecf7e576 : 149 + 0x33] INFO - rbx = 0x00007fcea3c7a9f0 rbp = 0x00007fce941f81d0 INFO - rsp = 0x00007fce941f7da0 r12 = 0x00007fce941f7fa0 INFO - r13 = 0x00007fcea2a65978 r14 = 0x0000000b000c000d INFO - r15 = 0x00007fce941f8170 rip = 0x00007fcea23ea3a3 INFO - Found by: call frame info INFO - 16 libxul.so!style::matching::PrivateMatchMethods::cascade_primary_or_pseudo<style::gecko::wrapper::GeckoElement> [matching.rs:b10fecf7e576 : 386 + 0x48] INFO - rbx = 0x00007fce941f8210 rbp = 0x00007fce941f8470 INFO - rsp = 0x00007fce941f81e0 r12 = 0x0000000000000000 INFO - r13 = 0x0000000000000000 r14 = 0x00007fce844c4cc8 INFO - r15 = 0x00007ffdfa963828 rip = 0x00007fcea23e430e INFO - Found by: call frame info INFO - 17 libxul.so!style::traversal::compute_style<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> [matching.rs:b10fecf7e576 : 1132 + 0x16] INFO - rbx = 0x00007fce941f8610 rbp = 0x00007fce941f8640 INFO - rsp = 0x00007fce941f8480 r12 = 0x00007fce98f262c8 INFO - r13 = 0x00007fce941f84e0 r14 = 0x00007fce941f8660 INFO - r15 = 0x00007fce867e2080 rip = 0x00007fcea23dd1b4 INFO - Found by: call frame info INFO - 18 libxul.so!style::gecko::traversal::{{impl}}::process_preorder [traversal.rs:b10fecf7e576 : 580 + 0xc] INFO - rbx = 0x00007fce98f262c0 rbp = 0x00007fce941f8740 INFO - rsp = 0x00007fce941f8650 r12 = 0x00007fce941f8838 INFO - r13 = 0x00007fce864c53e0 r14 = 0x00007fce98f262c8 INFO - r15 = 0x00007fce844a98e0 rip = 0x00007fcea23da37f INFO - Found by: call frame info INFO - 19 libxul.so!style::parallel::traverse_nodes<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> [parallel.rs:b10fecf7e576 : 115 + 0x16] INFO - rbx = 0x00007fce98f264c0 rbp = 0x00007fce941f88e0 INFO - rsp = 0x00007fce941f8750 r12 = 0x00007fce844a9978 INFO - r13 = 0x00007fce844a98e0 r14 = 0x00007fce864c53e0 INFO - r15 = 0x0000000000000008 rip = 0x00007fcea21da679 INFO - Found by: call frame info INFO - 20 libxul.so!style::parallel::traverse_nodes<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> [parallel.rs:b10fecf7e576 : 129 + 0x19] INFO - rbx = 0x00007fce98f1f078 rbp = 0x00007fce941f8a90 INFO - rsp = 0x00007fce941f88f0 r12 = 0x00007fce844a9978 INFO - r13 = 0x00007fce844a98e0 r14 = 0x0000000000000000 INFO - r15 = 0x0000000000000001 rip = 0x00007fcea21da929 INFO - Found by: call frame info INFO - 21 libxul.so!style::parallel::traverse_nodes<style::gecko::wrapper::GeckoElement,style::gecko::traversal::RecalcStyleOnly> [parallel.rs:b10fecf7e576 : 129 + 0x19] INFO - rbx = 0x00007fce864d4958 rbp = 0x00007fce941f8c40 INFO - rsp = 0x00007fce941f8aa0 r12 = 0x00007fce844a9978 INFO - r13 = 0x00007fce844a98e0 r14 = 0x0000000000000000 INFO - r15 = 0x0000000000000001 rip = 0x00007fcea21da929 INFO - Found by: call frame info INFO - 22 libxul.so!rayon::scope::scope<closure> [parallel.rs:b10fecf7e576 : 75 + 0x2c] INFO - rbx = 0x0000000000000001 rbp = 0x00007fce941f8d40 INFO - rsp = 0x00007fce941f8c50 r12 = 0x00007fce864d4950 INFO - r13 = 0x0000000000000001 r14 = 0x00007ffdfa963978 INFO - r15 = 0x00007fce941f8e08 rip = 0x00007fcea21d9b5c INFO - Found by: call frame info INFO - 23 libxul.so!rayon::job::{{impl}}::execute<rayon::latch::LockLatch,closure,()> [parallel.rs:b10fecf7e576 : 74 + 0x25] INFO - rbx = 0x00007ffdfa9638a0 rbp = 0x00007fce941f8db0 INFO - rsp = 0x00007fce941f8d50 r12 = 0x00007fce96c9dfb0 INFO - r13 = 0x00007fce96c9df80 r14 = 0x00007fce96c9dfa8 INFO - r15 = 0x00007fce98f03c00 rip = 0x00007fcea21d501b INFO - Found by: call frame info
Blocks: 1318187
This *may* have been addressed by bug 1316683. Will have to re-test.
Depends on: 1356103
Assignee: nobody → manishearth
Priority: -- → P1
Summary: stylo: parallel traversal touches xpconnect off the main thread → stylo: Gecko_GetFontMetrics touches xpconnect off the main thread
Being fixed in bug 1356103
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.