[Pkg-gtkpod-devel] Bug#599672: libgpod4: segfaults while saving DB in mhod52_make_collate_keys
Yaroslav Halchenko
debian at onerussian.com
Sat Oct 9 23:48:17 UTC 2010
Package: libgpod4
Version: 0.7.95-1.1~debug
Severity: important
Tags: upstream
well -- my situation is somewhat uncommon I guess -- I have injected some
podcasts using Sync function in gpodder. Moreover I have done it twice so it
generated (I think) multiple identical entries. Whenever I open gtkpod -- it
complains about multiple identical entries, I am removing them and trying to
save and then it all segfaults. Here is the context:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4693c4c in mhod52_make_collate_keys (tracks=0x1094c60) at ../../../src/itdb_itunesdb.c:4145
4145 if (tr->sort_album && *tr->sort_album)
(gdb) bt
#0 0x00007ffff4693c4c in mhod52_make_collate_keys (tracks=0x1094c60) at ../../../src/itdb_itunesdb.c:4145
#1 0x00007ffff46975a1 in write_playlist (fexp=0x138ccb0, pl=0x10706f0, mhsd_type=3) at ../../../src/itdb_itunesdb.c:5397
#2 0x00007ffff46978d3 in write_mhsd_playlists (fexp=0x138ccb0, mhsd_type=3) at ../../../src/itdb_itunesdb.c:5470
#3 0x00007ffff4698685 in itdb_write_file_internal (itdb=0xf3a4f0, filename=0x13229b0 "/media/YULIYA'S IP/iPod_Control/iTunes/iTunesDB", error=0x7fffffffc840) at ../../../src/itdb_itunesdb.c:5829
#4 0x00007ffff4698bb5 in itdb_write (itdb=0xf3a4f0, error=0x7fffffffc840) at ../../../src/itdb_itunesdb.c:6008
#5 0x0000000000455f84 in gp_save_itdb ()
#6 0x00000000004569b7 in handle_export ()
#7 0x00007ffff575447e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#8 0x00007ffff576a3f7 in ?? () from /usr/lib/libgobject-2.0.so.0
#9 0x00007ffff576ba76 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#10 0x00007ffff576bd93 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#11 0x00007ffff575447e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#12 0x00007ffff576a3f7 in ?? () from /usr/lib/libgobject-2.0.so.0
#13 0x00007ffff576ba76 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#14 0x00007ffff576bfc3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#15 0x00007ffff73fe235 in gtk_real_button_released (button=0x10) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkbutton.c:1725
#16 0x00007ffff575447e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#17 0x00007ffff5769cc1 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0x00007ffff576ba76 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#19 0x00007ffff576bfc3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#20 0x00007ffff73fcf3d in gtk_button_button_release (widget=0x10, event=0x145e940) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkbutton.c:1617
#21 0x00007ffff74a9c18 in _gtk_marshal_BOOLEAN__BOXED (closure=0x6f5220, return_value=0x7fffffffd6c0, n_param_values=<value optimized out>, param_values=0x1080cc0,
invocation_hint=<value optimized out>, marshal_data=0x7ffff73fcf20) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkmarshalers.c:84
#22 0x00007ffff575447e in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0x00007ffff576a040 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0x00007ffff576b8bd in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0x00007ffff576bfc3 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0x00007ffff75bff3f in gtk_widget_event_internal (widget=0x71cd80, event=0xe54520) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkwidget.c:4943
#27 0x00007ffff74a2103 in IA__gtk_propagate_event (widget=0x71cd80, event=0xe54520) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkmain.c:2442
#28 0x00007ffff74a31bb in IA__gtk_main_do_event (event=0xe54520) at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkmain.c:1647
#29 0x00007ffff71173bc in gdk_event_dispatch (source=<value optimized out>, callback=<value optimized out>, user_data=<value optimized out>)
at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gdk/x11/gdkevents-x11.c:2372
#30 0x00007ffff4e9a6f2 in g_main_context_dispatch () from /lib/libglib-2.0.so.0
#31 0x00007ffff4e9e568 in ?? () from /lib/libglib-2.0.so.0
#32 0x00007ffff4e9ea75 in g_main_loop_run () from /lib/libglib-2.0.so.0
#33 0x00007ffff74a3657 in IA__gtk_main () at /build/buildd-gtk+2.0_2.20.1-1+b1-amd64-3ZYTFH/gtk+2.0-2.20.1/gtk/gtkmain.c:1219
#34 0x000000000045b2b2 in main ()
*(gdb) l
4140
4141 ct = g_new0 (struct mhod52track, 1);
4142 coltracks = g_list_prepend (coltracks, ct);
4143
4144 /* album */
4145 if (tr->sort_album && *tr->sort_album)
4146 {
4147 ct->album = g_utf8_collate_key (tr->sort_album, -1);
4148 ct->letter_album = jump_table_letter (tr->sort_album);
4149 }
(gdb) p *tr
$1 = {itdb = 0x7ffff3ff3f00, title = 0x7ffff3ff3fa8 "\230?\377\363\377\177", ipod_path = 0x4e0000004d <Address 0x4e0000004d out of bounds>, album = 0x51 <Address 0x51 out of bounds>,
artist = 0x1067c80 "",
genre = 0x1067ca0 "OE:=BFBKF:D:KHO:C:>=NS:MNF:GHF\001", '\021' <repeats 30 times>, "\001\t\002\002\002\002\002\002\002\t\002\002\002\002\002\002\t", '\002' <repeats 14 times>, "\001\001п\tФ\bс\001Ф\001Щ\001Ф\002Ф\003Ф\004Ф\003Ф", filetype = 0x1067d80 "", comment = 0x1067da0 "", category = 0x1067dc0 "", composer = 0x0,
grouping = 0x2db00000018 <Address 0x2db00000018 out of bounds>, description = 0x30003000560030 <Address 0x30003000560030 out of bounds>, podcasturl = 0x30 <Address 0x30 out of bounds>,
podcastrss = 0x21 <Address 0x21 out of bounds>, chapterdata = 0x7ffff3ff3e00, subtitle = 0x7ffff3ff3e98 "\340\351E\001", tvshow = 0x1100000011 <Address 0x1100000011 out of bounds>,
tvepisode = 0x91 <Address 0x91 out of bounds>, tvnetwork = 0x4b4246423d3a454f <Address 0x4b4246423d3a454f out of bounds>,
albumartist = 0x3a4f484b3a443a46 <Address 0x3a4f484b3a443a46 out of bounds>, keywords = 0x4d3a534e3d3e3a43 <Address 0x4d3a534e3d3e3a43 out of bounds>,
sort_artist = 0x11014648473a464e <Address 0x11014648473a464e out of bounds>, sort_title = 0x1111111111111111 <Address 0x1111111111111111 out of bounds>,
sort_album = 0x1111111111111111 <Address 0x1111111111111111 out of bounds>, sort_albumartist = 0x1111111111111111 <Address 0x1111111111111111 out of bounds>,
sort_composer = 0x209011111111111 <Address 0x209011111111111 out of bounds>, sort_tvshow = 0x209020202020202 <Address 0x209020202020202 out of bounds>, id = 33686018, size = 33687810,
tracklen = 33686018, cd_nr = 33686018, cds = 33686018, track_nr = -1076887295, tracks = 145018889, bitrate = -805207599, samplerate = 420, samplerate_low = 43472, year = 44355585,
volume = -805067568, soundcheck = 2765096100, time_added = 10801155, time_modified = 144, time_played = 81, bookmark_time = 976963660, rating = 1312504388, playcount = 1295923791,
playcount2 = 978079300, recent_playcount = 1128153404, transferred = 286331137, BPM = 4369, app_rating = 17 '\021', type1 = 17 '\021', type2 = 17 '\021', compilation = 17 '\021',
starttime = 286331153, stoptime = 286331153, checked = 17 '\021', dbid = 144680345676153346, drm_userid = 33686018, visible = 117506562, filetype_marker = 3490161872, artwork_count = 164,
artwork_size = 33, samplerate2 = 0, unk126 = 16896, unk132 = 32767, time_released = 140737286980232, unk144 = 32112, explicit_flag = 262, unk148 = 0, unk152 = 33, skipcount = 0,
recent_skipcount = 4093591040, last_skipped = 32767, has_artwork = 152 '\230', skip_when_shuffling = 62 '>', remember_playback_position = 255 '\377', flag4 = 243 '\363', dbid2 = 416611827819,
lyrics_flag = 33 '!', movie_flag = 0 '\000', mark_unplayed = 0 '\000', unk179 = 0 '\000', unk180 = 0, pregap = 4093591040, samplecount = 140737286979224, unk196 = 32, postgap = 65,
unk204 = 81, mediatype = 0, season_nr = 17202736, episode_nr = 0, unk220 = 17203056, unk224 = 0, unk228 = 17202848, unk232 = 0, unk236 = 17202880, unk240 = 0, unk244 = 17202912,
gapless_data = 0, unk252 = 0, gapless_track_flag = 0, gapless_album_flag = 0, obsolete = 25, artwork = 0x30003000570030, mhii_link = 48, reserved_int1 = 0, reserved_int2 = 33,
reserved_int3 = 0, reserved_int4 = -201376256, reserved_int5 = 32767, reserved_int6 = -201376104, priv = 0x4600000042, reserved2 = 0x51, reserved3 = 0x106b270, reserved4 = 0x1067f30,
reserved5 = 0x1139320, reserved6 = 0x1427250, usertype = 17203232, userdata = 0x0, userdata_duplicate = 0x2db0000001a, userdata_destroy = 0x42004e00550049}
(gdb) p tr->sort_album
$2 = (gchar *) 0x1111111111111111 <Address 0x1111111111111111 out of bounds>
(gdb) p *tr->sort_album
Cannot access memory at address 0x1111111111111111
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (901, 'unstable'), (900, 'testing'), (300, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages libgpod4 depends on:
ii libc6 2.11.2-2 Embedded GNU C Library: Shared lib
ii libglib2.0-0 2.24.2-1 The GLib library of C routines
ii libgtk2.0-0 2.20.1-1+b1 The GTK+ graphical user interface
ii libimobiledevice1 1.0.2-1 Library for communicating with the
ii libplist1 1.3-1 Library for handling Apple binary
ii libsqlite3-0 3.7.2-1 SQLite 3 shared library
ii libxml2 2.7.7.dfsg-4 GNOME XML library
ii zlib1g 1:1.2.5.dfsg-1 compression library - runtime
Versions of packages libgpod4 recommends:
ii libgpod-common 0.7.93-0.3 common files for libgpod
libgpod4 suggests no packages.
-- no debconf information
More information about the Pkg-gtkpod-devel
mailing list