Closed Bug 56136 Opened 25 years ago Closed 25 years ago

Composer-Crash at changing Character coding menu in non-meta charset page [@ nsQueryInterface::operator - gkhtml.dll]

Categories

(Core :: DOM: Editor, defect, P3)

defect

Tracking

()

VERIFIED FIXED

People

(Reporter: teruko, Assigned: sfraser_bugs)

References

()

Details

(Keywords: crash, regression, topcrash, Whiteboard: [rtm++])

Crash Data

When you open the non-meta charset page in composer and change the character coding menu, Netscape will crash. Steps of reproduce 1. Open Composer 2. Open Non-meta charset html file or text file 3. Select menu View|Character coding->More->East Asian->Japanese(Shift_JIS) Netscape will crash. Tested 2000-10-11-08 Win32 MN6 build. This happen in 2000-10-10-08 MN6 build. This does not happen in 2000-10-08-08 MN6 build and 2000-10-11-09 trunk build. Talkback incident #18928478 Trigger Type: Program Crash Trigger Reason: Access violation Thread ID: Call Stack: (Signature = 0x00000070 b509c82b) 0x00000070 nsQueryInterface::operator() [d:\builds\seamonkey\mozilla\xpcom\base\nsCOMPtr.cpp, line 37] nsCOMPtr_base::assign_from_helper [d:\builds\seamonkey\mozilla\xpcom\base\nsCOMPtr.cpp, line 66] nsInterfaceState::SelectionIsCollapsed [d:\builds\seamonkey\mozilla\editor\base\nsInterfaceState.cpp, line 384] nsInterfaceState::TimerCallback [d:\builds\seamonkey\mozilla\editor\base\nsInterfaceState.cpp, line 283] nsInterfaceState::Notify [d:\builds\seamonkey\mozilla\editor\base\nsInterfaceState.cpp, line 660] nsTimer::Fire [d:\builds\seamonkey\mozilla\widget\timer\src\windows\nsTimer.cpp, line 200] nsTimerManager::FireNextReadyTimer [d:\builds\seamonkey\mozilla\widget\timer\src\windows\nsTimerManager.cpp, line 117] nsAppShell::Run [d:\builds\seamonkey\mozilla\widget\src\windows\nsAppShell.cpp, line 116] nsAppShellService::Run [d:\builds\seamonkey\mozilla\xpfe\appshell\src\nsAppShellService.cpp, line 408] Netscp6.exe + 0x1711 (0x00401711) Netscp6.exe + 0x1230 (0x00401230) Netscp6.exe + 0x2aae (0x00402aae) KERNEL32.dll + 0x1bd1e (0x77eebd1e) Hotta-san, would you reassign this to the right person? thanks.
Keywords: rtm
QA Contact: sujay → teruko
Summary: Composer-Crash at changing Character coding menu in non-meta charset page → Composer-Crash at changing Character coding menu in non-meta charset page
kin- regression. know anything may related to this ?
Keywords: crash, regression
IQA, could you try 10/09 branch build?
I can reproduce this with my local branch build (pulled today). Reassign to editor group. It looks like this started between 10/8 and 10/10.
Assignee: nhotta → beppe
I cannot reproduce this using 2000-10-09-09-MN6 win32 buld.
I also tried trunk builds, it started from 2000-10-09-21-Mtrunk. Here is a check in of that day (Hook for tree that closed on 10/10/2000 08:00:07). http://bonsai.mozilla.org/showcheckins.cgi?&treeid=SeaMonkey&batchid=369
Adding sfraser to cc (just because he had check in to editor that day, don't know if that's related to this bug).
adding a url above which doesn't have a charset meta tag Reassign to Simon since this looks like it *might* be related to one of his checkins. We're crashing in nsInterfaceState::TimerCallback and mEditor has been deleted. Perhaps the window is being deconstructed? Sounds kind of like the browse twice crasher... hmmmm...
Assignee: beppe → sfraser
OS: Windows NT → All
Hardware: PC → All
Target Milestone: --- → M19
nsInterfaceState is being leaked. Investigating
Whiteboard: [rtm+]
I understand this problem now. The UI interface updater has a timer that fires after the old editor has gone away, but before we have a new one (after the charset change). Fix should be pretty easy.
Accept
Status: NEW → ASSIGNED
Marking rtm need info. Please attach a patch, gets reviews, and renominate if still reasonable.
Whiteboard: [rtm+] → [rtm need info]
Patch: Index: mozilla/editor/base/nsEditorShell.cpp =================================================================== RCS file: /cvsroot/mozilla/editor/base/nsEditorShell.cpp,v retrieving revision 1.202.2.4 diff -u -2 -r1.202.2.4 nsEditorShell.cpp --- nsEditorShell.cpp 2000/10/13 13:33:03 1.202.2.4 +++ nsEditorShell.cpp 2000/10/13 22:40:03 @@ -377,4 +377,10 @@ // new one. + nsCOMPtr<nsIEditor> editor(do_QueryInterface(mEditor)); + if (editor) + { + editor->PreDestroy(); + } + // Unload existing stylesheets nsCOMPtr<nsIEditorStyleSheets> styleSheets = do_QueryInterface(mEditor); What this patch does is to call the editor's PreDestroy method, which notifies document state listeners that the document is going away. One of those listeners is the nsInterfaceState, which responds to this notification by removing the timer that's causing this crash. This is a safe change.
Looks like a good change, r=akkana.
I expect this will be approved for checkin this afternoon... but I want the PDT to discuss the details of approval process first. Watch for the double-plus landing permission. Thanks, Jim
Whiteboard: [rtm need info] → [rtm+]
PDT says rtm++, please land on branch and trunk ASAP
Whiteboard: [rtm+] → [rtm++]
adding topcrash keyword and [@ nsQueryInterface::operator] for tracking...this is a topcrasher for the latest branch builds.
Keywords: topcrash
Summary: Composer-Crash at changing Character coding menu in non-meta charset page → Composer-Crash at changing Character coding menu in non-meta charset page [@ nsQueryInterface::operator]
Summary: Composer-Crash at changing Character coding menu in non-meta charset page [@ nsQueryInterface::operator] → Composer-Crash at changing Character coding menu in non-meta charset page [@ nsQueryInterface::operator - gkhtml.dll]
Fix checked into branch and trunk.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
I verified this in 2000-10-19-08 MN6 Win32, Linux, and Mac build.
Status: RESOLVED → VERIFIED
Added vtrunk in keywords.
Keywords: vtrunk
Reopening to Resolve as Fixed. Bugs stay resolved until verified on both the branch and the trunk.
Status: VERIFIED → REOPENED
Resolution: FIXED → ---
marking as fixed (per asa's apparent intention) so that we can verify this on the branch as well (already verified on the trunk).
Status: REOPENED → RESOLVED
Closed: 25 years ago25 years ago
Resolution: --- → FIXED
this bug is already verified on the branch per teruko's comments. Someone will have to verify on trunk. Asa ?
Verified as fixed in 2000-12-12-04 Mtrunk Win32 build, 2000-12-12-08 Mtrunk Mac build, and 2000-12-12-09 Mtrunk Linux build.
Status: RESOLVED → VERIFIED
Crash Signature: [@ nsQueryInterface::operator - gkhtml.dll]
You need to log in before you can comment on or make changes to this bug.