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 129164 - Problems with gnome-sound-recorder and gstreamer-properties
Problems with gnome-sound-recorder and gstreamer-properties
Status: RESOLVED FIXED
Product: gnome-media
Classification: Deprecated
Component: Gnome-Sound-Recorder
2.5.x
Other Linux
: High critical
: ---
Assigned To: Ronald Bultje
gnome media maintainers
: 122266 122634 124992 135445 135526 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2003-12-12 01:06 UTC by Eddahbi Karim
Modified: 2004-12-22 21:47 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Gnome-sound-recorder backtrace (100.00 KB, text/plain)
2003-12-12 01:07 UTC, Eddahbi Karim
Details
Gstreamer-properties Backtrace from bug-buddy (41.02 KB, text/plain)
2003-12-12 01:08 UTC, Eddahbi Karim
Details

Description Eddahbi Karim 2003-12-12 01:06:21 UTC
Hiya,

I've Gnome 2.5, builded from the ebuilds given on www.breakmygentoo.net.

I've Alsa(-lib,-utils) 0.9.8 and the modules integrated in my 2.6 Kernel.

There's some problems with the gnome-sound-recorder : It crashes when I
launch it.

The steps are :

- Get Gnome 2.5
- You must only have Alsa on your system with OSS Emulation.
- Launch gnome-sound-recorder

Then it will crash.

Same thing with gstreamer-properties when testing the output alsasrc.

The backtraces are in attachment because they are huge.

If I launch gnome-sound-recorder from a console, I've this error :


(gnome-sound-recorder:16948): GStreamer-CRITICAL **: file gstbin.c: line
484 (gst_bin_add): assertion `GST_IS_ELEMENT (element)' failed

(gnome-sound-recorder:16948): GStreamer-CRITICAL **: file gstelement.c:
line 1521 (gst_element_link_pads_filtered): assertion `GST_IS_ELEMENT
(dest)' failed

** (gnome-sound-recorder:16948): WARNING **: You do not have a new enough
gst-plugins.
You really need CVS after 20-Oct-2002


I've gst-plugins-0.7.2 which are the last released at the moment ( 12
December 2003 )

( emerge -vp gst-plugins

These are the packages that I would merge, in order:

Calculating dependencies ...done!
[ebuild   R   ] media-libs/gst-plugins-0.7.2  )

By the way I haven't gst-plugins-oss because I can't compile it...

I wonder if it's not the reason of the error.

I've emerged Gnome like this :

USE="doc tiff ipv6" ACCEPT_KEYWORDS="~x86" emerge -v gnome

Here are my system informations :

Portage 2.0.49-r15 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r3,
2.6.0-thebest-test11)
=================================================================
System uname: 2.6.0-thebest-test11 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.4.3.10p1
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-mcpu=athlon-xp -O2 -m3dnow -pipe -mmmx -s"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config
/usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/
/usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-mcpu=athlon-xp -O2 -m3dnow -pipe -mmmx -s"
DISTDIR="/opt/packages"
FEATURES="sandbox ccache autoaddcvs"
GENTOO_MIRRORS="http://mirrors.sec.informatik.tu-darmstadt.de/gentoo
ftp://gentoo.linux.no/pub/gentoo/ http://gentoo.linux.no/
http://212.219.56.162/sites/www.ibiblio.org/gentoo/
http://212.219.56.152/sites/www.ibiblio.org/gentoo/
http://212.219.56.146/sites/www.ibiblio.org/gentoo/
http://212.219.56.131/sites/www.ibiblio.org/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 oss apm avi crypt cups encode foomaticdb gif jpeg libg++ mad
mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv
zlib directfb gtkhtml alsa gdbm berkdb slang readline arts tetex aalib
bonobo svga tcltk java guile ruby mysql postgres X sdl gpm tcpd pam libwww
ssl perl python esd imlib oggvorbis gnome gtk qt kde motif opengl mozilla
ldap cdr scanner"

I've Xfree 4.3.99.901.
Comment 1 Eddahbi Karim 2003-12-12 01:07:34 UTC
Created attachment 22360 [details]
Gnome-sound-recorder backtrace
Comment 2 Eddahbi Karim 2003-12-12 01:08:54 UTC
Created attachment 22361 [details]
Gstreamer-properties Backtrace from bug-buddy
Comment 3 Elijah Newren 2003-12-12 16:34:04 UTC
Both stack trace are unique according to the simple-dup-finder.  I'm
not sure whether this should be split into two bugs or kept
together--and if they're kept together, whether this should be filed
here or against gstreamer.  So, I'll leave it as is for now.  The
first stack trace has debugging symbols, the second stack trace does
too but not in the functions in the lowermost frames before the signal
handler gets called.  I'll add the STACKTRACE keyword anyway for now.
Comment 4 Eddahbi Karim 2003-12-12 17:43:34 UTC
Maybe a CC to the gstreamer team would be a good idea ?
Comment 5 Eddahbi Karim 2003-12-12 17:53:49 UTC
It sounds like a duplicate of this :
http://bugzilla.gnome.org/show_bug.cgi?id=126539
Comment 6 Elijah Newren 2003-12-13 04:04:55 UTC
Eddahbi Karim: The steps to reproduce may sound the same as bug
126539, but the stack traces are different meaning that you are
triggering a different bug.  CC'ing the gstreamer people sounds like a
good idea--that way they can help decide where this bug belongs.
Comment 7 Eddahbi Karim 2003-12-13 13:06:22 UTC
I think they should be alerted for gstreamer-properties at least which
crashes when using ALSA 0.9.8.
Comment 8 Ronald Bultje 2003-12-13 16:44:23 UTC
Which GStreamer version? ALSA in 0.6.x is known to be broken. It
should work in HEAD CVS (0.7.x).
Comment 9 Eddahbi Karim 2003-12-13 20:37:33 UTC
I have Gstreamer 0.7.2, I'll try CVS HEAD.
By the way I haven't gst-plugins-oss ...
Comment 10 Ronald Bultje 2003-12-21 23:12:27 UTC
OK, I finally got around to a good review of GSR tonight.

Dzjeeeeeeeh!

It doesn't look that bad, don't get me wrong, but it misses too much
error correction. For each element that's created, it should check
whether it's !NULL after creation. If not, it should give an error
dialog and bail out (i.e. return control to user) without crashing.

It doesn't do any of this.

What's worse, is that saving a file to **whatever** media type appears
to crash. The backtraces are inconsistent and the thing refuses to
give any useful info in either gdb or valgrind (!), which leads me to
believe we've got a nice example of well-defined memory corruption here.

I'm intending to make this the general "GSR crashes on save-as or GSR
crashes and one element is NULL" bug. Expect some dups here. I hope to
have this fixed fairly soon. It'll take me quite some patching to get
this correct, though.
Comment 11 Ronald Bultje 2003-12-21 23:18:13 UTC
*** Bug 122634 has been marked as a duplicate of this bug. ***
Comment 12 Eddahbi Karim 2003-12-23 16:19:59 UTC
Thank you for the informations, I hope that it will be fixed soon.

If you need some testers for your patches, mail me :).
Comment 13 Luis Villa 2003-12-29 23:38:00 UTC
Thanks for taking a look, Ronald. :)
Comment 14 Ronald Bultje 2004-01-04 14:25:06 UTC
Hi,

Just to give a notice of my progress: I think I've got our main bug.
I'm still not sure what it is, but I've removed most of the threading,
which also solved this issue. I'm guessing for some complicated mess
between Gst threading, bonobo or X or so. Not really sure, but don't
care much either.

I'm not actually committing it yet, because there's one Gst bug
holding this off (in wavparse). I'm hoping to have that fixed in a few
hours. I'll commit this stuff too, then, and close this bug (hopefully).
Comment 15 Ronald Bultje 2004-01-04 15:57:45 UTC
OK, committed to HEAD.

- Remove threading in saving (this fixed all those segfaults).
- Add some checks to ensure elements are created properly.
- Basic error handling in the saving pipeline.

Please let me know how it works. Note that:

- I use current CVS/HEAD for this thing.
- wav/ogg/flac/mp3 playback might or might not work, this is a
GStreamer issue, not a GSR issue.
- saving as FLAC fails here. It doesn't crash, though. It's probably a
GStreamer bug, too (an encoder should be able to encode using default
settings).

I'm not closing this yet, because I only fixed saving. The other stuff
(playback, recording) didn't crash, but still need the same checks. I
still need to do that, but it's (imo) less priority because it didn't
crash the thing.
Comment 16 Eddahbi Karim 2004-01-04 18:56:33 UTC
Ok, so I'll compile the CVS version of Gstreamer and GSR ...
I'll report any problems if I found another one...
Comment 17 Eddahbi Karim 2004-01-08 11:56:57 UTC
Sorry for the delay, I battle to compile Gnome CVS (to have the latest
versions of GSR) so I can't say if the problem is solved or not on my
side...
Comment 18 Eddahbi Karim 2004-02-04 04:38:02 UTC
So I tried the new Gnome-Sound-Recorder with the latest Gstreamer (I
use jhbuild to build Gnome CVS) and I can launch it but not record a
sound.

I'll try to see if that's not the CFLAGS which creates this problem.
If not, I'll post a bug report.
Comment 19 Ronald Bultje 2004-02-29 22:24:44 UTC
If you cannot record a sound, it should at least give you a notice (an
error dialog), and ideally, the error dialog would actually say
something interesting. Can you please be a bit more specific as what
doesn't work and what errors it gives?
Comment 20 Ronald Bultje 2004-02-29 22:25:33 UTC
*** Bug 122266 has been marked as a duplicate of this bug. ***
Comment 21 Ronald Bultje 2004-02-29 22:26:31 UTC
*** Bug 135445 has been marked as a duplicate of this bug. ***
Comment 22 Ronald Bultje 2004-02-29 22:26:55 UTC
*** Bug 135526 has been marked as a duplicate of this bug. ***
Comment 23 Ronald Bultje 2004-02-29 22:30:03 UTC
*** Bug 124992 has been marked as a duplicate of this bug. ***
Comment 24 Eddahbi Karim 2004-03-02 14:10:54 UTC
Hmm I've build the latest Gnome CVS with cvsgnome this time and
gnome-sound-recorder didn't start anymore.
I haven't enough time to check yet.

Here is the backtrace :

Backtrace was generated from '/opt/Gnome26/bin/gnome-sound-recorder'

0x40ca77a8 in waitpid () from /lib/libpthread.so.0
  • #0 waitpid
    from /lib/libpthread.so.0
  • #1 __JCR_LIST__
    from /opt/Gnome26/lib/libgnomeui-2.so.0
  • #2 __pthread_clock_settime
    from /lib/libpthread.so.0
  • #3 __libc_sigaction
    from /lib/libc.so.6
  • #4 g_log
    at gmessages.c line 541
  • #5 make_play_pipeline
    at gsr-window.c line 1345
  • #6 gsr_window_init
    at gsr-window.c line 1667
  • #7 g_type_create_instance
    at gtype.c line 1595
  • #8 g_object_constructor
    at gobject.c line 1044
  • #9 g_object_newv
    at gobject.c line 941
  • #10 g_object_new_valist
    at gobject.c line 1025
  • #11 g_object_new
    at gobject.c line 822
  • #12 gsr_window_new
    at gsr-window.c line 1510
  • #13 gsr_open_window
    at gnome-recorder.c line 92
  • #14 main
    at gnome-recorder.c line 194
  • #15 __libc_start_main
    from /lib/libc.so.6

This time my CFLAGS was :
-O2 -march=athlon-xp -ggdb3
Comment 25 Ronald Bultje 2004-03-02 15:17:18 UTC
Hm, what GStreamer version and did you run gst-register on your
GStreamer tree?

The backtrace isn't particularly useful because something's killing
the addresses (0xfffffe00)... :-(.

Anyway, I'll look at it.
Comment 26 Eddahbi Karim 2004-03-06 18:18:12 UTC
Ok I've run gst-register in user and now it works like a charm :)...
Hmm... nearly like a charm :/
If I record a sound, it works now (YAY!)
But if I record a sound again without creating a "New file", the
software hangs...

By the way, If I launch /opt/Gnome26/bin/gnome-sound-record with gdb,
when I click on "Record", I got this backtrace :

  • #0 pthread_getconcurrency
    from /lib/libpthread.so.0
  • #1 ??
  • #2 pthread_getconcurrency
    from /lib/libpthread.so.0
  • #3 pthread_create
    from /lib/libpthread.so.0
  • #4 g_thread_create_posix_impl
    at gthread-posix.c line 339
  • #5 g_thread_create_full
    at gthread.c line 586
  • #6 gst_thread_change_state
    at gstthread.c line 415
  • #7 gst_element_set_state
    at gstelement.c line 2661
  • #8 marshal_VOID__USER_DATA_STRING
    at bonobo-ui-component.c line 221
  • #9 g_closure_invoke
    at gclosure.c line 437
  • #10 bonobo_closure_invoke_va_list
    at bonobo-types.c line 415
  • #11 bonobo_closure_invoke
    at bonobo-types.c line 478
  • #12 impl_Bonobo_UIComponent_execVerb
    at bonobo-ui-component.c line 158
  • #13 _ORBIT_skel_small_Bonobo_UIComponent_execVerb
    at Bonobo-common.c line 1196
  • #14 ORBit_c_stub_invoke
    at poa.c line 2627
  • #15 Bonobo_UIComponent_execVerb
    at Bonobo-stubs.c line 1227
  • #16 real_exec_verb
    at bonobo-ui-engine.c line 1533
  • #17 impl_emit_verb_on
    at bonobo-ui-engine.c line 1591
  • #18 g_cclosure_marshal_VOID__POINTER
    at gmarshal.c line 601
  • #19 g_type_class_meta_marshal
    at gclosure.c line 514
  • #20 g_closure_invoke
    at gclosure.c line 437
  • #21 signal_emit_unlocked_R
    at gsignal.c line 2474
  • #22 g_signal_emit_valist
    at gsignal.c line 2195
  • #23 g_signal_emit
    at gsignal.c line 2239
  • #24 bonobo_ui_engine_emit_verb_on_w
    at bonobo-ui-engine.c line 3040
  • #25 exec_verb_cb
    at bonobo-ui-sync-toolbar.c line 191
  • #26 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #27 g_closure_invoke
    at gclosure.c line 437
  • #28 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #29 g_signal_emit_valist
    at gsignal.c line 2195
  • #30 g_signal_emit
    at gsignal.c line 2239
  • #31 bonobo_ui_toolbar_item_activate
    at bonobo-ui-toolbar-item.c line 446
  • #32 button_widget_clicked_cb
    at bonobo-ui-toolbar-button-item.c line 217
  • #33 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #34 g_closure_invoke
    at gclosure.c line 437
  • #35 signal_emit_unlocked_R
    at gsignal.c line 2436
  • #36 g_signal_emit_valist
    at gsignal.c line 2195
  • #37 g_signal_emit
    at gsignal.c line 2239
  • #38 gtk_button_clicked
    at gtkbutton.c line 703
  • #39 gtk_real_button_released
    at gtkbutton.c line 1190
  • #40 g_cclosure_marshal_VOID__VOID
    at gmarshal.c line 77
  • #41 g_type_class_meta_marshal
    at gclosure.c line 514
  • #42 g_closure_invoke
    at gclosure.c line 437
  • #43 signal_emit_unlocked_R
    at gsignal.c line 2366
  • #44 g_signal_emit_valist
    at gsignal.c line 2195
  • #45 g_signal_emit
    at gsignal.c line 2239
  • #46 gtk_button_released
    at gtkbutton.c line 695
  • #47 gtk_button_button_release
    at gtkbutton.c line 1106
  • #48 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 82
  • #49 g_type_class_meta_marshal
    at gclosure.c line 514
  • #50 g_closure_invoke
    at gclosure.c line 437
  • #51 signal_emit_unlocked_R
    at gsignal.c line 2474
  • #52 g_signal_emit_valist
    at gsignal.c line 2205
  • #53 g_signal_emit
    at gsignal.c line 2239
  • #54 gtk_widget_event_internal
    at gtkwidget.c line 3560
  • #55 gtk_propagate_event
    at gtkmain.c line 2349
  • #56 gtk_main_do_event
    at gtkmain.c line 1581
  • #57 gdk_event_dispatch
    at gdkevents-x11.c line 2136
  • #58 g_main_dispatch
    at gmain.c line 1763
  • #59 g_main_context_dispatch
    at gmain.c line 2307
  • #60 g_main_context_iterate
    at gmain.c line 2388
  • #61 g_main_loop_run
    at gmain.c line 2608
  • #62 gtk_main
    at gtkmain.c line 1171
  • #63 main
    at gnome-recorder.c line 205
  • #64 __libc_start_main
    from /lib/libc.so.6

I hope that it will help you =)
Comment 27 Ronald Bultje 2004-03-06 21:15:21 UTC
The hang sounds like a bug, that's probabyl something we can debug.
Thanks for reporting.
Comment 28 Ronald Bultje 2004-03-12 17:52:54 UTC
johan claims he fixed this. Care to give current CVS a try? :).
Comment 29 Johan (not receiving bugmail) Dahlin 2004-03-12 17:57:26 UTC
Yeah, this should be fixed. Closing. If you can still reproduce, reopn.