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 507642 - v4l2src Crash - Size 4156 is not a multiple of unit size 614400
v4l2src Crash - Size 4156 is not a multiple of unit size 614400
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.x
Other All
: Normal major
: 0.10.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2008-01-06 11:33 UTC by robin
Modified: 2008-02-01 14:07 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description robin 2008-01-06 11:33:05 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:
Comment 1 Jaap A. Haitsma 2008-01-07 02:37:14 UTC
Can you run cheese --verbose and paste the output


Comment 2 robin 2008-01-07 08:10:06 UTC
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
Comment 3 Jaap A. Haitsma 2008-01-07 12:55:00 UTC
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


Comment 4 robin 2008-01-07 13:14:55 UTC
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?
Comment 5 Jaap A. Haitsma 2008-01-07 13:54:43 UTC
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
Comment 6 robin 2008-01-07 13:58:58 UTC
I am using the gentoo portage package 0.10.15
Comment 7 Wim Taymans 2008-01-07 14:06:29 UTC
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.
Comment 8 Jaap A. Haitsma 2008-01-07 15:19:36 UTC
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
Comment 9 Jan Schmidt 2008-02-01 13:37:34 UTC
gst-plugins-good 0.10.7 should be out Feb 18th:

http://gstreamer.freedesktop.org/wiki/ReleasePlanning2008
Comment 10 daniel g. siegel 2008-02-01 14:07:14 UTC
thanks!