Closed
Bug 1340334
Opened 8 years ago
Closed 8 years ago
stylo: several tests crashes with "Caller should apply sibling hints"
Categories
(Core :: CSS Parsing and Computation, defect)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
People
(Reporter: xidorn, Assigned: emilio)
References
Details
Attachments
(1 file)
(deleted),
patch
|
bholley
:
review+
|
Details | Diff | Splinter Review |
From autoland: https://treeherder.mozilla.org/#/jobs?repo=autoland&revision=f6cde9d9294acbcbbd97eb18e0ee990f67a058ca&selectedJob=78111084
thread '<unnamed>' panicked at 'Caller should apply sibling hints', /home/worker/workspace/build/src/servo/components/style/data.rs:235
stack backtrace:
1: 0x7f05a79979ea - std::sys::imp::backtrace::tracing::imp::write::h3188f035833a2635
2: 0x7f05a79a5d4f - std::panicking::default_hook::{{closure}}::h6385b6959a2dd25b
3: 0x7f05a79a594e - std::panicking::default_hook::he4f3b61755d7fa95
4: 0x7f05a79a61f7 - std::panicking::rust_panic_with_hook::hf00b8130f73095ec
5: 0x7f05a757876a - std::panicking::begin_panic::haa6e343a5b54e680
6: 0x7f05a766d305 - <style::data::StoredRestyleHint as core::convert::From<style::restyle_hints::RestyleHint>>::from::h1fb6987b5d28088c
7: 0x7f05a74ced68 - <T as core::convert::Into<U>>::into::ha2c96d381b187cf7
8: 0x7f05a7536cc8 - Servo_NoteExplicitHints
9: 0x7f05a5e01f09 - _ZN7mozilla19ServoRestyleManager16PostRestyleEventEPNS_3dom7ElementE13nsRestyleHint12nsChangeHint
10: 0x7f05a5e0efc2 - _ZN7mozilla14RestyleManager14ContentRemovedEP7nsINodeP10nsIContentS4_
11: 0x7f05a5e0f170 - _ZN7mozilla9PresShell14ContentRemovedEP11nsIDocumentP10nsIContentS4_iS4_
12: 0x7f05a4ddc8e0 - _ZN11nsNodeUtils14ContentRemovedEP7nsINodeP10nsIContentiS3_
13: 0x7f05a4ddc9af - _ZN7nsINode15doRemoveChildAtEjbP10nsIContentR19nsAttrAndChildArray
14: 0x7f05a4cf6343 - _ZN7mozilla3dom17FragmentOrElement13RemoveChildAtEjb
15: 0x7f05a4dc9ab9 - _ZN7nsINode11RemoveChildERS_RN7mozilla11ErrorResultE
16: 0x7f05a4f3fdb6 - _ZN7mozilla3dom11NodeBindingL11removeChildEP9JSContextN2JS6HandleIP8JSObjectEEP7nsINodeRK19JSJitMethodCallArgs
17: 0x7f05a53fb4cd - _ZN7mozilla3dom20GenericBindingMethodEP9JSContextjPN2JS5ValueE
18: 0x7f05a6b1535e - _ZN2js12CallJSNativeEP9JSContextPFbS1_jPN2JS5ValueEERKNS2_8CallArgsE
19: 0x7f05a6b28e36 - _ZN2js23InternalCallOrConstructEP9JSContextRKN2JS8CallArgsENS_14MaybeConstructE
20: 0x7f05a6b1cae4 - _ZL9InterpretP9JSContextRN2js8RunStateE
21: 0x7f05a6b28a83 - _ZN2js9RunScriptEP9JSContextRNS_8RunStateE
22: 0x7f05a6b2a940 - _ZN2js13ExecuteKernelEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectRKNS2_5ValueENS_16AbstractFramePtrEPS9_
23: 0x7f05a6b2ac87 - _ZN2js7ExecuteEP9JSContextN2JS6HandleIP8JSScriptEER8JSObjectPNS2_5ValueE
24: 0x7f05a6e9eba7 - _ZL8EvaluateP9JSContextN2js9ScopeKindEN2JS6HandleIP8JSObjectEERKNS3_22ReadOnlyCompileOptionsERNS3_18SourceBufferHolderENS3_13MutableHandleINS3_5ValueEEE
25: 0x7f05a6e9f323 - _ZN2JS8EvaluateEP9JSContextRNS_16AutoObjectVectorERKNS_22ReadOnlyCompileOptionsERNS_18SourceBufferHolderENS_13MutableHandleINS_5ValueEEE
26: 0x7f05a4dd8dfb - _ZN9nsJSUtils14EvaluateStringEP9JSContextRN2JS18SourceBufferHolderENS2_6HandleIP8JSObjectEERNS2_14CompileOptionsERKNS_15EvaluateOptionsENS2_13MutableHandleINS2_5ValueEEEPPv
27: 0x7f05a4dd9152 - _ZN9nsJSUtils14EvaluateStringEP9JSContextRN2JS18SourceBufferHolderENS2_6HandleIP8JSObjectEERNS2_14CompileOptionsEPPv
28: 0x7f05a4ded7b8 - _ZN14nsScriptLoader14EvaluateScriptEP19nsScriptLoadRequest.part.650
29: 0x7f05a4dedb5a - _ZN14nsScriptLoader14ProcessRequestEP19nsScriptLoadRequest
30: 0x7f05a4dfca93 - _ZN14nsScriptLoader22ProcessPendingRequestsEv
31: 0x7f05a4dde1a2 - _ZN7mozilla6detail18RunnableMethodImplIP14nsScriptLoaderMS2_FvvELb1ELb0EIEE3RunEv
32: 0x7f05a42650d8 - _ZN8nsThread16ProcessNextEventEbPb
33: 0x7f05a4267237 - _Z19NS_ProcessNextEventP9nsIThreadb
34: 0x7f05a45f287a - _ZN7mozilla3ipc11MessagePump3RunEPN4base11MessagePump8DelegateE
35: 0x7f05a45d1a3e - _ZN11MessageLoop11RunInternalEv
36: 0x7f05a45d1a65 - _ZN11MessageLoop3RunEv
37: 0x7f05a5bf89e4 - _ZN14nsBaseAppShell3RunEv
38: 0x7f05a69450aa - _ZN12nsAppStartup3RunEv
39: 0x7f05a69bd20e - _ZN7XREMain11XRE_mainRunEv
40: 0x7f05a69bda3d - _ZN7XREMain8XRE_mainEiPPcRKN7mozilla15BootstrapConfigE
41: 0x7f05a69bdcc9 - _Z8XRE_mainiPPcRKN7mozilla15BootstrapConfigE
42: 0x406115 - _ZL7do_mainiPPcS0_
43: 0x4058da - main
44: 0x7f05b0eae7ec - __libc_start_main
45: 0x405b30 - <unknown>
Redirecting call to abort() to mozalloc_abort
Reporter | ||
Comment 1•8 years ago
|
||
layout/style/test/test_bug534804.html
layout/style/test/test_bug73586.html
Summary: stylo: test_bug534804.html crashes with "Caller should apply sibling hints" → stylo: several tests crashes with "Caller should apply sibling hints"
Assignee | ||
Comment 2•8 years ago
|
||
So this is because we send an explicit eRestyle_LaterSiblings to the restyle manager to handle the :empty change, which is plain wrong because we don't honor it.
Assignee | ||
Comment 3•8 years ago
|
||
I'm working on a patch for this.
Assignee | ||
Comment 4•8 years ago
|
||
Assignee: nobody → emilio+bugs
Status: NEW → ASSIGNED
Attachment #8842374 -
Flags: review?(bobbyholley)
Assignee | ||
Comment 5•8 years ago
|
||
Note that we still do something that looks fishy to me, which is discarding hints if the element is not styled, which may be wrong if we post a LaterSiblings restyle hint.
I don't think right now we reach that though (given we look at the grandparent with flags that we set during selector matching in the only place we post those hints).
Assignee | ||
Comment 6•8 years ago
|
||
Here's a try run with the tests re-enabled: https://treeherder.mozilla.org/#/jobs?repo=try&revision=d9f9a398ad6d4d0efada6a186c9b924c6a067ee6
Comment 7•8 years ago
|
||
(In reply to Emilio Cobos Álvarez [:emilio] from comment #6)
> Here's a try run with the tests re-enabled:
> https://treeherder.mozilla.org/#/
> jobs?repo=try&revision=d9f9a398ad6d4d0efada6a186c9b924c6a067ee6
Note that this doesn't properly run the reftest runs right now (I'm complaining about this in bug 1340911, will try a fix soon). So for now you should probably do another run with |-b do -p linux64-stylo -u all -t none|.
Comment 8•8 years ago
|
||
Comment on attachment 8842374 [details] [diff] [review]
patch
Review of attachment 8842374 [details] [diff] [review]:
-----------------------------------------------------------------
Nice! r=me with a green reftest run.
(In reply to Emilio Cobos Álvarez [:emilio] from comment #5)
> Note that we still do something that looks fishy to me, which is discarding
> hints if the element is not styled, which may be wrong if we post a
> LaterSiblings restyle hint.
Yeah, that does seem dangerous. I think that Servo_NoteExplicitHints should check for LaterSiblings, and if the target node is unstyled, walk the later siblings and manually add Restyle_Self to any styled elements. Can you file a followup to do that?
Attachment #8842374 -
Flags: review?(bobbyholley) → review+
Comment 9•8 years ago
|
||
(btw, I think those crashes you hit on your last try push are intermittents that I've seen before. I retriggered each a few times to check).
Assignee | ||
Comment 10•8 years ago
|
||
(In reply to Bobby Holley (:bholley) (busy with Stylo) from comment #9)
> (btw, I think those crashes you hit on your last try push are intermittents
> that I've seen before. I retriggered each a few times to check).
Yeah, me too. I haven't kept an eye on the tree lately, but I believe we have a bug for that.
Anyway, servo PR: https://github.com/servo/servo/pull/15791
Thanks for the review Bobby! :)
Comment 11•8 years ago
|
||
(In reply to Bobby Holley (:bholley) (busy with Stylo) from comment #8)
> Yeah, that does seem dangerous. I think that Servo_NoteExplicitHints should
> check for LaterSiblings, and if the target node is unstyled, walk the later
> siblings and manually add Restyle_Self to any styled elements. Can you file
> a followup to do that?
Did this ever get filed?
Flags: needinfo?(emilio+bugs)
Assignee | ||
Comment 12•8 years ago
|
||
Whoops, there you go: bug 1344626.
Also need to re-enable the tests.
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: needinfo?(emilio+bugs)
Resolution: --- → FIXED
Comment 13•8 years ago
|
||
Pushed by ecoal95@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/a41242ceb546
followup: re-enable tests. r=me
Comment 14•8 years ago
|
||
bugherder |
You need to log in
before you can comment on or make changes to this bug.
Description
•