open the above URL (to check that it was working) played 15-20 seconds of audio hit cmd-W to close crash: log attached
Created attachment 7971 [details] crash log from playing mp3 file
Might be another instance of bug 8564 (I assume this is also a regression).
The crash is now fixed (in bug 8564, presumably), but there's an exception logged to the console: 2006-04-27 09:19:22.375 Safari[2188] *** -[NSCFNumber _webView]: selector not recognized [self = 0xecf7ba0] 2006-04-27 09:19:22.376 Safari[2188] *** -[NSAutoreleasePool dealloc]: Exception ignored while releasing an object in an autorelease pool: *** -[NSCFNumber _webView]: selector not recognized [self = 0xecf7ba0] #0 0x92902228 in -[NSException raise] () #1 0x9290207c in +[NSException raise:format:] () #2 0x928db16c in -[NSObject(NSForwardInvocation) forward::] () #3 0x909c40d0 in _objc_msgForward () #4 0x003e033c in -[WebPluginDocumentView viewWillMoveToWindow:] (self=0x130ce480, _cmd=0x90a3b988, window=0x0) at /Users/ap/WebKit/WebKit/Plugins/WebPluginDocumentView.m:157 #5 0x936a7f64 in -[NSView _setWindow:] () #6 0x9076c960 in CFArrayApplyFunction () #7 0x936a8280 in -[NSView _setWindow:] () #8 0x9076c960 in CFArrayApplyFunction () #9 0x936a8280 in -[NSView _setWindow:] () #10 0x936bba7c in -[NSScrollView _setWindow:] () #11 0x9076c960 in CFArrayApplyFunction () #12 0x936a8280 in -[NSView _setWindow:] () #13 0x9076c960 in CFArrayApplyFunction () #14 0x936a8280 in -[NSView _setWindow:] () #15 0x9076c960 in CFArrayApplyFunction () #16 0x936a8280 in -[NSView _setWindow:] () #17 0x9076c960 in CFArrayApplyFunction () #18 0x936a8280 in -[NSView _setWindow:] () #19 0x9076c960 in CFArrayApplyFunction () #20 0x936a8280 in -[NSView _setWindow:] () #21 0x93727ea0 in -[NSWindow dealloc] ()
This looks like an attempt to call _webView on a deallocated object. I don't think the removed _webView method on NSView needs to be brought back. Notice: -[NSCFNumber _webView]: selector not recognized [self = 0xecf7ba0]
(In reply to comment #4) > This looks like an attempt to call _webView on a deallocated object. I don't > think the removed _webView method on NSView needs to be brought back. Notice: The deallocated object is the WebPluginDocumentView's dataSource. Not sure about how to fix this - the view (which is also a document representation for the data source) probably shouldn't retain the data source, but perhaps the data source should call setDataSource:NULL on the representation when it releases it.
Created attachment 8057 [details] Retain the dataSource! On second thought, maybe it's okay to retain the dataSource. WebHTMLView does it! No change log or test yet, so please r- anyway.
Comment on attachment 8057 [details] Retain the dataSource! r=me
Created attachment 8071 [details] Same patch, but added change log and test
orange.mov should be copied from WebCore/manual-tests/resources when landing this.
Make sure to check for leaks if you retain the WebDataSource! Recently, mjs added a few backpointers to WebFrame/WebDataSource to help remove our model code's dependency on the view hierarchy, but it's unclear which objects need to retain those backpointers...
(In reply to comment #10) > Make sure to check for leaks if you retain the WebDataSource! Recently, mjs > added a few backpointers to WebFrame/WebDataSource to help remove our model > code's dependency on the view hierarchy, but it's unclear which objects need to > retain those backpointers. In this case I think it's pretty clear it's correct. WebHTMLView does it and this is another kind of document view. But I'll check for leaks just to be sure.