Closed Bug 76230 Opened 24 years ago Closed 24 years ago

Images at //jazz/users are broken

Categories

(Core :: Graphics: ImageLib, defect)

x86
Linux
defect
Not set
major

Tracking

()

VERIFIED FIXED
mozilla0.9.1

People

(Reporter: akkzilla, Assigned: saari)

References

()

Details

(Whiteboard: [imglib])

Attachments

(2 files)

Go to the indicated URL. The text lines all draw on top of each other; it's impossible to use the page. Dougt says he sees it too, thought it was a layout/box problem and suggested hwaara.
We need a non NS-only testcase here
I am hitting a couple of assertions before the layout get all screwed: NS_ASSERTION(NS_FRAME_IS_COMPLETE(aStatus), "bad status"); where aStatus == 1 nsDebug::Assertion(const char * 0x02bf0314, const char * 0x02bf02f4, const char * 0x02bf02b4, int 866) line 286 + 13 bytes nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 1, int 0, int 0, int 15360, int 8700, int 1) line 866 + 38 bytes nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x03822c84, nsBoxLayoutState & {...}) line 523 + 52 bytes nsBox::Layout(nsBox * const 0x03822c84, nsBoxLayoutState & {...}) line 985 nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x038220a4, nsBoxLayoutState & {...}) line 377 nsBox::Layout(nsBox * const 0x038220a4, nsBoxLayoutState & {...}) line 985 nsContainerBox::LayoutChildAt(nsBoxLayoutState & {...}, nsIBox * 0x038220a4, const nsRect & {...}) line 591 + 16 bytes nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & {...}, nsIBox * 0x038220a4, const nsRect & {...}) line 1038 + 17 bytes nsGfxScrollFrameInner::Layout(nsBoxLayoutState & {...}) line 1143 nsGfxScrollFrame::DoLayout(nsGfxScrollFrame * const 0x03821ffc, nsBoxLayoutState & {...}) line 1046 + 15 bytes nsBox::Layout(nsBox * const 0x03821ffc, nsBoxLayoutState & {...}) line 985 nsBoxFrame::Reflow(nsBoxFrame * const 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 781 nsGfxScrollFrame::Reflow(nsGfxScrollFrame * const 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 735 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 701 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x03821f50, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 544 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x03d01880, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 145 PresShell::ProcessReflowCommand(nsVoidArray & {...}, int 1, nsHTMLReflowMetrics & {...}, nsSize & {...}, nsIRenderingContext & {...}) line 5415 PresShell::ProcessReflowCommands(int 1) line 5470 ReflowEvent::HandleEvent() line 5328 HandlePLEvent(ReflowEvent * 0x03d037c0) line 5342 PL_HandleEvent(PLEvent * 0x03d037c0) line 588 + 10 bytes PL_ProcessPendingEvents(PLEventQueue * 0x0056d740) line 518 + 9 bytes _md_EventReceiverProc(HWND__ * 0x002a02ea, unsigned int 49514, unsigned int 0, long 5691200) line 1069 + 9 bytes Then I hit this one: NS_ASSERTION(nsnull != line, "can't find deleted frame in lines"); nsBlockFrame::DoRemoveFrame(nsIPresContext * 0x044d8d70, nsIFrame * 0x038ae400) line 5598 + 32 bytes nsBlockFrame::DeleteChildsNextInFlow(nsIPresContext * 0x044d8d70, nsIFrame * 0x03822f00) line 5756 nsBlockReflowContext::DoReflowBlock(nsHTMLReflowState & {...}, nsReflowReason eReflowReason_Incremental, nsIFrame * 0x03822f00, const nsRect & {...}, int 1, int 322, int 0, nsMargin & {...}, unsigned int & 0) line 666 nsBlockReflowContext::ReflowBlock(nsIFrame * 0x03822f00, const nsRect & {...}, int 1, int 322, int 0, nsMargin & {...}, unsigned int & 0) line 336 + 50 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x038ad998, int * 0x0012d410) line 3950 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x038ad998, int * 0x0012d410, int 1) line 3213 + 23 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 3020 + 27 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x03822d78, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 1771 + 15 bytes nsBlockReflowContext::DoReflowBlock(nsHTMLReflowState & {...}, nsReflowReason eReflowReason_Incremental, nsIFrame * 0x03822d78, const nsRect & {...}, int 1, int 0, int 1, nsMargin & {...}, unsigned int & 0) line 568 + 36 bytes nsBlockReflowContext::ReflowBlock(nsIFrame * 0x03822d78, const nsRect & {...}, int 1, int 0, int 1, nsMargin & {...}, unsigned int & 0) line 336 + 50 bytes nsBlockFrame::ReflowBlockFrame(nsBlockReflowState & {...}, nsLineBox * 0x03822dec, int * 0x0012df78) line 3950 + 56 bytes nsBlockFrame::ReflowLine(nsBlockReflowState & {...}, nsLineBox * 0x03822dec, int * 0x0012df78, int 1) line 3213 + 23 bytes nsBlockFrame::ReflowDirtyLines(nsBlockReflowState & {...}) line 3020 + 27 bytes nsBlockFrame::Reflow(nsBlockFrame * const 0x03822cf0, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 1771 + 15 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03822cf0, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 701 + 31 bytes CanvasFrame::Reflow(CanvasFrame * const 0x03821f8c, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 304 nsBoxToBlockAdaptor::Reflow(nsBoxLayoutState & {...}, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0, int 0, int 0, int 15105, int 8445, int 1) line 866 nsBoxToBlockAdaptor::DoLayout(nsBoxToBlockAdaptor * const 0x03822c84, nsBoxLayoutState & {...}) line 523 + 52 bytes nsBox::Layout(nsBox * const 0x03822c84, nsBoxLayoutState & {...}) line 985 nsScrollBoxFrame::DoLayout(nsScrollBoxFrame * const 0x038220a4, nsBoxLayoutState & {...}) line 377 nsBox::Layout(nsBox * const 0x038220a4, nsBoxLayoutState & {...}) line 985 nsContainerBox::LayoutChildAt(nsBoxLayoutState & {...}, nsIBox * 0x038220a4, const nsRect & {...}) line 591 + 16 bytes nsGfxScrollFrameInner::LayoutBox(nsBoxLayoutState & {...}, nsIBox * 0x038220a4, const nsRect & {...}) line 1038 + 17 bytes nsGfxScrollFrameInner::Layout(nsBoxLayoutState & {...}) line 1143 nsGfxScrollFrame::DoLayout(nsGfxScrollFrame * const 0x03821ffc, nsBoxLayoutState & {...}) line 1046 + 15 bytes nsBox::Layout(nsBox * const 0x03821ffc, nsBoxLayoutState & {...}) line 985 nsBoxFrame::Reflow(nsBoxFrame * const 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 781 nsGfxScrollFrame::Reflow(nsGfxScrollFrame * const 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 735 + 25 bytes nsContainerFrame::ReflowChild(nsIFrame * 0x03821fc4, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, int 0, int 0, unsigned int 0, unsigned int & 0) line 701 + 31 bytes ViewportFrame::Reflow(ViewportFrame * const 0x03821f50, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsHTMLReflowState & {...}, unsigned int & 0) line 544 nsHTMLReflowCommand::Dispatch(nsHTMLReflowCommand * const 0x03d030d0, nsIPresContext * 0x044d8d70, nsHTMLReflowMetrics & {...}, const nsSize & {...}, nsIRenderingContext & {...}) line 145 PresShell::ProcessReflowCommand(nsVoidArray & {...}, int 0, nsHTMLReflowMetrics & {...}, nsSize & {...}, nsIRenderingContext & {...}) line 5415 PresShell::ProcessReflowCommands(int 0) line 5470 PresShell::FlushPendingNotifications(PresShell * const 0x037ae4a0) line 4448 nsEventStateManager::FlushPendingEvents(nsIPresContext * 0x044d8d70) line 3463 nsEventStateManager::GenerateDragGesture(nsIPresContext * 0x044d8d70, nsGUIEvent * 0x0012f7d0) line 992 nsEventStateManager::PreHandleEvent(nsEventStateManager * const 0x03b20a98, nsIPresContext * 0x044d8d70, nsEvent * 0x0012f7d0, nsIFrame * 0x03881c40, nsEventStatus * 0x0012f6c4, nsIView * 0x03cb4900) line 328 PresShell::HandleEventInternal(nsEvent * 0x0012f7d0, nsIView * 0x03cb4900, unsigned int 1, nsEventStatus * 0x0012f6c4) line 5209 + 43 bytes PresShell::HandleEvent(PresShell * const 0x037ae4a4, nsIView * 0x03cb4900, nsGUIEvent * 0x0012f7d0, nsEventStatus * 0x0012f6c4, int 0, int & 1) line 5142 + 25 bytes nsView::HandleEvent(nsView * const 0x03cb4900, nsGUIEvent * 0x0012f7d0, unsigned int 8, nsEventStatus * 0x0012f6c4, int 0, int & 1) line 377 nsView::HandleEvent(nsView * const 0x03cb2a90, nsGUIEvent * 0x0012f7d0, unsigned int 8, nsEventStatus * 0x0012f6c4, int 0, int & 1) line 350 nsView::HandleEvent(nsView * const 0x037abdf0, nsGUIEvent * 0x0012f7d0, unsigned int 28, nsEventStatus * 0x0012f6c4, int 1, int & 1) line 350 nsViewManager::DispatchEvent(nsViewManager * const 0x037a90a0, nsGUIEvent * 0x0012f7d0, nsEventStatus * 0x0012f6c4) line 2020 HandleEvent(nsGUIEvent * 0x0012f7d0) line 68 nsWindow::DispatchEvent(nsWindow * const 0x03cb7274, nsGUIEvent * 0x0012f7d0, nsEventStatus & nsEventStatus_eIgnore) line 701 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f7d0) line 722 nsWindow::DispatchMouseEvent(unsigned int 300, nsPoint * 0x00000000) line 4024 + 21 bytes
Turns out that this is a problem with the gif images that these server-generated pages put at the beginning of each line. http://warp/u/cltbld/ shows it too. The image size isn't being initialized. Pav has a fix for that, which will make these pages usable again. The images also aren't being loaded, for some unknown reason.
Assignee: hwaara → pavlov
These images now come in as at 0x0, instead of very big numbers. Reassigning to saari. saari - the images on this page should be loading. The gif decoder is coming up with a 0x0 logical screen size.
Assignee: pavlov → saari
Summary: Can't view //jazz/users → Images at //jazz/users are broken
Hwaara: I tried saving the page to a file, with the intention of attaching it here. But it turns out that the problem doesn't happen when reading from a local file, only when talking to an http server. I don't know of an external server with a similar page, but if I run across one I'll post it here. The servers involved are Netscape-Enterprise/3.6, so if you can find an external server running that software to serve files over http, it would probably show the bug.
*** Bug 75979 has been marked as a duplicate of this bug. ***
Akkana: this bug is not mine anymore, no need to hunt down a NS server. :)
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla0.9.1
Target Milestone: mozilla0.9.1 → mozilla0.9.2
Naughty images that had 0,0 as the logical screen size.
pulling back into 0.9.1 since I have a patch
Target Milestone: mozilla0.9.2 → mozilla0.9.1
Ah, yeah that's easy to envision. Could you please attach a testcase so that QA / external testers can verify?
Component: Layout → ImageLib
QA Contact: petersen → tpreston
Attached image testcase menu.gif
I see this on linux build 2001050108, changing status to imglib
Whiteboard: [imglib]
need r= and sr=, I have other fixes in the pipe that depend on this
r=pavlov
sr=hyatt
Fixed
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Verified fixed mac build 2001052405 Verified fixed w2k build 2001052404 Verified fixed linux build 2001052310
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: