Summary: | Safari 4dp crashes while executing "undo" in gmail | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Eric Seidel (no email) <eric> | ||||
Component: | HTML Editing | Assignee: | Darin Adler <darin> | ||||
Status: | RESOLVED DUPLICATE | ||||||
Severity: | Normal | CC: | dev+webkit, feng, jparent, justin.garcia, ojan | ||||
Priority: | P1 | Keywords: | GoogleBug, InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.5 | ||||||
Attachments: |
|
Description
Eric Seidel (no email)
2008-09-05 15:23:39 PDT
This does not crash every time. Might be fixed in ToT (I haven't gone searching yet). But this is the second instance of this crash I've had of this this week! I've sent both to Apple via CrashReporter. I hit this all the time! Bah. Almost makes me want to use FireFox. I think all you need to do is open a gmail reply and hit undo for this to crash Safari. Double bah. It's very easy to reproduce with internal Gmail. 1. hit reply 2. type something 3. hit undo 4. Safari crashes. I'm sure it's possible to hit this other ways too. Tripple Bah! This crashes Chrome too! I've had this one reported to me in Chrome for a while now, both in Gmail and Sites, always on an undo. But no one has ever gotten a consistent repro. Your repro case of just reply to email, type, and undo doesn't crash for me. (In reply to comment #4) > Double bah. It's very easy to reproduce with internal Gmail. > 1. hit reply > 2. type something > 3. hit undo > 4. Safari crashes. These steps don't reproduce a crash for me either. (In reply to comment #4) > Double bah. It's very easy to reproduce with internal Gmail. > 1. hit reply > 2. type something > 3. hit undo > 4. Safari crashes. These steps hit the following ASSERT for me: <http://trac.webkit.org/browser/trunk/WebCore/editing/InsertNodeBeforeCommand.cpp#L59> ASSERTION FAILED: m_refChild->parentNode() (/Users/matt/Code/WebKit/WebCore/editing/InsertNodeBeforeCommand.cpp:59 virtual void WebCore::InsertNodeBeforeCommand::doUnapply()) Thread 0 Crashed: 0 com.apple.WebCore 0x03564f49 WebCore::InsertNodeBeforeCommand::doUnapply() + 235 (InsertNodeBeforeCommand.cpp:59) 1 com.apple.WebCore 0x0341db09 WebCore::EditCommand::unapply() + 265 (EditCommand.cpp:127) 2 com.apple.WebCore 0x032ecd7b WebCore::CompositeEditCommand::doUnapply() + 69 (CompositeEditCommand.cpp:80) 3 com.apple.WebCore 0x0341db09 WebCore::EditCommand::unapply() + 265 (EditCommand.cpp:127) 4 com.apple.WebCore 0x032ecd7b WebCore::CompositeEditCommand::doUnapply() + 69 (CompositeEditCommand.cpp:80) 5 com.apple.WebCore 0x0341db09 WebCore::EditCommand::unapply() + 265 (EditCommand.cpp:127) 6 com.apple.WebKit 0x001c34c0 -[WebEditorUndoTarget undoEditing:] + 166 (WebEditorClient.mm:150) Got some repro steps that seem to work reliably for me on Safari 3.1 Mac in Google Sites. From http://code.google.com/p/chromium/issues/detail?id=2266 1. Create a new page 2. Type 'a' into the text box. Press Ctrl-Z to undo the insertion of 'a', and the cursor is moved to the next line. 3. Move the cursor up to the beginning of the text box. Type 'a' again. Press Ctrl-Z to undo the insertion. I'm getting this in a totally unrealiable manner, but my experience has been that the crash always follows when I try to undo an HTML-formatted paste into the editing window. My CrashReporter traces look different, too: Process: WebKit [9750] Path: /Applications/WebKit.app/Contents/MacOS/WebKit Identifier: org.webkit.nightly.WebKit Version: ??? (???) Code Type: X86 (Native) Parent Process: launchd [120] Date/Time: 2008-05-27 11:39:51.759 +0300 OS Version: Mac OS X 10.5.2 (9C7010) Report Version: 6 Exception Type: EXC_BREAKPOINT (SIGTRAP) Exception Codes: 0x0000000000000002, 0x0000000000000000 Crashed Thread: 0 Application Specific Information: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '*** -[NSCFDictionary setObject:forKey:]: mutating method sent to immutable object' Thread 0 Crashed: 0 com.apple.CoreFoundation 0x923370f4 ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ + 4 1 libobjc.A.dylib 0x942e10fb objc_exception_throw + 40 2 com.apple.CoreFoundation 0x9233702b +[NSException raise:format:arguments:] + 155 3 com.apple.CoreFoundation 0x9233706a +[NSException raise:format:] + 58 4 com.apple.Foundation 0x95bf0af4 -[NSCFDictionary setObject:forKey:] + 228 5 com.apple.CoreFoundation 0x92335172 -[NSMutableDictionary addEntriesFromDictionary:] + 226 6 org.webkit.nightly.WebKit 0x000026c7 start + 1979 7 org.webkit.nightly.WebKit 0x00002008 start + 252 8 org.webkit.nightly.WebKit 0x00001f35 start + 41 Thread 0 crashed with X86 Thread State (32-bit): eax: 0xa01ef0f0 ebx: 0x942e10dc ecx: 0xa01ee1a0 edx: 0x00008000 edi: 0x0011d200 esi: 0xa0780ab8 ebp: 0xbffff968 esp: 0xbffff968 ss: 0x0000001f efl: 0x00000286 eip: 0x923370f4 cs: 0x00000017 ds: 0x0000001f es: 0x0000001f fs: 0x00000000 gs: 0x00000037 cr2: 0x55824000 Created attachment 26196 [details]
patch
Here's the patch. Now we also need some regression tests.
(In reply to comment #10) > I'm getting this in a totally unrealiable manner, but my experience has been > that the crash always follows when I try to undo an HTML-formatted paste into > the editing window. My CrashReporter traces look different, too This is a different bug. It needs a different bug report and steps to reproduce. *** This bug has been marked as a duplicate of 19703 *** |