Closed Bug 121638 Opened 23 years ago Closed 23 years ago

M099 Trunk crash on theme change modern->classic [@ nsFont::Equals]

Categories

(Core Graveyard :: Skinability, defect)

x86
All
defect
Not set
critical

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 121055
mozilla1.2alpha

People

(Reporter: greer, Assigned: hyatt)

References

Details

(Keywords: crash, testcase, topcrash+)

Crash Data

Attachments

(2 files)

Talkback data is showing another crash while changing themes. This time at nsFont::Equals. All of the comments mention the specific change from modern to classic. According to the log nsFont::Equals hasn't changed recently may be an innocent bystander in the crash. The real problem may be at DeviceContextImpl::GetMetricsFor (changed 1/12/02). cc'ing timeless@mac.com based on blame. *Possible repro steps in first comment below. Stack Trace: nsFont::Equals [d:\builds\seamonkey\mozilla\gfx\src\nsFont.cpp line 96] nsFontCache::GetMetricsFor [d:\builds\seamonkey\mozilla\gfx\src\nsDeviceContext.cpp line 653] DeviceContextImpl::GetMetricsFor [d:\builds\seamonkey\mozilla\gfx\src\nsDeviceContext.cpp line 324] nsTextBoxFrame::GetTextSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTextBoxFrame.cpp line 761] nsTextBoxFrame::CalcTextSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTextBoxFrame.cpp line 783] nsTextBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsTextBoxFrame.cpp line 797] nsSprocketLayout::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 1306] nsContainerBox::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 505] nsBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1073] nsMenuFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMenuFrame.cpp line 1948] nsSprocketLayout::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 1306] nsContainerBox::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 505] nsBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1073] nsScrollBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsScrollBoxFrame.cpp line 609] nsSprocketLayout::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 1306] nsContainerBox::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 505] nsBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1073] nsSprocketLayout::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 1306] nsContainerBox::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 505] nsBoxFrame::GetPrefSize [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1073] nsMenuFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsMenuFrame.cpp line 965] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsSprocketLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsSprocketLayout.cpp line 529] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsStackLayout::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsStackLayout.cpp line 331] nsContainerBox::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsContainerBox.cpp line 612] nsBoxFrame::DoLayout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 1198] nsBox::Layout [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBox.cpp line 1052] nsBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsBoxFrame.cpp line 991] nsRootBoxFrame::Reflow [d:\builds\seamonkey\mozilla\layout\xul\base\src\nsRootBoxFrame.cpp line 243] nsContainerFrame::ReflowChild [d:\builds\seamonkey\mozilla\layout\html\base\src\nsContainerFrame.cpp line 771] ViewportFrame::Reflow [d:\builds\seamonkey\mozilla\layout\html\base\src\nsViewportFrame.cpp line 574] nsHTMLReflowCommand::Dispatch [d:\builds\seamonkey\mozilla\layout\html\base\src\nsHTMLReflowCommand.cpp line 217] PresShell::ProcessReflowCommand [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp line 6188] PresShell::ProcessReflowCommands [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp line 6243] ReflowEvent::HandleEvent [d:\builds\seamonkey\mozilla\layout\html\base\src\nsPresShell.cpp line 6099] PL_HandleEvent [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c line 591] PL_ProcessPendingEvents [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c line 524] _md_EventReceiverProc [d:\builds\seamonkey\mozilla\xpcom\threads\plevent.c line 1072] nsAppShellService::Run [d:\builds\seamonkey\mozilla\xpfe\appshell\src\nsAppShellService.cpp line 303] main1 [d:\builds\seamonkey\mozilla\xpfe\bootstrap\nsAppRunner.cpp line 1301] main [d:\builds\seamonkey\mozilla\xpfe\bootstrap\nsAppRunner.cpp line 1628] Source File : http://bonsai.mozilla.org/cvsblame.cgi?file=mozilla/gfx/src/nsFont.cpp line : 96 Trunk (nsFont::Equals): 16 (1768302) - 2002011615: Windows NT 5.1 build 2600 - Open new installed Mozilla build 2002011604 on Win XP Pro - Switch to Modern theme - Click on the 'Back' button to show the pull-down menu. - Open the View menu and click Apply Theme / Classic. Only seems to happen after showing the Back pulldown (1778013) - 2002011615: Windows NT 5.0 build 2195 theme switch URL: europe.cnn.com (1843000) - 2002011709: Windows NT 5.1 build 2600 Applying the classic theme (1896593) - 2002011809: Windows NT 5.0 build 2195 switching from Modern to Classic (1933489) - 2002012011: Windows NT 5.0 build 2195 Changing theme from Modern to Classic. (1937050) - 2002012106: Windows NT 5.0 build 2195 Tried to switch from modern to classic theme. (1975754) - 2002012109: Windows 98 4.10 build 67766446 Attempting to switch theme from modern to classic (2022809) - 2002012209: Windows NT 5.1 build 2600 Changing theme from Modern to Classic
Keywords: crash
duh, forgot to add crash and topcrash keywords. Thanks, Oliver.
Keywords: topcrash
skin switching, ->hyatt
Assignee: ben → hyatt
> cc'ing timeless@mac.com based on blame. It's not timeless's patch, that's my patch. Stop blaming him... :) But I doubt my patch caused this - I only added better error checking to the code...
This stacktrace is different from stack trace additional comment #26: http://bugzilla.mozilla.org/show_bug.cgi?id=116038. Tom, could you show the steps of how to reproduce this crash on recent build please? Thanks!
Patty, I haven't had any luck reproducing the crash with this signature. (However, talkback data shows 71 M098 users and 17 Trunk users who can.) All of my crashes have been at the signatures in bug 116038. Updating the summary and adding qawanted.
Keywords: qawanted
Summary: Trunk crash on theme change modern->classic [@ nsFont::Equals] → M098 Trunk crash on theme change modern->classic [@ nsFont::Equals]
I am able to reproduce it on Linux. Trunk build 2002022306. I took steps as described in the description, but I started from the Modern theme (I'm using it for everyday browsing): - Switch to Classic theme (View->Apply Theme->Classic) - Open the 'Back' button pull-down history menu. - Switch back to Modern theme (View->Apply Theme->Modern) Talkback report TB3286640H. OS->All
OS: Windows 2000 → All
Hmmm... I figured out I don't need to open the history pulldown to crash... Just switch to Classic and back to modern. Maybe I'm seeing a different bug? Anyway, additional talkback reports are: TB3286773G TB3286781M
I think I might have seen bug 126692...
Attached file Stacks for bugs in comments #6 and #7 (deleted) —
The stacks in the talkback incidents submitted in Comments #6 and #7 don't match the stack in the original bug. We still haven't found a reproducible case for this one.
Attached file Recents Talkback user comments (deleted) —
Recent talkback comments from crashing users for reference in trying to reproduce this specific crash.
nominating topcrash bugs for nsbeta1.
Keywords: nsbeta1
nsbeta1- per Nav triage team. Should be fixed when we remove dynamic theme switching.
Depends on: 128168
Keywords: nsbeta1nsbeta1-
Target Milestone: --- → mozilla1.2
No longer depends on: 128168
Depends on: 127784
Summary: M098 Trunk crash on theme change modern->classic [@ nsFont::Equals] → M099 Trunk crash on theme change modern->classic [@ nsFont::Equals]
I've now reproduced this crash (and stack) three times today with M099 on two different NT4 boxes. 1. install the LCARStrek theme from xulplanet.com 2. switch back to Classic. Earlier I was crashing at nsRuleNode::WalkRuleTree (bug 121055) with these steps, but now each crash comes under the nsFont::Equals signature (3963516, 3963380, 3948048).
I think this may be the same bug as bug 121055 -- they both seem related to menus.
I'd be quite surprised if this isn't the same problem as bug 121055 (FlushMiscWidgetInfo not descending into the frames that it should). *** This bug has been marked as a duplicate of 121055 ***
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → DUPLICATE
Product: Core → Core Graveyard
Crash Signature: [@ nsFont::Equals]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: