Am 06.12.2015 um 08:50 schrieb Sebastian Dröge:
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:

Hi,

this is a different bug than the stack corruption related to the faad
plugin though. It looks like broken error handling in iceweasel:
https://github.com/mozilla/gecko-dev/blob/GECKO3840esr_2015102720_RELBRANCH/dom/media/gstreamer/GStreamerReader.cpp#L1464

This line here should check if mapping actually succeeds. Apparently it
doesn't (for whatever reason which might be another bug), as in the
next stack frame all field in frame are 0.

Right after sending the last message, I could reproduce the crash without frames #0--#2, so the crash looks very similar to the one that I reported initially (see below).

Do you have, by any chance, gstreamer1.0-vaapi installed?

No, I don't.


Latest SIGSEGV backtrace with gstreamer1.0-plugins-bad 1.6.1-1+b1 and iceweasel 38.4.0esr-1:

#0 0x00007ffff3a11a76 in mozilla::GStreamerReader::ImageDataFromVideoFrame (this=this@entry=0x7fffd6ec9000, aFrame=aFrame@entry=0x7fffc964a850, aData=aData@entry=0x7fffc964a800) at /tmp/buildd/iceweasel-38.4.0esr/dom/media/gstreamer/GStreamerReader.cpp:1440
No locals.
#1 0x00007ffff3a11fdf in mozilla::GStreamerReader::GetImageFromBuffer (this=this@entry=0x7fffd6ec9000, aBuffer=aBuffer@entry=0x7fffb4418160) 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 = 0x7fff9b1fae50}
#2 0x00007ffff3a1243f in mozilla::GStreamerReader::DecodeVideoFrame (this=0x7fffd6ec9000, aKeyFrameSkip=<optimized out>, aTimeThreshold=<optimized out>) at /tmp/buildd/iceweasel-38.4.0esr/dom/media/gstreamer/GStreamerReader.cpp:824
        buffer = 0x7fffb4418160
        isKeyframe = <optimized out>
        timestamp = 41000
        duration = 41708
        image = {mRawPtr = 0x7fff9b1fae50}
        offset = <optimized out>
#3 0x00007ffff3998ae1 in mozilla::MediaDecoderReader::RequestVideoData (this=0x7fffd6ec9000, aSkipToNextKeyframe=<optimized out>, aTimeThreshold=0) at /tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaDecoderReader.cpp:245
        p = {mRawPtr = 0x7fff814bb150}
        __func__ = "RequestVideoData"
        skip = false
#4 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.
#5 0x00007ffff3996b56 in mozilla::detail::ProxyRunnable<mozilla::MediaPromise<nsRefPtr<mozilla::VideoData>, mozilla::MediaDecoderReader::NotDecodedReason, true> >::Run (this=0x7fffd928f960) at /tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaPromise.h:620
        p = {mRawPtr = 0x7fff814bb150}
#6 0x00007ffff3997637 in mozilla::MediaTaskQueue::Runner::Run (this=0x7fffb1da1240) at /tmp/buildd/iceweasel-38.4.0esr/dom/media/MediaTaskQueue.cpp:230
        event = {mPtr = 0x7fffd928f960}
        __func__ = "Run"
#7 0x00007ffff2cedeaf in nsThreadPool::Run (this=0x7fffb1ff0a00) at /tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThreadPool.cpp:225 event = {<nsCOMPtr_base> = {mRawPtr = 0x7fffb1da1240}, <No data fields>} current = {<nsCOMPtr_base> = {mRawPtr = 0x7fffaedf68a0}, <No data fields>}
        shutdownThreadOnExit = false
        exitThread = false
        wasIdle = false
        idleSince = 314764527
        listener = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
#8 0x00007ffff2ceed11 in nsThread::ProcessNextEvent (this=0x7fffaedf68a0, aMayWait=<optimized out>, aResult=0x7fffc964adf7) at /tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThread.cpp:855 event = {<nsCOMPtr_base> = {mRawPtr = 0x7fffb1ff0a08}, <No data fields>}
        notifyMainThreadObserver = <optimized out>
        obs = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
        rv = nsresult::NS_OK
#9 0x00007ffff2d02c35 in NS_ProcessNextEvent (aThread=<optimized out>, aMayWait=aMayWait@entry=true) at /tmp/buildd/iceweasel-38.4.0esr/xpcom/glue/nsThreadUtils.cpp:265
        val = true
#10 0x00007ffff2eb9629 in mozilla::ipc::MessagePumpForNonMainThreads::Run (this=0x7fffbce84280, aDelegate=0x7fffcd546420) at /tmp/buildd/iceweasel-38.4.0esr/ipc/glue/MessagePump.cpp:368
        didWork = <optimized out>
#11 0x00007ffff2eae0d2 in MessageLoop::RunHandler (this=<optimized out>) at /tmp/buildd/iceweasel-38.4.0esr/ipc/chromium/src/base/message_loop.cc:226
No locals.
#12 MessageLoop::Run (this=this@entry=0x7fffcd546420) 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_ = 0x7fffcd546420, previous_state_ = 0x0} #13 0x00007ffff2cf0cc3 in nsThread::ThreadFunc (aArg=0x7fffaedf68a0) at /tmp/buildd/iceweasel-38.4.0esr/xpcom/threads/nsThread.cpp:356
        self = 0x7fffaedf68a0
        event = {<nsCOMPtr_base> = {mRawPtr = 0x0}, <No data fields>}
#14 0x00007ffff1bb4678 in _pt_root (arg=0x7fffbd429fa0) at ptthread.c:212
        rv = <optimized out>
        thred = 0x7fffbd429fa0
        detached = 0
        id = 140736572208896
        tid = 24069
#15 0x00007ffff7bc70a4 in start_thread (arg=0x7fffc964b700) at pthread_create.c:309
        __res = <optimized out>
        pd = 0x7fffc964b700
        now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736572208896, -7150833058279440229, 0, 140736805024416, 23, 140736572208896, 7150785958066143387, 7150814885788008603}, 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"
#16 0x00007ffff707c06d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111
No locals.

_______________________________________________
pkg-gstreamer-maintainers mailing list
pkg-gstreamer-maintainers@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-gstreamer-maintainers

Reply via email to