Segmentation fault with g_object_set / strchr

2019-09-10 09:45发布

问题:

This line get me a segmentation fault :

g_object_set(G_OBJECT(data.udpsrc), "port", 5000, "caps", caps, NULL);

where

  • data.udpsrc = gst_element_factory_make("udpsrc", "source");
  • caps = gst_caps_new_empty_simple("application/x-rtp");

Here's the output with gdb :

Program received signal SIGSEGV, Segmentation fault.
strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28
28  ../ports/sysdeps/arm/armv6/strchr.S: No such file or directory.
(gdb) bt
#0  strchr () at ../ports/sysdeps/arm/armv6/strchr.S:28
#1  0x76e618d8 in g_param_spec_pool_lookup () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0
#2  0x76e5c6a4 in g_object_set_valist () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0
#3  0x76e5d00c in g_object_set () from /usr/lib/arm-linux-gnueabihf/libgobject-2.0.so.0
#4  0x00010dc4 in main ()

回答1:

This is Bug 740191. You need to update Gstreamer to 1.4.5 version at least.