videoconvert/videotestsrc get SIGSEGV on 1.6.0 when ORC enabled on ARM A9 platform
Submitted by Mingke Wang
Link to original bug (#759286)
Description
Created attachment 317087
script for loop
We recently upgrade gstreamer from 1.4.5 to gstreamer 1.6.0 and we got a crash (SIGSEGV) problem in videotestsrc and videoconvert.
Platform: ARM A9 (Freescale I.MAX6Q)
Software: Gstreamer 1.6.0 + liborc-0.4.23
command line:
by loop following (check the attached loop.sh):
gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw,format=I420 !
videoconvert ! fakesink
or even
gst-launch-1.0 videotestsrc num-buffers=100 ! video/x-raw,format=I420 ! fakesink
the backtrack is :
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Caught SIGSEGV
#0 0x76c762c0 in poll () at ../sysdeps/unix/syscall-template.S:81
#1 0x76d4f854 in g_main_context_iterate (priority=<optimized out>, n_fds=2, fds=0x3a7f78, timeout=-1, context=0x3a7db0)
#2 0x76d4f854 in g_main_context_iterate (context=0x3a7db0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
#3 0x76d4fc0c in g_main_loop_run (loop=0x3a7c10)
#4 0x76ebea34 in gst_bus_poll (bus=bus@entry=0x2a0d48 [GstBus], events=events@entry=GST_MESSAGE_ANY, timeout=<optimized out>)
#5 0x00013d48 in event_loop (pipeline=0x3a6098 [GstPipeline], blocking=blocking@entry=1, do_progress=2124655120,
#6 0x00012e94 in main (argc=1993417836, argv=0x46f)
Spinning. Please run 'gdb gst-launch-1.0 25103' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.
the crash time is not fix, sometime only need loop several times, sometimes need loop several minutes.
Gstreamer 1.4.5 has no problem.
Gstreamer 1.6.0 on PC platform has no problem
by further investigation, the crash should comes from vidoe-orc.orc, when I disable the ORC in video-orc.orc (check the attached patch), then it works fine.
updating the liborc to 0.4.24 helps nothing.
Attachment 317087, "script for loop":
loop.sh
Version: 0.4.23