Closed
Bug 761848
Opened 13 years ago
Closed 11 years ago
"ASSERTION: Shouldn't be trying to restyle non-elements directly" with document.dir
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: jruderman, Unassigned)
References
(Blocks 1 open bug)
Details
(Keywords: assertion, testcase)
Attachments
(2 files)
###!!! ASSERTION: style context has old rule node: 'n == mRuleTree', file layout/style/nsStyleSet.cpp, line 199
###!!! ASSERTION: old rule tree still referenced: 'Not Reached', file layout/style/nsStyleSet.cpp, line 1326
###!!! ASSERTION: must be in the same rule tree as parent: 'r1 == r2', file layout/style/nsStyleContext.cpp, line 61
###!!! ASSERTION: Shouldn't be trying to restyle non-elements directly: '!aContent || aContent->IsElement()', file layout/base/nsStyleChangeList.cpp, line 65
This might be related to bug 738190. Bug 738190's testcase triggers the first three assertions, but not the fourth.
Reporter | ||
Comment 1•13 years ago
|
||
This is triggering all the time on browser/components/sessionstore/test/browser_586068-reload.js and friends -- take a look at any Windows debug mochitest-o run.
(Note that it's triggering directly, without any of the previous assertions.)
Comment 4•13 years ago
|
||
Hmm, it is the textnode with content "0" in the test case in comment 0 which is triggering the assertion: https://gist.github.com/3873624
I can't repro the assertion in comment 2.
Comment 5•12 years ago
|
||
I'm seeing the "restyle non-elements" in Thunderbird as well, the stack is quite deep but the nsIContent* it's complaining about is an nsTextNode that appears to be empty (nsTextFragment nsTextNode.mText contains all 0 values)
#0 0x000000010198e529 in nsStyleChangeList::AppendChange at /Users/ireid/tbird/comm-central/mozilla/layout/base/nsStyleChangeList.cpp:64
#1 0x0000000101921cab in CaptureChange at /Users/ireid/tbird/comm-central/mozilla/layout/base/nsFrameManager.cpp:1002
#2 0x0000000101920523 in nsFrameManager::ReResolveStyleContext at /Users/ireid/tbird/comm-central/mozilla/layout/base/nsFrameManager.cpp:1300
#3 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#4 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#5 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#6 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#7 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#8 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#9 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#10 0x00000001019215fe in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#11 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#12 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#13 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#14 0x0000000101921739 in nsFrameManager::ReResolveStyleContext(nsPresContext*, nsIFrame*, nsIContent*, nsStyleChangeList*, nsChangeHint, nsChangeHint, nsRestyleHint, mozilla::css::RestyleTracker&, nsFrameManager::DesiredA11yNotifications, nsTArray<nsIContent*>&, TreeMatchContext&) ()
#15 0x0000000101921fb0 in nsFrameManager::ComputeStyleChangeFor(nsIFrame*, nsStyleChangeList*, nsChangeHint, mozilla::css::RestyleTracker&, bool) ()
#16 0x0000000101893552 in nsCSSFrameConstructor::RestyleElement(mozilla::dom::Element*, nsIFrame*, nsChangeHint, mozilla::css::RestyleTracker&, bool) ()
#17 0x0000000101875162 in mozilla::css::RestyleTracker::ProcessOneRestyle(mozilla::dom::Element*, nsRestyleHint, nsChangeHint) ()
#18 0x0000000101874188 in mozilla::css::RestyleTracker::DoProcessRestyles() ()
#19 0x00000001018a0879 in mozilla::css::RestyleTracker::ProcessRestyles() ()
#20 0x0000000101899fca in nsCSSFrameConstructor::ProcessPendingRestyles() ()
#21 0x0000000101964081 in PresShell::FlushPendingNotifications(mozilla::ChangesToFlush) ()
#22 0x0000000101963b3b in PresShell::FlushPendingNotifications(mozFlushType) ()
#23 0x0000000101df8dbf in nsDocument::FlushPendingNotifications(mozFlushType) ()
#24 0x0000000101e4fcf7 in mozilla::dom::Element::GetPrimaryFrame(mozFlushType) ()
#25 0x0000000101e4fc5a in mozilla::dom::Element::GetStyledFrame() ()
#26 0x0000000101e4fe9c in mozilla::dom::Element::GetScrollFrame(nsIFrame**) ()
#27 0x0000000101e5044a in mozilla::dom::Element::GetClientAreaRect() ()
#28 0x0000000101e68fcc in mozilla::dom::Element::ClientWidth() ()
#29 0x00000001042fac21 in mozilla::dom::ElementBinding::get_clientWidth(JSContext*, JS::Handle<JSObject*>, mozilla::dom::Element*, JS::Value*) ()
#30 0x00000001042f2dc1 in mozilla::dom::ElementBinding::genericGetter(JSContext*, unsigned int, JS::Value*) ()
#31 0x0000000105754602 in _ZN2js12CallJSNativeEP9JSContextPFiS1_jPN2JS5ValueEERKNS2_8CallArgsE [inlined] ()
#32 0x0000000105754602 in js::InvokeKernel(JSContext*, JS::CallArgs, js::MaybeConstruct) ()
#33 0x0000000105642983 in js::Invoke(JSContext*, js::InvokeArgsGuard&, js::MaybeConstruct) ()
#34 0x0000000105755809 in js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value*, JS::Value*) ()
#35 0x0000000105756e56 in js::InvokeGetterOrSetter(JSContext*, JSObject*, JS::Value const&, unsigned int, JS::Value*, JS::Value*) ()
#36 0x00000001058040e5 in js::Shape::get(JSContext*, JS::Handle<JSObject*>, JSObject*, JSObject*, JS::MutableHandle<JS::Value>) ()
#37 0x00000001057e0fc0 in _ZL15NativeGetInlineILN2js7AllowGCE1EEiP9JSContextNS0_11MaybeRootedIP8JSObjectXT_EE10HandleTypeES8_S8_NS4_IPNS0_5ShapeEXT_EE10HandleTypeEjNS4_IN2JS5ValueEXT_EE17MutableHandleTypeE [inlined] ()
#38 0x00000001057e0fc0 in _ZL23GetPropertyHelperInlineILN2js7AllowGCE1EEiP9JSContextNS0_11MaybeRootedIP8JSObjectXT_EE10HandleTypeES8_NS4_I4jsidXT_EE10HandleTypeEjNS4_IN2JS5ValueEXT_EE17MutableHandleTypeE [inlined] ()
#39 0x00000001057e0fc0 in js::GetPropertyHelper(JSContext*, JS::Handle<JSObject*>, JS::Handle<jsid>, unsigned int, JS::MutableHandle<JS::Value>) ()
#40 0x0000000105771687 in js::GetPropertyOperation(JSContext*, JSScript*, unsigned char*, JS::MutableHandle<JS::Value>, JS::MutableHandle<JS::Value>) ()
#41 0x0000000105d60cf9 in js::mjit::ic::GetProp(js::VMFrame&, js::mjit::ic::PICInfo*) ()
#42 0x0000000118dd35c1 in <????> ()
#43 0x0000000105c2674a in js::mjit::EnterMethodJIT(JSContext*, js::StackFrame*, void*, JS::Value*, bool) ()
#44 0x0000000105c26cad in CheckStackAndEnterMethodJIT(JSContext*, js::StackFrame*, void*, bool) ()
#45 0x0000000105c26d04 in js::mjit::JaegerShotAtSafePoint(JSContext*, void*, bool) ()
#46 0x000000010572ab4b in js::Interpret(JSContext*, js::StackFrame*, js::InterpMode) ()
#47 0x0000000105729048 in js::RunScript(JSContext*, js::StackFrame*) ()
#48 0x000000010575481f in js::InvokeKernel(JSContext*, JS::CallArgs, js::MaybeConstruct) ()
#49 0x0000000105642983 in js::Invoke(JSContext*, js::InvokeArgsGuard&, js::MaybeConstruct) ()
#50 0x0000000105755809 in js::Invoke(JSContext*, JS::Value const&, JS::Value const&, unsigned int, JS::Value*, JS::Value*) ()
#51 0x000000010556bc9d in JS_CallFunctionValue(JSContext*, JSObject*, JS::Value, unsigned int, JS::Value*, JS::Value*) ()
#52 0x0000000102ef9cb5 in nsXPCWrappedJSClass::CallMethod(nsXPCWrappedJS*, unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) ()
#53 0x0000000102ee8074 in nsXPCWrappedJS::CallMethod(unsigned short, XPTMethodDescriptor const*, nsXPTCMiniVariant*) ()
#54 0x0000000104aac989 in PrepareAndDispatch ()
#55 0x0000000104aab3eb in SharedStub ()
#56 0x0000000103d2062d in nsMimeHtmlDisplayEmitter::BroadcastHeaders(nsIMsgHeaderSink*, int, bool) ()
#57 0x0000000103d20922 in nsMimeHtmlDisplayEmitter::WriteHTMLHeaders(nsACString_internal const&) ()
#58 0x0000000103d20bc8 in nsMimeHtmlDisplayEmitter::EndHeader(nsACString_internal const&) ()
#59 0x0000000103cfa870 in mimeEmitterEndHeader ()
#60 0x0000000103ce1da5 in MimeMessage_write_headers_html(MimeObject*) ()
#61 0x0000000103ce12ce in MimeMessage_close_headers(MimeObject*) ()
#62 0x0000000103ce059f in MimeMessage_parse_line(char const*, int, MimeObject*) ()
#63 0x0000000103cf393a in convert_and_send_buffer(char*, int, bool, int (*)(char*, unsigned int, void*), void*) ()
#64 0x0000000103cf36e1 in mime_LineBuffer ()
#65 0x0000000103ce74e5 in MimeObject_parse_buffer(char const*, int, MimeObject*) ()
#66 0x0000000103cf7734 in mime_display_stream_write ()
#67 0x0000000103d08ac3 in nsStreamConverter::OnDataAvailable(nsIRequest*, nsISupports*, nsIInputStream*, unsigned long long, unsigned int) ()
#68 0x0000000103095207 in nsDocumentOpenInfo::OnDataAvailable(nsIRequest*, nsISupports*, nsIInputStream*, unsigned long long, unsigned int) ()
#69 0x0000000103b5c839 in nsImapCacheStreamListener::OnDataAvailable(nsIRequest*, nsISupports*, nsIInputStream*, unsigned long long, unsigned int) ()
#70 0x0000000101477123 in nsInputStreamPump::OnStateTransfer() ()
#71 0x0000000101476a36 in nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) ()
#72 0x000000010147765f in non-virtual thunk to nsInputStreamPump::OnInputStreamReady(nsIAsyncInputStream*) ()
#73 0x0000000104a3bad0 in nsInputStreamReadyEvent::Run() ()
#74 0x0000000104a6ea65 in nsThread::ProcessNextEvent(bool, bool*) ()
#75 0x00000001049caf3c in NS_ProcessPendingEvents_P(nsIThread*, unsigned int) ()
#76 0x00000001035fd5cf in nsBaseAppShell::NativeEventCallback() ()
#77 0x00000001035898dc in nsAppShell::ProcessGeckoEvents(void*) ()
Reporter | ||
Comment 6•12 years ago
|
||
Irving, can you file a new bug for that?
Reporter | ||
Comment 7•11 years ago
|
||
WFM on trunk (along with bug 738190?)
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•