Closed Bug 1607553 Opened 4 years ago Closed 4 years ago

Intermittent toolkit/content/tests/browser/browser_datetime_datepicker.js | application crashed [@ RustMozCrash(char const*, int, char const*)] -> xul.dll!style::rule_tree::{{impl}}::drop(style::rule_tree::StrongRuleNode

Categories

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

defect

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox-esr68 --- wontfix
firefox73 --- wontfix
firefox74 --- wontfix
firefox75 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: emilio)

References

Details

(Keywords: crash, intermittent-failure)

Crash Data

Attachments

(3 files)

Filed by: ncsoregi [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=283869408&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/OOZjZll0QhG5-2LUdjjqJw/runs/0/artifacts/public/logs/live_backing.log


[task 2020-01-07T18:46:22.131Z] 18:46:22 INFO - GECKO(9192) | Hit MOZ_CRASH(assertion failed: node.children.read().is_empty()) at servo\components\style\rule_tree\mod.rs:1722
[task 2020-01-07T18:46:22.386Z] 18:46:22 INFO - GECKO(9192) | [RDD 9660, Main Thread] WARNING: Shutting down RDD proceExiting due to channel error.
[task 2020-01-07T18:46:22.386Z] 18:46:22 INFO - GECKO(9192) | ss early due to a crash!: file z:/build/build/src/dom/media/ipc/RDDParent.cpp, line 199
[task 2020-01-07T18:46:22.387Z] 18:46:22 INFO - GECKO(9192) | [GPU 7788, Main Thread] WARNING: Shutting down GPU process early due to a crash!: file z:/build/build/src/gfx/ipc/GPUParent.cpp, line 517
[task 2020-01-07T18:46:22.387Z] 18:46:22 INFO - GECKO(9192) | Exiting due to channel error.
[task 2020-01-07T18:46:22.499Z] 18:46:22 INFO - TEST-INFO | Main app process: exit 1
...
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - PROCESS-CRASH | toolkit/content/tests/browser/browser_datetime_datepicker.js | application crashed [@ RustMozCrash(char const*, int, char const*)]
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - Crash dump filename: c:\users\task_1578419227\appdata\local\temp\tmpcw_cce.mozrunner\minidumps\96d6cb5b-f028-4dac-81d4-d64ba94f9a35.dmp
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - Operating system: Windows NT
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - 10.0.17134
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - CPU: amd64
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - family 6 model 85 stepping 4
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO - 8 CPUs
[task 2020-01-07T18:46:32.090Z] 18:46:32 INFO -
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - GPU: UNKNOWN
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO -
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - Crash reason: EXCEPTION_BREAKPOINT
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - Crash address: 0x7ff8cc7e53e3
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - Process uptime: 79 seconds
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO -
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - Thread 35 (crashed)
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - 0 xul.dll!RustMozCrash(char const*, int, char const*) [wrappers.cpp:f4269afef555b96b3e445a1153fc48b3843ea85d : 16 + 0x23]
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rax = 0x00007ff900088f08 rdx = 0x00007ff90a33a640
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rcx = 0x0000000000000000 rbx = 0x00007ff8ced70048
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rsi = 0x0000005c0ab3e1d2 rdi = 0x00000000000006ba
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rbp = 0x0000005c0ab3e020 rsp = 0x0000005c0ab3df60
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r8 = 0x0000005c0ab3c138 r9 = 0x00007ff8cdc04bb8
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r10 = 0x0000000000000000 r11 = 0x0000005c0ab3de00
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r12 = 0x000001635a13ef18 r13 = 0x000001635a21ddd0
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r14 = 0x00007ff8ced70cd8 r15 = 0x0000000000000031
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rip = 0x00007ff8cc7e53e3
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - Found by: given as instruction pointer in context
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - 1 xul.dll!mozglue_static::panic_hook(core::panic::PanicInfo*) [lib.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 89 + 0x7]
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - rsp = 0x0000005c0ab3dfa0 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.091Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cbe9b5a3
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - 2 xul.dll!core::ops::function::Fn::call<fn(core::panic::PanicInfo*),(core::panic::PanicInfo*)>(void (**)(core::panic::PanicInfo*), core::panic::PanicInfo*) [function.rs:4560ea788cb760f0a34127156c78e2552949f734 : 69 + 0x12]
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e410 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cbe9b282
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - 3 xul.dll!std::panicking::rust_panic_with_hook() [panicking.rs:4560ea788cb760f0a34127156c78e2552949f734 : 477 + 0x6]
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e440 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cc6a55bd
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - 4 xul.dll!std::panicking::begin_panic<str*>(str*, (str*, u32, u32)) [panicking.rs:4560ea788cb760f0a34127156c78e2552949f734 : 407 + 0x1b]
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e4e0 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccae4c98
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - 5 xul.dll!style::rule_tree::{{impl}}::drop(style::rule_tree::StrongRuleNode
) [mod.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 1722 + 0x20]
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e520 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.092Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccafd3d7
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - 6 xul.dll!servo_arc::Arc<style::gecko_properties::ComputedValues>::drop_slow<style::gecko_properties::ComputedValues>() [lib.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 357 + 0x450]
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e600 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cca9cfc0
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - 7 xul.dll!style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::resolve_style<style::gecko::wrapper::GeckoElement>(core::option::Option<style::gecko_properties::ComputedValues*>, core::option::Option<style::gecko_properties::ComputedValues*>) [style_resolver.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 242 + 0x127]
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e640 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cca7c1cf
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - 8 xul.dll!style::style_resolver::StyleResolverForElement<style::gecko::wrapper::GeckoElement>::resolve_style_with_default_parents<style::gecko::wrapper::GeckoElement>() [style_resolver.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 269 + 0xf3]
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e700 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cca7c69a
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - 9 xul.dll!style::traversal::compute_style<style::gecko::wrapper::GeckoElement>(style::traversal::PerLevelTraversalData*, style::context::StyleContext<style::gecko::wrapper::GeckoElement>, style::gecko::wrapper::GeckoElement, style::data::ElementData) [traversal.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 608 + 0x8]
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e770 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.093Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccad60b9
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - 10 xul.dll!style::gecko::traversal::{{impl}}::process_preorder<closure-1>(style::gecko::traversal::RecalcStyleOnly*, style::traversal::PerLevelTraversalData*, style::context::StyleContext<style::gecko::wrapper::GeckoElement>, style::gecko::wrapper::GeckoNode, style::parallel::top_down_dom::closure-1) [traversal.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 37 + 0x142]
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rsp = 0x0000005c0ab3e9a0 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cca8789c
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - 11 xul.dll!std::panic::{{impl}}::call_once<(),closure-0>(std::panic::AssertUnwindSafe<closure-0>) [panic.rs:4560ea788cb760f0a34127156c78e2552949f734 : 315 + 0x27c]
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rsp = 0x0000005c0ab3ead0 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccf4f60a
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - 12 xul.dll!std::panicking::try::do_call<std::panic::AssertUnwindSafe<closure-0>,()>(unsigned char
) [panicking.rs:4560ea788cb760f0a34127156c78e2552949f734 : 292 + 0x16]
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rsp = 0x0000005c0ab3f110 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cca7086e
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - 13 xul.dll!panic_abort::__rust_maybe_catch_panic() [lib.rs:4560ea788cb760f0a34127156c78e2552949f734 : 28 + 0x5]
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.094Z] 18:46:32 INFO - rsp = 0x0000005c0ab3f200 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8cc89ce5c
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - 14 xul.dll!rayon_core::job::{{impl}}::execute<closure-0>(rayon_core::job::HeapJob<closure-0>) [job.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 164 + 0x11b]
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rsp = 0x0000005c0ab3f230 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccf04c3b
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - 15 xul.dll!rayon_core::registry::WorkerThread::wait_until_cold<rayon_core::latch::CountLatch>(rayon_core::latch::CountLatch
) [registry.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 719 + 0x6]
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rsp = 0x0000005c0ab3f3b0 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccf168f6
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - 16 xul.dll!static rayon_core::registry::ThreadBuilder::run(rayon_core::registry::ThreadBuilder) [registry.rs:f4269afef555b96b3e445a1153fc48b3843ea85d : 59 + 0xba]
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rbx = 0x00007ff8ced70048 rbp = 0x0000005c0ab3e020
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - rsp = 0x0000005c0ab3f480 r12 = 0x000001635a13ef18
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r13 = 0x000001635a21ddd0 r14 = 0x00007ff8ced70cd8
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - r15 = 0x0000000000000031 rip = 0x00007ff8ccf14c8d
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO - Found by: call frame info
[task 2020-01-07T18:46:32.095Z] 18:46:32 INFO -

TEST-START | toolkit/content/tests/browser/browser_datetime_datepicker.js

Component: General → CSS Parsing and Computation
Product: Toolkit → Core
Summary: Intermittent toolkit/content/tests/browser/browser_datetime_datepicker.js | application crashed [@ RustMozCrash(char const*, int, char const*)] → Intermittent toolkit/content/tests/browser/browser_datetime_datepicker.js | application crashed [@ RustMozCrash(char const*, int, char const*)] -> xul.dll!style::rule_tree::{{impl}}::drop(style::rule_tree::StrongRuleNode
Keywords: leave-open

If this can happen legitimately, this will help fuzzers to catch it.

Assignee: nobody → emilio
Status: NEW → ASSIGNED

Is there any chance of having some sort of regression range for this?

Assignee: emilio → nobody
Status: ASSIGNED → NEW
Flags: needinfo?(sheriffs)
Flags: needinfo?(aryx.bugmail)
Assignee: nobody → emilio
Status: NEW → ASSIGNED
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/c620a321f647
Make an assertion a release assert in nightly. r=heycam

Jason, do you know if fuzzers have seen this crash before? It should only show up in debug builds but it's a bit scary, so I made the assertion a release assert on nightly to help catch it if anything.

Flags: needinfo?(jkratzer)
Priority: -- → P2

Nothing new, looks like bug 1562706 with rust crash handling stacks on top.

Flags: needinfo?(aryx.bugmail)
See Also: → 1562706

Huh, I wonder what's special about this test...

:emilio, I haven't seen anything yet but will update if I manage to get one.

Flags: needinfo?(jkratzer)

I should add a bit more information to the crash reason, to see if there's any pattern... The crashes so far are windows-only, so I'm a bit confused. This code is the same for all platforms.

Flags: needinfo?(emilio)
Crash Signature: [@ RustMozCrash(char const*, int, char const*)] → [@ RustMozCrash(char const*, int, char const*)] [@ style::rule_tree::{{impl}}::drop]
Crash Signature: [@ RustMozCrash(char const*, int, char const*)] [@ style::rule_tree::{{impl}}::drop] → [@ RustMozCrash(char const*, int, char const*)] [@ style::rule_tree::{{impl}}::drop]
Flags: needinfo?(emilio)

Yes

Flags: needinfo?(emilio)
Pushed by ealvarez@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/1dc2a5ab7e29
Try to collect some more crash information so that we can diagnose this better. r=boris

Do you know if there's any chance to get a regression range for this? I think this didn't use to fail so often before, and it'd be good to understand what changed this.

Flags: needinfo?(aryx.bugmail)

This bug is a continuation of bug 1562706. Because Treeherder's data retention policy is 4 months, we only know it already existed on October 21.

Flags: needinfo?(aryx.bugmail)

Does the new crash report provide further insights?

Flags: needinfo?(emilio)

Yes! It helped me realize what was going on.

Flags: needinfo?(emilio)

This assert was wrong. The assert may fire if we resurrect the node from a
different thread and insert a kid fast enough.

We allow resurrecting nodes (bumping the nodes from zero to one) to avoid
allocation churn.

In particular, while the thread dropping the node gets to read the children (so
after the fetch_sub from the refcount, but before the read() of the children),
another thread could plausibly bumped the refcount back, and added a children.

This is a very big edge case of course, but I'm kinda sad I hadn't realized
before.

Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
Crash Signature: [@ RustMozCrash(char const*, int, char const*)] [@ style::rule_tree::{{impl}}::drop] → [@ RustMozCrash(char const*, int, char const*)] [@ style::rule_tree::{{impl}}::drop] [@ style::rule_tree::{{impl}}::drop(struct style::rule_tree::StrongRuleNode *)]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: