Closed Bug 1192597 Opened 9 years ago Closed 9 years ago

firefox crashes when stopping a gazeta.pl video (vdpau related)

Categories

(Core :: Audio/Video: Playback, defect, P5)

39 Branch
x86_64
Linux
defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: belegdol, Unassigned)

References

Details

(Keywords: crash)

User Agent: Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:39.0) Gecko/20100101 Firefox/39.0 Build ID: 20150806132111 Steps to reproduce: 1. Open a gazeta.pl video, e.g. http://www.gazeta.tv/Wideo/10,130251,18521316,rekordowe-upaly-w-polsce-jak-je-przetrwac-pij-gorace-napoje.html#BoxVidImg 2. Press the square icon to stop the video Actual results: Firefox crashed Expected results: Video should have stopped playing without causing firefox to crash
OS: Unspecified → Linux
Hardware: Unspecified → x86_64
libva info: VA-API version 0.37.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so libva info: Found init function __vaDriverInit_0_36 libva info: va_openDriver() returns 0 [New Thread 0x7fffd44ba700 (LWP 15755)] [New Thread 0x7fffd00fe700 (LWP 15783)] [New Thread 0x7fffab4fe700 (LWP 15781)] [New Thread 0x7fffabcff700 (LWP 15777)] [New Thread 0x7fffd0e5b700 (LWP 15766)] [New Thread 0x7fffac7e5700 (LWP 15765)] [New Thread 0x7fffad9ff700 (LWP 15764)] Cannot find new threads: debugger service failed Missing separate debuginfos, use: dnf debuginfo-install faad2-libs-2.7-6.fc22.x86_64 gstreamer1-plugins-bad-freeworld-1.4.5-2.fc22.x86_64 gstreamer1-plugins-good-1.4.5-3.fc22.x86_64 libdrm-2.4.61-3.fc22.x86_64 libva-1.5.1-1.fc22.x86_64 libvdpau-1.1-1.fc22.x86_64 orc-0.4.22-3.fc22.x86_64 (gdb) bt #0 0x0000003bffa9f336 in __memcpy_sse2_unaligned () at ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:79 #1 0x0000003c02a43636 in _XRead (__len=334272, __src=<optimized out>, __dest=<optimized out>) at /usr/include/bits/string3.h:53 #2 0x0000003c02a43636 in _XRead (dpy=0x7fffb3261000, data=<optimized out>, size=334272) at xcb_io.c:737 #3 0x00007fffae7934f2 in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #4 0x00007fffae74e7c1 in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #5 0x00007fffae74e9e2 in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #6 0x00007fffae77450a in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #7 0x00007fffae77a954 in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #8 0x00007fffae766b2e in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #9 0x00007fffae755b21 in () at /usr/lib64/vdpau/libvdpau_nvidia.so.1 #10 0x00007fffaebf2b50 in vdpau_DestroyContext (ctx=<optimized out>, context=<optimized out>) at vdpau_video.c:481 #11 0x00007fffaf9537c5 in context_destroy (context=context@entry=0x7fffaeefea80) at gstvaapicontext.c:92 #12 0x00007fffaf953909 in gst_vaapi_context_finalize (context=0x7fffaeefea80) at gstvaapicontext.c:338 #13 0x00007fffaf96cce2 in gst_vaapi_object_finalize (object=0x7fffaeefea80) at gstvaapiobject.c:50 #14 0x00007fffaf96cb2e in gst_vaapi_mini_object_free (object=0x7fffaeefea80) at gstvaapiminiobject.c:39 #15 0x00007fffaf954db4 in gst_vaapi_decoder_finalize (new_object=0x0, old_object_ptr=0x7fffaeee9028) at ../../../gst-libs/gst/vaapi/gstvaapiobject_priv.h:215 #16 0x00007fffaf954db4 in gst_vaapi_decoder_finalize (decoder=0x7fffaeee9000) at gstvaapidecoder.c:470 #17 0x00007fffaf96cb2e in gst_vaapi_mini_object_free (object=0x7fffaeee9000) at gstvaapiminiobject.c:39 #18 0x00007fffafbef84c in gst_vaapidecode_destroy (decode=decode@entry=0x7fffb312c190) at gstvaapidecode.c:687 #19 0x00007fffafbf103b in gst_vaapidecode_close (vdec=<optimized out>) at gstvaapidecode.c:762 #20 0x0000003c20a22954 in gst_video_decoder_change_state (element=0x7fffb312c190, transition=<optimized out>) at gstvideodecoder.c:2248 #21 0x00007fffb5d40b82 in gst_element_change_state (element=element@entry=0x7fffb312c190, transition=transition@entry=GST_STATE_CHANGE_READY_TO_NULL) at gstelement.c:2602 #22 0x00007fffb5d4118a in gst_element_set_state_func (element=0x7fffb312c190, state=GST_STATE_NULL) at gstelement.c:2558 #23 0x00007fffb29b7a12 in gst_decode_chain_free_internal (chain=0x7fffb30f2600, hide=0) at gstdecodebin2.c:2955 #24 0x00007fffb29b7d72 in gst_decode_group_free_internal (group=0x7fffb30d87c0, hide=0) at gstdecodebin2.c:3101 #25 0x00007fffb29b773d in gst_decode_chain_free_internal (chain=0x7fffb2d53b00, hide=0) at gstdecodebin2.c:2896 #26 0x00007fffb29b82e9 in gst_decode_bin_change_state (chain=<optimized out>) at gstdecodebin2.c:3029 #27 0x00007fffb29b82e9 in gst_decode_bin_change_state (element=0x7fffb3604420, transition=<optimized out>) at gstdecodebin2.c:4566 #28 0x00007fffb5d40b82 in gst_element_change_state (element=element@entry=0x7fffb3604420, transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2602 #29 0x00007fffb5d4118a in gst_element_set_state_func (element=0x7fffb3604420, state=GST_STATE_READY) at gstelement.c:2558 #30 0x00007fffb5d23cec in gst_bin_change_state_func (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=2857028584, base_time=50503950930984, element=0x7fffb3604420, bin=0x7fffb360a020) at gstbin.c:2328 #31 0x00007fffb5d23cec in gst_bin_change_state_func (element=0x7fffb360a020, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2665 #32 0x00007fffb29c39f0 in gst_uri_decode_bin_change_state (element=0x7fffb360a020, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gsturidecodebin.c:2728 #33 0x00007fffb5d40b82 in gst_element_change_state (element=element@entry=0x7fffb360a020, transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at gstelement.c:2602 #34 0x00007fffb5d4118a in gst_element_set_state_func (element=0x7fffb360a020, state=GST_STATE_READY) at gstelement.c:2558 #35 0x00007fffb5d23cec in gst_bin_change_state_func (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=2857028584, base_time=50503950930984, element=0x7fffb360a020, bin=0x7fffb2cc7040) at gstbin.c:2328 #36 0x00007fffb5d23cec in gst_bin_change_state_func (element=0x7fffb2cc7040, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstbin.c:2665 #37 0x00007fffb5d60263 in gst_pipeline_change_state (element=0x7fffb2cc7040, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstpipeline.c:469 #38 0x00007fffb29cb380 in gst_play_bin_change_state (element=0x7fffb2cc7040, transition=GST_STATE_CHANGE_PAUSED_TO_READY) at gstplaybin2.c:5539 #39 0x00007fffb5d40b82 in gst_element_change_state (element=element@entry=0x7fffb2cc7040, transition=<optimized out>) at gstelement.c:2602 #40 0x00007fffb5d41484 in gst_element_continue_state (element=element@entry=0x7fffb2cc7040, ret=ret@entry=GST_STATE_CHANGE_SUCCESS) at gstelement.c:2312 #41 0x00007fffb5d40d70 in gst_element_change_state (element=element@entry=0x7fffb2cc7040, transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at gstelement.c:2639 #42 0x00007fffb5d4118a in gst_element_set_state_func (element=0x7fffb2cc7040, state=GST_STATE_NULL) at gstelement.c:2558 #43 0x00007ffff085305c in mozilla::GStreamerReader::Shutdown() (this=0x7fffb2dc1000) at /usr/src/debug/firefox-39.0.3/mozilla-release/dom/media/gstreamer/GStreamerReader.cpp:194 #44 0x00007ffff07ce6c1 in mozilla::MediaDecoderStateMachine::ShutdownReader() (this=0x7fffb3b2d400) at /usr/src/debug/firefox-39.0.3/mozilla-release/dom/media/MediaDecoderStateMachine.cpp:2474 #45 0x00007ffff07a1192 in nsRunnableMethodImpl<void (mozilla::MediaDecoderStateMachine::*)(), true>::Run() (m=<optimized out>, o=<optimized out>, this=<optimized out>) at ../../dist/include/nsThreadUtils.h:574 #46 0x00007ffff07a1192 in nsRunnableMethodImpl<void (mozilla::MediaDecoderStateMachine::*)(), true>::Run() (this=<optimized out>) at ../../dist/include/nsThreadUtils.h:666 #47 0x00007ffff07ce949 in mozilla::MediaTaskQueue::Runner::Run() (this=0x7fffb3786640) at /usr/src/debug/firefox-39.0.3/mozilla-release/dom/media/MediaTaskQueue.cpp:226 #48 0x00007fffefa98fed in nsThreadPool::Run() (this=0x7fffb2ef8e00) at /usr/src/debug/firefox-39.0.3/mozilla-release/xpcom/threads/nsThreadPool.cpp:225 #49 0x00007fffefa96920 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7fffd71b6ab0, aMayWait=<optimized out>, aResult=0x7fffd44b9de7) at /usr/src/debug/firefox-39.0.3/mozilla-release/xpcom/threads/nsThread.cpp:855 #50 0x00007fffefaab273 in NS_ProcessNextEvent(nsIThread*, bool) (aThread=<optimized out>, aMayWait=aMayWait@entry=false) at /usr/src/debug/firefox-39.0.3/mozilla-release/xpcom/glue/nsThreadUtils.cpp:265 #51 0x00007fffefc69a6c in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) (this=0x7fffb349af00, aDelegate=0x7fffb41ef900) at /usr/src/debug/firefox-39.0.3/mozilla-release/ipc/glue/MessagePump.cpp:339 #52 0x00007fffefc59d74 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-39.0.3/mozilla-release/ipc/chromium/src/base/message_loop.cc:226 #53 0x00007fffefc59d74 in MessageLoop::Run() (this=<optimized out>) at /usr/src/debug/firefox-39.0.3/mozilla-release/ipc/chromium/src/base/message_loop.cc:200 #54 0x00007fffefa98799 in nsThread::ThreadFunc(void*) (aArg=0x7fffd71b6ab0) at /usr/src/debug/firefox-39.0.3/mozilla-release/xpcom/threads/nsThread.cpp:356 #55 0x0000003c08a28cab in _pt_root (arg=0x7fffb3b02380) at ../../../nspr/pr/src/pthreads/ptthread.c:212 #56 0x0000003c00207555 in start_thread (arg=0x7fffd44ba700) at pthread_create.c:333 #57 0x0000003bffb02b9d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
The package set is as follows: firefox-39.0.3-1.fc22.x86_64 gstreamer1-1.4.5-1.fc22.x86_64 gstreamer1-plugins-base-1.4.5-2.fc22.x86_64 gstreamer1-vaapi-0.6.0-0.1.fc22.x86_64 libva-vdpau-driver-0.7.4-10.fc22.x86_64 libX11-1.6.3-1.fc22.x86_64 nspr-4.10.8-1.fc22.x86_64 xorg-x11-drv-nvidia-352.30-1.fc22.x86_64
Severity: normal → critical
Component: Untriaged → Audio/Video
Keywords: crash
Product: Firefox → Core
I'm guessing it is an issue with libva-vdpau.
Correct, removing libva-vdpau-driver package makes the crash go away.
as a work around, uninstall vaapi, so the bridge doesn't crash. I guess we need to block this element.
Priority: -- → P2
Component: Audio/Video → Audio/Video: Playback
gstreamer is going in bug 1234092
Status: UNCONFIRMED → RESOLVED
Closed: 9 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.