Could you please attach this bug to the gitg gnome bugzilla? 2012/5/22 Adrian Knoth <[email protected]>: > Package: gitg > Version: 0.2.4-1.1 > Severity: important > Tags: patch > > Hi! > > Recently (maybe after the introduction of GTK3 in Debian), gitg has > started to crash when staging individual hunks. > > Here's the backtrace. Obviously, the iter variable is not set. > Without carefully reading the source code, I came up with the attached > patch that fixes the issue for me, but maybe the upstream author wants > to have a look and propose a better solution, if any. > > > Cheers > > PS: To ease the Debian maintainer's life, the patch already contains > some DEP-3 fields. > > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff76ed660 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > (gdb) bt > #0 0x00007ffff76ed660 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #1 0x00007ffff77042bc in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #2 0x00007ffff7704ffb in gtk_text_iter_get_line () > from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #3 0x000000000042c5db in gitg_diff_view_get_header_at_iter (view=0x818110, > iter=0x8021f8, diff_iter=0x7fffffffd2a0) at gitg-diff-view.c:1404 > #4 0x0000000000423976 in get_patch_header (view=0x802000, buffer=0x8431c0, > iter=0x8021f8) at gitg-commit-view.c:675 > #5 0x0000000000423ab5 in get_hunk_patch (view=0x802000, iter=0x8021f8) > at gitg-commit-view.c:711 > #6 0x000000000042426d in handle_stage_unstage (view=0x802000, iter=0x8021f8) > at gitg-commit-view.c:922 > #7 0x0000000000427afc in on_stage_changes (action=0x7fffe8041040, > view=0x802000) at gitg-commit-view.c:2257 > #8 0x00007ffff591c724 in g_closure_invoke () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #9 0x00007ffff592d7b0 in ?? () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #10 0x00007ffff593572c in g_signal_emit_valist () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #11 0x00007ffff59358c2 in g_signal_emit () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #12 0x00007ffff75776f3 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #13 0x00007ffff591ca03 in ?? () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #14 0x00007ffff5935076 in g_signal_emit_valist () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #15 0x00007ffff59358c2 in g_signal_emit () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #16 0x00007ffff778382c in gtk_widget_activate () > from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #17 0x00007ffff767706e in gtk_menu_shell_activate_item () > from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #18 0x00007ffff767740b in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #19 0x00007ffff765c39f in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #20 0x00007ffff591ca03 in ?? () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #21 0x00007ffff5935076 in g_signal_emit_valist () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #22 0x00007ffff59358c2 in g_signal_emit () > from /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 > #23 0x00007ffff778442e in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #24 0x00007ffff765a305 in ?? () from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #25 0x00007ffff765bf73 in gtk_main_do_event () > from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #26 0x00007ffff72a5002 in ?? () from /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 > #27 0x00007ffff565e205 in g_main_context_dispatch () > from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #28 0x00007ffff565e538 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #29 0x00007ffff565e932 in g_main_loop_run () > from /lib/x86_64-linux-gnu/libglib-2.0.so.0 > #30 0x00007ffff765b2d5 in gtk_main () > from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 > #31 0x0000000000419d71 in main (argc=1, argv=0x7fffffffe498) at gitg.c:206 > > (gdb) frame 3 > #3 0x000000000042c5db in gitg_diff_view_get_header_at_iter (view=0x818110, > iter=0x8021f8, diff_iter=0x7fffffffd2a0) at gitg-diff-view.c:1404 > 1404 ensure_scan (view, gtk_text_iter_get_line (iter)); > (gdb) list > 1399 if (!view->priv->diff_enabled) > 1400 { > 1401 return FALSE; > 1402 } > 1403 > 1404 ensure_scan (view, gtk_text_iter_get_line (iter)); > 1405 > 1406 Region *region = find_current_region (view, > gtk_text_iter_get_line (iter)); > 1407 > 1408 while (region && region->type == GITG_DIFF_ITER_TYPE_HUNK) > (gdb) p iter > $1 = (const GtkTextIter *) 0x8021f8 > (gdb) p view > $2 = (GitgDiffView *) 0x818110 > (gdb) p *iter > $3 = {dummy1 = 0x0, dummy2 = 0x0, dummy3 = 0, dummy4 = 0, dummy5 = 0, > dummy6 = 0, dummy7 = 0, dummy8 = 0, dummy9 = 0x0, dummy10 = 0x0, > dummy11 = 0, dummy12 = 0, dummy13 = 0, dummy14 = 0x0} > > > > -- System Information: > Debian Release: wheezy/sid > APT prefers unstable > APT policy: (500, 'unstable'), (500, 'testing') > Architecture: amd64 (x86_64) > > Kernel: Linux 3.2.2 (SMP w/8 CPU cores; PREEMPT) > Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to > en_US.UTF-8) > Shell: /bin/sh linked to /bin/dash > > Versions of packages gitg depends on: > ii dbus-x11 1.5.12-1 > ii dconf-gsettings-backend [gsettings-backend] 0.12.1-1 > ii git 1:1.7.10-1 > ii gsettings-desktop-schemas 3.4.2-1 > ii libatk1.0-0 2.4.0-2 > ii libc6 2.13-32 > ii libcairo-gobject2 1.12.2-2 > ii libcairo2 1.12.2-2 > ii libdconf0 0.12.1-1 > ii libgdk-pixbuf2.0-0 2.26.1-1 > ii libglib2.0-0 2.32.3-1 > ii libgtk-3-0 3.4.2-1 > ii libgtksourceview-3.0-0 3.4.2-1 > ii libpango1.0-0 1.30.0-1 > > gitg recommends no packages. > > gitg suggests no packages. > > -- no debconf information
-- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

