Closed Bug 623436 Opened 9 years ago Closed 3 years ago

"ASSERTION: no SHEntry for a non-transient viewer?"

Categories

(Core :: Document Navigation, defect)

x86
macOS
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla51
Tracking Status
firefox51 --- fixed

People

(Reporter: jruderman, Assigned: mrbkap)

References

(Blocks 1 open bug)

Details

Attachments

(4 files)

###!!! ASSERTION: no SHEntry for a non-transient viewer?: 'IsAboutBlank(mCurrentURI)', file /builds/slave/cen-osx64-dbg/build/docshell/base/nsDocShell.cpp, line 9278
Attached file stack trace
Still happens on trunk.

###!!! ASSERTION: no SHEntry for a non-transient viewer?: 'NS_IsAboutBlank(mCurrentURI)', file docshell/base/nsDocShell.cpp, line 9411
Still happens with the test in bug 922976 comment 268.
So there was an attempt in 2010 to get this fixed by bug 583200. Maybe it didn't fix it completely?

I can see the same assertion when running the attachment 8693720 [details] via marionette in a debug build on Linux64: "mach marionette-test test_file".

Current line of failure:
https://dxr.mozilla.org/mozilla-central/source/docshell/base/nsDocShell.cpp#11521

I tried to get some nsDocShell log output ("MOZLOG=nsDocShell:5") but no output is shown. Maybe its a problem with the debug artifact build?
Flags: needinfo?(mrbkap)
Just to add this only happens in e10s mode. Let me know if we need another bug for this specific case. I didn't want to hi-jack a years old bug.
(In reply to Henrik Skupin (:whimboo) from comment #6)
> Just to add this only happens in e10s mode. Let me know if we need another
> bug for this specific case. I didn't want to hi-jack a years old bug.

It looks like this bug is unrelated to your assertion, please file a new bug for it (and CC me).
Flags: needinfo?(mrbkap)
Assignee: nobody → mrbkap
Attached patch Possible fixSplinter Review
In order to figure out if Henrik's assertion was related to this one, I
debugged this one. The problem appears to be that we call
w.location.replace() on a docshell before it's finished loading (and
therefore before there's a session history entry for it). Then, when we
try to navigate it, we find that we failed to ever create a history
entry and assert.

This patch tries to fix this by appending a new history entry if we end
up in this situation.

https://treeherder.mozilla.org/#/jobs?repo=try&revision=616bbe2fc73d
Attachment #8789100 - Flags: review?(bugs)
Comment on attachment 8789100 [details] [diff] [review]
Possible fix

ok
Attachment #8789100 - Flags: review?(bugs) → review+
Pushed by kwierso@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/6e5c2daac4d3
Deal a little better with replacing inexistant session history entries. r=smaug
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/6e5c2daac4d3
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla51
You need to log in before you can comment on or make changes to this bug.