Closed Bug 20691 Opened 26 years ago Closed 26 years ago

[dogfood] View source just opens toolbar-less window with the HTML rendering

Categories

(Core :: Layout, defect, P1)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: petter.sundlof, Assigned: waterson)

References

Details

(Whiteboard: [PDT+] fix ready)

Attachments

(1 file)

View Source doesn't work in 1999120208, M12. It opens a window with the rendered HTML page.
I've also encountered this bug in Win32 Build ID 1999120608. Also, the window view source opens occasionally crashes the browser, but this effect isn't completely reproducible.
I'm getting a crash on view source 1999120608. http://www.mozilla.org/ is a reliable crash source page. Although I don't think it matters where you go.
I meant to say on WinNT 1999120608.
Assignee: chofmann → rickg
Summary: View source just opens toolbar-less window with the HTML rendering → [dogfood] View source just opens toolbar-less window with the HTML rendering
see it on win95 as well with the 12/7 build. this might be a dup of any already known problem. over to rickg. Incident ID 1996525 nsStr::Truncate [d:\builds\seamonkey\mozilla\xpcom\ds\nsStr.cpp, line 294] nsString::Assign [d:\builds\seamonkey\mozilla\xpcom\ds\nsString2.cpp, line 1005] nsWebShell::DoLoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1774] nsWebShell::LoadURI [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1936] nsWebShell::LoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 2114] nsWebShell::LoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1584] nsHTMLFrameInnerFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\document\src\nsFrameFrame.cpp, line 879] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 628] nsHTMLFrameOuterFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\document\src\nsFrameFrame.cpp, line 372] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 628] RootFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLFrame.cpp, line 334] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 628] ViewportFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsViewportFrame.cpp, line 527] nsHTMLReflowCommand::Dispatch [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLReflowCommand.cpp, line 145] PresShell::ProcessReflowCommands [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 1765] PresShell::ExitReflowLock [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 821] PresShell::AttributeChanged [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 2192] nsXULDocument::AttributeChanged [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 1317] nsGenericHTMLElement::UnsetAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsGenericHTMLElement.cpp, line 846] nsHTMLIFrameElement::UnsetAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsHTMLIFrameElement.cpp, line 92] nsGenericElement::RemoveAttribute [d:\builds\seamonkey\mozilla\layout\base\src\nsGenericElement.cpp, line 442] nsHTMLOptionElement::RemoveAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsHTMLOptionElement.cpp, line 86] ElementRemoveAttribute [d:\builds\seamonkey\mozilla\dom\src\coreDOM\nsJSElement.cpp, line 313] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 666] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2227] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 686] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2227] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 686] js_InternalCall [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 759] JS_CallFunctionValue [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 2754] nsJSContext::CallFunctionObject [d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvironment.cpp, line 550] nsJSDOMEventListener::HandleEvent [d:\builds\seamonkey\mozilla\dom\src\events\nsJSDOMEventListener.cpp, line 87] nsEventListenerManager::HandleEventSubType [d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 635] nsEventListenerManager::HandleEvent [d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 1185] GlobalWindowImpl::HandleDOMEvent [d:\builds\seamonkey\mozilla\dom\src\base\nsGlobalWindow.cpp, line 2973] nsWebShell::OnEndDocumentLoad [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 3003] nsDocLoaderImpl::FireOnEndDocumentLoad [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 1079] nsDocLoaderImpl::DocLoaderIsEmpty [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 981] nsDocLoaderImpl::DocLoaderIsEmpty [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 984] nsDocLoaderImpl::OnStopRequest [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 920] nsLoadGroup::RemoveChannel [d:\builds\seamonkey\mozilla\netwerk\base\src\nsLoadGroup.cpp, line 541] nsInputStreamChannel::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\base\src\nsInputStreamChannel.cpp, line 354] nsOnStopRequestEvent::HandleEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 279] nsStreamListenerEvent::HandlePLEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 94] PL_HandleEvent [plevent.c, line 523] _md_EventReceiverProc [plevent.c, line 951] KERNEL32.DLL + 0x35d9 (0xbff735d9) 0x08730016 0xff540070
Assignee: rickg → rpotts
Whiteboard: [PDT+]
Reassigning to rickp on the assumption that its the same problem as last time.
Component: other → HTML Element
QA Contact: leger → petersen
Setting QA Contact.
*** Bug 21123 has been marked as a duplicate of this bug. ***
Status: NEW → ASSIGNED
Whiteboard: [PDT+] → [PDT+] 12/10/99
Sure I'll take a look at it... But it doesn't have anything to do with me :-) The original stack trace shows the crash in nsStr. In my build, I'm crashing in an nsCOMPtr assignment because the webshell has been deleted :-( I have a feeling that there is a reference counting bug due to using nsCOMPtrs as in/out parameters, but that's just a guess...
Assignee: rpotts → waterson
Status: ASSIGNED → NEW
Ok... It looks like this crash has to do with the XUL cache... I'm reassinging it to waterson :-)
View Source works as of 1208-08. Mac OS, 8.6
Target Milestone: M12
Setting TFV to M12 to put it on radar.
Status: NEW → ASSIGNED
view page source on mozilla.org still crashes for me on 12/8/16 win32 builds. ncident ID 2076497 nsStr::Truncate [d:\builds\seamonkey\mozilla\xpcom\ds\nsStr.cpp, line 294] nsString::Assign [d:\builds\seamonkey\mozilla\xpcom\ds\nsString2.cpp, line 1005] nsWebShell::DoLoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1792] nsWebShell::LoadURI [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1954] nsWebShell::LoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 2132] nsWebShell::LoadURL [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 1602] nsHTMLFrameInnerFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\document\src\nsFrameFrame.cpp, line 879] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 644] nsHTMLFrameOuterFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\document\src\nsFrameFrame.cpp, line 372] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsBoxFrame::FlowChildAt [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 1128] nsBoxFrame::FlowChildren [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 673] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp, line 569] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 644] RootFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLFrame.cpp, line 334] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp, line 644] ViewportFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsViewportFrame.cpp, line 527] nsHTMLReflowCommand::Dispatch [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLReflowCommand.cpp, line 145] PresShell::ProcessReflowCommands [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 1765] PresShell::ExitReflowLock [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 821] PresShell::AttributeChanged [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp, line 2192] nsXULDocument::AttributeChanged [d:\builds\seamonkey\mozilla\rdf\content\src\nsXULDocument.cpp, line 1318] nsGenericHTMLElement::UnsetAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsGenericHTMLElement.cpp, line 846] nsHTMLFrameElement::UnsetAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsHTMLFrameElement.cpp, line 84] nsGenericElement::RemoveAttribute [d:\builds\seamonkey\mozilla\layout\base\src\nsGenericElement.cpp, line 442] nsHTMLAnchorElement::RemoveAttribute [d:\builds\seamonkey\mozilla\layout\html\content\src\nsHTMLAnchorElement.cpp, line 74] ElementRemoveAttribute [d:\builds\seamonkey\mozilla\dom\src\coreDOM\nsJSElement.cpp, line 313] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 666] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2227] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 686] js_Interpret [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 2227] js_Invoke [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 686] js_InternalCall [d:\builds\seamonkey\mozilla\js\src\jsinterp.c, line 759] JS_CallFunctionValue [d:\builds\seamonkey\mozilla\js\src\jsapi.c, line 2754] nsJSContext::CallEventHandler [d:\builds\seamonkey\mozilla\dom\src\base\nsJSEnvironment.cpp, line 551] nsJSDOMEventListener::HandleEvent [d:\builds\seamonkey\mozilla\dom\src\events\nsJSDOMEventListener.cpp, line 87] nsEventListenerManager::HandleEventSubType [d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 654] nsEventListenerManager::HandleEvent [d:\builds\seamonkey\mozilla\layout\events\src\nsEventListenerManager.cpp, line 1204] GlobalWindowImpl::HandleDOMEvent [d:\builds\seamonkey\mozilla\dom\src\base\nsGlobalWindow.cpp, line 2974] nsWebShell::OnEndDocumentLoad [d:\builds\seamonkey\mozilla\webshell\src\nsWebShell.cpp, line 3021] nsDocLoaderImpl::FireOnEndDocumentLoad [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 1079] nsDocLoaderImpl::DocLoaderIsEmpty [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 981] nsDocLoaderImpl::DocLoaderIsEmpty [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 984] nsDocLoaderImpl::OnStopRequest [d:\builds\seamonkey\mozilla\webshell\src\nsDocLoader.cpp, line 920] nsLoadGroup::RemoveChannel [d:\builds\seamonkey\mozilla\netwerk\base\src\nsLoadGroup.cpp, line 541] nsInputStreamChannel::OnStopRequest [d:\builds\seamonkey\mozilla\netwerk\base\src\nsInputStreamChannel.cpp, line 354] nsOnStopRequestEvent::HandleEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 279] nsStreamListenerEvent::HandlePLEvent [d:\builds\seamonkey\mozilla\netwerk\base\src\nsAsyncStreamListener.cpp, line 94] PL_HandleEvent [plevent.c, line 523] _md_EventReceiverProc [plevent.c, line 951] KERNEL32.DLL + 0x35d9 (0xbff735d9) 0x08730016 0xff540070
Priority: P3 → P1
FWIW, on Linux there is no crash (works fine) doing a view source on http://www.mozilla.org when the sidebar is closed. When the sidebar is open, different story - a crash occurs. Using 12/08 build.
For both this bug and 20171, the nsWebShell that gets destroyed prematurely is the one that is calling nsWebShell::DoLoadURL() for chrome://related/content/related-panel.xul
*** Bug 9337 has been marked as a duplicate of this bug. ***
OS: Mac System 8.6 → All
Hardware: Macintosh → All
since bug 9337 is a dup of this, i've changed the platform to all, as paulmac, sujay and i have seen it occur on windows, mac and linux (as of the 19991208 builds). our basic recipe is: 1. make sure sidebar is open 2. View > Page Source result: source win opens...then mozilla crashes. expected: source should display w/o crashes
I believe that the crash is related re-entrancy and the XUL Cache, which was turned on in its full glory last week. Disabling it (Edit->Preferences; Debug; Disable XUL Cache) will make the problem go away, even with the sidebar on.
[adding email thread...] Chris Waterson said... You are right, we could optimize the "view source" window by not having it be a full-blown toolbarless navigator.xul; however, the problem is something to do with the brutal sharing stuff that I turned on towards the end of last week. Turn off the XUL cache, and you will no longer see the crash, even with sidebar enabled. (Edit->Preferences; Debug; Disable XUL Cache) chris aaronr@us.ibm.com wrote: > > Sorry, I don't know if this is the type of discussion that should go in the > bug report, something that should go on a newsgroup or something that > should go in a note like this. Please let me know for future reference. I > don't want to bother more people than is really necessary so I didn't put > it in the bug. > > Anyway, the whole problem with this view->page source problem is that we > are putting a sidebar into the "view source" window, right? Isn't the > right answer not to put a sidebar into the "view source" window at all? If > you do "view source" from a browser window that doesn't have a sidebar and > thus generate a view souce window that doesn't have a sidebar, then things > work fine. If you then try to put a sidebar into the "view source" window, > nothing happens (though the menu does accurately track the check mark > toggle). I guess that I am old fashioned, but I think the view source > window should be a kiosk window like in 4.x. > > That's my two cents. I'll leave the solution to you guys and I'll go help > out on another bug.
Attached patch proposed fixSplinter Review
Whiteboard: [PDT+] 12/10/99 → [PDT+] fix ready
The attached fix moves document contruction onto a callback. The problem that we were seeing is that the nsHTMLInnerFrame wasn't re-entrant. Its Reflow() method created a webshell and called LoadURL() on that webshell. This had the side effect of destroying the webshell the frame had just created! Although we could hack the inner frame to ensure that re-entrancy like this was allowed, the safest fix seemed to be to make the nsCachedChromeChannel behave like other channels. We separate OnStartLoad() and OnStopLoad() so that a stack unwind is guaranteed to happen between the two. saari, hyatt: the only people that I can think of that would be affected by this are you. Will this screw up your XUL key loading magic?
*** Bug 21283 has been marked as a duplicate of this bug. ***
*** Bug 20961 has been marked as a duplicate of this bug. ***
Status: ASSIGNED → RESOLVED
Closed: 26 years ago
Resolution: --- → FIXED
*** Bug 21306 has been marked as a duplicate of this bug. ***
View page source works fine. But, on Windows and Linux, the view page source window shows the regular browser menu and chrome icons (navigator, mail, composer..). That's supposed to be a kiosk window right...? It's not major issue. But I wanted to know if there is a separate opened to track that issue. Let me know what shows up now is decied to be OK..then I will mark the bug verified.
Used Dec 14th's commercial build (for the above comments).
Status: RESOLVED → VERIFIED
The original problem has been fixed. The menus appearing in the source window is new and should be written up as a new problem.
SPAM. HTML Element component deprecated, changing component to Layout. See bug 88132 for details.
Component: HTML Element → Layout
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: