GNOME Bugzilla – Bug 507642
v4l2src Crash - Size 4156 is not a multiple of unit size 614400
Last modified: 2008-02-01 14:07:14 UTC
Steps to reproduce: 1. Compile latest svn cheese (rev 384) 2. Run on gentoo (64) on a Dell M1330 (a v4l2 camera) 3. Cheese pops up but crashes with the error message: ** (cheese:14947): WARNING **: Size 4156 is not a multiple of unit size 614400 *** glibc detected *** cheese: munmap_chunk(): invalid pointer: 0x000000000066d5a0 *** Stack trace: ** (cheese:14947): WARNING **: Size 4156 is not a multiple of unit size 614400 *** glibc detected *** cheese: munmap_chunk(): invalid pointer: 0x000000000066d5a0 *** ======= Backtrace: ========= /lib/libc.so.6[0x2b7552954aad] cheese[0x40e96d] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x101)[0x2b75511ef839] /usr/lib/libgobject-2.0.so.0[0x2b75511fdd15] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x7e9)[0x2b75511fef93] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x2b75511ff15e] cheese[0x40d847] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x101)[0x2b75511ef839] /usr/lib/libgobject-2.0.so.0[0x2b75511fdd15] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x7e9)[0x2b75511fef93] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x2b75511ff15e] /usr/lib/libgstreamer-0.10.so.0(gst_bus_async_signal_func+0x64)[0x2b7550f63b1f] /usr/lib/libgstreamer-0.10.so.0[0x2b7550f645ab] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1ca)[0x2b755265082f] /usr/lib/libglib-2.0.so.0[0x2b7552653727] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x19c)[0x2b7552653a7c] /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa3)[0x2b7548e1882f] cheese[0x409937] /lib/libc.so.6(__libc_start_main+0xf4)[0x2b7552905b74] cheese[0x409759] ======= Memory map: ======== 00400000-00416000 r-xp 00000000 08:06 258882 /usr/local/bin/cheese 00615000-00616000 r--p 00015000 08:06 258882 /usr/local/bin/cheese 00616000-00617000 rw-p 00016000 08:06 258882 /usr/local/bin/cheese 00617000-00a29000 rw-p 00617000 00:00 0 [heap] 40002000-40004000 rwxp 00000000 00:0f 562 /dev/zero 40004000-40005000 ---p 40004000 00:00 0 40005000-40805000 rwxp 40005000 00:00 0 40805000-40806000 ---p 40805000 00:00 0 40806000-41006000 rwxp 40806000 00:00 0 41006000-41007000 ---p 41006000 00:00 0 41007000-41807000 rwxp 41007000 00:00 0 41807000-41808000 ---p 41807000 00:00 0 41808000-42008000 rwxp 41808000 00:00 0 42008000-42009000 ---p 42008000 00:00 0 42009000-42809000 rwxp 42009000 00:00 0 2aaaaaaab000-2aaaaab1f000 rw-p 2aaaaaaab000 00:00 0 2aaaaab1f000-2aaaaab20000 r--p 00000000 08:06 994106 /usr/lib64/locale/en_GB.utf8/LC_IDENTIFICATION 2aaaaab20000-2aaaaab27000 r--s 00000000 08:06 330844 /usr/lib64/gconv/gconv-modules.cache 2aaaaab27000-2aaaaab28000 r--p 00000000 08:06 994085 /usr/lib64/locale/en_GB.utf8/LC_MEASUREMENT 2aaaaab28000-2aaaaab29000 r--p 00000000 08:06 994083 /usr/lib64/locale/en_GB.utf8/LC_TELEPHONE 2aaaaab29000-2aaaaab2a000 r--p 00000000 08:06 994039 /usr/lib64/locale/en_GB.utf8/LC_ADDRESS 2aaaaab2a000-2aaaaab2b000 r--p 00000000 08:06 988662 /usr/lib64/locale/en_GB.utf8/LC_NAME 2aaaaab2b000-2aaaaab2c000 r--p 00000000 08:06 988661 /usr/lib64/locale/en_GB.utf8/LC_PAPER 2aaaaab2c000-2aaaaab2d000 r--p 00000000 08:06 988140 /usr/lib64/locale/en_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES 2aaaaab2d000-2aaaaab2e000 r--p 00000000 08:06 657348 /usr/lib64/locale/en_GB.utf8/LC_MONETARY 2aaaaab2e000-2aaaaac0e000 r--p 00000000 08:06 588479 /usr/lib64/locale/en_GB.utf8/LC_COLLATE 2aaaaac0e000-2aaaaac0f000 r--p 00000000 08:06 520595 /usr/lib64/locale/en_GB.utf8/LC_TIME 2aaaaac0f000-2aaaaac10000 r--p 00000000 08:06 434338 /usr/lib64/locale/en_GB.utf8/LC_NUMERIC 2aaaaac10000-2aaaaac4f000 r--p 00000000 08:06 434162 /usr/lib64/locale/en_GB.utf8/LC_CTYPE 2aaaaac4f000-2aaaaac5e000 r--p 00000000 08:06 603376 /usr/share/fonts/ttf-bitstream-vera/VeraBd.ttf 2aaaaac6a000-2aaaaac71000 r-xp 00000000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaac71000-2aaaaae70000 ---p 00007000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae70000-2aaaaae71000 r--p 00006000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae71000-2aaaaae72000 rw-p 00007000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae72000-2aaaaae7b000 r-xp 00000000 08:06 1549180 /lib64/libnss_nis-2.6.1.so 2aaaaae7b000-2aaaab07b000 ---p 00009000 08:06 1549180 /lib64/libnss_nis-2.6.1.so 2aaaab07b000-2aaaab07c000 r--p 00009000 08:06 1549180 /lib64/libnss_nis-2.6.1.so 2aaaab07c000-2aaaab07d000 rw-p 0000a000 08:06 1549180 /lib64/libnss_nis-2.6.1.so 2aaaab07d000-2aaaab087000 r-xp 00000000 08:06 1549017 /lib64/libnss_files-2.6.1.so 2aaaab087000-2aaaab286000 ---p 0000a000 08:06 1549017 /lib64/libnss_files-2.6.1.so 2aaaab286000-2aaaab287000 r--p 00009000 08:06 1549017 /lib64/libnss_files-2.6.1.so 2aaaab287000-2aaaab288000 rw-p 0000a000 08:06 154901 warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff635fe000 Other information:
Can you run cheese --verbose and paste the output
Sure thing: Detected webcam: Laptop Integrated Webcam device: /dev/v4l/video0 video/x-raw-yuv 352 x 288 num_framerates 4 30/1 15/1 10/1 5/1 video/x-raw-yuv 640 x 480 num_framerates 2 10/1 5/1 video/x-raw-yuv 320 x 240 num_framerates 4 30/1 15/1 10/1 5/1 video/x-raw-yuv 176 x 144 num_framerates 4 30/1 15/1 10/1 5/1 video/x-raw-yuv 160 x 120 num_framerates 4 30/1 15/1 10/1 5/1 v4l2src name=video_source device=/dev/v4l/video0 queue-size=2 ! video/x-raw-yuv,width=640,height=480,framerate=10/1 ! identity ** (cheese:7820): WARNING **: Size 4156 is not a multiple of unit size 614400 *** glibc detected *** cheese: munmap_chunk(): invalid pointer: 0x000000000066cb70 *** ======= Backtrace: ========= /lib/libc.so.6[0x2ab1a8e97aad] cheese[0x40e96d] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x101)[0x2ab1a7732839] /usr/lib/libgobject-2.0.so.0[0x2ab1a7740d15] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x7e9)[0x2ab1a7741f93] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x2ab1a774215e] cheese[0x40d847] /usr/lib/libgobject-2.0.so.0(g_closure_invoke+0x101)[0x2ab1a7732839] /usr/lib/libgobject-2.0.so.0[0x2ab1a7740d15] /usr/lib/libgobject-2.0.so.0(g_signal_emit_valist+0x7e9)[0x2ab1a7741f93] /usr/lib/libgobject-2.0.so.0(g_signal_emit+0x83)[0x2ab1a774215e] /usr/lib/libgstreamer-0.10.so.0(gst_bus_async_signal_func+0x64)[0x2ab1a74a6b1f] /usr/lib/libgstreamer-0.10.so.0[0x2ab1a74a75ab] /usr/lib/libglib-2.0.so.0(g_main_context_dispatch+0x1ca)[0x2ab1a8b9382f] /usr/lib/libglib-2.0.so.0[0x2ab1a8b96727] /usr/lib/libglib-2.0.so.0(g_main_loop_run+0x19c)[0x2ab1a8b96a7c] /usr/lib/libgtk-x11-2.0.so.0(gtk_main+0xa3)[0x2ab19f35b82f] cheese[0x409937] /lib/libc.so.6(__libc_start_main+0xf4)[0x2ab1a8e48b74] cheese[0x409759] ======= Memory map: ======== 00400000-00416000 r-xp 00000000 08:06 258882 /usr/local/bin/cheese 00615000-00616000 r--p 00015000 08:06 258882 /usr/local/bin/cheese 00616000-00617000 rw-p 00016000 08:06 258882 /usr/local/bin/cheese 00617000-00a30000 rw-p 00617000 00:00 0 [heap] 40002000-40004000 rwxp 00000000 00:0f 561 /dev/zero 40004000-40005000 ---p 40004000 00:00 0 40005000-40805000 rwxp 40005000 00:00 0 40805000-40806000 ---p 40805000 00:00 0 40806000-41006000 rwxp 40806000 00:00 0 41006000-41007000 ---p 41006000 00:00 0 41007000-41807000 rwxp 41007000 00:00 0 41807000-41808000 ---p 41807000 00:00 0 41808000-42008000 rwxp 41808000 00:00 0 42008000-42009000 ---p 42008000 00:00 0 42009000-42809000 rwxp 42009000 00:00 0 2aaaaaaab000-2aaaaab1f000 rw-p 2aaaaaaab000 00:00 0 2aaaaab1f000-2aaaaab20000 r--p 00000000 08:06 994106 /usr/lib64/locale/en_GB.utf8/LC_IDENTIFICATION 2aaaaab20000-2aaaaab27000 r--s 00000000 08:06 330844 /usr/lib64/gconv/gconv-modules.cache 2aaaaab27000-2aaaaab28000 r--p 00000000 08:06 994085 /usr/lib64/locale/en_GB.utf8/LC_MEASUREMENT 2aaaaab28000-2aaaaab29000 r--p 00000000 08:06 994083 /usr/lib64/locale/en_GB.utf8/LC_TELEPHONE 2aaaaab29000-2aaaaab2a000 r--p 00000000 08:06 994039 /usr/lib64/locale/en_GB.utf8/LC_ADDRESS 2aaaaab2a000-2aaaaab2b000 r--p 00000000 08:06 988662 /usr/lib64/locale/en_GB.utf8/LC_NAME 2aaaaab2b000-2aaaaab2c000 r--p 00000000 08:06 988661 /usr/lib64/locale/en_GB.utf8/LC_PAPER 2aaaaab2c000-2aaaaab2d000 r--p 00000000 08:06 988140 /usr/lib64/locale/en_GB.utf8/LC_MESSAGES/SYS_LC_MESSAGES 2aaaaab2d000-2aaaaab2e000 r--p 00000000 08:06 657348 /usr/lib64/locale/en_GB.utf8/LC_MONETARY 2aaaaab2e000-2aaaaac0e000 r--p 00000000 08:06 588479 /usr/lib64/locale/en_GB.utf8/LC_COLLATE 2aaaaac0e000-2aaaaac0f000 r--p 00000000 08:06 520595 /usr/lib64/locale/en_GB.utf8/LC_TIME 2aaaaac0f000-2aaaaac10000 r--p 00000000 08:06 434338 /usr/lib64/locale/en_GB.utf8/LC_NUMERIC 2aaaaac10000-2aaaaac4f000 r--p 00000000 08:06 434162 /usr/lib64/locale/en_GB.utf8/LC_CTYPE 2aaaaac4f000-2aaaaac5e000 r--p 00000000 08:06 603376 /usr/share/fonts/ttf-bitstream-vera/VeraBd.ttf 2aaaaac6a000-2aaaaac71000 r-xp 00000000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaac71000-2aaaaae70000 ---p 00007000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae70000-2aaaaae71000 r--p 00006000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae71000-2aaaaae72000 rw-p 00007000 08:06 1549211 /lib64/libnss_compat-2.6.1.so 2aaaaae72000-2aaaaae7b000 r-xp 00000000 08:06 1549180 warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff0d07e000
OK webcam get's detected can you run the following commands on the command line to see if gstreamer is causing this crash gst-launch v4l2src name=video_source device=/dev/v4l/video0 queue-size=2 ! video/x-raw-yuv,width=640,height=480,framerate=10/1 ! identity ! ffmpegcolorspace ! ximagesink and gst-launch v4l2src ! ffmpegcolorspace ! ximagesink
First one note, I only have "gst-launch-0.10" for some reason. Is that ok? # gst-launch-0.10 v4l2src name=video_source device=/dev/v4l/video0 queue-size=2 ! video/x-raw-yuv,width=640,height=480,framerate=10/1 ! identity ! ffmpegcolorspace ! ximagesink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ** (gst-launch-0.10:10229): WARNING **: Size 4156 is not a multiple of unit size 614400 ERROR: from element /pipeline0/ffmpegcsp0: subclass did not specify output size Additional debug info: gstbasetransform.c(1506): gst_base_transform_handle_buffer (): /pipeline0/ffmpegcsp0: subclass did not specify output size Execution ended after 24155000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... Running the second command works 1st time only (I ran it before the one above though). Try #1: # gst-launch-0.10 v4l2src queue-size=2 ! ffmpegcolorspace ! ximagesink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ERROR: from element /pipeline0/ximagesink0: Output window was closed Additional debug info: ximagesink.c(1061): gst_ximagesink_handle_xevents (): /pipeline0/ximagesink0 Execution ended after 32565763000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... Subsequent tries: # gst-launch-0.10 v4l2src queue-size=2 ! ffmpegcolorspace ! ximagesink Setting pipeline to PAUSED ... Pipeline is live and does not need PREROLL ... Setting pipeline to PLAYING ... New clock: GstSystemClock ** (gst-launch-0.10:10247): WARNING **: Size 4156 is not a multiple of unit size 202752 ERROR: from element /pipeline0/ffmpegcsp0: subclass did not specify output size Additional debug info: gstbasetransform.c(1506): gst_base_transform_handle_buffer (): /pipeline0/ffmpegcsp0: subclass did not specify output size Execution ended after 16513000 ns. Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... FREEING pipeline ... Does this mean I'm barking up the wrong tree?
No you have the right tree. gst-launch is just a link to gst-launch-0.10 Seems to be a gstreamer bug. I'm reassigning it to gstreamer. Are you running gstreamer from CVS or are you using a package from a distro
I am using the gentoo portage package 0.10.15
this was due to the fact that some driver output a frame that is too small as the first frame for some reason. This should be fixed in the CVS version of gst-plugins-good with this commit: http://webcvs.freedesktop.org/gstreamer/gst-plugins-good/sys/v4l2/gstv4l2src.c?r1=1.86&r2=1.87 Please reopen if this does not fix your issue.
Wim, Is a release of the good plugins planned in the near future. It's been almost six months since 0.10.6 release and 0.10.7 should fix quite some webcam problems that Cheese users experience. Thanks Jaap
gst-plugins-good 0.10.7 should be out Feb 18th: http://gstreamer.freedesktop.org/wiki/ReleasePlanning2008
thanks!