This is reproducible all the time and was only seen after loading todays nightly build. There was no problem with yesterdays build. When following any external link in a message in Gmail Webkit crashes.
Created attachment 14002 [details] Safari.crash.log
Hi Andres, please uninstall GrowlSafari to see if that fixes the issue.
I uninstalled both input managers I had installed (GrowlSafair and Edit in Textmate) restarted and no luck. It crashed when I clicked on the link in this email! I've kept playing around and it crashes when I click in ANY external link in a gmail message. Thanks. (In reply to comment #2) > Hi Andres, please uninstall GrowlSafari to see if that fixes the issue. >
I also noticed that after I click in the external link the new window appears and although I keep the 'Bookmark Bar' hidden the bar shows in the new window and when trying to load the page the app crashes.
Confirmed with a local debug build of r20815 Thread 0 Crashed: 0 com.apple.WebCore 0x015b70a8 WTF::RefPtr<WebCore::StringImpl>::get() const + 20 (RefPtr.h:45) 1 com.apple.WebCore 0x015b70e0 WebCore::String::impl() const + 36 (PlatformString.h:151) 2 com.apple.WebCore 0x016213d8 WebCore::operator!=(WebCore::String const&, WebCore::String const&) + 36 (PlatformString.h:202) 3 com.apple.WebCore 0x014c94ac WebCore::HistoryItem::setURLString(WebCore::String const&) + 56 (HistoryItem.cpp:215) 4 com.apple.WebCore 0x014ca504 WebCore::HistoryItem::setURL(WebCore::KURL const&) + 72 (HistoryItem.cpp:226) 5 com.apple.WebCore 0x01491ad8 WebCore::FrameLoader::updateHistoryForInternalLoad() + 292 (FrameLoader.cpp:4039) 6 com.apple.WebCore 0x0149c938 WebCore::FrameLoader::transitionToCommitted(WTF::PassRefPtr<WebCore::PageCache>) + 904 (FrameLoader.cpp:2377) 7 com.apple.WebCore 0x0149d0cc WebCore::FrameLoader::commitProvisionalLoad(WTF::PassRefPtr<WebCore::PageCache>) + 224 (FrameLoader.cpp:2291) 8 com.apple.WebCore 0x014a0d4c WebCore::DocumentLoader::commitIfReady() + 108 (DocumentLoader.cpp:304) 9 com.apple.WebCore 0x014a0da0 WebCore::DocumentLoader::commitLoad(char const*, int) + 56 (DocumentLoader.cpp:345) 10 com.apple.WebCore 0x014a0e58 WebCore::DocumentLoader::receivedData(char const*, int) + 104 (DocumentLoader.cpp:359) 11 com.apple.WebCore 0x0148abec WebCore::FrameLoader::receivedData(char const*, int) + 60 (FrameLoader.cpp:1977) 12 com.apple.WebCore 0x014a2de8 WebCore::MainResourceLoader::addData(char const*, int, bool) + 92 (MainResourceLoader.cpp:134) 13 com.apple.WebCore 0x014a5904 WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool) + 104 14 com.apple.WebCore 0x014a3194 WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool) + 288 (MainResourceLoader.cpp:289) 15 com.apple.WebCore 0x014a5278 WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int) + 108
This looks like it was caused by http://trac.webkit.org/projects/webkit/changeset/20813
Looks like we need a null check on m_currentHistoryItem at the very least.
<rdar://problem/5126330>
Actually it was already <rdar://problem/5125648>.
Landed in r20847 Still need to resolve http://bugs.webkit.org/show_bug.cgi?id=3546 in the long term, though!