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 313374 - Crashes in libgstcdparanoia when missing device permissions
Crashes in libgstcdparanoia when missing device permissions
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.3.3
Other All
: High critical
: 0.8.11
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-08-13 04:24 UTC by linuce
Modified: 2005-08-14 13:34 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10



Description linuce 2005-08-13 04:24:43 UTC
Steps to reproduce:
$ whoami
linuce
$ grep "^cdrom" /etc/group
cdrom::19:linuce
$ ls -l /dev/cdrom 
lrwxrwxrwx  1 root root 8 2005-08-13 00:17 /dev/cdrom -> /dev/sr0
$ ls -l /dev/sr0
brw-rw----  1 root cdrom 11, 0 1999-04-13 06:24 /dev/sr0
$ ls -l /dev/sg0
crwx------  1 root cdrom 21, 0 1999-04-13 06:24 /dev/sg0
$ sound-juicer 
Segmentation fault # See note (1)
$ su - root
# chmod 770 /dev/sg0
# ls -la /dev/sg0
crwxrwx---  1 root cdrom 21, 0 Apr 13  1999 /dev/sg0
# logout
$ whoami
linuce
$ sound-juicer # See note (2)

$ uname -a
Linux home 2.4.31 #1 mar jui 12 07:40:00 CEST 2005 i686 unknown unknown GNU/Linu
$ ls /var/log/packages/sound-juicer*
/var/log/packages/sound-juicer-2.10.1-i486-0
$ ls /var/log/packages/cdparanoia*
/var/log/packages/cdparanoia-IIIalpha9.8-i386-1
$ ls /var/log/packages/gst*
/var/log/packages/gst-plugins-0.8.10-i486-0
/var/log/packages/gstreamer-0.8.10-i486-0

(1) After launching the beast, I verify that at least one track is selected and
I click the Extract button : Sound Juicer crashes.
(2) Now I can extract tracks without problem. 

Stack trace:
[Switching to Thread 16384 (LWP 22218)]
0x41338fb6 in cdparanoia_get_type ()
   from /usr/lib/gstreamer-0.8/libgstcdparanoia.so
(gdb) thread apply all bt

Thread 1 (Thread 16384 (LWP 22218))

  • #0 cdparanoia_get_type
    from /usr/lib/gstreamer-0.8/libgstcdparanoia.so
  • #1 cdparanoia_get_type
    from /usr/lib/gstreamer-0.8/libgstcdparanoia.so
  • #2 gst_element_set_state
    from /usr/lib/libgstreamer-0.8.so.1
  • #3 gst_element_set_state
    from /usr/lib/libgstreamer-0.8.so.1
  • #4 gst_bin_child_state_change
    from /usr/lib/libgstreamer-0.8.so.1
  • #5 gst_bin_child_state_change
    from /usr/lib/libgstreamer-0.8.so.1
  • #6 gst_bin_child_state_change
    from /usr/lib/libgstreamer-0.8.so.1
  • #7 gst_pipeline_new
    from /usr/lib/libgstreamer-0.8.so.1
  • #8 gst_element_set_state
    from /usr/lib/libgstreamer-0.8.so.1
  • #9 gst_bin_set_state
    from /usr/lib/libgstreamer-0.8.so.1
  • #10 gst_element_set_state
    from /usr/lib/libgstreamer-0.8.so.1
  • #11 sj_extractor_extract_track
  • #12 on_about_activate
  • #13 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 gtk_button_clicked
    from /usr/lib/libgtk-x11-2.0.so.0
  • #19 gtk_button_get_relief
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #21 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #23 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #26 gtk_button_released
    from /usr/lib/libgtk-x11-2.0.so.0
  • #27 gtk_button_get_relief
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_marshal_VOID__UINT_STRING
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #30 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #31 g_signal_emit_by_name
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #33 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #34 gtk_widget_send_expose
    from /usr/lib/libgtk-x11-2.0.so.0
  • #35 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #36 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #37 gdk_x11_register_standard_event_type
    from /usr/lib/libgdk-x11-2.0.so.0
  • #38 g_main_depth
    from /usr/lib/libglib-2.0.so.0
  • #39 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #40 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #41 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #42 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #43 main

Other information:
Expected behavior is (if possible) to check and to print a error message about
wrong permissions / denied access to device(s) / GStreamer error. Note that I
don't really know if this is a GStreamer issue or a Sound Juicer one, but as I
discover the reproductible crash in Sound Juicer, I report it here.
Comment 1 Christian Kirbach 2005-08-14 13:20:36 UTC
Changing product to gstreamer
Comment 2 Ronald Bultje 2005-08-14 13:34:57 UTC
Already fixed in CVS.