[Bug 761505] videoconvert / xvimagesink segment fault

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 10 12:39:33 UTC 2016


https://bugzilla.gnome.org/show_bug.cgi?id=761505

--- Comment #8 from James Stevenson <james at stev.org> ---

Some valgrind output

ORC_CODE=debug valgrind ./gstreamer/tools/.libs/gst-launch-1.0 -v videotestsrc
num-buffers=2 ! videoconvert ! video/x-raw, format=GRAY8 ! videoconvert !
xvimagesink
==14337== Memcheck, a memory error detector
==14337== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al.
==14337== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info
==14337== Command: ./gstreamer/tools/.libs/gst-launch-1.0 -v videotestsrc
num-buffers=2 ! videoconvert ! video/x-raw, format=GRAY8 ! videoconvert !
xvimagesink
==14337== 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0.GstPad:src: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:src: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert1.GstPad:src: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ format\=\(string\)BGRx"
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0.GstPad:sink: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ pixel-aspect-ratio\=\(fraction\)1/1\,\
interlace-mode\=\(string\)progressive\,\ format\=\(string\)BGRx"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert1.GstPad:sink: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:sink: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
/GstPipeline:pipeline0/GstVideoConvert:videoconvert0.GstPad:sink: caps =
"video/x-raw\,\ width\=\(int\)320\,\ height\=\(int\)240\,\
framerate\=\(fraction\)30/1\,\ format\=\(string\)GRAY8\,\
pixel-aspect-ratio\=\(fraction\)1/1\,\ interlace-mode\=\(string\)progressive"
==14337== Thread 3 videotestsrc0:sr:
==14337== Invalid write of size 8
==14337==    at 0x4036A67: ??? (in /run/user/1000/orcexec.cZ5fBJ)
==14337==    by 0x8B7B28D: video_orc_pack_BGRA (tmp-orc.c:4207)
==14337==    by 0x8B49F22: video_converter_generic (video-converter.c:2848)
==14337==    by 0x929D69B: gst_video_convert_transform_frame
(gstvideoconvert.c:692)
==14337==    by 0x8B57EE5: gst_video_filter_transform (gstvideofilter.c:271)
==14337==    by 0x8DE5684: default_generate_output (gstbasetransform.c:2180)
==14337==    by 0x8DE7B95: gst_base_transform_chain (gstbasetransform.c:2333)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337==    by 0x8DE7C7C: gst_base_transform_chain (gstbasetransform.c:2369)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337==  Address 0x8884460 is 16 bytes inside a block of size 19 alloc'd
==14337==    at 0x4C2BBCF: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14337==    by 0x5406578: g_malloc (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x94AA7FD: gst_xvimage_allocator_alloc (xvimageallocator.c:494)
==14337==    by 0x94A9987: xvimage_buffer_pool_alloc (xvimagepool.c:176)
==14337==    by 0x4E75E17: do_alloc_buffer.constprop.5 (gstbufferpool.c:268)
==14337==    by 0x4E760E2: default_acquire_buffer (gstbufferpool.c:1091)
==14337==    by 0x4E776F3: gst_buffer_pool_acquire_buffer
(gstbufferpool.c:1199)
==14337==    by 0x8DE6D31: default_prepare_output_buffer
(gstbasetransform.c:1661)
==14337==    by 0x8DE5593: default_generate_output (gstbasetransform.c:2151)
==14337==    by 0x8DE7B95: gst_base_transform_chain (gstbasetransform.c:2333)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337== 
==14337== Invalid write of size 8
==14337==    at 0x4036A59: ??? (in /run/user/1000/orcexec.cZ5fBJ)
==14337==    by 0x8B7B28D: video_orc_pack_BGRA (tmp-orc.c:4207)
==14337==    by 0x8B49F22: video_converter_generic (video-converter.c:2848)
==14337==    by 0x929D69B: gst_video_convert_transform_frame
(gstvideoconvert.c:692)
==14337==    by 0x8B57EE5: gst_video_filter_transform (gstvideofilter.c:271)
==14337==    by 0x8DE5684: default_generate_output (gstbasetransform.c:2180)
==14337==    by 0x8DE7B95: gst_base_transform_chain (gstbasetransform.c:2333)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337==    by 0x8DE7C7C: gst_base_transform_chain (gstbasetransform.c:2369)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337==  Address 0x8884470 is 13 bytes after a block of size 19 alloc'd
==14337==    at 0x4C2BBCF: malloc (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==14337==    by 0x5406578: g_malloc (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x94AA7FD: gst_xvimage_allocator_alloc (xvimageallocator.c:494)
==14337==    by 0x94A9987: xvimage_buffer_pool_alloc (xvimagepool.c:176)
==14337==    by 0x4E75E17: do_alloc_buffer.constprop.5 (gstbufferpool.c:268)
==14337==    by 0x4E760E2: default_acquire_buffer (gstbufferpool.c:1091)
==14337==    by 0x4E776F3: gst_buffer_pool_acquire_buffer
(gstbufferpool.c:1199)
==14337==    by 0x8DE6D31: default_prepare_output_buffer
(gstbasetransform.c:1661)
==14337==    by 0x8DE5593: default_generate_output (gstbasetransform.c:2151)
==14337==    by 0x8DE7B95: gst_base_transform_chain (gstbasetransform.c:2333)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==    by 0x4EAF232: gst_pad_push (gstpad.c:4526)
==14337== 
==14337== Jump to the invalid address stated on the next line
==14337==    at 0xFF919191FF919191: ???
==14337==    by 0x8B7AFBD: video_orc_unpack_GRAY8 (tmp-orc.c:3877)
==14337==    by 0x8B49A42: do_unpack_lines (video-converter.c:2519)
==14337==    by 0x8B49BC9: gst_line_cache_get_lines (video-converter.c:418)
==14337==    by 0x8B4A3D3: do_convert_lines (video-converter.c:2643)
==14337==    by 0x8B49BC9: gst_line_cache_get_lines (video-converter.c:418)
==14337==    by 0x8B49E6A: video_converter_generic (video-converter.c:2840)
==14337==    by 0x929D69B: gst_video_convert_transform_frame
(gstvideoconvert.c:692)
==14337==    by 0x8B57EE5: gst_video_filter_transform (gstvideofilter.c:271)
==14337==    by 0x8DE5684: default_generate_output (gstbasetransform.c:2180)
==14337==    by 0x8DE7B95: gst_base_transform_chain (gstbasetransform.c:2333)
==14337==    by 0x4EA6EF2: gst_pad_chain_data_unchecked (gstpad.c:4155)
==14337==    by 0x4EA6EF2: gst_pad_push_data (gstpad.c:4407)
==14337==  Address 0xff919191ff919191 is not stack'd, malloc'd or (recently)
free'd
==14337== 
Caught SIGSEGV
==14337== Thread 1:
==14337== Invalid read of size 4
==14337==    at 0x5400ADE: g_main_context_check (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x540118F: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x5401571: g_main_loop_run (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x4E79B18: gst_bus_poll (gstbus.c:1153)
==14337==    by 0x4047E7: event_loop (gst-launch.c:532)
==14337==    by 0x403788: main (gst-launch.c:1074)
==14337==  Address 0xffebebebffebebeb is not stack'd, malloc'd or (recently)
free'd
==14337== 
==14337== 
==14337== Process terminating with default action of signal 11 (SIGSEGV)
==14337==  General Protection Fault
==14337==    at 0x5400ADE: g_main_context_check (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x540118F: ??? (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x5401571: g_main_loop_run (in
/lib/x86_64-linux-gnu/libglib-2.0.so.0.4600.2)
==14337==    by 0x4E79B18: gst_bus_poll (gstbus.c:1153)
==14337==    by 0x4047E7: event_loop (gst-launch.c:532)
==14337==    by 0x403788: main (gst-launch.c:1074)
==14337== 
==14337== HEAP SUMMARY:
==14337==     in use at exit: 1,402,453 bytes in 15,176 blocks
==14337==   total heap usage: 61,227 allocs, 46,051 frees, 23,210,433 bytes
allocated
==14337== 
==14337== LEAK SUMMARY:
==14337==    definitely lost: 2,060 bytes in 10 blocks
==14337==    indirectly lost: 0 bytes in 0 blocks
==14337==      possibly lost: 5,940 bytes in 64 blocks
==14337==    still reachable: 1,309,885 bytes in 14,808 blocks
==14337==                       of which reachable via heuristic:
==14337==                         length64           : 392 bytes in 8 blocks
==14337==                         newarray           : 1,616 bytes in 21 blocks
==14337==         suppressed: 0 bytes in 0 blocks
==14337== Rerun with --leak-check=full to see details of leaked memory
==14337== 
==14337== For counts of detected and suppressed errors, rerun with: -v
==14337== ERROR SUMMARY: 5781 errors from 4 contexts (suppressed: 0 from 0)

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list