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 510236 - rhythmbox crashed with SIGSEGV in rhythmdb_entry_allocate()
rhythmbox crashed with SIGSEGV in rhythmdb_entry_allocate()
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
0.11.x
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 535261 536336 540102 540647 542467 542936 543343 548510 548521 549220 552795 553127 558972 563641 563644 570460 570463 570464 580106 580397 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-01-17 17:51 UTC by Pedro Villavicencio
Modified: 2009-04-27 08:28 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
no allocate error entry for RHYTHMDB_EVENT_METADATA_LOAD events (1018 bytes, patch)
2008-12-21 11:54 UTC, Yuriy Penkin
rejected Details | Review
set error_type and ignore_type for all errors (537 bytes, patch)
2008-12-30 21:16 UTC, Yuriy Penkin
rejected Details | Review

Description Pedro Villavicencio 2008-01-17 17:51:02 UTC
The report has been filled here: 

https://bugs.launchpad.net/ubuntu/+source/rhythmbox/+bug/183797

"Rhythmbox was reading my Music folder and importing the metadata in the database for the first time when it crashed. I was also playing an mp3 file at the time. I was NOT using the crossfading engine by the way,"

rhythmbox version 0.11.4

"#0  rhythmdb_entry_allocate (db=0x828e000, type=0x0) at rhythmdb.c:1206
	size = <value optimized out>
  • #1 rhythmdb_entry_new
  • #2 rhythmdb_add_import_error_entry
    at rhythmdb.c line 1851
  • #3 rhythmdb_process_metadata_load_real
    at rhythmdb.c line 1891
  • #4 rhythmdb_process_one_event
    at rhythmdb.c line 2063
  • #5 rb_async_queue_watch_dispatch
    at rb-async-queue-watch.c line 61
  • #6 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.15.2/glib/gmain.c line 2064
  • #7 g_main_context_iterate
    at /build/buildd/glib2.0-2.15.2/glib/gmain.c line 2697
  • #8 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.15.2/glib/gmain.c line 2905
  • #9 IA__gtk_main
    at /build/buildd/gtk+2.0-2.12.3/gtk/gtkmain.c line 1163
  • #10 main
    at main.c line 327

Comment 1 Jonathan Matthew 2008-01-27 02:16:28 UTC
Probably fixed in svn:

2008-01-27  Jonathan Matthew  <jonathan@d14n.org>

        * rhythmdb/rhythmdb.c: (rhythmdb_add_import_error_entry),
        (rhythmdb_missing_plugins_cb), (default_sync_metadata):
        Don't pass in NULL for error/ignore entry types, and if we don't have
        a valid entry type for error entries, don't create one.  Probably
        fixes #510236.
Comment 2 Susana 2008-06-07 12:16:24 UTC
*** Bug 536336 has been marked as a duplicate of this bug. ***
Comment 3 Jonathan Matthew 2008-06-08 10:29:32 UTC
*** Bug 535261 has been marked as a duplicate of this bug. ***
Comment 4 Susana 2008-06-26 18:49:14 UTC
*** Bug 540102 has been marked as a duplicate of this bug. ***
Comment 5 Susana 2008-07-13 22:04:40 UTC
*** Bug 542467 has been marked as a duplicate of this bug. ***
Comment 6 Susana 2008-07-13 22:04:53 UTC
*** Bug 540647 has been marked as a duplicate of this bug. ***
Comment 7 Susana 2008-07-21 23:12:34 UTC
*** Bug 542936 has been marked as a duplicate of this bug. ***
Comment 8 André Klapper 2008-08-21 14:59:55 UTC
This is NOT fixed in version 0.11.5, see the duplicates listed. Reopening.
Comment 9 André Klapper 2008-08-21 15:00:20 UTC
*** Bug 543343 has been marked as a duplicate of this bug. ***
Comment 10 André Klapper 2008-08-21 15:00:30 UTC
*** Bug 548510 has been marked as a duplicate of this bug. ***
Comment 11 André Klapper 2008-08-21 15:00:40 UTC
*** Bug 548521 has been marked as a duplicate of this bug. ***
Comment 12 Anton Zinoviev 2008-09-10 16:42:11 UTC
The following is to confirm that in Debian the bug still exists in version 0.11.6 (my former report was about version 0.11.5).

Distribution: Debian lenny/sid
Gnome Release: 2.22.3 2008-06-30 (Debian)
BugBuddy Version: 2.22.0

System: Linux 2.6.25-2-amd64 #1 SMP Fri Jun 27 04:49:22 UTC 2008 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 10402000
Selinux: No
Accessibility: Disabled
GTK+ Theme: Yattacier3
Icon Theme: NoiaWarm

Memory status: size: 171429888 vsize: 171429888 resident: 40894464 share: 18538496 rss: 40894464 rss_rlim: 18446744073709551615
CPU usage: start_time: 1221064673 rtime: 254 utime: 220 stime: 34 cutime:4 cstime: 3 timeout: 0 it_real_value: 0 frequency: 100

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

[Thread debugging using libthread_db enabled]
[New Thread 0xf6595740 (LWP 10977)]
[New Thread 0xf0dfbb90 (LWP 11050)]
[New Thread 0xf1dfdb90 (LWP 11049)]
[New Thread 0xf15fcb90 (LWP 11048)]
[New Thread 0xf25feb90 (LWP 11047)]
[New Thread 0xeedf7b90 (LWP 11032)]
[New Thread 0xef5f8b90 (LWP 11030)]
[New Thread 0xefdf9b90 (LWP 11029)]
[New Thread 0xf05fab90 (LWP 11028)]
[New Thread 0xf4dd3b90 (LWP 11025)]
[New Thread 0xf2dffb90 (LWP 11009)]
[New Thread 0xf37ffb90 (LWP 11008)]
[New Thread 0xf5ecdb90 (LWP 11007)]
[New Thread 0xf41ffb90 (LWP 10992)]
0xf7f4f430 in __kernel_vsyscall ()

Thread 1 (Thread 0xf6595740 (LWP 10977))

  • #0 __kernel_vsyscall
  • #1 waitpid
    from /lib/i686/cmov/libpthread.so.0
  • #2 IA__g_spawn_sync
    at /build/buildd/glib2.0-2.16.3/glib/gspawn.c line 374
  • #3 IA__g_spawn_command_line_sync
    at /build/buildd/glib2.0-2.16.3/glib/gspawn.c line 682
  • #4 ??
    from /usr/lib/gtk-2.0/modules/libgnomebreakpad.so
  • #5 <signal handler called>
  • #6 rhythmdb_entry_allocate
    at rhythmdb.c line 1218
  • #7 rhythmdb_entry_new
    at rhythmdb.c line 1329
  • #8 rhythmdb_add_import_error_entry
    at rhythmdb.c line 1866
  • #9 rhythmdb_process_metadata_load_real
    at rhythmdb.c line 1906
  • #10 IA__g_cclosure_marshal_VOID__BOOLEAN
    at /build/buildd/glib2.0-2.16.3/gobject/gmarshal.c line 111
  • #11 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.16.3/gobject/gclosure.c line 490
  • #12 rb_plugin_install_done
    at rb-missing-plugins.c line 101
  • #13 on_plugin_installation_done
    at rb-missing-plugins.c line 174
  • #14 gst_install_plugins_installer_exited
    at install-plugins.c line 586
  • #15 g_child_watch_dispatch
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 3806
  • #16 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2009
  • #17 g_main_context_iterate
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2642
  • #18 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.16.3/glib/gmain.c line 2850
  • #19 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 main
    at main.c line 335
  • #0 __kernel_vsyscall

Comment 13 Jonathan Matthew 2008-09-23 10:46:57 UTC
*** Bug 553127 has been marked as a duplicate of this bug. ***
Comment 14 Jonathan Matthew 2008-09-23 10:47:26 UTC
*** Bug 549220 has been marked as a duplicate of this bug. ***
Comment 15 Jonathan Matthew 2008-09-23 10:47:43 UTC
*** Bug 552795 has been marked as a duplicate of this bug. ***
Comment 16 Jonathan Matthew 2008-11-02 21:56:56 UTC
*** Bug 558972 has been marked as a duplicate of this bug. ***
Comment 17 Jonathan Matthew 2008-12-08 06:20:59 UTC
*** Bug 563641 has been marked as a duplicate of this bug. ***
Comment 18 Jonathan Matthew 2008-12-08 08:05:01 UTC
*** Bug 563644 has been marked as a duplicate of this bug. ***
Comment 19 Yuriy Penkin 2008-12-21 11:54:04 UTC
Created attachment 125089 [details] [review]
no allocate error entry for RHYTHMDB_EVENT_METADATA_LOAD events

event with type RHYTHMDB_EVENT_METADATA_LOAD have NULL error_type and ignore_type fields (maybe not always, I don't know). rhythmdb_entry_new:1499 crash because of try to a get size of entry depends on error_type.
Comment 20 Jonathan Matthew 2008-12-21 12:12:05 UTC
No, that won't work at all.  We *only* create import error entries in response to metadata load events, so this is not the right solution.
Comment 21 Yuriy Penkin 2008-12-30 21:16:42 UTC
Created attachment 125550 [details] [review]
set error_type and ignore_type for all errors
Comment 22 Jonathan Matthew 2009-01-01 09:55:15 UTC
This appears to set the error and ignore types to 'invalid' for all metadata load operations, so it completely disables all processing of import errors and files that should be ignored.

To fix this, we need to understand how a metadata event arrives with one or both of those fields set to NULL.  Blindly hacking things won't help.
Comment 23 Jonathan Matthew 2009-02-04 05:39:37 UTC
*** Bug 570460 has been marked as a duplicate of this bug. ***
Comment 24 Jonathan Matthew 2009-02-04 07:02:11 UTC
*** Bug 570463 has been marked as a duplicate of this bug. ***
Comment 25 Jonathan Matthew 2009-02-04 07:02:51 UTC
*** Bug 570464 has been marked as a duplicate of this bug. ***
Comment 26 Jonathan Matthew 2009-03-25 22:09:33 UTC
Finally figured it out.

2009-03-26  Jonathan Matthew  <jonathan@d14n.org>

        * plugins/generic-player/rb-nokia770-source.c:
        (rb_nokia770_source_new):
        * plugins/generic-player/rb-psp-source.c: (rb_psp_source_new):
        Set the ignore and error entry types for these to 'invalid' rather 
        than leaving them NULL.  Fixes #510236.
Comment 27 Jonathan Matthew 2009-04-24 12:26:47 UTC
*** Bug 580106 has been marked as a duplicate of this bug. ***
Comment 28 Jonathan Matthew 2009-04-27 08:28:44 UTC
*** Bug 580397 has been marked as a duplicate of this bug. ***