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 98782 - Rythmbox crash in gst code
Rythmbox crash in gst code
Status: VERIFIED INCOMPLETE
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
git master
Other other
: Normal normal
: 0.4.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2002-11-17 14:26 UTC by jensus
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description jensus 2002-11-17 14:33:28 UTC
Package: GStreamer
Severity: major
Version: 0.4.2.1
Synopsis: Rythmbox crash in gst code
Bugzilla-Product: GStreamer
Bugzilla-Component: gstreamer (core)
BugBuddy-GnomeVersion: 2.0 (2.1.1)

Description:
Description of Problem:

Rythmbox crashes sometimes when clicking on the next button.
The arguments passed to gst_scheduler_interrupt is both null.

The crash happens quite random, so I don't think it's a bad file, 
but rather a timing issue that causes the bug.




Debugging Information:

Backtrace was generated from '/home/jens/garnome/bin/rhythmbox'

[New Thread 1024 (LWP 1081)]
[New Thread 2049 (LWP 1082)]
[New Thread 1026 (LWP 1083)]
[New Thread 2051 (LWP 1084)]
[New Thread 3076 (LWP 1085)]
[New Thread 4101 (LWP 1086)]
0x40b5ba59 in wait4 () from /lib/libc.so.6

Thread 6 (Thread 4101 (LWP 1086))

  • #0 wait4
    from /lib/libc.so.6
  • #1 __check_rhosts_file
    from /lib/libc.so.6
  • #2 waitpid
    from /lib/libpthread.so.0
  • #3 libgnomeui_segv_handle
    at gnome-ui-init.c line 646
  • #4 pthread_sighandler
    from /lib/libpthread.so.0
  • #5 sigaction
    from /lib/libc.so.6
  • #6 gst_scheduler_interrupt
    at gstscheduler.c line 464
  • #7 gst_queue_get
    at gstqueue.c line 487
  • #8 gst_pad_pull
    at gstpad.c line 2140
  • #9 gst_bytestream_get_next_buf
    at bytestream.c line 131
  • #10 gst_bytestream_fill_bytes
    at bytestream.c line 205
  • #11 gst_bytestream_peek_bytes
    at bytestream.c line 286
  • #12 gst_adder_loop
    at gstadder.c line 439
  • #13 gst_basic_scheduler_loopfunc_wrapper
    at gstbasicscheduler.c line 279
  • #14 cothread_stub
    at cothreads.c line 466
  • #15 cothread_switch
    at cothreads.c line 672
  • #16 gst_basic_scheduler_gethandler_proxy
    at gstbasicscheduler.c line 502
  • #17 gst_pad_pull
    at gstpad.c line 2140
  • #18 gst_basic_scheduler_chain_wrapper
    at gstbasicscheduler.c line 329
  • #19 cothread_stub
    at cothreads.c line 466
  • #20 cothread_switch
    at cothreads.c line 672
  • #21 gst_basic_scheduler_gethandler_proxy
    at gstbasicscheduler.c line 502
  • #22 gst_pad_pull
    at gstpad.c line 2140
  • #23 gst_basic_scheduler_chain_wrapper
    at gstbasicscheduler.c line 329
  • #24 cothread_stub
    at cothreads.c line 466
  • #25 cothread_switch
    at cothreads.c line 672
  • #26 gst_basic_scheduler_gethandler_proxy
    at gstbasicscheduler.c line 502
  • #27 gst_pad_pull
    at gstpad.c line 2140
  • #28 gst_basic_scheduler_chain_wrapper
    at gstbasicscheduler.c line 329
  • #29 cothread_stub
    at cothreads.c line 466
  • #30 cothread_switch
    at cothreads.c line 672
  • #31 gst_basic_scheduler_iterate
    at gstbasicscheduler.c line 1342
  • #32 gst_scheduler_iterate
    at gstscheduler.c line 645
  • #33 gst_bin_iterate_func
    at gstbin.c line 826
  • #34 gst_bin_iterate
    at gstbin.c line 869
  • #35 gst_thread_main_loop
    at gstthread.c line 654
  • #36 g_thread_create_proxy
    at gthread.c line 538
  • #37 pthread_start_thread
    from /lib/libpthread.so.0

Thread 5 (Thread 3076 (LWP 1085))

  • #0 sigsuspend
    from /lib/libc.so.6
  • #1 __pthread_wait_for_restart_signal
    from /lib/libpthread.so.0
  • #2 pthread_cond_wait
    from /lib/libpthread.so.0
  • #3 gst_thread_change_state
    at gstthread.c line 469
  • #4 gst_element_set_state
    at gstelement.c line 1949
  • #5 gst_bin_change_state
    at gstbin.c line 582
  • #6 gst_thread_update_state
    at gstthread.c line 301
  • #7 gst_thread_change_state
    at gstthread.c line 335
  • #8 gst_element_set_state
    at gstelement.c line 1949
  • #9 gst_bin_iterate_func
    at gstbin.c line 832
  • #10 gst_bin_iterate
    at gstbin.c line 869
  • #11 gst_thread_main_loop
    at gstthread.c line 654
  • #12 g_thread_create_proxy
    at gthread.c line 538
  • #13 pthread_start_thread
    from /lib/libpthread.so.0




------- Bug moved to this database by unknown@bugzilla.gnome.org 2002-11-17 09:33 -------

Unknown version unspecified in product GStreamer. Setting version to "0.3.3".
The original reporter (jensus@linux.nu) of this bug does not have an account here.
Reassigning to the exporter, unknown@bugzilla.gnome.org.
Reassigning to the default owner of the component, gstreamer-maint@bugzilla.gnome.org.

Comment 1 Dennis Haney 2003-01-03 00:35:55 UTC
hmmm. I cant see they are null?
  • #6 gst_scheduler_interrupt
    at gstscheduler.c line 464

Comment 2 Christian Fredrik Kalager Schaller 2003-01-15 16:48:46 UTC
I am assuming that you are using a distribution with a i686 optimized
glibc, probably Red Hat. 

After tons of testing/debuging I think this bug is solved. It turns
out that using Red Hat 8.1 + glibc from Rawhide things start working,
so it seems there is a bug in the i686  threading code shipping with
earlier distro's. Downgrading to i386 optimized glibc is a workaround.

If you should happen to use something else let me know. I leave this
bug open for a little while more so I can see you confir/denym my
assumptions.
Comment 3 Jens Askengren 2003-01-16 01:16:09 UTC
The code was running on debian 3.0, libc-2.2.5.
Comment 4 Christian Fredrik Kalager Schaller 2003-01-18 00:21:15 UTC
Talked with our thread-master David Schleef. The threading code has been 
bugfixed heavily since 0.4.2.1 and the bug is probably fixed. I am
closing this bug due to this, but if you should encounter it with a
newer release please let us know. 0.6.0 is planed out in about 9 days.