GNOME Bugzilla – Bug 595592
Syscall param ioctl(generic) points to uninitialised byte(s) in v4l2_fd_open
Last modified: 2009-09-20 18:18:22 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
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.
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.
I re-assigned the bug on launchpad but didn't find the libv4l upstream bugs tracker. Do you know about it?
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.