Closed
Bug 41854
Opened 24 years ago
Closed 24 years ago
Freeze upon trying to access Manage Bookmarks
Categories
(SeaMonkey :: Bookmarks & History, defect, P2)
Tracking
(Not tracked)
VERIFIED
FIXED
M16
People
(Reporter: bugzilla, Assigned: kmcclusk)
References
Details
(Keywords: crash, platform-parity, smoketest, Whiteboard: [dogfood+])
60708 I hear we have a bug on this already, but I couldn't find it; feel free to mark dup if you can. Attempting to load Manage Bookmarks from either the Bookmarks button on the personal toolbar or the Bookmarks menu freezes. The window container appears, but then everythin' goes bad.
Reporter | ||
Comment 1•24 years ago
|
||
this is win32 only. upping severity.
Severity: normal → major
Keywords: pp
Comment 2•24 years ago
|
||
added crash and smoketest kw's...
Putting on [dogfood+] radar. Reassigning to rjc.
Assignee: slamm → rjc
Whiteboard: [dogfood+]
Comment 5•24 years ago
|
||
Unable to reproduce. My bookmarks work fine.
Comment 6•24 years ago
|
||
dave are you running Win98? I ask because this freezes horribly for me(Win98) but it doesn't seem to be a problem on some NT machines I've seen(sigh)
Comment 7•24 years ago
|
||
Using NS verif build 60808 on Win98, I get no Manage Bookmarks window, but no other symptoms.
Priority: P3 → P2
Target Milestone: --- → M16
Comment 8•24 years ago
|
||
trudelle, my instinct is that your result is a new and different bug on top of this one. Yesterday, manage bookmarks froze the app for me (and several others) after it drew the outline of the window, BUt the history window worked fine. Today, with the 0608 build selecting manage bookamarks yields nothing, BUT so does selecting history. Those results seem to indicate to me a new and masking bug.
Comment 9•24 years ago
|
||
Ben said that reproducing this in debug builds yielded hundreds of View Mgr asserts. reassigning to kmcclusk, cc ben.
Assignee: hyatt → kmcclusk
Assignee | ||
Comment 10•24 years ago
|
||
I'm working on getting a debug build on WIN98. Ben: do you know which viewmanager assertion is being triggered?
Status: NEW → ASSIGNED
Whiteboard: [dogfood+] → [dogfood+] trying to reproduce
Reporter | ||
Comment 11•24 years ago
|
||
in 60814 win98, manage bookmarks is working for me
Reporter | ||
Comment 12•24 years ago
|
||
disregard my last comment. build 60814 is an M16 build.
Comment 13•24 years ago
|
||
Win98 60820 : Manage bokmarks window comes up. Clicking anywhere causes freeze. Win95 60820 : Same as Win98 Linux 60820 : Works Fine
Assignee | ||
Comment 14•24 years ago
|
||
I can reproduce the problem, but I'm having difficult getting a stack trace which shows the recurive painting that viewmanager is being asked to do. The stack trace only shows a stack from the message queue back to the view manager's refresh when I hit debug from assert dialog. If I run inside the debugger to begin with I get endless asserts in the nsString's copy_string so I can't get through to the viewmanager assert.
Whiteboard: [dogfood+] trying to reproduce → [dogfood+] Working on it ETA 6/12
Assignee | ||
Comment 15•24 years ago
|
||
I just did a fresh pull on WINNT (6/9/2000 3:30PM build). When I run Mozilla inside the debugger and perform the following: 1) Bring up manage bookmarks 2) Click on a folder to open it I get an assert in copy_string. I can't get beyond this assert. It keeps asserting indefinitely with the follow trace: copy_string(nsReadingIterator<unsigned short> {...}, nsReadingIterator<unsigned short> {...}, unsigned short * 0x04057e00) line 73 + 28 bytes basic_nsAWritableString<unsigned short>::AssignFromPromise(const nsPromiseReadable<unsigned short> & {...}) line 470 + 65 bytes basic_nsAWritableString<unsigned short>::Assign(const nsPromiseReadable<unsigned short> & {...}) line 286 + 40 bytes nsString::operator=(const nsPromiseReadable<unsigned short> & {...}) line 449 + 19 bytes nsTextBoxFrame::CalculateTitleForWidth(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, int 2416) line 530 + 65 bytes nsTextBoxFrame::LayoutTitle(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay, const nsRect & {...}) line 269 nsTextBoxFrame::Paint(nsTextBoxFrame * const 0x03c3f2a4, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 247 nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3f2a4, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsBoxFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3f2a4, nsFramePaintLayer eFramePaintLayer_Overlay) line 1139 nsBoxFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 1272 nsHTMLContainerFrame::Paint(nsHTMLContainerFrame * const 0x03c3f218, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 101 nsBoxFrame::Paint(nsBoxFrame * const 0x03c3f218, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 1100 + 25 bytes nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3f218, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTableCellFrame::Paint(nsTableCellFrame * const 0x03c3f0f8, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 366 nsTableRowFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 624 nsTableRowFrame::Paint(nsTableRowFrame * const 0x03c3e754, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 577 nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3e754, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTreeRowGroupFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 984 nsTableRowGroupFrame::Paint(nsTableRowGroupFrame * const 0x03c39c34, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 218 nsTreeRowGroupFrame::Paint(nsTreeRowGroupFrame * const 0x03c39c34, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 2276 + 25 bytes nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c39c34, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTreeRowGroupFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 984 nsTableRowGroupFrame::Paint(nsTableRowGroupFrame * const 0x03c3e6bc, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 218 nsTreeRowGroupFrame::Paint(nsTreeRowGroupFrame * const 0x03c3e6bc, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 2276 + 25 bytes nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3e6bc, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTreeRowGroupFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 984 nsTableRowGroupFrame::Paint(nsTableRowGroupFrame * const 0x03c3f4a8, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 218 nsTreeRowGroupFrame::Paint(nsTreeRowGroupFrame * const 0x03c3f4a8, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 2276 + 25 bytes nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x03c3f4a8, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTreeRowGroupFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 984 nsTableRowGroupFrame::Paint(nsTableRowGroupFrame * const 0x02d2a874, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 218 nsTreeRowGroupFrame::Paint(nsTreeRowGroupFrame * const 0x02d2a874, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 2276 + 25 bytes nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x02d2a874, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsContainerFrame::PaintChildren(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 155 nsTableFrame::Paint(nsTableFrame * const 0x02d2a3d0, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 1291 nsContainerFrame::PaintChild(nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsIFrame * 0x02d2a3d0, nsFramePaintLayer eFramePaintLayer_Overlay) line 211 nsTableOuterFrame::Paint(nsTableOuterFrame * const 0x02d2a370, nsIPresContext * 0x03aa6f00, nsIRenderingContext & {...}, const nsRect & {...}, nsFramePaintLayer eFramePaintLayer_Overlay) line 352 PresShell::Paint(PresShell * const 0x03aa7d74, nsIView * 0x03b5e610, nsIRenderingContext & {...}, const nsRect & {...}) line 3367 + 34 bytes nsView::Paint(nsView * const 0x03b5e610, nsIRenderingContext & {...}, const nsRect & {...}, unsigned int 128, int & 0) line 280 nsViewManager2::RenderDisplayListElement(DisplayListElement2 * 0x040564a0, nsIRenderingContext & {...}) line 815 nsViewManager2::RenderViews(nsIView * 0x03aa6600, nsIRenderingContext & {...}, const nsRect & {...}, int & 0) line 762 nsViewManager2::Refresh(nsIView * 0x03aa6600, nsIRenderingContext * 0x04056670, const nsRect * 0x0012f6f0, unsigned int 1) line 642 nsViewManager2::DispatchEvent(nsViewManager2 * const 0x03aa67e0, nsGUIEvent * 0x0012f830, nsEventStatus * 0x0012f734) line 1283 HandleEvent(nsGUIEvent * 0x0012f830) line 69 nsWindow::DispatchEvent(nsWindow * const 0x03aa64d4, nsGUIEvent * 0x0012f830, nsEventStatus & nsEventStatus_eIgnore) line 560 + 10 bytes nsWindow::DispatchWindowEvent(nsGUIEvent * 0x0012f830, nsEventStatus & nsEventStatus_eIgnore) line 586 nsWindow::OnPaint() line 3481 + 28 bytes nsWindow::ProcessMessage(unsigned int 15, unsigned int 0, long 0, long * 0x0012fbc8) line 2641 + 17 bytes nsWindow::WindowProc(HWND__ * 0x001406e4, unsigned int 15, unsigned int 0, long 0) line 829 + 27 bytes USER32! 77e719d0() USER32! 77e71982() NTDLL! 77f763a3() Scott could you take a look? This is the same assert I see when running in the debugger on WIN98 when the bookmark window is starting to come up. If I run it outside the debugger it asserts in both copy_string and viewmanager. I'm thinking the copy_string assert may be leading to the viewmanager recursive painting assert. Reassign back to me if the viewmanager assert still appears once the copy_string assert is resolved
Assignee: kmcclusk → scc
Status: ASSIGNED → NEW
Whiteboard: [dogfood+] Working on it ETA 6/12 → [dogfood+]
Comment 16•24 years ago
|
||
Well, I know one thing... this line (in nsTextBoxFrame.cpp) mCroppedTitle = elipsisLeft + copy + mCroppedTitle; should really be mCroppedTitle.Insert(elipsisLeft+copy, 0); That is significantly more efficient, and will avoid the place where the code is failing. I don't know yet why the code is failing. Still researching that.
Comment 17•24 years ago
|
||
All right, I checked in a fix (as described above, to the file "nsTextBoxFrame.cpp") to avoid whatever separate problem you might have been having in |copy_string|, now you should be able to get to your view manager asserts from the debugger. Assigning back to you. I'm still separately investing the |copy_string| problem.
Assignee: scc → kmcclusk
Assignee | ||
Comment 18•24 years ago
|
||
With Scott's fix to nsTextBoxFrame I no longer see any asserts in nsViewManager. The bookmark windows comes up and works (I can click on folders) on WIN98. Marking Fixed.
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → FIXED
Updated•20 years ago
|
Product: Browser → Seamonkey
You need to log in
before you can comment on or make changes to this bug.
Description
•