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 162704 - Rhythmbox crashes second time trying to play (64bit system)
Rhythmbox crashes second time trying to play (64bit system)
Status: RESOLVED DUPLICATE of bug 161179
Product: GStreamer
Classification: Platform
Component: gst-plugins
0.8.8
Other Linux
: Normal normal
: NONE
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2004-01-02 03:48 UTC by Miron Cuperman
Modified: 2005-01-03 17:51 UTC
See Also:
GNOME target: ---
GNOME version: 2.7/2.8



Description Miron Cuperman 2005-01-02 03:49:19 UTC
Distribution: Fedora Core release 3 (Heidelberg)
Package: rhythmbox
Severity: major
Version: GNOME2.8.0 0.8.8
Gnome-Distributor: Red Hat, Inc
Synopsis: Rhythmbox crashes second time trying to play
Bugzilla-Product: rhythmbox
Bugzilla-Component: playback
Bugzilla-Version: 0.8.8
BugBuddy-GnomeVersion: 2.0 (2.8.0)
Description:
Description of the crash:


Steps to reproduce the crash:
1. Choose artsd as sink
2. Play
3. Pause
4. Play again

Expected Results:

no crash

How often does this happen?

always

Additional information:

GLib-ERROR **: gmem.c:140: failed to allocate 4294967284 bytes
aborting...



Debugging Information:

Backtrace was generated from '/usr/bin/rhythmbox'

(no debugging symbols found)...Using host libthread_db library
"/lib64/tls/libthread_db.so.1".
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...[Thread debugging using libthread_db enabled]
[New Thread 182894206528 (LWP 2713)]
[New Thread 1117804896 (LWP 2739)]
[Thread debugging using libthread_db enabled]
[New Thread 182894206528 (LWP 2713)]
[New Thread 1117804896 (LWP 2739)]
[Thread debugging using libthread_db enabled]
[New Thread 182894206528 (LWP 2713)]
[New Thread 1117804896 (LWP 2739)]
[New Thread 1107310944 (LWP 2717)]
[New Thread 1098918240 (LWP 2716)]
[New Thread 1090525536 (LWP 2715)]
[New Thread 1082132832 (LWP 2714)]
(no debugging symbols found)...(no debugging symbols found)...(no
debugging symbols found)...(no debugging symbols found)...(no debugging
symbols found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...0x000000376d5bc6d2 in poll ()
from /lib64/tls/libc.so.6

Thread 2 (Thread 1117804896 (LWP 2739))

  • #0 waitpid
    from /lib64/tls/libpthread.so.0
  • #1 libgnomeui_module_info_get
    from /usr/lib64/libgnomeui-2.so.0
  • #2 <signal handler called>
  • #3 raise
    from /lib64/tls/libc.so.6
  • #4 abort
    from /lib64/tls/libc.so.6
  • #5 g_logv
    from /usr/lib64/libglib-2.0.so.0
  • #6 g_log
    from /usr/lib64/libglib-2.0.so.0
  • #7 g_malloc
    from /usr/lib64/libglib-2.0.so.0
  • #8 audioscale_get_type
    from /usr/lib64/gstreamer-0.8/libgstaudioscale.so
  • #9 gst_resample_scale
    from /usr/lib64/gstreamer-0.8/libgstresample.so
  • #10 gst_audioscale_increase_rate
    from /usr/lib64/gstreamer-0.8/libgstaudioscale.so
  • #11 gst_pad_push
    from /usr/lib64/libgstreamer-0.8.so.1
  • #12 _fixate_caps_to_int
    from /usr/lib64/gstreamer-0.8/libgstaudioconvert.so
  • #13 gst_pad_push
    from /usr/lib64/libgstreamer-0.8.so.1
  • #14 gst_pad_push
    from /usr/lib64/libgstreamer-0.8.so.1
  • #15 ??
    from /usr/lib64/gstreamer-0.8/libgstoptscheduler.so
  • #16 ??
    from /usr/lib64/gstreamer-0.8/libgstoptscheduler.so
  • #17 ??
    from /usr/lib64/gstreamer-0.8/libgstoptscheduler.so
  • #18 gst_scheduler_iterate
    from /usr/lib64/libgstreamer-0.8.so.1
  • #19 gst_bin_sync_children_state
    from /usr/lib64/libgstreamer-0.8.so.1
  • #20 gst_marshal_BOOLEAN__VOID
    from /usr/lib64/libgstreamer-0.8.so.1
  • #21 g_closure_invoke
    from /usr/lib64/libgobject-2.0.so.0
  • #22 g_signal_has_handler_pending
    from /usr/lib64/libgobject-2.0.so.0
  • #23 g_signal_emit_valist
    from /usr/lib64/libgobject-2.0.so.0
  • #24 g_signal_emit
    from /usr/lib64/libgobject-2.0.so.0
  • #25 gst_bin_iterate
    from /usr/lib64/libgstreamer-0.8.so.1
  • #26 gst_thread_get_current
    from /usr/lib64/libgstreamer-0.8.so.1
  • #27 g_static_private_free
    from /usr/lib64/libglib-2.0.so.0
  • #28 start_thread
    from /lib64/tls/libpthread.so.0
  • #29 clone
    from /lib64/tls/libc.so.6
  • #30 ??




------- Bug moved to this database by unknown@bugzilla.gnome.org 2005-01-01 22:49 -------


Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "rhythmbox".
   Setting to default milestone for this product, '---'
The original reporter of this bug does not have
   an account here. Reassigning to the person who moved
   it here, unknown@bugzilla.gnome.org.
   Previous reporter was bug@niftybox.net.
Setting to default status "UNCONFIRMED".
Setting qa contact to the default for this product.
   This bug either had no qa contact or an invalid one.

Comment 1 Miron Cuperman 2005-01-02 06:33:50 UTC
This may be a GStreamer bug.  The function where this happens is
audioscale_get_type.  It happens only with the artsd backend.
Comment 2 Christophe Fergeau 2005-01-02 11:16:21 UTC
Yeah, probably a gstreamer bug. Could you get a backtrace with symbols ? (from
rhythmbox/gstreamer and gst-plugins) ?
Comment 3 Miron Cuperman 2005-01-02 11:49:42 UTC
Okay, here is the relevant thread with debug info:

(gdb) bt
  • #0 raise
    from /lib64/tls/libc.so.6
  • #1 abort
    from /lib64/tls/libc.so.6
  • #2 g_logv
    from /usr/lib64/libglib-2.0.so.0
  • #3 g_log
    from /usr/lib64/libglib-2.0.so.0
  • #4 g_malloc
    from /usr/lib64/libglib-2.0.so.0
  • #5 gst_audioscale_get_buffer
    at gstaudioscale.c line 464
  • #6 gst_resample_scale
    at resample.c line 168
  • #7 gst_audioscale_chain
    at gstaudioscale.c line 660
  • #8 gst_pad_push
    at gstpad.c line 3241
  • #9 gst_audio_convert_chain
    at gstaudioconvert.c line 283
  • #10 gst_pad_push
    at gstpad.c line 3241
  • #11 gst_pad_push
    at gstpad.c line 3241
  • #12 loop_group_schedule_function
    at gstoptimalscheduler.c line 1332
  • #13 gst_opt_scheduler_schedule_run_queue
    at gstoptimalscheduler.c line 1154
  • #14 gst_opt_scheduler_iterate
    at gstoptimalscheduler.c line 1258
  • #15 gst_scheduler_iterate
    at gstscheduler.c line 738
  • #16 gst_bin_iterate_func
    at gstbin.c line 1220
  • #17 gst_marshal_BOOLEAN__VOID
    at gstmarshal.c line 509
  • #18 g_closure_invoke
    from /usr/lib64/libgobject-2.0.so.0
  • #19 g_signal_has_handler_pending
    from /usr/lib64/libgobject-2.0.so.0
  • #20 g_signal_emit_valist
    from /usr/lib64/libgobject-2.0.so.0
  • #21 g_signal_emit
    from /usr/lib64/libgobject-2.0.so.0
  • #22 gst_bin_iterate
    at gstbin.c line 1280
  • #23 gst_thread_main_loop
    at gstthread.c line 671
  • #24 g_static_private_free
    from /usr/lib64/libglib-2.0.so.0
  • #25 start_thread
    from /lib64/tls/libpthread.so.0
  • #26 clone
    from /lib64/tls/libc.so.6

Comment 4 Miron Cuperman 2005-01-02 12:06:37 UTC
I think the problem is that r->o_samples is negative.  See:

(gdb) p audioscale->gst_resample[0]
$12 = {method = GST_RESAMPLE_SINC, channels = 1, verbose = 0, format =
GST_RESAMPLE_S16, filter_length = 16,
  i_rate = 1.3458251953125, o_rate = 1, priv = 0x9157f0, get_buffer =
0x2a999cee30 <gst_audioscale_get_buffer>,
  halftaps = 7.5, buffer = 0x0, buffer_len = 0, i_start = 0, o_start = 0,
i_start_buf = -11.888616780045352,
  i_end_buf = 0, i_inc = 0.74303854875283448, o_inc = 1.3458251953125, i_end =
0, o_end = 0, i_samples = 0,
  o_samples = -6, i_buf = 0x0, o_buf = 0x0, acc = {0, 0}, hack_union = {s =
{out_tmp = 0x0, out_tmp_len = 0},
    padding = {0, 0, 0, 0, 0, 0, 0, 0}}, scale = 0x2a99ad3fd0
<gst_resample_sinc_ft_s16>, ack = 0}
Comment 5 Christophe Fergeau 2005-01-02 13:22:48 UTC
Definitly looks like a gstreamer bug, reassigning.
Comment 6 Miron Cuperman 2005-01-02 13:24:25 UTC
After poking around a bit in unfamiliar code:

Looks like it's trying to resample an empty buffer, and it decides that it needs
a negative length buffer.  So either the gstreamer resampler should be more
defensive or the empty buffer shouldn't have been passed in from Rhythmbox.

Or both...
Comment 7 Christophe Fergeau 2005-01-02 14:17:29 UTC
Miron, Rhythmbox doesn't pass buffers to gstreamer, the dataflow is totally
handle by gstreamer.
What rhythmbox does is to link various gstreamer elements, the flow of buffers
is totally internal to gstreamer. So the empty buffer comes from the element
before audioscale in the pipeline. If you need some help to debug that problem,
you can drop by #gstreamer on irc.freenode.net, you'll probably find someone to
help.
Are you using the latest gst-plugins version (0.8.6) btw ?
Comment 8 Stephane Loeuillet 2005-01-02 15:18:58 UTC
failed to allocate 4294967284 (2^32) bytes on a 64 bit system, looks like 64bit
unsafe
Comment 9 Ronald Bultje 2005-01-03 17:51:25 UTC
No, it's reproduceable on 32-bit machines as well. Integers are still 32-bit on
x86-64.

*** This bug has been marked as a duplicate of 161179 ***