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&)
This test no longer crashes since we moved to GstWebRTC. It is flagged as slow though, see bug 235885. Closing.