WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 225306
[GStreamer][Debug] Allow fastMallocs in audio threads
https://bugs.webkit.org/show_bug.cgi?id=225306
Summary
[GStreamer][Debug] Allow fastMallocs in audio threads
Philippe Normand
Reported
2021-05-03 07:46:42 PDT
The Debug bot exits early currently, most likely since
r274871
Thread 1 (Thread 0x7fd978ff9700 (LWP 15962)): #0 WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:305 #1 0x00007fd9d98f1410 in CRASH_WITH_INFO(...) () at WTF/Headers/wtf/Assertions.h:742 #2 0x00007fd9db3b03d8 in WTF::fastMalloc(unsigned long) (size=320) at ../../Source/WTF/wtf/FastMalloc.cpp:524 #3 0x00007fd9e38014a7 in WebCore::RealtimeIncomingAudioSourceLibWebRTC::OnData(void const*, int, int, unsigned long, unsigned long) (this=0x7fd978295af0, audioData=0x7fd9680defe0, sampleRate=16000, numberOfChannels=1, numberOfFrames=160) at ../../Source/WebCore/platform/mediastream/gstreamer/RealtimeIncomingAudioSourceLibWebRTC.cpp:68 #4 0x00007fd9e2b0057a in webrtc::AudioTrackSinkInterface::OnData(void const*, int, int, unsigned long, unsigned long, std::optional<long>) (this=0x7fd978295bf0, audio_data=0x7fd9680defe0, bits_per_sample=16, sample_rate=16000, number_of_channels=1, number_of_frames=160, absolute_capture_timestamp_ms=std::optional<long> [no contained value]) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/api/media_stream_interface.h:215 #5 0x00007fd9e45fcc89 in webrtc::RemoteAudioSource::OnData(webrtc::AudioSinkInterface::Data const&) (this=0x7fd96809a290, audio=...) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/pc/remote_audio_source.cc:154 #6 0x00007fd9e45fd2c0 in webrtc::RemoteAudioSource::AudioDataProxy::OnData(webrtc::AudioSinkInterface::Data const&) (this=0x7fd9680c5510, audio=...) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/pc/remote_audio_source.cc:47 #7 0x00007fd9e43ee779 in webrtc::voe::(anonymous namespace)::ChannelReceive::GetAudioFrameWithInfo(int, webrtc::AudioFrame*) (this=0x7fd9680d8170, sample_rate_hz=16000, audio_frame=0x7fd9680def90) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/audio/channel_receive.cc:369 #8 0x00007fd9e43de3b3 in webrtc::internal::AudioReceiveStream::GetAudioFrameWithInfo(int, webrtc::AudioFrame*) (this=0x7fd9680c6f90, sample_rate_hz=16000, audio_frame=0x7fd9680def90) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/audio/audio_receive_stream.cc:288 #9 0x00007fd9e3d82b37 in webrtc::AudioMixerImpl::GetAudioFromSources() (this=0x7fd968005780) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_mixer/audio_mixer_impl.cc:187 #10 0x00007fd9e3d821be in webrtc::AudioMixerImpl::Mix(unsigned long, webrtc::AudioFrame*) (this=0x7fd968005780, number_of_channels=2, audio_frame_for_mixing=0x7fd968009e28) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/modules/audio_mixer/audio_mixer_impl.cc:131 #11 0x00007fd9e3f829e7 in webrtc::AudioTransportImpl::PullRenderData(int, int, unsigned long, unsigned long, void*, long*, long*) (this=0x7fd968009d38, bits_per_sample=16, sample_rate=48000, number_of_channels=2, number_of_frames=480, audio_data=0x7fd978ff8020, elapsed_time_ms=0x7fd978ff8010, ntp_time_ms=0x7fd978ff8018) at ../../Source/ThirdParty/libwebrtc/Source/webrtc/audio/audio_transport_impl.cc:228 #12 0x00007fd9e37fa705 in WebCore::LibWebRTCAudioModule::pollFromSource() (this=0x7fd990665720) at ../../Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:130 #13 0x00007fd9e37fa5d7 in WebCore::LibWebRTCAudioModule::pollAudioData() (this=0x7fd990665720) at ../../Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:116 #14 0x00007fd9e37fa021 in operator()() const (__closure=0x7fd99062b158) at ../../Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCAudioModule.cpp:65 #15 0x00007fd9e37fc488 in WTF::Detail::CallableWrapper<WebCore::LibWebRTCAudioModule::StartPlayout()::<lambda()>, void>::call(void) (this=0x7fd99062b150) at WTF/Headers/wtf/Function.h:52 #16 0x00007fd9da3fbeb1 in WTF::Function<void ()>::operator()() const (this=0x7fd99062b178) at WTF/Headers/wtf/Function.h:83 #17 0x00007fd9db4832ac in operator()() const (__closure=0x7fd99062b170) at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:71 #18 0x00007fd9db48516a in WTF::Detail::CallableWrapper<WTF::WorkQueue::dispatch(WTF::Function<void()>&&)::<lambda()>, void>::call(void) (this=0x7fd99062b168) at ../../Source/WTF/wtf/Function.h:52 #19 0x00007fd9da3fbeb1 in WTF::Function<void ()>::operator()() const (this=0x7fd978ff8940) at WTF/Headers/wtf/Function.h:83 #20 0x00007fd9db3e907d in WTF::RunLoop::performWork() (this=0x7fd990634000) at ../../Source/WTF/wtf/RunLoop.cpp:133 #21 0x00007fd9db48a39a in operator()(gpointer) const (__closure=0x0, userData=0x7fd990634000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:80 #22 0x00007fd9db48a3be in _FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:82 #23 0x00007fd9db48a32d in operator()(GSource*, GSourceFunc, gpointer) const (__closure=0x0, source=0x7fd95c001d60, callback=0x7fd9db48a3a1 <_FUN(gpointer)>, userData=0x7fd990634000) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:53 #24 0x00007fd9db48a37b in _FUN(GSource*, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:56 #25 0x00007fd9d7340dbf in g_main_dispatch (context=0x7fd95c000b60) at ../glib/gmain.c:3337 #26 g_main_context_dispatch (context=0x7fd95c000b60) at ../glib/gmain.c:4055 #27 0x00007fd9d7341168 in g_main_context_iterate (context=0x7fd95c000b60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4131 #28 0x00007fd9d7341483 in g_main_loop_run (loop=0x7fd95c001d40) at ../glib/gmain.c:4329 #29 0x00007fd9db48a938 in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:108 #30 0x00007fd9db4830f2 in operator()() const (__closure=0x7fd990653d88) at ../../Source/WTF/wtf/generic/WorkQueueGeneric.cpp:51 #31 0x00007fd9db4851aa in WTF::Detail::CallableWrapper<WTF::WorkQueue::platformInitialize(char const*, WTF::WorkQueue::Type, WTF::WorkQueue::QOS)::<lambda()>, void>::call(void) (this=0x7fd990653d80) at ../../Source/WTF/wtf/Function.h:52 #32 0x00007fd9da3fbeb1 in WTF::Function<void ()>::operator()() const (this=0x7fd978ff8c30) at WTF/Headers/wtf/Function.h:83 #33 0x00007fd9db3eeddd in WTF::Thread::entryPoint(WTF::Thread::NewThreadContext*) (newThreadContext=0x7fd99063a230) at ../../Source/WTF/wtf/Threading.cpp:185 #34 0x00007fd9db495993 in WTF::wtfThreadEntryPoint(void*) (context=0x7fd99063a230) at ../../Source/WTF/wtf/posix/ThreadingPOSIX.cpp:241 #35 0x00007fd9d72cf4d2 in start_thread (arg=<optimized out>) at pthread_create.c:477 #36 0x00007fd9d6dbd323 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
Attachments
Patch
(3.05 KB, patch)
2021-05-03 07:52 PDT
,
Philippe Normand
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Philippe Normand
Comment 1
2021-05-03 07:52:45 PDT
Created
attachment 427557
[details]
Patch
EWS
Comment 2
2021-05-04 00:42:57 PDT
Committed
r276950
(
237283@main
): <
https://commits.webkit.org/237283@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 427557
[details]
.
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