Closed Bug 1192597 Opened 9 years ago Closed 8 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: 8 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.