Your message dated Thu, 06 Jun 2013 18:47:05 +0000
with message-id <[email protected]>
and subject line Bug#674001: fixed in gitg 0.2.4-1.1+deb7u1
has caused the Debian Bug report #674001,
regarding gitg: Segfault when staging individual hunks
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
674001: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=674001
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
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
From: Adrian Knoth <[email protected]>
Forwarded-Upstream: please_forward
Bugs-Debian: your_bts_bugnumber_goes_here
Last-Update: 2012-05-22
Description: Fix segfault when staging individual hunk
--- a/gitg/gitg-commit-view.c
+++ b/gitg/gitg-commit-view.c
@@ -2254,6 +2254,9 @@ on_stage_changes(GtkAction *action, GitgCommitView *view)
 	}
 	else
 	{
+		gboolean is_hunk;
+
+		get_info_at_pointer (view, &view->priv->context_iter, &is_hunk, NULL, NULL);
 		handle_stage_unstage(view, &view->priv->context_iter);
 	}
 }

--- End Message ---
--- Begin Message ---
Source: gitg
Source-Version: 0.2.4-1.1+deb7u1

We believe that the bug you reported is fixed in the latest version of
gitg, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Dmitry Smirnov <[email protected]> (supplier of updated gitg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Thu, 06 Jun 2013 18:56:48 +1000
Source: gitg
Binary: gitg
Architecture: source amd64
Version: 0.2.4-1.1+deb7u1
Distribution: stable
Urgency: low
Maintainer: Jonny Lamb <[email protected]>
Changed-By: Dmitry Smirnov <[email protected]>
Description: 
 gitg       - git repository viewer for gtk+/GNOME
Closes: 674001 705886
Changes: 
 gitg (0.2.4-1.1+deb7u1) stable; urgency=low
 .
   * Replaced incorrect "ftbfs" patch to fix run-time crashes
     and drag'n'drop functionality (Closes: #705886, #674001).
Checksums-Sha1: 
 fb843cd832ade213a768341e918c439f623955dd 1997 gitg_0.2.4-1.1+deb7u1.dsc
 72e7cf4b2fe554ef548539f60bdfb7cc79706a23 6075 
gitg_0.2.4-1.1+deb7u1.debian.tar.gz
 d67bf546144a5cec0d614dd4eb92d96b604e69a8 293200 gitg_0.2.4-1.1+deb7u1_amd64.deb
Checksums-Sha256: 
 4174cfd9957ae27c8d5c13bc3eb43d25c3cc1489ea7f1ba73679a35ceeca223f 1997 
gitg_0.2.4-1.1+deb7u1.dsc
 6487548f947b4bff609461e26d7840dfa90ca41fd0297f406244574b2db6730c 6075 
gitg_0.2.4-1.1+deb7u1.debian.tar.gz
 c67fa83ecd63da3bb0b0993b5e92d8c646815ecab6c50dea5197e00e96858085 293200 
gitg_0.2.4-1.1+deb7u1_amd64.deb
Files: 
 24f99acf799aa350bf4ee20b7da15e23 1997 vcs optional gitg_0.2.4-1.1+deb7u1.dsc
 f5e592fdd405cf020406e5f4ef50f7c9 6075 vcs optional 
gitg_0.2.4-1.1+deb7u1.debian.tar.gz
 5acc7e47c941040337c1b7d0c4004563 293200 vcs optional 
gitg_0.2.4-1.1+deb7u1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBAgAGBQJRsHVhAAoJEFK2u9lTlo0bHpwP/iVQJldDfqA/tibM7U6a1hfs
A4J6rZTVD3DsWsChU9lShftL65shuerkhEe7qIvt7u0J9qmGeL358yF04imupysN
Ne6Rk68VroyjCSENYMD3ttyrKjW3a0KiRenjLmIifbcQH49+eI+WUfGD+F8QrZKJ
q8ByDNysIdIEGPraaKZItZRwJw5OK+GWK5OkWtRng+lXyKY58sQyAftvs7axMn7h
tORKl3vg1IPMs7RmvHCtFH5tgzm9MRZV33+7wbPly543NlUQbOm9jb0bEZpNnOoa
4Co60bcjqD2ATsjkxVm3QxcYa3RmWEkWc6NWZqAxVRzwlNEvUWhZp5hK1n+Xnbzh
abo0JWfbxGE7NGOOoXg2y6IRx/dhWtbu0cZyHWWQggr1plS/9FQK3jjrAemXX6qI
eALW7mnj8J7pP0KbjOZE4YELcQJ0j4aAC7ZJF5sbRHg33Wc508XXKgi0BXLfJTsh
UB1RCx+HQnBKsRNHbLvOfbrLBjOZcqK34Gj3zX2FhdffSqi0hYety4fbNTO0WqBP
sUFsyHvoABCA9Cf8K1cnSd8qOpmUfPhgW8N3tTdMvBmRSHp7K/lwfIVKWSbVD1ie
yUezFGVtwI91a2F7Zfj2rxVuMQIITn8JELOcwSCaHZhRgyfNijaN3NaqLzFc4Ctz
hvtSvzVm0k2bH5PXFgsF
=NefE
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to