Bug 225306 - [GStreamer][Debug] Allow fastMallocs in audio threads
Summary: [GStreamer][Debug] Allow fastMallocs in audio threads
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-03 07:46 PDT by Philippe Normand
Modified: 2021-05-04 00:43 PDT (History)
12 users (show)

See Also:


Attachments
Patch (3.05 KB, patch)
2021-05-03 07:52 PDT, Philippe Normand
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 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
Comment 1 Philippe Normand 2021-05-03 07:52:45 PDT
Created attachment 427557 [details]
Patch
Comment 2 EWS 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].