Bug#788708: Bug#799632: iceweasel: SIGSEGV when playing videos via gstreamer

Soeren D. Schulze soeren.d.schulze at gmx.de
Sat Dec 5 15:28:38 UTC 2015


Am 12.11.2015 um 15:02 schrieb Sebastian Dröge:
> On Do, 2015-11-12 at 14:41 +0100, Soeren D. Schulze wrote:
>> Hello,
>>
>> the problem does not seem to occur any more with
>> gstreamer1.0-plugins-bad 1.6.1-1+b1 and iceweasel 38.4.0esr-1.
>>
>> Do you have any specific packages for me to test?
>
> Just a normal jessie installation without installing things from other
> sources, including sid :) It is definitely fixed since gst-plugins-bad
> 1.5.X, it's just not clear if the actual bug also exists in jessie or
> not (and if it doesn't, the fix will also have no effect for people who
> mix their packages with ones from other sources).

Hello,

it is not fixed, alas.  The following SIGSEGV backtrace is with 
gstreamer1.0-plugins-bad 1.6.1-1+b1 and iceweasel 38.4.0esr-1.  Such 
crashes are rarer, but they do occur:

#0  0x00007ffff7bce79b in raise (sig=sig at entry=11) at 
../nptl/sysdeps/unix/sysv/linux/pt-raise.c:37
         resultvar = 0
         pid = <optimized out>
#1  0x00007ffff417ed77 in nsProfileLock::FatalSignalHandler (signo=11, 
info=0x7fffccafd370, context=0x7fffccafd240) at 
/tmp/buildd/iceweasel-38.4.0esr/profile/dirserviceprovider/nsProfileLock.cpp:180
         unblock_sigs = {__val = {1024, 0 <repeats 15 times>}}
         oldact = <optimized out>
#2  <signal handler called>
No locals.
#3  0x00007ffff3a11a76 in 
mozilla::GStreamerReader::ImageDataFromVideoFrame 
(this=this at entry=0x7fffd8624800, aFrame=aFrame at entry=0x7fffccafd850, 
aData=aData at entry=0x7fffccafd800) at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/gstreamer/GStreamerReader.cpp:1440
No locals.
#4  0x00007ffff3a11fdf in mozilla::GStreamerReader::GetImageFromBuffer 
(this=this at entry=0x7fffd8624800, aBuffer=aBuffer at entry=0x7fffb7ec4500) 
at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/gstreamer/GStreamerReader.cpp:1466
         frame = {info = {finfo = 0x0, interlace_mode = 
GST_VIDEO_INTERLACE_MODE_PROGRESSIVE, flags = GST_VIDEO_FLAG_NONE, width 
= 0, height = 0, size = 0, views = 0, chroma_site = 
GST_VIDEO_CHROMA_SITE_UNKNOWN, colorimetry = {range = 
GST_VIDEO_COLOR_RANGE_UNKNOWN, matrix = GST_VIDEO_COLOR_MATRIX_UNKNOWN, 
transfer = GST_VIDEO_TRANSFER_UNKNOWN, primaries = 
GST_VIDEO_COLOR_PRIMARIES_UNKNOWN}, par_n = 0, par_d = 0, fps_n = 0, 
fps_d = 0, offset = {0, 0, 0, 0}, stride = {0, 0, 0, 0}, ABI = {abi = 
{multiview_mode = GST_VIDEO_MULTIVIEW_MODE_MONO, multiview_flags = 
GST_VIDEO_MULTIVIEW_FLAGS_NONE}, _gst_reserved = {0x0, 0x0, 0x0, 0x0}}}, 
flags = GST_VIDEO_FRAME_FLAG_NONE, buffer = 0x0, meta = 0x0, id = 0, 
data = {0x0, 0x0, 0x0, 0x0}, map = {{memory = 0x0, flags = (unknown: 0), 
data = 0x0, size = 0, maxsize = 0, user_data = {0x0, 0x0, 0x0, 0x0}, 
_gst_reserved = {0x0, 0x0, 0x0, 0x0}}, {memory = 0x0, flags = (unknown: 
0), data = 0x0, size = 0, maxsize = 0, user_data = {0x0, 0x0, 0x0, 0x0}, 
_gst_reserved = {0x0, 0x0, 0x0, 0x0}}, {memory = 0x0, flags = (unknown: 
0), data = 0x0, size = 0, maxsize = 0, user_data = {0x0, 0x0, 0x0, 0x0}, 
_gst_reserved = {0x0, 0x0, 0x0, 0x0}}, {memory = 0x0, flags = (unknown: 
0), data = 0x0, size = 0, maxsize = 0, user_data = {0x0, 0x0, 0x0, 0x0}, 
_gst_reserved = {0x0, 0x0, 0x0, 0x0}}}, _gst_reserved = {0x0, 0x0, 0x0, 
0x0}}
         data = {mYChannel = 0x0, mYStride = 0, mYSize = 
{<mozilla::gfx::BaseSize<int, 
mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> >> = {width = 0, 
height = 0}, <mozilla::gfx::UnknownUnits> = {<No data fields>}, <No data 
fields>}, mYSkip = 0, mCbChannel = 0x0, mCrChannel = 0x0, mCbCrStride = 
0, mCbCrSize = {<mozilla::gfx::BaseSize<int, 
mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> >> = {width = 0, 
height = 0}, <mozilla::gfx::UnknownUnits> = {<No data fields>}, <No data 
fields>}, mCbSkip = 0, mCrSkip = 0, mPicX = 0, mPicY = 0, mPicSize = 
{<mozilla::gfx::BaseSize<int, 
mozilla::gfx::IntSizeTyped<mozilla::gfx::UnknownUnits> >> = {width = 0, 
height = 0}, <mozilla::gfx::UnknownUnits> = {<No data fields>}, <No data 
fields>}, mStereoMode = mozilla::StereoMode::MONO}
         mem = <optimized out>
         image = {mRawPtr = 0x7fffaf8daf20}
#5  0x00007ffff3a1243f in mozilla::GStreamerReader::DecodeVideoFrame 
(this=0x7fffd8624800, aKeyFrameSkip=<optimized out>, 
aTimeThreshold=<optimized out>) at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/gstreamer/GStreamerReader.cpp:824
         buffer = 0x7fffb7ec4500
         isKeyframe = <optimized out>
         timestamp = 41000
         duration = 41708
         image = {mRawPtr = 0x7fffaf8daf20}
         offset = <optimized out>
#6  0x00007ffff3998ae1 in mozilla::MediaDecoderReader::RequestVideoData 
(this=0x7fffd8624800, aSkipToNextKeyframe=<optimized out>, 
aTimeThreshold=0) at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaDecoderReader.cpp:245
         p = {mRawPtr = 0x7fffcdf02970}
         __func__ = "RequestVideoData"
         skip = false
#7  0x00007ffff3974a23 in 
mozilla::detail::MethodCallWithTwoArgs<mozilla::MediaPromise<nsRefPtr<mozilla::VideoData>, 
mozilla::MediaDecoderReader::NotDecodedReason, true>, 
mozilla::MediaDecoderReader, bool, long>::Invoke (this=<optimized out>) 
at /tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaPromise.h:603
No locals.
#8  0x00007ffff3996b56 in 
mozilla::detail::ProxyRunnable<mozilla::MediaPromise<nsRefPtr<mozilla::VideoData>, 
mozilla::MediaDecoderReader::NotDecodedReason, true> >::Run 
(this=0x7fffb6c9b200) at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaPromise.h:620
         p = {mRawPtr = 0x7fffcdf02970}
#9  0x00007ffff3997637 in mozilla::MediaTaskQueue::Runner::Run 
(this=0x7fffb2426680) at 
/tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaTaskQueue.cpp:230
         event = {mPtr = 0x7fffb6c9b200}
         __func__ = "Run"
#10 0x00007ffff2cedeaf in nsThreadPool::Run (this=0x7fffb049f900) at 
/tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThreadPool.cpp:225
         event = {<nsCOMPtr_base> = {mRawPtr = 0x7fffb2426680}, <No data 
fields>}
         current = {<nsCOMPtr_base> = {mRawPtr = 0x7fffb2cfe7f0}, <No 
data fields>}
         shutdownThreadOnExit = false
         exitThread = false
         wasIdle = false
         idleSince = 0
         listener = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
#11 0x00007ffff2ceed11 in nsThread::ProcessNextEvent 
(this=0x7fffb2cfe7f0, aMayWait=<optimized out>, aResult=0x7fffccafddf7) 
at /tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThread.cpp:855
         event = {<nsCOMPtr_base> = {mRawPtr = 0x7fffb049f908}, <No data 
fields>}
         notifyMainThreadObserver = <optimized out>
         obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
         rv = nsresult::NS_OK
#12 0x00007ffff2d02c35 in NS_ProcessNextEvent (aThread=<optimized out>, 
aMayWait=aMayWait at entry=true) at 
/tmp/buildd/iceweasel-38.4.0esr/xpcom/glue/nsThreadUtils.cpp:265
         val = true
#13 0x00007ffff2eb9629 in 
mozilla::ipc::MessagePumpForNonMainThreads::Run (this=0x7fffb9fc1f40, 
aDelegate=0x7fffafed14e0) at 
/tmp/buildd/iceweasel-38.4.0esr/ipc/glue/MessagePump.cpp:368
         didWork = <optimized out>
#14 0x00007ffff2eae0d2 in MessageLoop::RunHandler (this=<optimized out>) 
at /tmp/buildd/iceweasel-38.4.0esr/ipc/chromium/src/base/message_loop.cc:226
No locals.
#15 MessageLoop::Run (this=this at entry=0x7fffafed14e0) at 
/tmp/buildd/iceweasel-38.4.0esr/ipc/chromium/src/base/message_loop.cc:200
         save_state = {<MessageLoop::RunState> = {run_depth = 1, 
quit_received = false}, loop_ = 0x7fffafed14e0, previous_state_ = 0x0}
#16 0x00007ffff2cf0cc3 in nsThread::ThreadFunc (aArg=0x7fffb2cfe7f0) at 
/tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThread.cpp:356
         self = 0x7fffb2cfe7f0
         event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
#17 0x00007ffff1bb4678 in _pt_root (arg=0x7fffb2995ee0) at ptthread.c:212
         rv = <optimized out>
         thred = 0x7fffb2995ee0
         detached = 0
         id = 140736627468032
         tid = 23413
#18 0x00007ffff7bc70a4 in start_thread (arg=0x7fffccafe700) at 
pthread_create.c:309
         __res = <optimized out>
         pd = 0x7fffccafe700
         now = <optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736627468032, 
-4381220261886060176, 0, 140737354125408, 140736189783776, 
140736627468032, 4381261632107026800, 4381202107040242032}, 
mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 
0x0, cleanup = 0x0, canceltype = 0}}}
         not_first_call = <optimized out>
         pagesize_m1 = <optimized out>
         sp = <optimized out>
         freesize = <optimized out>
         __PRETTY_FUNCTION__ = "start_thread"
#19 0x00007ffff707c06d in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.



More information about the pkg-gstreamer-maintainers mailing list