Bug 86910

Summary: ASSERT in JSEventListener::jsFunction() from audioContext.oncompletion
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: WebCore JavaScriptAssignee: Nobody <webkit-unassigned>
Status: RESOLVED DUPLICATE    
Severity: Normal CC: abarth, ap, ggaren, jer.noble, pnormand
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   

Jer Noble
Reported 2012-05-18 15:40:13 PDT
ASSERTION FAILED: m_wrapper || !m_jsFunction /Volumes/Users/jer/Projects/WebKit.git/OpenSource/Source/WebCore/bindings/js/JSEventListener.h(90) : JSC::JSObject *WebCore::JSEventListener::jsFunction(WebCore::ScriptExecutionContext *) const 1 0x101f4f5b6 WebCore::JSEventListener::handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*) 2 0x1019ee007 WebCore::EventTarget::fireEventListeners(WebCore::Event*, WebCore::EventTargetData*, WTF::Vector<WebCore::RegisteredEventListener, 1ul>&) 3 0x1019ede6b WebCore::EventTarget::fireEventListeners(WebCore::Event*) 4 0x1019edcf7 WebCore::EventTarget::dispatchEvent(WTF::PassRefPtr<WebCore::Event>) 5 0x101501790 WebCore::AudioContext::fireCompletionEvent() 6 0x10243f51d WebCore::OfflineAudioDestinationNode::notifyComplete() 7 0x10243f4e9 WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch(void*) 8 0x1005ac864 WTF::dispatchFunctionsFromMainThread() 9 0x7fff8cd4dea8 __NSThreadPerformPerform 10 0x7fff95792e91 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ 11 0x7fff957927b5 __CFRunLoopDoSources0 12 0x7fff957b5a05 __CFRunLoopRun 13 0x7fff957b52f2 CFRunLoopRunSpecific 14 0x7fff8cd0c84e -[NSRunLoop(NSRunLoop) runMode:beforeDate:] 15 0x100019259 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) 16 0x10001752d dumpRenderTree(int, char const**) 17 0x100019a99 main 18 0x7fff91f997e1 start
Attachments
Jer Noble
Comment 1 2012-05-18 15:40:53 PDT
Assertion occurs when running DumpRenderTree against the following: webaudio/delaynode-scheduling.html webaudio/delaynode.html webaudio/audiobuffersource-multi-channels.html webaudio/delaynode-maxdelay.html
Alexey Proskuryakov
Comment 2 2012-05-21 11:55:40 PDT
Sounds like the listener's wrapper is not protected from garbage collection.
Geoffrey Garen
Comment 3 2012-05-21 12:20:26 PDT
Is this a regression?
Jer Noble
Comment 4 2012-05-21 12:22:27 PDT
(In reply to comment #3) > Is this a regression? Probably not. It's only being discovered as I add support for dumping audio data out of the Mac version of DRT.
Philippe Normand
Comment 5 2012-06-19 22:24:25 PDT
*** Bug 80298 has been marked as a duplicate of this bug. ***
Philippe Normand
Comment 6 2012-06-19 22:28:44 PDT
Bug 80681 seems to be another dupe but has a tentative patch and some interesting comments from Geoffrey.
Alexey Proskuryakov
Comment 7 2012-09-13 09:48:56 PDT
Philippe, Jer, would it be possible for you to look into this soon? We have a number of tests crashing on this assertion for unrelated reasons, and it would be very helpful to eliminate known and well understood cases.
Adam Barth
Comment 8 2012-11-16 11:56:04 PST
There's an AudioContext patch up for review that might fix this. Let me find it.
Adam Barth
Comment 9 2012-11-16 11:56:21 PST
Philippe Normand
Comment 10 2012-12-29 08:21:01 PST
*** This bug has been marked as a duplicate of bug 102356 ***
Note You need to log in before you can comment on or make changes to this bug.