[Webkit-unassigned] [Bug 258132] [GStreamer] MediaPlayerPrivateGStreamer::sourceSetup() can be called from a non-main thread in some cases

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 16 09:35:50 PDT 2023


https://bugs.webkit.org/show_bug.cgi?id=258132

--- Comment #2 from Philippe Normand <philn at igalia.com> ---
(In reply to Philippe Normand from comment #1)
> Looking at the trace, might be fixed by the patch in bug 258129.

Nope. New trace is:

(gdb) bt                                                                                                                                                                                                             
#0  0x00007f0b723518ee in WTFCrash() () at /var/home/phil/WebKit/Source/WTF/wtf/Assertions.cpp:327                                                                                                                   
#1  0x00007f0b758d0e2b in WTFCrashWithInfo(int, char const*, char const*, int) () at WTF/Headers/wtf/Assertions.h:762                                                                                                
#2  0x00007f0b7accae9b in WTF::WeakPtr<WebCore::MediaPlayer, WTF::DefaultWeakPtrImpl>::operator->() const (this=0x7f0b5e520140) at WTF/Headers/wtf/WeakPtr.h:138                                                     
#3  0x00007f0b7af776b4 in WebCore::MediaPlayerPrivateGStreamer::sourceSetup(_GstElement*) (this=0x7f0b5e520100, sourceElement=0x7f098c008760)                                                                        
    at /var/home/phil/WebKit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:883                                                                                                          
#4  0x00007f0b7af77841 in WebCore::MediaPlayerPrivateGStreamer::sourceSetupCallback(WebCore::MediaPlayerPrivateGStreamer*, _GstElement*) (player=0x7f0b5e520100, sourceElement=0x7f098c008760)                       
    at /var/home/phil/WebKit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:896                                                                                                          
#5  0x00007f0b741d3e27 in g_cclosure_marshal_VOID__OBJECTv                                                                                                                                                           
    (closure=0x1e5bda0, return_value=<optimized out>, instance=0x1e58480, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x1e53030) at ../gobject/gmarshal.c:1910         
#6  0x00007f0b741f3608 in _g_closure_invoke_va (param_types=0x1e53030, n_params=<optimized out>, args=0x7f099cfadd50, instance=0x1e58480, return_value=0x0, closure=0x1e5bda0) at ../gobject/gclosure.c:895          
#7  g_signal_emit_valist (instance=0x1e58480, signal_id=249, detail=0, var_args=var_args at entry=0x7f099cfadd50) at ../gobject/gsignal.c:3462                                                                          
#8  0x00007f0b741f36f3 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../gobject/gsignal.c:3612                                                                   
#9  0x00007f0b741d3e27 in g_cclosure_marshal_VOID__OBJECTv                                                                                                                                                           
    (closure=0x7f098c007b10, return_value=<optimized out>, instance=0x7f098c0074d0, args=<optimized out>, marshal_data=<optimized out>, n_params=<optimized out>, param_types=0x1e966b0)                             
    at ../gobject/gmarshal.c:1910                                                                                                                                                                                    
#10 0x00007f0b741f3608 in _g_closure_invoke_va (param_types=0x1e966b0, n_params=<optimized out>, args=0x7f099cfae010, instance=0x7f098c0074d0, return_value=0x0, closure=0x7f098c007b10)                             
    at ../gobject/gclosure.c:895                                                                                                                                                                                     
#11 g_signal_emit_valist (instance=0x7f098c0074d0, signal_id=271, detail=0, var_args=var_args at entry=0x7f099cfae010) at ../gobject/gsignal.c:3462                                                                     
#12 0x00007f0b741f36f3 in g_signal_emit (instance=instance at entry=0x7f098c0074d0, signal_id=<optimized out>, detail=detail at entry=0) at ../gobject/gsignal.c:3612                                                      
#13 0x00007f09fc04928a in gen_source_element (decoder=0x7f098c0074d0) at ../gst/playback/gsturidecodebin.c:1433                                                                                                      
#14 setup_source (decoder=<optimized out>) at ../gst/playback/gsturidecodebin.c:2285                                                                                                                                 
#15 gst_uri_decode_bin_change_state (element=0x7f098c0074d0, transition=<optimized out>) at ../gst/playback/gsturidecodebin.c:2920                                                                                   
#16 0x00007f0b6c9ba5b4 in gst_element_change_state (element=element at entry=0x7f098c0074d0, transition=GST_STATE_CHANGE_READY_TO_PAUSED) at ../gst/gstelement.c:3093                                                   
#17 0x00007f0b6c9ba361 in gst_element_continue_state (element=element at entry=0x7f098c0074d0, ret=ret at entry=GST_STATE_CHANGE_SUCCESS) at ../gst/gstelement.c:2801                                                      
#18 0x00007f0b6c9ba5f8 in gst_element_change_state (element=element at entry=0x7f098c0074d0, transition=transition at entry=GST_STATE_CHANGE_NULL_TO_READY) at ../gst/gstelement.c:3132                                    
#19 0x00007f0b6c9bab69 in gst_element_set_state_func (element=0x7f098c0074d0, state=GST_STATE_PAUSED) at ../gst/gstelement.c:3047                                                                                    
#20 0x00007f09fc083a24 in activate_group (target=GST_STATE_PAUSED, group=0x1e58648, playbin=0x1e58480) at ../gst/playback/gstplaybin2.c:5490                                                                         
#21 setup_next_source.constprop.0 (playbin=0x1e58480, target=<optimized out>) at ../gst/playback/gstplaybin2.c:5715                                                                                                  
#22 0x00007f09fc06322c in gst_play_bin_handle_message (bin=0x1e58480, msg=0x7f098c002480 [None]) at ../gst/playback/gstplaybin2.c:3038                                                                               
#23 0x00007f0b6c98992c in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../gst/gstbin.c:3260                                                                                
#24 0x00007f0b6c9a0d9b in gst_bus_post (bus=0x185d080, message=0x7f098c002480 [None]) at ../gst/gstbus.c:357                                                                                                         
#25 0x00007f0b6c9b5427 in gst_element_post_message_default (element=element at entry=0x1e96010, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2127                                                              
#26 0x00007f0b6c993ee3 in gst_bin_post_message (element=0x1e96010, msg=0x7f098c002480 [None]) at ../gst/gstbin.c:2789                                                                                                
#27 0x00007f0b6c9b28e7 in gst_element_post_message (element=0x1e96010, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2170                                                                                    
#28 0x00007f0b6c98992c in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../gst/gstbin.c:3260                                                                                
#29 0x00007f0b6c9a0d9b in gst_bus_post (bus=0x1e962a0, message=0x7f098c002480 [None]) at ../gst/gstbus.c:357                                                                                                         
#30 0x00007f0b6c9b5427 in gst_element_post_message_default (element=element at entry=0x7f09c8007060, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2127                                                         
#31 0x00007f0b6c993ee3 in gst_bin_post_message (element=0x7f09c8007060, msg=0x7f098c002480 [None]) at ../gst/gstbin.c:2789                                                                                           
#32 0x00007f0b6c9b28e7 in gst_element_post_message (element=0x7f09c8007060, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2170                                                                               
#33 0x00007f09fc023e30 in gst_decode_bin_handle_message (bin=0x7f09c8007060, msg=<optimized out>) at ../gst/playback/gstdecodebin2.c:5653                                                                            
#34 0x00007f0b6c98992c in bin_bus_handler (bus=<optimized out>, message=<optimized out>, bin=<optimized out>) at ../gst/gstbin.c:3260                                                                                
#35 0x00007f0b6c9a0d9b in gst_bus_post (bus=0x7f09c8007380, message=0x7f098c002480 [None]) at ../gst/gstbus.c:357                                                                                                    
#36 0x00007f0b6c9b5427 in gst_element_post_message_default (element=0x7f0998275270, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2127                                                                       
#37 0x00007f0b6c9b28e7 in gst_element_post_message (element=element at entry=0x7f0998275270, message=0x7f098c002480 [None]) at ../gst/gstelement.c:2170                                                                 
#38 0x00007f0b6c9b9d43 in gst_element_message_full_with_details                                                                                                                                                      
    (element=0x7f0998275270, type=GST_MESSAGE_ERROR, domain=4835, code=9, text=<optimized out>, debug=<optimized out>, file=0x7f099d0322b4 "../gst/isomp4/qtdemux.c", function=0x7f099d035bc0 <__func__.97> "gst_qtde
mux_post_no_playable_stream_error", line=504, structure=0x7f098c001ed0) at ../gst/gstelement.c:2306                                                                                                                  
#39 0x00007f099cfd5d25 in gst_qtdemux_post_no_playable_stream_error (qtdemux=0x7f0998275270) at ../gst/isomp4/qtdemux.c:504                                                                                          
#40 0x00007f099cfe4dfe in gst_qtdemux_loop (pad=<optimized out>) at ../gst/isomp4/qtdemux.c:6918                                                                                                                     
#41 0x00007f0b6ca14ee4 in gst_task_func (task=0x7f09980012f0) at ../gst/gsttask.c:384                                                                                                                                
#42 0x00007f0b6d85db02 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:350                                                                                                             
#43 0x00007f0b6d85b373 in g_thread_proxy (data=0x7f09d80011b0) at ../glib/gthread.c:831                                                                                                                              
#44 0x00007f0b6d262c57 in start_thread (arg=<optimized out>) at pthread_create.c:444                                                                                                                                 
#45 0x00007f0b6d2e8a70 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230616/678693ce/attachment-0001.htm>


More information about the webkit-unassigned mailing list