Bug 48559

Summary: Crash in WebKit::PluginView::manualLoadDidReceiveResponse when navigating to a .wav file in WebKit2 on Mac
Product: WebKit Reporter: Adam Roben (:aroben) <aroben>
Component: WebKit2Assignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, sam
Priority: P2 Keywords: InRadar, PlatformOnly
Version: 528+ (Nightly build)   
Hardware: PC   
OS: OS X 10.5   
URL: http://www.nch.com.au/acm/sample.wav
Attachments:
Description Flags
Patch aroben: review+

Description Adam Roben (:aroben) 2010-10-28 13:43:52 PDT
To reproduce:

1. Go to http://www.nch.com.au/acm/sample.wav in WebKit2 on Mac

You'll crash in WebKit::PluginView::manualLoadDidReceiveResponse. Here's the crashing line:

    m_plugin->manualStreamDidReceiveResponse(responseURL, streamLength, response.lastModifiedDate(), mimeType, headers);

m_plugin is 0.

Here's the backtrace:


#0  0x000000010023539e in WebKit::PluginView::manualLoadDidReceiveResponse (this=0x11be72660, response=@0x107816948) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/WebProcess/Plugins/PluginView.cpp:303
#1  0x000000010025e6db in WebKit::WebFrameLoaderClient::committedLoad (this=0x106c162b8, loader=0x107816400, data=0x108027800 "RIFF\034\023\001", length=1124) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:685
#2  0x00000001011de31d in WebCore::DocumentLoader::commitLoad (this=0x107816400, data=0x108027800 "RIFF\034\023\001", length=1124) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/DocumentLoader.cpp:292
#3  0x00000001011de376 in WebCore::DocumentLoader::receivedData (this=0x107816400, data=0x108027800 "RIFF\034\023\001", length=1124) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/DocumentLoader.cpp:319
#4  0x00000001018596b2 in WebCore::MainResourceLoader::addData (this=0x10701a800, data=0x108027800 "RIFF\034\023\001", length=1124, allAtOnce=false) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/MainResourceLoader.cpp:156
#5  0x0000000101a5f7fc in WebCore::ResourceLoader::didReceiveData (this=0x10701a800, data=0x108027800 "RIFF\034\023\001", length=1124, lengthReceived=1124, allAtOnce=false) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/ResourceLoader.cpp:262
#6  0x0000000101858e1b in WebCore::MainResourceLoader::didReceiveData (this=0x10701a800, data=0x108027800 "RIFF\034\023\001", length=1124, lengthReceived=1124, allAtOnce=false) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/MainResourceLoader.cpp:436
#7  0x0000000101a5effe in WebCore::ResourceLoader::didReceiveData (this=0x10701a800, data=0x108027800 "RIFF\034\023\001", length=1124, lengthReceived=1124) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/loader/ResourceLoader.cpp:415
#8  0x0000000101a59cf6 in -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:] (self=0x106a10580, _cmd=0x7fff84304021, connection=0x106aca8c0, data=0x106c49fa0, lengthReceived=1124) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebCore/platform/network/mac/ResourceHandleMac.mm:876
#9  0x00007fff841dd06b in _NSURLConnectionDidReceiveData ()
#10 0x00007fff832e20c0 in URLConnectionClient::_clientDidReceiveData ()
#11 0x00007fff833499a2 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#12 0x00007fff83349c32 in URLConnectionClient::ClientConnectionEventQueue::processAllEventsAndConsumePayload ()
#13 0x00007fff832d096d in URLConnectionClient::processEvents ()
#14 0x00007fff832d0748 in MultiplexerSource::perform ()
#15 0x00007fff835df401 in __CFRunLoopDoSources0 ()
#16 0x00007fff835dd5f9 in __CFRunLoopRun ()
#17 0x00007fff835dcdbf in CFRunLoopRunSpecific ()
#18 0x00007fff887619f6 in RunCurrentEventLoopInMode ()
#19 0x00007fff887617fb in ReceiveNextEventCommon ()
#20 0x00007fff887616b4 in BlockUntilNextEventMatchingListInMode ()
#21 0x00007fff82389e64 in _DPSNextEvent ()
#22 0x00007fff823897a9 in -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] ()
#23 0x00007fff8234f48b in -[NSApplication run] ()
#24 0x0000000100241d64 in RunLoop::run () at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/Platform/mac/RunLoopMac.mm:55
#25 0x000000010028e7db in WebKit::WebProcessMain (commandLine=@0x7fff5fbff080) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/WebProcess/mac/WebProcessMainMac.mm:136
#26 0x0000000100265f39 in WebKitMain (commandLine=@0x7fff5fbff080) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/WebProcess/WebKitMain.cpp:47
#27 0x0000000100265ff3 in WebKitMain (argc=8, argv=0x7fff5fbff158) at /Volumes/Data/Users/aroben/dev/WebKit/OpenSource/WebKit2/WebProcess/WebKitMain.cpp:71
#28 0x0000000100000e33 in main ()
Comment 1 Adam Roben (:aroben) 2010-10-28 13:44:22 PDT
It's possible this will be hidden once bug 48546 is fixed, so we should investigate it soon!
Comment 2 Adam Roben (:aroben) 2010-10-28 13:44:47 PDT
<rdar://problem/8606622>
Comment 3 Anders Carlsson 2010-11-18 15:01:26 PST
Created attachment 74294 [details]
Patch
Comment 4 Anders Carlsson 2010-11-19 08:00:58 PST
Committed r72401: <http://trac.webkit.org/changeset/72401>