rhythmbox crashed with SIGFPE in g_hash_table_lookup_node()

Bug #985264 reported by Konstantin Renner on 2012-04-18
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
glib2.0 (Ubuntu)
High
Unassigned

Bug Description

Syncing with Galaxy Nexus using MTP

#0 0x00007f6d4014b74c in g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x7f6d18257ba0, hash_table=0x31f5860) at /build/buildd/glib2.0-2.32.1/./glib/ghash.c:407
        node_hash = <optimized out>
        hash_value = 405109664
        have_tombstone = 0
        step = 0
        node_index = <optimized out>
        first_tombstone = 0
#1 g_hash_table_remove_internal (hash_table=0x31f5860, key=0x7f6d18257ba0, notify=1) at /build/buildd/glib2.0-2.32.1/./glib/ghash.c:1269
        node_hash = 405109664
#2 0x00007f6d40ee056c in remove_child (data=<optimized out>, parent=<optimized out>) at rhythmdb-tree.c:1517
        _g_boolean_var_ = <optimized out>
#3 0x00007f6d40ee0601 in remove_entry_from_album (db=<optimized out>, entry=0x7f6d18257ba0) at rhythmdb-tree.c:1538
        table = 0x3093180
        __PRETTY_FUNCTION__ = "remove_entry_from_album"
#4 0x00007f6d40ee42d5 in rhythmdb_tree_entry_set (adb=<optimized out>, entry=0x7f6d18257ba0, propid=<optimized out>, value=<optimized out>) at rhythmdb-tree.c:1611
        artist = <optimized out>
        genre = <optimized out>
        albumname = 0x7f6d1466ad0d "Unknown"
        db = 0x8bc300
        type = 0x22dca80
        __PRETTY_FUNCTION__ = "rhythmdb_tree_entry_set"
#5 0x00007f6d40ecf7a5 in rhythmdb_entry_set_internal (db=0x8bc300, entry=0x7f6d18257ba0, notify_if_inserted=<optimized out>, propid=5, value=0x7f6c9bdfa9c0) at rhythmdb.c:3358
        klass = 0x9ec000
        handled = <optimized out>
        podcast = 0x0
        conv_value = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        old_value = {g_type = 0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}}
        nop = <optimized out>
        __PRETTY_FUNCTION__ = "rhythmdb_entry_set_internal"
#6 0x00007f6d14665165 in entry_set_string_prop (db=0x8bc300, entry=0x7f6d18257ba0, propid=RHYTHMDB_PROP_ALBUM, str=0x7f6d1466ad0d "Unknown") at rb-mtp-source.c:654
        value = {g_type = 64, data = {{v_int = 342273293, v_uint = 342273293, v_long = 140106470436109, v_ulong = 140106470436109, v_int64 = 140106470436109, v_uint64 = 140106470436109, v_float = 1.16461608e-26, v_double = 6.9221793802553708e-310, v_pointer = 0x7f6d1466ad0d}, {v_int = 134217728, v_uint = 134217728, v_long = 134217728, v_ulong = 134217728, v_int64 = 134217728, v_uint64 = 134217728, v_float = 3.85185989e-34, v_double = 6.631236846766476e-316, v_pointer = 0x8000000}}}

ProblemType: Crash
DistroRelease: Ubuntu 12.04
Package: rhythmbox 2.96-0ubuntu4
ProcVersionSignature: Ubuntu 3.2.0-23.36-generic 3.2.14
Uname: Linux 3.2.0-23-generic x86_64
ApportVersion: 2.0.1-0ubuntu4
Architecture: amd64
CrashCounter: 1
Date: Wed Apr 18 23:55:47 2012
ExecutablePath: /usr/bin/rhythmbox
InstallationMedia: Ubuntu 12.04 LTS "Precise Pangolin" - Beta amd64 (20120301)
ProcCmdline: /usr/bin/rhythmbox
Signal: 8
SourcePackage: rhythmbox
StacktraceTop:
 ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
 ?? () from /usr/lib/librhythmbox-core.so.5
 ?? () from /usr/lib/librhythmbox-core.so.5
 ?? () from /usr/lib/librhythmbox-core.so.5
 rhythmdb_entry_set_internal () from /usr/lib/librhythmbox-core.so.5
Title: rhythmbox crashed with SIGFPE in rhythmdb_entry_set_internal()
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dialout dip fuse lpadmin plugdev sambashare sudo

Konstantin Renner (konsti) wrote :

StacktraceTop:
 g_hash_table_lookup_node (hash_return=<synthetic pointer>, key=0x7f6d18257ba0, hash_table=0x31f5860) at /build/buildd/glib2.0-2.32.1/./glib/ghash.c:407
 g_hash_table_remove_internal (hash_table=0x31f5860, key=0x7f6d18257ba0, notify=1) at /build/buildd/glib2.0-2.32.1/./glib/ghash.c:1269
 remove_child (data=<optimized out>, parent=<optimized out>) at rhythmdb-tree.c:1517
 remove_entry_from_album (db=<optimized out>, entry=0x7f6d18257ba0) at rhythmdb-tree.c:1538
 rhythmdb_tree_entry_set (adb=<optimized out>, entry=0x7f6d18257ba0, propid=<optimized out>, value=<optimized out>) at rhythmdb-tree.c:1611

Changed in rhythmbox (Ubuntu):
importance: Undecided → Medium
summary: - rhythmbox crashed with SIGFPE in rhythmdb_entry_set_internal()
+ rhythmbox crashed with SIGFPE in g_hash_table_lookup_node()
tags: removed: need-amd64-retrace
Bryce Harrington (bryce) on 2012-06-02
description: updated
description: updated
Bryce Harrington (bryce) on 2012-06-02
visibility: private → public
Changed in rhythmbox (Ubuntu):
importance: Medium → High
Bryce Harrington (bryce) wrote :

405: *hash_return = hash_value;
406:
407: node_index = hash_value % hash_table->mod; /* SIGFPE */
408: node_hash = hash_table->hashes[node_index];

Attached patch should fix it.

Changed in rhythmbox (Ubuntu):
status: New → In Progress
status: In Progress → Triaged
tags: added: patch
Iain Lane (laney) on 2012-06-04
affects: rhythmbox (Ubuntu) → glib2.0 (Ubuntu)
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers