After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 744573 - v4l2allocator: v4l2mem_share() is broken
v4l2allocator: v4l2mem_share() is broken
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.4.5
Other Linux
: Normal normal
: 1.4.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-02-15 20:06 UTC by Nicolas Dufresne (ndufresne)
Modified: 2015-02-15 21:25 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Nicolas Dufresne (ndufresne) 2015-02-15 20:06:46 UTC
Currently it seems that free will unmap the memory even if that memory is a shared. This lead to crash when buffer is copied and this shared memory mechanism is triggered. This seems to happen sometimes in master using:

gst-launch-1.0 v4l2src ! image/jpeg ! decodebin ! fakesink
Comment 1 Nicolas Dufresne (ndufresne) 2015-02-15 21:22:49 UTC
Can also be reproduced at every try with:

gst-launch-1.0 v4l2src ! rtpjpegpay ! rtpjpegdepay ! fakesink
Comment 2 Nicolas Dufresne (ndufresne) 2015-02-15 21:25:59 UTC
Fix in master
commit f5ef99fe5ee2d594fb876ba63c1dcd28d4d7d629
Author: Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
Date:   Sun Feb 15 15:51:55 2015 -0500

    v4l2allocator: Fix freeing of shared memory
    
    When memory (that has been shared using gst_memory_share()) are freed,
    the memory (or the DMABUF FD) should not bee freed. These memories have
    a parent. This also removes the extra _v4l2mem_free function and avoid
    calling close twice on the DMABUF FD.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=744573

And 1.4 commit 6c43b983fecd1c46f895e8cf7b106f62de059ce2