WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED DUPLICATE of
bug 216171
217699
[GLIB] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https.html is crashing since
r268365
https://bugs.webkit.org/show_bug.cgi?id=217699
Summary
[GLIB] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelemen...
Diego Pino
Reported
2020-10-14 02:34:07 PDT
The test is crashing with the following stacktrace (
https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/r268429%20(7468)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-crash-log.txt
): Thread 1 (Thread 0x7f79ce1ff700 (LWP 7711)): #0 0x00007f7baffa599e in WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295 #1 0x00007f7bbc820b6b in WTFCrashWithInfo(int, char const*, char const*, int) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:671 #2 0x00007f7bbf581666 in WebCore::AudioWorkletProcessor::process(WTF::Vector<WTF::RefPtr<WebCore::AudioBus, WTF::DumbPtrTraits<WebCore::AudioBus>, WTF::DefaultRefDerefTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::Vector<WTF::Ref<WebCore::AudioBus, WTF::DumbPtrTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WTF::HashMap<WTF::String, std::unique_ptr<WebCore::AudioArray<float>, std::default_delete<WebCore::AudioArray<float> > >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<std::unique_ptr<WebCore::AudioArray<float>, std::default_delete<WebCore::AudioArray<float> > > > > const&, bool&) (this=0x7f79c82cf9e0, inputs=..., outputs=..., paramValuesMap=..., threwException=@0x7f79ce1fe597: false) at ../../Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp:138 #3 0x00007f7bbf5814b2 in WebCore::AudioWorkletNode::process(unsigned long) (this=0x7f7adf80b080, framesToProcess=128) at ../../Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp:219 #4 0x00007f7bbf54da4e in WebCore::AudioNode::processIfNecessary(unsigned long) (this=0x7f7adf80b080, framesToProcess=128) at ../../Source/WebCore/Modules/webaudio/AudioNode.cpp:474 #5 0x00007f7bbf54fec7 in WebCore::AudioNodeOutput::pull(WebCore::AudioBus*, unsigned long) (this=0x7f79ce4fa680, inPlaceBus=0x0, framesToProcess=128) at ../../Source/WebCore/Modules/webaudio/AudioNodeOutput.cpp:120 #6 0x00007f7bbf54fcf6 in WebCore::AudioNodeInput::sumAllConnections(WebCore::AudioBus*, unsigned long) (this=0x7f79ce4fa1a0, summingBus=0x7f79c82a5038, framesToProcess=128) at ../../Source/WebCore/Modules/webaudio/AudioNodeInput.cpp:202 #7 0x00007f7bbf54e127 in WebCore::AudioNodeInput::pull(WebCore::AudioBus*, unsigned long) (this=0x7f79ce4fa1a0, inPlaceBus=0x7f79fc2cea48, framesToProcess=128) at ../../Source/WebCore/Modules/webaudio/AudioNodeInput.cpp:230 #8 0x00007f7bbf520c19 in WebCore::AudioDestinationNode::render(WebCore::AudioBus*, WebCore::AudioBus*, unsigned long, WebCore::AudioIOPosition const&) (this=0x7f7a800102e8, destinationBus=0x7f79fc2cea48, numberOfFrames=128, outputPosition=...) at ../../Source/WebCore/Modules/webaudio/AudioDestinationNode.cpp:90 #9 0x00007f7bbe113958 in webKitWebAudioSrcAllocateBuffersAndRenderAudio(_WebKitWebAudioSrc*) (src=0x1edf340 [WebKitWebAudioSrc|webkitwebaudiosrc16]) at ../../Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:343 #10 0x00007f7bbe1129eb in webKitWebAudioSrcLoop(_WebKitWebAudioSrc*) (src=0x1edf340 [WebKitWebAudioSrc|webkitwebaudiosrc16]) at ../../Source/WebCore/platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:352 #11 0x00007f7ba9a83cb7 in gst_task_func (task=0x7f792004aef0 [GstTask|task137]) at ../gst/gsttask.c:328 #12 0x00007f7ba90fb784 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354 #13 0x00007f7ba90fae81 in g_thread_proxy (data=0x7f78100019e0) at ../glib/gthread.c:819 #14 0x00007f7baa1c54d2 in start_thread (arg=<optimized out>) at pthread_create.c:477 #15 0x00007f7ba7d0a4d3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 STDERR: ASSERTION FAILED: globalObject.scriptExecutionContext()->isContextThread() STDERR: ../../Source/WebCore/Modules/webaudio/AudioWorkletProcessor.cpp(138) : bool WebCore::AudioWorkletProcessor::process(const Vector<RefPtr<WebCore::AudioBus> > &, Vector<Ref<WebCore::AudioBus> > &, const HashMap<WTF::String, std::unique_ptr<AudioFloatArray> > &, bool &) STDERR: 1 0x7f7baffa5999 WTFCrash STDERR: 2 0x7f7bbc820b6b /app/webkit/WebKitBuild/Debug/lib/libwebkit2gtk-4.0.so.37(+0xb168b6b) [0x7f7bbc820b6b] STDERR: 3 0x7f7bbf581666 WebCore::AudioWorkletProcessor::process(WTF::Vector<WTF::RefPtr<WebCore::AudioBus, WTF::DumbPtrTraits<WebCore::AudioBus>, WTF::DefaultRefDerefTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc> const&, WTF::Vector<WTF::Ref<WebCore::AudioBus, WTF::DumbPtrTraits<WebCore::AudioBus> >, 0ul, WTF::CrashOnOverflow, 16ul, WTF::FastMalloc>&, WTF::HashMap<WTF::String, std::unique_ptr<WebCore::AudioArray<float>, std::default_delete<WebCore::AudioArray<float> > >, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<std::unique_ptr<WebCore::AudioArray<float>, std::default_delete<WebCore::AudioArray<float> > > > > const&, bool&)
Attachments
Add attachment
proposed patch, testcase, etc.
Diego Pino
Comment 1
2020-10-15 03:54:42 PDT
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https.html is a flaky crash with the same stack trace. The flaky crashes have been happening since interval [
r268369
-
r268371
] See:
https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/r268508%20(7471)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet-interface/audioworkletprocessor-promises.https-crash-log.txt
Chris Dumez
Comment 2
2020-10-15 08:35:33 PDT
(In reply to Diego Pino from
comment #1
)
> imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioworklet- > interface/audioworkletprocessor-promises.https.html is a flaky crash with > the same stack trace. The flaky crashes have been happening since interval > [
r268369
-
r268371
] > > See: >
https://build.webkit.org/results/GTK-Linux-64-bit-Debug-Tests/
>
r268508
%20(7471)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the- > audioworklet-interface/audioworkletprocessor-promises.https-crash-log.txt
GTK port is doing audio rendering on the main thread here for some reason. Audio rendering should never happen on the main thread. Also, when there is in an active audio worklet, rendering should happen on the worklet thread.
Diego Pino
Comment 3
2020-10-16 15:26:06 PDT
imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https.html has gone from Crash to Failure after
r268579
. Diff:
https://build.webkit.org/results/GTK-Linux-64-bit-Release-Tests/r268606%20(16471)/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-diff.txt
--- /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-expected.txt +++ /home/buildbot/worker/gtk-linux-64-release-tests/build/layout-test-results/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/cors-check.https-actual.txt @@ -6,10 +6,10 @@ PASS > [setting-up-graph] PASS < [setting-up-graph] All assertions passed. (total 0 assertions) PASS > [start-playback-and-capture] -PASS Recorded channel #0 is not constantly 0 (contains 33088 different values). -PASS Recorded channel #1 is not constantly 0 (contains 33090 different values). -PASS Recorded channel #2 is not constantly 0 (contains 33089 different values). -PASS Recorded channel #3 is not constantly 0 (contains 33090 different values). -PASS < [start-playback-and-capture] All assertions passed. (total 4 assertions) -PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. +PASS Recorded channel #0 is not constantly 0 (contains 38977 different values). +PASS Recorded channel #1 is not constantly 0 (contains 38979 different values). +FAIL X Recorded channel #2 should have contain at least one value different from 0. assert_true: expected true got false +FAIL X Recorded channel #3 should have contain at least one value different from 0. assert_true: expected true got false +FAIL < [start-playback-and-capture] 2 out of 4 assertions were failed. assert_true: expected true got false +FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 2 tasks were failed. assert_true: expected true got false
Philippe Normand
Comment 4
2020-10-19 05:30:53 PDT
*** This bug has been marked as a duplicate of
bug 216171
***
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug