Bug#378346: libgail crashes on alpha

2006-11-05 Thread Steve Langasek
On Mon, Oct 16, 2006 at 04:42:30PM +0200, Loïc Minier wrote:
  I suggest you install libgail-dbg, and libgtk2.0-0-dbg to get a nicer
  backtrace.  Could you try rebuilding against Gtk 2.10 / Gail 1.9 from
  experimental?  This would permit isolating the fix and perhaps
  backporting it if it's fixed in 1.9.

Installing gtk 2.10 + gail 1.9 (and recompiling gtkhml3.8 against the new
libgail) fixes the crash in my test case.

Cheers,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/



Processed (with 1 errors): Re: Bug#378346: libgail crashes on alpha

2006-11-05 Thread Debian Bug Tracking System
Processing commands for [EMAIL PROTECTED]:

 forwarded 378346 http://bugzilla.gnome.org/show_bug.cgi?id=325759
Bug#378346: libgail-dev: gnucash crashes in libgail on alpha
Noted your statement that Bug has been forwarded to 
http://bugzilla.gnome.org/show_bug.cgi?id=325759.

 tags = 378346 fixed-upstream patch
Unknown command or malformed arguments to command.

 thanks
Stopping processing here.

Please contact me if you need assistance.

Debian bug tracking system administrator
(administrator, Debian Bugs database)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Bug#378346: libgail crashes on alpha

2006-11-05 Thread Steve Langasek
forwarded 378346 http://bugzilla.gnome.org/show_bug.cgi?id=325759
tags = 378346 fixed-upstream patch
thanks

On Sun, Nov 05, 2006 at 03:49:01AM -0800, Steve Langasek wrote:
 On Mon, Oct 16, 2006 at 04:42:30PM +0200, Loïc Minier wrote:
   I suggest you install libgail-dbg, and libgtk2.0-0-dbg to get a nicer
   backtrace.  Could you try rebuilding against Gtk 2.10 / Gail 1.9 from
   experimental?  This would permit isolating the fix and perhaps
   backporting it if it's fixed in 1.9.

 Installing gtk 2.10 + gail 1.9 (and recompiling gtkhml3.8 against the new
 libgail) fixes the crash in my test case.

And, here's the isolated fix for the bug.

Thanks,
-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/
diff -u gail-1.8.11/debian/changelog gail-1.8.11/debian/changelog
--- gail-1.8.11/debian/changelog
+++ gail-1.8.11/debian/changelog
@@ -1,3 +1,12 @@
+gail (1.8.11-2.1) unstable; urgency=high
+
+  * Non-maintainer upload.
+  * High-urgency upload for RC bugfix.
+  * Backport patch from gail 1.9.3 to fix upstream bug #325759;
+closes: #378346.
+
+ -- Steve Langasek [EMAIL PROTECTED]  Sun,  5 Nov 2006 05:31:59 -0800
+
 gail (1.8.11-2) unstable; urgency=low
 
   * Bump build-deps to libgtk2.0-dev = 2.8.17-1, liborbit2-dev = 1:2.14.0-1,
only in patch2:
unchanged:
--- gail-1.8.11.orig/gail/gailtreeview.c
+++ gail-1.8.11/gail/gailtreeview.c
@@ -336,6 +336,7 @@
   GList**  
  list,
 gboolean   
 live_only);
 static AtkObject *   get_header_from_column (GtkTreeViewColumn 
 *tv_col);
+static gboolean  idle_garbage_collect_cell_data (gpointer data);
 static gboolean  garbage_collect_cell_data  (gpointer data);
 
 static GailWidgetClass *parent_class = NULL;
@@ -3489,7 +3490,7 @@
   if (!gailview-garbage_collection_pending) {
  gailview-garbage_collection_pending = TRUE;
  gailview-idle_garbage_collect_id = 
- g_idle_add (garbage_collect_cell_data, gailview);
+ g_idle_add (idle_garbage_collect_cell_data, gailview);
   }
   }
 }
@@ -3595,6 +3596,32 @@
 }
 
 static gboolean
+idle_garbage_collect_cell_data (gpointer data)
+{
+  GailTreeView *tree_view;
+
+  GDK_THREADS_ENTER ();
+  g_assert (GAIL_IS_TREE_VIEW (data));
+  tree_view = (GailTreeView *)data;
+
+  /* this is the idle handler (only one instance allowed), so
+   * we can safely delete it.
+   */
+  tree_view-garbage_collection_pending = FALSE;
+  tree_view-idle_garbage_collect_id = 0;
+
+  tree_view-garbage_collection_pending = garbage_collect_cell_data (data);
+
+  GDK_THREADS_LEAVE ();
+
+  /* N.B.: if for some reason another handler has re-enterantly been 
queued 
+   * while this handler was being serviced, it has its own gsource, 
therefore this handler
+   * should always return FALSE.
+   */
+  return FALSE; 
+}
+
+static gboolean
 garbage_collect_cell_data (gpointer data)
 {
   GailTreeView *tree_view;
@@ -3606,7 +3633,11 @@
   temp_list = g_list_copy (tree_view-cell_data);
 
   tree_view-garbage_collection_pending = FALSE;
-  tree_view-idle_garbage_collect_id = 0;
+  if (tree_view-idle_garbage_collect_id != 0) 
+  {
+ g_source_remove (tree_view-idle_garbage_collect_id);
+ tree_view-idle_garbage_collect_id = 0;
+  }
 
   /* Must loop through them all */
   while (temp_list != NULL)
@@ -4020,7 +4051,7 @@
   if (!cell_info-view-garbage_collection_pending) {
  cell_info-view-garbage_collection_pending = TRUE;
  cell_info-view-idle_garbage_collect_id =
-   g_idle_add (garbage_collect_cell_data, cell_info-view);
+   g_idle_add (idle_garbage_collect_cell_data, cell_info-view);
   }
   }
 }


Bug#378346: libgail crashes on alpha

2006-11-03 Thread Steve Langasek
On Mon, Oct 16, 2006 at 04:42:30PM +0200, Loïc Minier wrote:

 On Thu, Jul 20, 2006, Steve Langasek wrote:
   At the very least, I would appreciate it if you could verify whether
   the bug is reproducible or not.
   See bug #378346 for the bug report.
  Here is the error that triggers the abort:
  ** ERROR **: file gailtreeview.c: line 3604 (garbage_collect_cell_data):
  assertion failed: (GAIL_IS_TREE_VIEW (data))
  aborting...
  And here is the backtrace (stripped):
  #9  0x02000202403c in g_logv () from /usr/lib/libglib-2.0.so.0
  #10 0x020002024084 in g_log () from /usr/lib/libglib-2.0.so.0
  #11 0x020002024114 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
  #12 0x020002ee5c40 in gail_tree_view_new ()
 from /usr/lib/gtk-2.0/modules/libgail.so
  Will try to get libgail.so rebuilt to take a look.

  I suggest you install libgail-dbg, and libgtk2.0-0-dbg to get a nicer
  backtrace.  Could you try rebuilding against Gtk 2.10 / Gail 1.9 from
  experimental?  This would permit isolating the fix and perhaps
  backporting it if it's fixed in 1.9.

First, here's a fresh backtrace from unstable with libgail-dbg and
libgtk2.0-0-dbg:

(gdb) bt
#0  0x020002187a78 in kill () from /lib/libc.so.6.1
#1  0x020001e735d0 in pthread_kill () from /lib/libpthread.so.0
#2  0x020001e73638 in raise () from /lib/libpthread.so.0
#3  0x0200021877e4 in raise () from /lib/libc.so.6.1
#4  0x020002188db0 in abort () from /lib/libc.so.6.1
#5  0x020001fbe588 in g_logv () from /usr/lib/libglib-2.0.so.0
#6  0x020001fbe5d4 in g_log () from /usr/lib/libglib-2.0.so.0
#7  0x020001fbe66c in g_assert_warning () from /usr/lib/libglib-2.0.so.0
#8  0x020002e69398 in garbage_collect_cell_data (data=0x120919480)
at gailtreeview.c:3604
#9  0x020001fb047c in g_source_is_destroyed ()
   from /usr/lib/libglib-2.0.so.0
#10 0x020001fb2e34 in g_main_context_dispatch ()
   from /usr/lib/libglib-2.0.so.0
#11 0x020001fb6e14 in g_main_context_check ()
   from /usr/lib/libglib-2.0.so.0
#12 0x020001fb7354 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#13 0x02000145b698 in IA__gtk_main () at gtkmain.c:1003
#14 0x0237f4e0 in gnc_ui_start_event_loop ()
   from /usr/lib/gnucash/gnucash/libgncmod-gnome-utils.so.0
#15 0x0001200034e0 in _start ()
(gdb) 

Steps to reproduce: file-new-new file, enable 'business accounts' in
addition to 'common accounts', and complete the setup.

The bug is not reproducible on amd64 following these steps, so it doesn't
appear to be a simple 64-bit problem, unfortunately.

I'm going to give the experimental gtk/gail a try, but it'll be a while
before I'm there; will send another mail with the results.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
[EMAIL PROTECTED]   http://www.debian.org/



Bug#378346: libgail crashes on alpha

2006-10-16 Thread Loïc Minier
Hi,

On Thu, Jul 20, 2006, Steve Langasek wrote:
  At the very least, I would appreciate it if you could verify whether
  the bug is reproducible or not.
  See bug #378346 for the bug report.
 Here is the error that triggers the abort:
 ** ERROR **: file gailtreeview.c: line 3604 (garbage_collect_cell_data):
 assertion failed: (GAIL_IS_TREE_VIEW (data))
 aborting...
 And here is the backtrace (stripped):
 #9  0x02000202403c in g_logv () from /usr/lib/libglib-2.0.so.0
 #10 0x020002024084 in g_log () from /usr/lib/libglib-2.0.so.0
 #11 0x020002024114 in g_assert_warning () from /usr/lib/libglib-2.0.so.0
 #12 0x020002ee5c40 in gail_tree_view_new ()
from /usr/lib/gtk-2.0/modules/libgail.so
 Will try to get libgail.so rebuilt to take a look.

 I suggest you install libgail-dbg, and libgtk2.0-0-dbg to get a nicer
 backtrace.  Could you try rebuilding against Gtk 2.10 / Gail 1.9 from
 experimental?  This would permit isolating the fix and perhaps
 backporting it if it's fixed in 1.9.

   Bye,
-- 
Loïc Minier [EMAIL PROTECTED]