Re: [gst-switch] Seg Fault

54 views
Skip to first unread message

Duzy Chan

unread,
Jun 2, 2013, 9:26:06 AM6/2/13
to gst-s...@googlegroups.com

Hi,

Did you try not to emit the audio_port signal? The signal was supposed to be emitted by gst-switch-srv to external(if any), instead of catching a incoming  signal. And gst-switch-srv actually didn't deal with signal, it uses call only. So ideally, if you don't try any with the signal emition, it should return the audio port number.

Regards
Duzy

On Jun 2, 2013 9:09 PM, "Aayush Ahuja" <aayus...@gmail.com> wrote:
Please have a look at http://dpaste.com/1208355/.
I am running gst-switch-srv and tried to connect using gbus as http://dpaste.com/1208444/

--
You received this message because you are subscribed to the Google Groups "gst-switch - A modern replacement for DV-Switch which uses GStreamer" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gst-switch+...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Tim Ansell

unread,
Jun 2, 2013, 9:52:50 PM6/2/13
to gst-s...@googlegroups.com
Hi Aayush,

A quick comment on your email;

 * Please include all information in the email, rather than using pastebins. That way when someone comes across this bug themselves - they will find this email.
 * Please include a more comprehensive description of what you are trying to do, what you expected to happen, and what is not working.
 * Please include information on how you have tried to work around this problem.
 * Please include a minimal test-case + instructions which reproduces the crash.

The following document is good reading on how to ask smart questions - please read it. 

Doing all this will help make sure that you get prompt and accurate replies.

Tim

Aayush Ahuja

unread,
Jun 18, 2013, 2:28:44 AM6/18/13
to gst-s...@googlegroups.com
Hello,

Below, I have shown two cases where I found gst-switch-srv to crash. I also included what test case has led to the crash.

FIRST:
  
a) I ran gst-switch-srv in gdb. 
b) I added two input sources to the gst-switch-srv like "gst-launch-1.0 videotestsrc pattern=19 ! video/x-raw, width=300,height=200 ! gdppay ! tcpclientsink port=3000".
c) I ran gst-switch-ui.
d) Closed gst-switch-ui (gst-switch-srv and gst-launch are still running) and ran it again.
e) Did the above step 3 times.

The gst-switch-ui seemed to have hung up when it was turned on for the fourth time. The gst-launch pipelines and the gst-switch-srv were still running, but the gst-switch-srv was in a possibly hung up state. After a control+c on the gdb terminal it looked as this:

hyades@hyades-Inspiron-N5010:~$ gdb gst-switch-srv 
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
Reading symbols from /usr/local/bin/gst-switch-srv...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/local/bin/gst-switch-srv 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
./tools/gstswitchserver.c:124:info: gst_switch_server init 0x7a5000
./tools/gstswitchserver.c:1424:info: Compose sink to 3001, 3002
./tools/gstcomposite.c:88:info: gst_composite init 0x7a8860
./tools/gstcomposite.c:155:warning: ignore changing mode in transition
[New Thread 0x7ffff402a700 (LWP 6843)]
[New Thread 0x7ffff361c700 (LWP 6844)]
./tools/gstworker.c:227:error: missing: faac
./tools/gstworker.c:715:error: recorder: failed to create new pipeline
[New Thread 0x7ffff20bc700 (LWP 6845)]
[New Thread 0x7ffff18bb700 (LWP 6846)]
[New Thread 0x7ffff10ba700 (LWP 6847)]
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:5000)
./tools/gstswitchcontroller.c:438:info: Controller is listening at: unix:abstract=gstswitch
[New Thread 0x7ffff08b9700 (LWP 6848)]
[New Thread 0x7fffdffff700 (LWP 6849)]
[New Thread 0x7fffdf7fe700 (LWP 6850)]
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:4000)
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:3000)
[New Thread 0x7fffdeffd700 (LWP 6851)]
[New Thread 0x7fffde7fc700 (LWP 6852)]
[New Thread 0x7fffddffb700 (LWP 6853)]
[New Thread 0x7fffdd7fa700 (LWP 6854)]
[New Thread 0x7fffdcff9700 (LWP 6855)]
[New Thread 0x7fffc3fff700 (LWP 6856)]
./tools/gstswitchcontroller.c:561:warning: set_compose_port: no connections
online: composite @1970195964275
[New Thread 0x7fffc37fe700 (LWP 6857)]
[New Thread 0x7fffc2ffd700 (LWP 6858)]
[New Thread 0x7fffc27fc700 (LWP 6859)]
[New Thread 0x7fffc1ffb700 (LWP 6860)]
./tools/gstswitchcontroller.c:561:warning: new_mode_online: no connections
[Thread 0x7ffff08b9700 (LWP 6848) exited]
[Thread 0x7fffdffff700 (LWP 6849) exited]
[Thread 0x7fffdcff9700 (LWP 6855) exited]
[New Thread 0x7fffdcff9700 (LWP 6865)]
[New Thread 0x7fffdffff700 (LWP 6866)]
[New Thread 0x7ffff08b9700 (LWP 6867)]
[New Thread 0x7fffc17fa700 (LWP 6868)]
./tools/gstswitchcontroller.c:561:warning: add_preview_port: no connections
[New Thread 0x7fffc0ff9700 (LWP 6869)]
[New Thread 0x7fff9bfff700 (LWP 6870)]
[New Thread 0x7fff9b7fe700 (LWP 6871)]
[Thread 0x7fffc17fa700 (LWP 6868) exited]
[New Thread 0x7fffc17fa700 (LWP 6875)]
[New Thread 0x7fff9affd700 (LWP 6876)]
[New Thread 0x7fff9a7fc700 (LWP 6877)]
[New Thread 0x7fff87fff700 (LWP 6878)]
[New Thread 0x7fff99ffb700 (LWP 6879)]
[New Thread 0x7fff997fa700 (LWP 6880)]
[New Thread 0x7fff98ff9700 (LWP 6881)]
[New Thread 0x7fff877fe700 (LWP 6882)]
./tools/gstswitchcontroller.c:561:warning: add_preview_port: no connections
[Thread 0x7fff98ff9700 (LWP 6881) exited]
[Thread 0x7fff877fe700 (LWP 6882) exited]
./tools/gstswitchcontroller.c:403:info: authorize: GCredentials:linux-ucred:pid=6883,uid=1000,gid=1000
[New Thread 0x7fff877fe700 (LWP 6885)]
./tools/gstswitchcontroller.c:328:warning: close: Underlying GIOStream returned 0 bytes on an async read
./tools/gstswitchcontroller.c:338:info: closed: 0x7fffa0006010, 1 (0 uis)
./tools/gstswitchcontroller.c:403:info: authorize: GCredentials:linux-ucred:pid=6893,uid=1000,gid=1000
./tools/gstswitchcontroller.c:328:warning: close: Underlying GIOStream returned 0 bytes on an async read
./tools/gstswitchcontroller.c:338:info: closed: 0x7fffa0006110, 1 (0 uis)
./tools/gstswitchcontroller.c:403:info: authorize: GCredentials:linux-ucred:pid=6902,uid=1000,gid=1000
./tools/gstswitchcontroller.c:328:warning: close: Underlying GIOStream returned 0 bytes on an async read
./tools/gstswitchcontroller.c:338:info: closed: 0x7fffa0006210, 1 (0 uis)
[Thread 0x7fffc17fa700 (LWP 6875) exited]
^C
Program received signal SIGINT, Interrupt.
g_slist_find (list=0x7d0380, data=data@entry=0x7d8520)
    at /build/buildd/glib2.0-2.36.0/./glib/gslist.c:729
729 /build/buildd/glib2.0-2.36.0/./glib/gslist.c: No such file or directory.
(gdb) bt
#0  g_slist_find (list=0x7d0380, data=data@entry=0x7d8520)
    at /build/buildd/glib2.0-2.36.0/./glib/gslist.c:729
#1  0x00007ffff7553542 in g_object_notify_queue_add (
    nqueue=nqueue@entry=0x7fff70001c40, pspec=0x7d8520, object=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:305
#2  0x00007ffff7553823 in object_set_property (nqueue=0x7fff70001c40, 
    value=0x80c928, pspec=0x7d8520, object=0x7fffd4004d20)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1363
#3  g_object_constructor (type=<optimized out>, 
    n_construct_properties=<optimized out>, construct_params=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1869
#4  0x00007ffff7554c71 in g_object_newv (
    object_type=object_type@entry=8228720, n_parameters=n_parameters@entry=1, 
    parameters=parameters@entry=0x80d400)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1719
#5  0x00007ffff7555460 in g_object_new_valist (
    object_type=object_type@entry=8228720, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd", 
    var_args=var_args@entry=0x7fffffffdeb8)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1836
#6  0x00007ffff77e737e in g_initable_new_valist (object_type=8228720, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd", 
    var_args=var_args@entry=0x7fffffffdeb8, cancellable=cancellable@entry=0x0, 
---Type <return> to continue, or q <return> to quit---
    error=error@entry=0x7fffffffdfc8)
    at /build/buildd/glib2.0-2.36.0/./gio/ginitable.c:227
#7  0x00007ffff77e7479 in g_initable_new (object_type=<optimized out>, 
    cancellable=cancellable@entry=0x0, error=error@entry=0x7fffffffdfc8, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd")
    at /build/buildd/glib2.0-2.36.0/./gio/ginitable.c:149
#8  0x00007ffff77ff992 in g_socket_new_from_fd (fd=fd@entry=51, 
    error=error@entry=0x7fffffffdfc8)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:1070
#9  0x00007ffff7800e73 in g_socket_accept (socket=socket@entry=0x7c03f0, 
    cancellable=0x6bae10, error=error@entry=0x7fffffffdfc8)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:2209
#10 0x00007ffff7807eda in accept_ready (accept_socket=0x7c03f0, 
    condition=<optimized out>, user_data=0x7a8c70)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocketlistener.c:694
#11 0x00007ffff77feb96 in socket_source_dispatch (
    source=source@entry=0x6b2dc0, callback=<optimized out>, 
    user_data=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:3165
#12 0x00007ffff728af35 in g_main_dispatch (context=0x7a6150)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#13 g_main_context_dispatch (context=context@entry=0x7a6150)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
---Type <return> to continue, or q <return> to quit---
#14 0x00007ffff728b278 in g_main_context_iterate (context=0x7a6150, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#15 0x00007ffff728b6ea in g_main_loop_run (loop=0x7a4fc0)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3895
#16 0x000000000040e7ae in gst_switch_server_run ()
#17 0x000000000040e9ac in main ()
(gdb) 

SECOND:

This time I did not provide any input video sources to the gst-switch-srv.
So I:
a) Ran gst-switch-srv in gdb.
b) Ran gst-switch-ui.
c) Closed and ran the gst-switch-ui again.

On my third attempt of re-running gst-switch-ui, the gst-switch-srv gave a segmentation fault. The logs looks as this:

hyades@hyades-Inspiron-N5010:~$ gdb gst-switch-srv 
GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
Reading symbols from /usr/local/bin/gst-switch-srv...(no debugging symbols found)...done.
(gdb) r
Starting program: /usr/local/bin/gst-switch-srv 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
./tools/gstswitchserver.c:124:info: gst_switch_server init 0x7a5000
./tools/gstswitchserver.c:1424:info: Compose sink to 3001, 3002
./tools/gstcomposite.c:88:info: gst_composite init 0x7a8860
./tools/gstcomposite.c:155:warning: ignore changing mode in transition
[New Thread 0x7ffff402a700 (LWP 7103)]
[New Thread 0x7ffff361c700 (LWP 7104)]
./tools/gstworker.c:227:error: missing: faac
./tools/gstworker.c:715:error: recorder: failed to create new pipeline
[New Thread 0x7ffff20bc700 (LWP 7105)]
[New Thread 0x7ffff18bb700 (LWP 7106)]
[New Thread 0x7ffff10ba700 (LWP 7107)]
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:3000)
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:5000)
./tools/gstswitchserver.c:706:info: Listening on localhost (127.0.0.1:4000)
./tools/gstswitchcontroller.c:438:info: Controller is listening at: unix:abstract=gstswitch
[New Thread 0x7ffff08b9700 (LWP 7108)]
[New Thread 0x7fffdbfff700 (LWP 7109)]
[New Thread 0x7fffdb7fe700 (LWP 7110)]
[New Thread 0x7fffdaffd700 (LWP 7111)]
[New Thread 0x7fffda7fc700 (LWP 7112)]
[New Thread 0x7fffd9ffb700 (LWP 7113)]
[New Thread 0x7fffd97fa700 (LWP 7114)]
./tools/gstswitchcontroller.c:561:warning: set_compose_port: no connections
online: composite @2674602914682
[New Thread 0x7fffd8ddd700 (LWP 7115)]
[New Thread 0x7fffbbfff700 (LWP 7116)]
[New Thread 0x7fffbb7fe700 (LWP 7117)]
[New Thread 0x7fffbaffd700 (LWP 7118)]
./tools/gstswitchcontroller.c:561:warning: new_mode_online: no connections
[Thread 0x7fffd9ffb700 (LWP 7113) exited]
./tools/gstswitchcontroller.c:403:info: authorize: GCredentials:linux-ucred:pid=7119,uid=1000,gid=1000
[New Thread 0x7fffd9ffb700 (LWP 7121)]
./tools/gstswitchcontroller.c:328:warning: close: Underlying GIOStream returned 0 bytes on an async read
./tools/gstswitchcontroller.c:338:info: closed: 0x7fffec01b050, 1 (0 uis)
./tools/gstswitchcontroller.c:403:info: authorize: GCredentials:linux-ucred:pid=7125,uid=1000,gid=1000
./tools/gstswitchcontroller.c:328:warning: close: Underlying GIOStream returned 0 bytes on an async read
./tools/gstswitchcontroller.c:338:info: closed: 0x7fffec01b150, 1 (0 uis)

Program received signal SIGSEGV, Segmentation fault.
g_object_notify_queue_thaw (object=object@entry=0x7fffe0004bd0, 
    nqueue=nqueue@entry=0x7fffc0001d30)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:285
285 /build/buildd/glib2.0-2.36.0/./gobject/gobject.c: No such file or directory.
(gdb) bt
#0  g_object_notify_queue_thaw (object=object@entry=0x7fffe0004bd0, 
    nqueue=nqueue@entry=0x7fffc0001d30)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:285
#1  0x00007ffff75551cd in g_object_newv (object_type=1, 
    object_type@entry=8228720, n_parameters=n_parameters@entry=1, 
    parameters=parameters@entry=0x808ce0)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1758
#2  0x00007ffff7555460 in g_object_new_valist (
    object_type=object_type@entry=8228720, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd", 
    var_args=var_args@entry=0x7fffffffdeb8)
    at /build/buildd/glib2.0-2.36.0/./gobject/gobject.c:1836
#3  0x00007ffff77e737e in g_initable_new_valist (object_type=8228720, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd", 
    var_args=var_args@entry=0x7fffffffdeb8, cancellable=cancellable@entry=0x0, 
    error=error@entry=0x7fffffffdfc8)
    at /build/buildd/glib2.0-2.36.0/./gio/ginitable.c:227
#4  0x00007ffff77e7479 in g_initable_new (object_type=<optimized out>, 
    cancellable=cancellable@entry=0x0, error=error@entry=0x7fffffffdfc8, 
    first_property_name=first_property_name@entry=0x7ffff789732e "fd")
    at /build/buildd/glib2.0-2.36.0/./gio/ginitable.c:149
#5  0x00007ffff77ff992 in g_socket_new_from_fd (fd=fd@entry=25, 
    error=error@entry=0x7fffffffdfc8)
---Type <return> to continue, or q <return> to quit---
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:1070
#6  0x00007ffff7800e73 in g_socket_accept (socket=socket@entry=0x7c03f0, 
    cancellable=0x6bae10, error=error@entry=0x7fffffffdfc8)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:2209
#7  0x00007ffff7807eda in accept_ready (accept_socket=0x7c03f0, 
    condition=<optimized out>, user_data=0x7a8ba0)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocketlistener.c:694
#8  0x00007ffff77feb96 in socket_source_dispatch (
    source=source@entry=0x7ef970, callback=<optimized out>, 
    user_data=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./gio/gsocket.c:3165
#9  0x00007ffff728af35 in g_main_dispatch (context=0x7a6150)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3054
#10 g_main_context_dispatch (context=context@entry=0x7a6150)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3630
#11 0x00007ffff728b278 in g_main_context_iterate (context=0x7a6150, 
    block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3701
#12 0x00007ffff728b6ea in g_main_loop_run (loop=0x7a4fc0)
    at /build/buildd/glib2.0-2.36.0/./glib/gmain.c:3895
#13 0x000000000040e7ae in gst_switch_server_run ()
#14 0x000000000040e9ac in main ()
(gdb)

-> In both the cases, it seems some files are missing. I have checked, but I have all modules reated to gstreamer-1.0 installed on my ubuntu 12.10 machine.
-> For second case in general, the seg fault occurs after the third connection is made to the dbus. Even making three calls through gdbus to any remote-object results in a seg fault.

Reply all
Reply to author
Forward
0 new messages