New issue
Advanced search Search tips

Issue 813127 link

Starred by 1 user

Issue metadata

Status: WontFix
Owner: ----
Closed: Feb 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

Crash in remoting::VideoEncoderVpx::Configure due to VPX_CODEC_MEM_ERROR

Project Member Reported by joedow@chromium.org, Feb 16 2018

Issue description

We have seen a couple of crashes in this function where reinitializing the encoder returns VPX_CODEC_MEM_ERROR.  Stack trace and config values are as follows:

0f 026ff2dc 71538fbd 006ff2f4 026ff344 026ff2f4 ntdll!KiUserExceptionDispatcher+0xf
10 026ff934 71538bb7 03535790 036180a0 00000000 remoting_core!remoting::VideoEncoderVpx::Configure+0x1e4 [c:\b\c\b\win_pgo\src\remoting\codec\video_encoder_vpx.cc @ 409]
11 026ffa50 7172e9e2 026ffa68 03535780 036180a0 remoting_core!remoting::VideoEncoderVpx::Encode+0x6b [c:\b\c\b\win_pgo\src\remoting\codec\video_encoder_vpx.cc @ 288]
12 026ffa78 7172f0f9 026ffaa8 0361b0d8 03535780 remoting_core!remoting::protocol::VideoFramePump::EncodeFrame+0x3a [c:\b\c\b\win_pgo\src\remoting\protocol\video_frame_pump.cc @ 162]
13 (Inline) -------- -------- -------- -------- remoting_core!base::internal::FunctorTraits<std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > (__cdecl*)(remoting::VideoEncoder *,std::unique_ptr<webrtc::DesktopFrame,std::default_delete<webrtc::DesktopFrame> >,std::unique_ptr<remoting::protocol::VideoFramePump::FrameTimestamps,std::default_delete<remoting::protocol::VideoFramePump::FrameTimestamps> >),void>::Invoke+0x1f [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 166]
14 (Inline) -------- -------- -------- -------- remoting_core!base::internal::InvokeHelper<0,std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > >::MakeItSo+0x1f [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 294]
15 (Inline) -------- -------- -------- -------- remoting_core!base::internal::Invoker<base::internal::BindState<std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > (__cdecl*)(remoting::VideoEncoder *,std::unique_ptr<webrtc::DesktopFrame,std::default_delete<webrtc::DesktopFrame> >,std::unique_ptr<remoting::protocol::VideoFramePump::FrameTimestamps,std::default_delete<remoting::protocol::VideoFramePump::FrameTimestamps> >),remoting::VideoEncoder *,base::internal::PassedWrapper<std::unique_ptr<webrtc::DesktopFrame,std::default_delete<webrtc::DesktopFrame> > >,base::internal::PassedWrapper<std::unique_ptr<remoting::protocol::VideoFramePump::FrameTimestamps,std::default_delete<remoting::protocol::VideoFramePump::FrameTimestamps> > > >,std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > __cdecl(void)>::RunImpl+0x37 [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 368]
16 026ffa9c 7172f147 026ffabc 036180a0 0473c170 remoting_core!base::internal::Invoker<base::internal::BindState<std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > (__cdecl*)(remoting::VideoEncoder *,std::unique_ptr<webrtc::DesktopFrame,std::default_delete<webrtc::DesktopFrame> >,std::unique_ptr<remoting::protocol::VideoFramePump::FrameTimestamps,std::default_delete<remoting::protocol::VideoFramePump::FrameTimestamps> >),remoting::VideoEncoder *,base::internal::PassedWrapper<std::unique_ptr<webrtc::DesktopFrame,std::default_delete<webrtc::DesktopFrame> > >,base::internal::PassedWrapper<std::unique_ptr<remoting::protocol::VideoFramePump::FrameTimestamps,std::default_delete<remoting::protocol::VideoFramePump::FrameTimestamps> > > >,std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > __cdecl(void)>::Run+0x40 [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 350]
17 (Inline) -------- -------- -------- -------- remoting_core!base::OnceCallback<std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > __cdecl(void)>::Run+0x16 [c:\b\c\b\win_pgo\src\base\callback.h @ 65]
18 026ffac0 7147cc5e 00000000 035806f8 0473c0f8 remoting_core!base::internal::ReturnAsParamAdapter<std::unique_ptr<remoting::protocol::VideoFramePump::PacketWithTimestamps,std::default_delete<remoting::protocol::VideoFramePump::PacketWithTimestamps> > >+0x1c [c:\b\c\b\win_pgo\src\base\post_task_and_reply_with_result_internal.h @ 20]
19 (Inline) -------- -------- -------- -------- remoting_core!base::internal::FunctorTraits<void (__cdecl*)(base::OnceCallback<bool __cdecl(void)>,bool *),void>::Invoke+0x14 [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 166]
1a (Inline) -------- -------- -------- -------- remoting_core!base::internal::InvokeHelper<0,void>::MakeItSo+0x14 [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 294]
1b (Inline) -------- -------- -------- -------- remoting_core!base::internal::Invoker<base::internal::BindState<void (__cdecl*)(base::OnceCallback<bool __cdecl(void)>,bool *),base::OnceCallback<bool __cdecl(void)>,bool *>,void __cdecl(void)>::RunImpl+0x14 [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 368]
1c 026ffad4 7157d93d 0473c0f8 026ffc68 0357d6f8 remoting_core!base::internal::Invoker<base::internal::BindState<void (__cdecl*)(base::OnceCallback<bool __cdecl(void)>,bool *),base::OnceCallback<bool __cdecl(void)>,bool *>,void __cdecl(void)>::RunOnce+0x1b [c:\b\c\b\win_pgo\src\base\bind_internal.h @ 336]
1d (Inline) -------- -------- -------- -------- remoting_core!base::OnceCallback<void __cdecl(void)>::Run+0x10 [c:\b\c\b\win_pgo\src\base\callback.h @ 65]
1e 026ffaf4 715a1e9b 0357d6f8 00000000 00000000 remoting_core!base::`anonymous namespace'::PostTaskAndReplyRelay::RunTaskAndPostReply+0x1d [c:\b\c\b\win_pgo\src\base\threading\post_task_and_reply_impl.cc @ 45]
1f (Inline) -------- -------- -------- -------- remoting_core!base::OnceCallback<void __cdecl(void)>::Run+0x15 [c:\b\c\b\win_pgo\src\base\callback.h @ 65]
20 026ffb70 71540bfe 71c4251c 026ffc68 026ffdc0 remoting_core!base::debug::TaskAnnotator::RunTask+0xfb [c:\b\c\b\win_pgo\src\base\debug\task_annotator.cc @ 55]
21 (Inline) -------- -------- -------- -------- remoting_core!base::internal::IncomingTaskQueue::RunTask+0x1a [c:\b\c\b\win_pgo\src\base\message_loop\incoming_task_queue.cc @ 124]
22 026ffc4c 71540dd2 026ffc68 00dd17f0 ffffffff remoting_core!base::MessageLoop::RunTask+0x28e [c:\b\c\b\win_pgo\src\base\message_loop\message_loop.cc @ 400]
23 026ffc60 71540f94 00000000 71cf81f8 71cfa79c remoting_core!base::MessageLoop::DeferOrRunPendingTask+0x42 [c:\b\c\b\win_pgo\src\base\message_loop\message_loop.cc @ 411]
24 026ffd00 715822d8 00dd7928 00000000 026ffda8 remoting_core!base::MessageLoop::DoWork+0x194 [c:\b\c\b\win_pgo\src\base\message_loop\message_loop.cc @ 455]
25 026ffd44 7153e988 026ffdc0 00dd7928 00000000 remoting_core!base::MessagePumpDefault::Run+0x128 [c:\b\c\b\win_pgo\src\base\message_loop\message_pump_default.cc @ 38]
26 026ffd88 7145de94 00dd3290 74c91420 00dd7928 remoting_core!base::RunLoop::Run+0x48 [c:\b\c\b\win_pgo\src\base\run_loop.cc @ 136]
27 026ffe78 715520db 00000000 00000000 00dd3290 remoting_core!remoting::AutoThread::ThreadMain+0x118 [c:\b\c\b\win_pgo\src\remoting\base\auto_thread.cc @ 231]
28 026ffec8 74c9343d 00dd3290 026fff14 77199832 remoting_core!base::`anonymous namespace'::ThreadFunc+0xbb [c:\b\c\b\win_pgo\src\base\threading\platform_thread_win.cc @ 93]
29 026ffed4 77199832 00dd3290 798bbf4b 00000000 kernel32!BaseThreadInitThunk+0xe
2a 026fff14 77199805 71552020 00dd3290 00000000 ntdll!__RtlUserThreadStart+0x70
2b 026fff2c 00000000 71552020 00dd3290 00000000 ntdll!_RtlUserThreadStart+0x1b


0:008> .frame 10
10 026ff934 71538bb7 remoting_core!remoting::VideoEncoderVpx::Configure+0x1e4 [c:\b\c\b\win_pgo\src\remoting\codec\video_encoder_vpx.cc @ 409]
0:008> dv
           this = 0x0361b0d8
           size = 0x03535790
         config = struct vpx_codec_enc_cfg
            ret = VPX_CODEC_MEM_ERROR (0n2)

0:008> dt config
dtx is unsupported for this scenario.  It only recognizes dtx [<type>] [<address>] with -a, -h, and -r.  Reverting to dt.
Local var @ 0x26ff7c0 Type vpx_codec_enc_cfg
   +0x000 g_usage          : 0
   +0x004 g_threads        : 2
   +0x008 g_profile        : 2
   +0x00c g_w              : 0xf00
   +0x010 g_h              : 0x438
   +0x014 g_bit_depth      : 8 ( VPX_BITS_8 )
   +0x018 g_input_bit_depth : 8
   +0x01c g_timebase       : vpx_rational
   +0x024 g_error_resilient : 0
   +0x028 g_pass           : 0 ( VPX_RC_ONE_PASS )
   +0x02c g_lag_in_frames  : 0
   +0x030 rc_dropframe_thresh : 0
   +0x034 rc_resize_allowed : 0
   +0x038 rc_scaled_width  : 1
   +0x03c rc_scaled_height : 1
   +0x040 rc_resize_up_thresh : 0x3c
   +0x044 rc_resize_down_thresh : 0x1e
   +0x048 rc_end_usage     : 0 ( VPX_VBR )
   +0x04c rc_twopass_stats_in : vpx_fixed_buf
   +0x054 rc_firstpass_mb_stats_in : vpx_fixed_buf
   +0x05c rc_target_bitrate : 0x3600
   +0x060 rc_min_quantizer : 0x14
   +0x064 rc_max_quantizer : 0x1e
   +0x068 rc_undershoot_pct : 0x64
   +0x06c rc_overshoot_pct : 0x64
   +0x070 rc_buf_sz        : 0x1770
   +0x074 rc_buf_initial_sz : 0xfa0
   +0x078 rc_buf_optimal_sz : 0x1388
   +0x07c rc_2pass_vbr_bias_pct : 0x32
   +0x080 rc_2pass_vbr_minsection_pct : 0
   +0x084 rc_2pass_vbr_maxsection_pct : 0x190
   +0x088 rc_2pass_vbr_corpus_complexity : 0
   +0x08c kf_mode          : 1 ( VPX_KF_AUTO )
   +0x090 kf_min_dist      : 0x2710
   +0x094 kf_max_dist      : 0x2710
   +0x098 ss_number_layers : 1
   +0x09c ss_enable_auto_alt_ref : [5] 0n0
   +0x0b0 ss_target_bitrate : [5] 0
   +0x0c4 ts_number_layers : 1
   +0x0c8 ts_target_bitrate : [5] 0
   +0x0dc ts_rate_decimator : [5] 0
   +0x0f0 ts_periodicity   : 0
   +0x0f4 ts_layer_id      : [16] 0
   +0x134 layer_target_bitrate : [12] 0
   +0x164 temporal_layering_mode : 0n0



 

Comment 1 by joedow@chromium.org, Feb 27 2018

Status: WontFix (was: Untriaged)
Per triage, not enough impact to warrant investigation at this point.  We can revisit if it begin affecting more users.

Sign in to add a comment