RESOLVED FIXED222585
[GStreamer] webrtc/video-h264.html is crashing in debug
https://bugs.webkit.org/show_bug.cgi?id=222585
Summary [GStreamer] webrtc/video-h264.html is crashing in debug
Lauro Moura
Reported 2021-03-01 19:45:00 PST
Created attachment 421898 [details] Full crash log on a local run webrtc/video-h264.html Happens in both GTK/WPE, seems to have started between: WPE: r270185 and r270193 GTK: r270189 and r270194 Maybe r270190/bug218787? This test was also affected by the soup crash from bug221379, which changed the cause of the crash for a while before reverting to the one this issue covers. Results dashboard: https://results.webkit.org/?suite=layout-tests&test=webrtc%2Fvideo-h264.html Thread 1 trace (full trace attached): Thread 1 (Thread 0x7f95f01a39c0 (LWP 57)): #0 WTFCrash() () at ../../Source/WTF/wtf/Assertions.cpp:295 #1 0x00007f9603a56d85 in CRASH_WITH_INFO(...) () at DerivedSources/ForwardingHeaders/wtf/Assertions.h:713 #2 0x00007f960874bc3f in WebCore::LibWebRTCPeerConnectionBackend::doAddIceCandidate(WebCore::RTCIceCandidate&) (this=0x7f95404980c8, candidate=...) at ../../Source/WebCore/Modules/mediastream/libwebrtc/LibWebRT CPeerConnectionBackend.cpp:288 #3 0x00007f96063a5d54 in WebCore::PeerConnectionBackend::addIceCandidate(WebCore::RTCIceCandidate*, WebCore::DOMPromiseDeferred<void>&&) (this=0x7f95404980c8, iceCandidate=0x7f959c70d960, promise=...) at ../../ Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:351 #4 0x00007f96063ebc7f in operator()<WTF::Ref<WebCore::DeferredPromise> >(WTF::Ref<WebCore::DeferredPromise, WTF::RawPtrTraits<WebCore::DeferredPromise> >&&) (__closure=0x7f954044d3c8, promise=...) at ../../Sour ce/WebCore/Modules/mediastream/RTCPeerConnection.cpp:328 #5 0x00007f96063ebcd6 in WTF::Detail::CallableWrapper<WebCore::RTCPeerConnection::addIceCandidate(WebCore::RTCPeerConnection::Candidate&&, WTF::Ref<WebCore::DeferredPromise>&&)::<lambda(auto:68&&)>, void, WTF:: Ref<WebCore::DeferredPromise, WTF::RawPtrTraits<WebCore::DeferredPromise> >&&>::call(WTF::Ref<WebCore::DeferredPromise, WTF::RawPtrTraits<WebCore::DeferredPromise> > &&) (this=0x7f954044d3c0, in#0=...) at Derive dSources/ForwardingHeaders/wtf/Function.h:52 #6 0x00007f96051ef49f in WTF::Function<void (WTF::Ref<WebCore::DeferredPromise, WTF::RawPtrTraits<WebCore::DeferredPromise> >&&)>::operator()(WTF::Ref<WebCore::DeferredPromise, WTF::RawPtrTraits<WebCore::Deferr edPromise> >&&) const (this=0x7ffcbf059158, in#0=...) at DerivedSources/ForwardingHeaders/wtf/Function.h:83 #7 0x00007f96063db39e in operator()() const (__closure=0x7f954044d2f0) at ../../Source/WebCore/Modules/mediastream/RTCPeerConnection.cpp:816 #8 0x00007f96063ebbc0 in WTF::Detail::CallableWrapper<WebCore::RTCPeerConnection::chainOperation(WTF::Ref<WebCore::DeferredPromise>&&, WTF::Function<void(WTF::Ref<WebCore::DeferredPromise>&&)>&&)::<lambda()>, v oid>::call(void) (this=0x7f954044d2e8) at DerivedSources/ForwardingHeaders/wtf/Function.h:52 #9 0x00007f9603ac534d in WTF::Function<void ()>::operator()() const (this=0x7f954044f808) at DerivedSources/ForwardingHeaders/wtf/Function.h:83 #10 0x00007f9606789452 in operator()(JSC::JSGlobalObject*, JSC::CallFrame*) (__closure=0x7f954044f808) at ../../Source/WebCore/bindings/js/JSDOMPromise.cpp:52 #11 0x00007f960678dabd in WTF::Detail::CallableWrapper<WebCore::DOMPromise::whenPromiseIsSettled(WebCore::JSDOMGlobalObject*, JSC::JSObject*, WTF::Function<void()>&&)::<lambda(JSC::JSGlobalObject*, JSC::CallFram e*)>, long int, JSC::JSGlobalObject*, JSC::CallFrame*>::call(JSC::JSGlobalObject *, JSC::CallFrame *) (this=0x7f954044f800, in#0=0x7f95ef81f068, in#1=0x7ffcbf0592d0) at DerivedSources/ForwardingHeaders/wtf/Funct ion.h:52 #12 0x00007f960a3bfec4 in WTF::Function<long (JSC::JSGlobalObject*, JSC::CallFrame*)>::operator()(JSC::JSGlobalObject*, JSC::CallFrame*) const (this=0x7f95082f81d0, in#0=0x7f95ef81f068, in#1=0x7ffcbf0592d0) at D erivedSources/ForwardingHeaders/wtf/Function.h:83 #13 0x00007f960a9422e8 in JSC::runStdFunction(JSC::JSGlobalObject*, JSC::CallFrame*) (globalObject=0x7f95ef81f068, callFrame=0x7ffcbf0592d0) at ../../Source/JavaScriptCore/runtime/JSNativeStdFunction.cpp:64 #14 0x00007f95af7ff1d8 in () #15 0x00007ffcbf059370 in () #16 0x00007f95af80a88a in () #17 0x0000000000000000 in () STDERR: STDERR: (audio_processing_impl.cc:272): Injected APM submodules: STDERR: Echo control factory: 0 STDERR: Echo detector: 0 STDERR: Capture analyzer: 0 STDERR: Capture post processor: 0 STDERR: Render pre processor: 0 STDERR: (webrtc_voice_engine.cc:258): WebRtcVoiceEngine::WebRtcVoiceEngine STDERR: (webrtc_video_engine.cc:588): WebRtcVideoEngine::WebRtcVideoEngine() STDERR: (webrtc_voice_engine.cc:280): WebRtcVoiceEngine::Init STDERR: (webrtc_voice_engine.cc:367): WebRtcVoiceEngine::ApplyOptions: AudioOptions {aec: 1, agc: 1, ns: 1, hf: 1, swap: 0, audio_jitter_buffer_max_packets: 200, audio_jitter_buffer_fast_accelerate: 0, audio_jit ter_buffer_min_delay_ms: 0, audio_jitter_buffer_enable_rtx_handling: 0, typing: 1, experimental_agc: 0, experimental_ns: 0, residual_echo_detector: 1, } STDERR: (webrtc_voice_engine.cc:482): Stereo swapping enabled? 0 STDERR: (webrtc_voice_engine.cc:487): NetEq capacity is 200 STDERR: (webrtc_voice_engine.cc:493): NetEq fast mode? 0 STDERR: (webrtc_voice_engine.cc:499): NetEq minimum delay is 0 STDERR: (webrtc_voice_engine.cc:505): NetEq handle reordered packets? 0 STDERR: (webrtc_voice_engine.cc:525): Experimental ns is enabled? 0 STDERR: (webrtc_voice_engine.cc:576): NS set to 1 STDERR: (webrtc_voice_engine.cc:580): Typing detection is enabled? 1 STDERR: (audio_processing_impl.cc:529): AudioProcessing::ApplyConfig: AudioProcessing::Config{ pipeline: {maximum_internal_processing_rate: 48000, multi_channel_render: 0, , multi_channel_capture: 0}, pre_amplifier: { enabled: 0, fixed_gain_factor: 1 }, high_pass_filter: { enabled: 1 }, echo_canceller: { enabled: 1, mobile_mode: 0, enforce_high_pass_filtering: 1 }, noise_suppression: { enabled: 1, level: High }, transient_suppression: { enabled: 0 }, voice_detection: { enabled: 1 }, gain_controller1: { enabled: 1, mode: AdaptiveAnalog, target_level_dbfs: 3, compression_gain_db: 9, enable_limiter: 1, analog_level_minimum: 0, analog_level_maximum: 255 }, gain_controller2: { enabled: 0, fixed_digital: { gain_db: 0 }, adaptive_digital: { enabled: 0, level_estimator: Rms, use_saturation_protector: 1, extra_saturation_margin_db: 2 } }, residual_echo_detector: { enabled: 1 }, level_estimation: { enabled: 0 } } STDERR: (agc_manager_direct.cc:69): [agc] GetMinMicLevel STDERR: (agc_manager_direct.cc:73): [agc] Using default min mic level: 12 STDERR: (agc_manager_direct.cc:457): AgcManagerDirect::Initialize STDERR: (field_trial.cc:140): Setting field trial string:WebRTC-H264Simulcast/Enabled/ STDERR: (peer_connection_factory.cc:390): Using default network controller factory STDERR: (bitrate_prober.cc:73): Bandwidth probing enabled, set to inactive STDERR: (cpu_info.cc:53): Available number of cores: 12 STDERR: (aimd_rate_control.cc:113): Using aimd rate control with back off factor 0.85 STDERR: (remote_bitrate_estimator_single_stream.cc:72): RemoteBitrateEstimatorSingleStream: Instantiating. STDERR: (remote_estimator_proxy.cc:50): Maximum interval between transport feedback RTCP messages (ms): 250 STDERR: (openssl_identity.cc:43): Making key pair STDERR: (used_ids.h:55): Duplicate id found. Reassigning from 103 to 127 STDERR: (used_ids.h:55): Duplicate id found. Reassigning from 105 to 125 STDERR: (webrtc_video_engine.cc:3316): Absent receive stream; ignoring clearing encoded frame sink for ssrc 0 STDERR: (balanced_degradation_settings.cc:96): Unsupported size, value ignored. STDERR: (balanced_degradation_settings.cc:96): Unsupported size, value ignored. STDERR: (balanced_degradation_settings.cc:96): Unsupported size, value ignored. STDERR: (video_send_stream_impl.cc:260): ERROR: Initial encoder max bitrate = -1 which is <= 0! STDERR: (cpu_speed_experiment.cc:28): Unsupported size, value ignored. STDERR: (used_ids.h:55): Duplicate id found. Reassigning from 103 to 127 STDERR: (used_ids.h:55): Duplicate id found. Reassigning from 105 to 125 STDERR: (webrtc_video_engine.cc:1130): SetRecvParameters called with unsupported video codec: VideoCodec[102:H264] STDERR: (peer_connection.cc:3364): Failed to set local video description recv parameters for m-section with mid='0'. (INVALID_PARAMETER) STDERR: (sdp_offer_answer.cc:1711): Failed to set local offer sdp: Failed to set local video description recv parameters for m-section with mid='0'. STDERR: (webrtc_video_engine.cc:3316): Absent receive stream; ignoring clearing encoded frame sink for ssrc 0 STDERR: (sdp_offer_answer.cc:1914): SetRemoteDescription: Session error code: ERROR_CONTENT. Session error description: Failed to set local video description recv parameters for m-section with mid='0'.. STDERR: (sdp_offer_answer.cc:2061): AddIceCandidate: ICE candidates can't be added without any remote session description. STDERR: SHOULD NEVER BE REACHED STDERR: ../../Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp(288) : virtual void WebCore::LibWebRTCPeerConnectionBackend::doAddIceCandidate(WebCore::RTCIceCandidate&)
Attachments
Full crash log on a local run (106.00 KB, text/plain)
2021-03-01 19:45 PST, Lauro Moura
no flags
Philippe Normand
Comment 1 2023-01-11 06:24:52 PST
This test no longer crashes since we moved to GstWebRTC. It is flagged as slow though, see bug 235885. Closing.
Note You need to log in before you can comment on or make changes to this bug.