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 753805 - compositor/videoaggregator: Crashes because of invalid video info
compositor/videoaggregator: Crashes because of invalid video info
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 1.5.91
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-08-19 10:37 UTC by Ben
Modified: 2015-08-28 18:27 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch that adds missing buffer_vinfo on the pad (937 bytes, patch)
2015-08-20 11:15 UTC, Ben
committed Details | Review

Description Ben 2015-08-19 10:37:46 UTC
Error:
0x00007fffe75579c9 in gst_video_frame_map_id (frame=frame@entry=0x7fffdc4e2000, info=info@entry=0x7fffcc012b70, buffer=0x7fffc8013920, id=id@entry=-1, flags=flags@entry=GST_MAP_READ) at video-frame.c:76
76          g_return_val_if_fail (info->finfo->format == meta->format, FALSE);


To reproduce, download beep.py and beep.rtp to the same folder and run
python3 beep.py

beep.rtp has rtp and rtcp packets with the timestamps they have been received in realtime.
beep.py push each packet with the same time offset, emulating realtime.


beep.py
https://drive.google.com/file/d/0B12AhxvnYHrAZldZRlo3X3FEUmc/view?usp=sharing

beep.rtp
https://drive.google.com/file/d/0B12AhxvnYHrAZTVVOGk2bWxVWWM/view?usp=sharing

stacktrace
https://drive.google.com/file/d/0B12AhxvnYHrAeUJFZkJLc0VVS1E/view?usp=sharing
Comment 1 Ben 2015-08-20 09:17:27 UTC
It crashes when info->finfo is NULL on line 76:
http://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst-libs/gst/video/video-frame.c#n76

When removing videotestsrc there is no crash.
Comment 2 Ben 2015-08-20 11:15:30 UTC
Created attachment 309693 [details] [review]
Patch that adds missing buffer_vinfo on the pad
Comment 3 Sebastian Dröge (slomo) 2015-08-20 11:23:54 UTC
commit 09b4f050e04203ece28add79d419910801072ef7
Author: Ben Browitt <ben.browitt@gmail.com>
Date:   Thu Aug 20 14:11:56 2015 +0300

    videoaggregator: Always set the pad's buffer_vinfo when storing a buffer
    
    Otherwise it might be unset, and then the buffer is used and
    gst_video_frame_map() will crash because of invalid video-info.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=753805