Closed Bug 1532925 Opened 6 years ago Closed 5 years ago

PROCESS-CRASH | cal-recurrence | application crashed [@ mozilla::dom::Element::UnbindFromTree(bool,bool)]

Categories

(Thunderbird :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: jorgk-bmo, Unassigned)

References

(Regression)

Details

Assertion failure: IsInAnonymousSubtree(), at z:/build/build/src/dom/base/Element.cpp:1869
PROCESS-CRASH | cal-recurrence | application crashed [@ mozilla::dom::Element::UnbindFromTree(bool,bool)]

For example here:
https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=994cd1a152ed9637e38686000b0dc3409a80855f&selectedJob=232007927

Maybe related to bug 1532595 / bug 1513343 or whatever else landed in the last
push:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=78601cacfe69&tochange=996a48b30652

Can still be seen here:
https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=e8be57e6a6c378331814db495fa864b018c0554c&selectedJob=232098943

We have too many failures on the tree, so new ones are not easy to spot.

Ignore comment #0, this can already be seen as early as
https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=84d8d41977372fc4ed90c6f141f4e35f532df8b8&selectedJob=230812625
Wed, Feb 27, 18:16:56

Maybe even earlier.

Here:
https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=39117300a256985627d00a33f2ff24a4340d1f43&selectedJob=229952589
Fri, Feb 22, 18:59:40 closer to when that code was committed Mon, 19 Feb 2018 14:46:38 +0100.

But it's been intermittent.

Stack looks like:

[task 2019-02-27T18:05:17.366Z] 18:05:17     INFO -   0  libxul.so!mozilla::dom::Element::UnbindFromTree(bool, bool) [Assertions.h:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 38 + 0x8]
[task 2019-02-27T18:05:17.367Z] 18:05:17     INFO -      eip = 0xedfaf679   esp = 0xffb83eb0   ebp = 0xffb83f18   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.369Z] 18:05:17     INFO -      esi = 0x0000074d   edi = 0xdde3b000   eax = 0xf35913a7   ecx = 0x565f0464
[task 2019-02-27T18:05:17.370Z] 18:05:17     INFO -      edx = 0x00000000   efl = 0x00010286
[task 2019-02-27T18:05:17.373Z] 18:05:17     INFO -      Found by: given as instruction pointer in context
[task 2019-02-27T18:05:17.375Z] 18:05:17     INFO -   1  libxul.so!nsGenericHTMLElement::UnbindFromTree(bool, bool) [nsGenericHTMLElement.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 469 + 0x18]
[task 2019-02-27T18:05:17.376Z] 18:05:17     INFO -      eip = 0xeef4bb5c   esp = 0xffb83f20   ebp = 0xffb83f58   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.377Z] 18:05:17     INFO -      esi = 0xdde3b000   edi = 0xdde3b000
[task 2019-02-27T18:05:17.378Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.379Z] 18:05:17     INFO -   2  libxul.so!mozilla::dom::HTMLLinkElement::UnbindFromTree(bool, bool) [HTMLLinkElement.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 176 + 0x13]
[task 2019-02-27T18:05:17.380Z] 18:05:17     INFO -      eip = 0xeeee49f6   esp = 0xffb83f60   ebp = 0xffb83f98   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.381Z] 18:05:17     INFO -      esi = 0xdde3b000   edi = 0xffb83f78
[task 2019-02-27T18:05:17.382Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.383Z] 18:05:17     INFO -   3  libxul.so!mozilla::dom::ShadowRoot::Unbind() [ShadowRoot.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 163 + 0x10]
[task 2019-02-27T18:05:17.384Z] 18:05:17     INFO -      eip = 0xee00f3d0   esp = 0xffb83fa0   ebp = 0xffb83fb8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.385Z] 18:05:17     INFO -      esi = 0xdde3b000   edi = 0xded44b20
[task 2019-02-27T18:05:17.386Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.387Z] 18:05:17     INFO -   4  libxul.so!mozilla::dom::Element::UnbindFromTree(bool, bool) [Element.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 2008 + 0x8]
[task 2019-02-27T18:05:17.388Z] 18:05:17     INFO -      eip = 0xedfaf59c   esp = 0xffb83fc0   ebp = 0xffb84028   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.389Z] 18:05:17     INFO -      esi = 0xe4448800   edi = 0xded44b20
[task 2019-02-27T18:05:17.390Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.392Z] 18:05:17     INFO -   5  libxul.so!nsXULElement::UnbindFromTree(bool, bool) [nsXULElement.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 732 + 0x16]
[task 2019-02-27T18:05:17.393Z] 18:05:17     INFO -      eip = 0xef6ac702   esp = 0xffb84030   ebp = 0xffb84058   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.394Z] 18:05:17     INFO -      esi = 0xded44b20   edi = 0x00000000
[task 2019-02-27T18:05:17.395Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.396Z] 18:05:17     INFO -   6  libxul.so!mozilla::dom::XULTreeElement::UnbindFromTree(bool, bool) [XULTreeElement.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 43 + 0x1b]
[task 2019-02-27T18:05:17.397Z] 18:05:17     INFO -      eip = 0xef6b01ee   esp = 0xffb84060   ebp = 0xffb84098   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.398Z] 18:05:17     INFO -      esi = 0xdd4a71b0   edi = 0xded44b78
[task 2019-02-27T18:05:17.399Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.400Z] 18:05:17     INFO -   7  libxul.so!nsXBLBinding::UnbindAnonymousContent(mozilla::dom::Document*, nsIContent*, bool) [nsXBLBinding.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 205 + 0x17]
[task 2019-02-27T18:05:17.401Z] 18:05:17     INFO -      eip = 0xef626fba   esp = 0xffb840a0   ebp = 0xffb840d8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.402Z] 18:05:17     INFO -      esi = 0xded44b20   edi = 0x00000001
[task 2019-02-27T18:05:17.403Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.404Z] 18:05:17     INFO -   8  libxul.so!nsXBLBinding::ChangeDocument(mozilla::dom::Document*, mozilla::dom::Document*) [nsXBLBinding.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 704 + 0x11]
[task 2019-02-27T18:05:17.405Z] 18:05:17     INFO -      eip = 0xef623e49   esp = 0xffb840e0   ebp = 0xffb841b8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.406Z] 18:05:17     INFO -      esi = 0xffb84178   edi = 0xded82070
[task 2019-02-27T18:05:17.408Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.409Z] 18:05:17     INFO -   9  libxul.so!nsXBLService::FlushStyleBindings(mozilla::dom::Element*) [nsXBLService.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 566 + 0x10]
[task 2019-02-27T18:05:17.410Z] 18:05:17     INFO -      eip = 0xef641d26   esp = 0xffb841c0   ebp = 0xffb841e8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.411Z] 18:05:17     INFO -      esi = 0xdf9e23d0   edi = 0xffb841d0
[task 2019-02-27T18:05:17.412Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.413Z] 18:05:17     INFO -  10  libxul.so!nsXBLService::LoadBindings(mozilla::dom::Element*, nsIURI*, nsIPrincipal*, nsXBLBinding**, bool*) [nsXBLService.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 501 + 0xf]
[task 2019-02-27T18:05:17.415Z] 18:05:17     INFO -      eip = 0xef641757   esp = 0xffb841f0   ebp = 0xffb84348   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.416Z] 18:05:17     INFO -      esi = 0xe8663040   edi = 0xffb84228
[task 2019-02-27T18:05:17.417Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.418Z] 18:05:17     INFO -  11  libxul.so!nsCSSFrameConstructor::LoadXBLBindingIfNeeded(nsIContent&, mozilla::ComputedStyle&, unsigned int) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 5314 + 0x25]
[task 2019-02-27T18:05:17.419Z] 18:05:17     INFO -      eip = 0xefaad2ac   esp = 0xffb84350   ebp = 0xffb843a8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.420Z] 18:05:17     INFO -      esi = 0xdf9e23d0   edi = 0xdded612c
[task 2019-02-27T18:05:17.422Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.423Z] 18:05:17     INFO -  12  libxul.so!nsCSSFrameConstructor::AddFrameConstructionItemsInternal(nsFrameConstructorState&, nsIContent*, nsContainerFrame*, bool, mozilla::ComputedStyle*, unsigned int, nsCSSFrameConstructor::FrameConstructionItemList&) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 5360 + 0x14]
[task 2019-02-27T18:05:17.424Z] 18:05:17     INFO -      eip = 0xefaa3e59   esp = 0xffb843b0   ebp = 0xffb84458   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.425Z] 18:05:17     INFO -      esi = 0x00000000   edi = 0xffb84418
[task 2019-02-27T18:05:17.426Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.428Z] 18:05:17     INFO -  13  libxul.so!nsCSSFrameConstructor::DoAddFrameConstructionItems(nsFrameConstructorState&, nsIContent*, mozilla::ComputedStyle*, bool, nsContainerFrame*, nsCSSFrameConstructor::FrameConstructionItemList&) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 5118 + 0x16]
[task 2019-02-27T18:05:17.429Z] 18:05:17     INFO -      eip = 0xefaacdf0   esp = 0xffb84460   ebp = 0xffb84498   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.430Z] 18:05:17     INFO -      esi = 0xdf7d1de8   edi = 0x00000003
[task 2019-02-27T18:05:17.431Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.432Z] 18:05:17     INFO -  14  libxul.so!nsCSSFrameConstructor::AddFrameConstructionItems(nsFrameConstructorState&, nsIContent*, bool, nsCSSFrameConstructor::InsertionPoint const&, nsCSSFrameConstructor::FrameConstructionItemList&) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 5132 + 0x1b]
[task 2019-02-27T18:05:17.434Z] 18:05:17     INFO -      eip = 0xefaace7f   esp = 0xffb844a0   ebp = 0xffb844d8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.435Z] 18:05:17     INFO -      esi = 0xdf7d1de8   edi = 0xdb706a84
[task 2019-02-27T18:05:17.438Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.439Z] 18:05:17     INFO -  15  libxul.so!nsCSSFrameConstructor::ContentRangeInserted(nsIContent*, nsIContent*, nsILayoutHistoryState*, nsCSSFrameConstructor::InsertionKind) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 7218 + 0x24]
[task 2019-02-27T18:05:17.440Z] 18:05:17     INFO -      eip = 0xefab178c   esp = 0xffb844e0   ebp = 0xffb84668   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.441Z] 18:05:17     INFO -      esi = 0xffb84608   edi = 0xdf9e23d0
[task 2019-02-27T18:05:17.443Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.444Z] 18:05:17     INFO -  16  libxul.so!nsCSSFrameConstructor::RecreateFramesForContent(nsIContent*, nsCSSFrameConstructor::InsertionKind) [nsCSSFrameConstructor.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 8692 + 0x18]
[task 2019-02-27T18:05:17.445Z] 18:05:17     INFO -      eip = 0xefaae026   esp = 0xffb84670   ebp = 0xffb84698   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.446Z] 18:05:17     INFO -      esi = 0xdf9e23d0   edi = 0x00000000
[task 2019-02-27T18:05:17.447Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.448Z] 18:05:17     INFO -  17  libxul.so!mozilla::RestyleManager::ProcessRestyledFrames(nsStyleChangeList&) [RestyleManager.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 1575 + 0x17]
[task 2019-02-27T18:05:17.450Z] 18:05:17     INFO -      eip = 0xefa8b617   esp = 0xffb846a0   ebp = 0xffb849a8   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.451Z] 18:05:17     INFO -      esi = 0xdf9e23d0   edi = 0x00000000
[task 2019-02-27T18:05:17.452Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.453Z] 18:05:17     INFO -  18  libxul.so!mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) [RestyleManager.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 3096 + 0x12]
[task 2019-02-27T18:05:17.454Z] 18:05:17     INFO -      eip = 0xefa904fb   esp = 0xffb849b0   ebp = 0xffb84b78   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.455Z] 18:05:17     INFO -      esi = 0xe44378e0   edi = 0x00000000
[task 2019-02-27T18:05:17.457Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.458Z] 18:05:17     INFO -  19  libxul.so!mozilla::RestyleManager::ProcessPendingRestyles() [RestyleManager.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 3168 + 0x10]
[task 2019-02-27T18:05:17.459Z] 18:05:17     INFO -      eip = 0xefa7436a   esp = 0xffb84b80   ebp = 0xffb84b98   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.460Z] 18:05:17     INFO -      esi = 0xe44378e0   edi = 0x00000000
[task 2019-02-27T18:05:17.461Z] 18:05:17     INFO -      Found by: call frame info
[task 2019-02-27T18:05:17.463Z] 18:05:17     INFO -  20  libxul.so!mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) [PresShell.cpp:84d8d41977372fc4ed90c6f141f4e35f532df8b8 : 4127 + 0x8]
[task 2019-02-27T18:05:17.464Z] 18:05:17     INFO -      eip = 0xefa73af3   esp = 0xffb84ba0   ebp = 0xffb84c78   ebx = 0xf53cb000
[task 2019-02-27T18:05:17.465Z] 18:05:17     INFO -      esi = 0xffb84bd0   edi = 0x00000000
[task 2019-02-27T18:05:17.467Z] 18:05:17     INFO -      Found by: call frame info

So this is fallout from bug 1523957. In particular, you're putting a shadow tree inside other XBL which is not quite a case we handle right...

In terms of fixing this, moving this line:

https://searchfox.org/mozilla-central/rev/3e0f1d95fcf8832413457e3bec802113bdd1f8e8/dom/xbl/nsXBLService.cpp#529

To before the call to FlushStyleBindings may be enough, though not sure it won't cause other fallout.

Flags: needinfo?(emilio)

(In reply to Jorg K (GMT+1) from comment #3)

Here:
https://treeherder.mozilla.org/#/jobs?repo=comm-central&revision=39117300a256985627d00a33f2ff24a4340d1f43&selectedJob=229952589
Fri, Feb 22, 18:59:40 closer to when that code was committed Mon, 19 Feb 2018 14:46:38 +0100.

There's a year difference there, fwiw, that code is not new :)

Uff, off by one (year), a typical programmer's mistake. Thanks Emilio.

So a consequence of our XBL + CE mix. So what's the way forward here?

Flags: needinfo?(mkmelin+mozilla)
Flags: needinfo?(mkmelin+mozilla)

For m-c look ok I think, the yellows look non-related.
Let's see for comm-central then - https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=3e964f955958c55fd0a6b886475092cf18600aad

Didn't work, any idea what I did wrong? I used the revision of the m-c try run, not one from "mach try empty". Or is that not supported?

Flags: needinfo?(jorgk)

You did nothing wrong but got caught be current (fixed) bustage. Check the tree, rebase and repeat.

Flags: needinfo?(jorgk)

Hmm, I think I was already updated to latest. Tried again https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=b36227f015594739f908f2f813ba3c1df1946eb1 and it still fails

I'm not sure what you're trying to prove. The crash was intermittent, and it doesn't even happen on the same "Z". So you'd have to rerun all the "Z's" at least 10 times, which is not a good idea in the current bustage situation. Let's get some more palpable bustage fixed first.

Any progress here? I haven't see this on TB 68 Daily for a while, but it's definitely still there on 67 beta.

WFM? WONTFIX?

Flags: needinfo?(mkmelin+mozilla)

If it's not there in nightly, I think we don't need to spend time figuring it out for now.

Status: NEW → RESOLVED
Closed: 6 years ago
Flags: needinfo?(mkmelin+mozilla)
Resolution: --- → WORKSFORME
Status: RESOLVED → REOPENED
Resolution: WORKSFORME → ---
Status: REOPENED → NEW
Flags: needinfo?(mkmelin+mozilla)

If you see it, maybe star this bug so we get some feeling for if it's there anymore or not.

Flags: needinfo?(mkmelin+mozilla)

(In reply to Magnus Melin [:mkmelin] from comment #17)

If you see it, maybe star this bug so we get some feeling for if it's there anymore or not.

Next step?

Flags: needinfo?(jorgk)
Regressed by: deforestation

Next step: We close the bug. Not seen since earlier in 2019 and according to comment #4:

... you're putting a shadow tree inside other XBL which is not quite a case we handle right...

caused by a mix of XBL and shadow DOM. We're XBL-free now, so the problem went away.

Status: NEW → RESOLVED
Closed: 6 years ago5 years ago
Flags: needinfo?(jorgk)
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.