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 595592 - Syscall param ioctl(generic) points to uninitialised byte(s) in v4l2_fd_open
Syscall param ioctl(generic) points to uninitialised byte(s) in v4l2_fd_open
Status: RESOLVED NOTGNOME
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-09-18 14:28 UTC by Guillaume Desmottes
Modified: 2009-09-20 18:18 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Guillaume Desmottes 2009-09-18 14:28:43 UTC
Original bug report: https://bugs.edge.launchpad.net/ubuntu/+source/gst-plugins-good0.10/+bug/432477

Got this error when valgrinding an audio/video call in Empathy:

=5989== Syscall param ioctl(generic) points to uninitialised byte(s)
==5989== at 0xB827B79: syscall (syscall.S:39)
==5989== by 0x28699BFB: v4l2_fd_open (libv4l2.c:474)
==5989== by 0x2848CD36: gst_v4l2_open (v4l2_calls.c:437)
==5989== by 0x2848213A: gst_v4l2_object_start (gstv4l2object.c:585)
==5989== by 0x2848866B: gst_v4l2src_change_state (gstv4l2src.c:749)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x217EF8D7: gst_gconf_video_src_change_state (gstgconfvideosrc.c:238)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x420F3F: empathy_call_window_setup_video_preview (empathy-call-window.c:665)
==5989== by 0x4210C7: empathy_call_window_sink_added_cb (empathy-call-window.c:1581)
==5989== by 0xB04567D: g_closure_invoke (gclosure.c:767)
==5989== Address 0x7feffe724 is on thread 1's stack
==5989==
==5989== Syscall param ioctl(generic) points to uninitialised byte(s)
==5989== at 0xB827B79: syscall (syscall.S:39)
==5989== by 0x288B19DE: v4lcontrol_create (libv4lcontrol.c:152)
==5989== by 0x288A637C: v4lconvert_create (libv4lconvert.c:139)
==5989== by 0x28699C91: v4l2_fd_open (libv4l2.c:482)
==5989== by 0x2848CD36: gst_v4l2_open (v4l2_calls.c:437)
==5989== by 0x2848213A: gst_v4l2_object_start (gstv4l2object.c:585)
==5989== by 0x2848866B: gst_v4l2src_change_state (gstv4l2src.c:749)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x217EF8D7: gst_gconf_video_src_change_state (gstgconfvideosrc.c:238)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x420F3F: empathy_call_window_setup_video_preview (empathy-call-window.c:665)
==5989== Address 0x7feffe4b4 is on thread 1's stack
==5989==
==5989== Syscall param ioctl(generic) points to uninitialised byte(s)
==5989== at 0xB827B79: syscall (syscall.S:39)
==5989== by 0x288B1F5A: v4lcontrol_create (libv4lcontrol.c:288)
==5989== by 0x288A637C: v4lconvert_create (libv4lconvert.c:139)
==5989== by 0x28699C91: v4l2_fd_open (libv4l2.c:482)
==5989== by 0x2848CD36: gst_v4l2_open (v4l2_calls.c:437)
==5989== by 0x2848213A: gst_v4l2_object_start (gstv4l2object.c:585)
==5989== by 0x2848866B: gst_v4l2src_change_state (gstv4l2src.c:749)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x217EF8D7: gst_gconf_video_src_change_state (gstgconfvideosrc.c:238)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x6E565B0: gst_bin_change_state_func (gstbin.c:2118)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== by 0x6E69C57: gst_element_set_state_func (gstelement.c:2504)
==5989== by 0x420F3F: empathy_call_window_setup_video_preview (empathy-call-window.c:665)
==5989== Address 0x7feffe504 is on thread 1's stack
==5989==
==5989== Syscall param ioctl(generic) points to uninitialised byte(s)
==5989== at 0xB827B79: syscall (syscall.S:39)
==5989== by 0x2869904B: v4l2_map_buffers (libv4l2.c:150)
==5989== by 0x2869B1D7: v4l2_ioctl (libv4l2.c:982)
==5989== by 0x28484D79: gst_v4l2_buffer_pool_qbuf (gstv4l2bufferpool.c:475)
==5989== by 0x2848E49E: gst_v4l2src_capture_start (v4l2src_calls.c:72)
==5989== by 0x28488350: gst_v4l2src_set_caps (gstv4l2src.c:620)
==5989== by 0x6E7E938: gst_pad_set_caps (gstpad.c:2526)
==5989== by 0x28487027: gst_v4l2src_negotiate (gstv4l2src.c:507)
==5989== by 0xC42E65C: gst_base_src_start (gstbasesrc.c:2491)
==5989== by 0xC434547: gst_base_src_activate_push (gstbasesrc.c:2739)
==5989== by 0x6E832BA: gst_pad_activate_push (gstpad.c:915)
==5989== by 0x6E83E66: gst_pad_set_active (gstpad.c:671)
==5989== by 0x6E65A4A: activate_pads (gstelement.c:2632)
==5989== by 0x6E76F6D: gst_iterator_fold (gstiterator.c:545)
==5989== by 0x6E659B5: iterator_activate_fold_with_resync (gstelement.c:2664)
==5989== by 0x6E67D4E: gst_element_pads_activate (gstelement.c:2701)
==5989== by 0x6E69F7E: gst_element_change_state_func (gstelement.c:2778)
==5989== by 0xC433173: gst_base_src_change_state (gstbasesrc.c:2877)
==5989== by 0x2848863E: gst_v4l2src_change_state (gstv4l2src.c:756)
==5989== by 0x6E66AEB: gst_element_change_state (gstelement.c:2548)
==5989== Address 0x7feffe2e8 is on thread 1's stack

ProblemType: Bug
Architecture: amd64
Date: Fri Sep 18 14:13:06 2009
DistroRelease: Ubuntu 9.10
Package: gstreamer0.10-plugins-good 0.10.16-1ubuntu2
ProcEnviron:
 PATH=(custom, user)
 LANG=fr_FR.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-10.32-generic
SourcePackage: gst-plugins-good0.10
Uname: Linux 2.6.31-10-generic x86_64
Comment 1 Stefan Sauer (gstreamer, gtkdoc dev) 2009-09-18 21:10:36 UTC
I think this needs to be forwared to upstream libv4l. gstreamer just calls libv4l function and lib4l2 does the ioctls and therefore is responsible for clearning the structures.
Comment 2 Sebastian Dröge (slomo) 2009-09-19 09:19:02 UTC
Yes, what Stefan said. If this also happens when compiling without libv4l then there's a bug here too though, in that case please reopen with a new valgrind log without libv4l stuff.
Comment 3 Guillaume Desmottes 2009-09-20 14:38:11 UTC
I re-assigned the bug on launchpad but didn't find the libv4l upstream bugs tracker. Do you know about it?
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2009-09-20 18:18:22 UTC
It might be also a valgrind issue. See a recent set of patches for libdrm
http://news.gmane.org/gmane.comp.debugging.valgrind.devel/

So it might be that those syscalls are not handled by valgrind. This might require asking on linux-kernel@vger.kernel.org.