assertion failure (@ gtk_tree_view_unref_tree_helper)

Bug #38397 reported by c7d2f5c8667d26fffd5e7772d632c76d
38
This bug affects 1 person
Affects Status Importance Assigned to Milestone
synaptic (Debian)
Fix Released
Unknown
synaptic (Ubuntu)
Fix Released
Medium
Michael Vogt

Bug Description

Steps to reproduce:
0) Search for some packages
1) In the left pane, switch back to "All" packages

Doesn't happen every time, but at least half the time.

(synaptic:9659): Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper: assertion `node != NULL' failed

#0 0xb7773f07 in g_log () from /usr/lib/libglib-2.0.so.0
#1 0xb7773ffa in g_return_if_fail_warning () from /usr/lib/libglib-2.0.so.0
#2 0xb7d888b7 in gtk_tree_view_unref_tree_helper (model=0x89e5008, iter=0xbf96cbdc, tree=0x89d8040, node=0x0) at gtktreeview.c:8128
#3 0xb7d88949 in gtk_tree_view_unref_and_check_selection_tree (tree_view=0x817d6b0, tree=0x89d8040) at gtktreeview.c:8178
#4 0xb7d94749 in IA__gtk_tree_view_set_model (tree_view=0x817d6b0, model=0x89e52d8) at gtktreeview.c:9499
#5 0x080801ee in std::__introsort_loop<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, int> ()
#6 0x080808b4 in std::__introsort_loop<__gnu_cxx::__normal_iterator<std::string*, std::vector<std::string, std::allocator<std::string> > >, int> ()
#7 0xb77e8423 in g_cclosure_marshal_VOID__VOID () from /usr/lib/libgobject-2.0.so.0
#8 0xb77dc79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#9 0xb77eb4de in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#10 0xb77ecae9 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#11 0xb77ece59 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#12 0xb7d7b7c7 in _gtk_tree_selection_internal_select_node (selection=0x81a91a0, node=0x837d6e0, tree=0x85c90e0, path=0x8a17530, mode=0,
    override_browse_mode=0) at gtktreeselection.c:1490
#13 0xb7d8dbbe in gtk_tree_view_real_set_cursor (tree_view=0x817d668, path=0x8a17530, clear_and_select=1, clamp_node=1) at gtktreeview.c:11308
#14 0xb7d9650a in gtk_tree_view_button_press (widget=0x817d668, event=0x89e5198) at gtktreeview.c:2438
#15 0xb7cc5540 in _gtk_marshal_BOOLEAN__BOXED (closure=0x8151c50, return_value=0xbf96d460, n_param_values=2, param_values=0xbf96d55c,
    invocation_hint=0xbf96d44c, marshal_data=0xb7d95ce4) at gtkmarshalers.c:83
#16 0xb77dc16f in g_type_class_meta_marshal () from /usr/lib/libgobject-2.0.so.0
#17 0xb77dc79f in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0xb77eb9d8 in signal_emit_unlocked_R () from /usr/lib/libgobject-2.0.so.0
#19 0xb77ec856 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#20 0xb77ece59 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#21 0xb7da778f in gtk_widget_event_internal (widget=0x817d668, event=0x89e5198) at gtkwidget.c:3732
#22 0xb7cc3cbd in IA__gtk_propagate_event (widget=0x817d668, event=0x89e5198) at gtkmain.c:2208
#23 0xb7cc40cb in IA__gtk_main_do_event (event=0x89e5198) at gtkmain.c:1445
#24 0xb7a44e1c in gdk_event_dispatch (source=0xb7dc40f7, callback=0, user_data=0x0) at gdkevents-x11.c:2291
#25 0xb776b7d7 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0xb776e896 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#27 0xb776ebb8 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#28 0xb7cc33c6 in IA__gtk_main () at gtkmain.c:1024

Synaptic latest dapper, 0.57.8ubuntu8 .

Tags: synaptic

Related branches

Revision history for this message
Michael Vogt (mvo) wrote :

Thanks for your bugreport.

This one is just a warning, correct? It dosn't make the program crash or cause other bad effects?

Thanks,
 Michael

Changed in synaptic:
assignee: nobody → mvo
status: Unconfirmed → Needs Info
Revision history for this message
c7d2f5c8667d26fffd5e7772d632c76d (c7d2f5c8667d26fffd5e7772d632c76d-deactivatedaccount) wrote :

No, all gtk assertion failures can be a crash, depending on the flags you compile gtk+ with; and even if they don't crash, the bahaviour of the program is indeterminate after the first assertion failure. They always indicate a programming error.

Revision history for this message
Juan Pablo Salazar Bertín (snifer) wrote :

Confirmed in gutsy, synaptic version 0.57.11.1ubuntu14. No crash, and no other bad effects apparently .

Changed in synaptic:
status: Needs Info → Confirmed
Revision history for this message
linuxatico88 (simo88-47) wrote :

i'm working on ubuntu Hardy Heron and this is still the same for me...will be this ever be fixed? can we make something to help?

Revision history for this message
Vladimir Hidalgo (vlad88sv) wrote :

In hardy I only got:

(synaptic:12762): Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper: assertion `node != NULL' failed

By the way, there's a duplicate: https://bugs.launchpad.net/ubuntu/+source/synaptic/+bug/158208

Revision history for this message
Saeid Zebardast (saeidzebardast) wrote :

Same problem.
synaptic version: 0.61ubuntu9

when I search something like "exaile" (look in `Description and Name`) , I got only:

(synaptic:13561): Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper: assertion `node != NULL' failed

Revision history for this message
Michael Vogt (mvo) wrote :

After some digging into that, I found that the problem is that the internal gtkpkglist.cc list model code in synaptic triggers the problem. Here is what happens:

1. the list-model has a size of the number of displayed packages (all=20.000)
2. when search is clicked with exaile, the model changes size to just 2
3. then on clicking back to "all" gtk_tree_view_set_model is called to force a global "refresh". the internal cleanup code in "gtk_tree_view_set_model" will then ask the (old) model for its current size and cleanup all nodes. because the model is really something that generates the information dynamically the new size for all is returned
4. that triggers the problem

I added code now that makes sure that the model is set to "NULL" before the new model is set. that will fix the issue.

Changed in synaptic:
status: Confirmed → Fix Committed
Changed in synaptic:
status: Unknown → New
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package synaptic - 0.62.1ubuntu5

---------------
synaptic (0.62.1ubuntu5) intrepid; urgency=low

  * debian/control:
    - make deborphan and apt-xapian-index suggests instead of recommends
      to save space on the CD - this means we loose the quick search
      feature in the default install
  * po/es.po:
    - updated spanish translation (thanks to
      Francisco Javier Cuadrado)
  * gtk/glade/dialog_upgrade.glade:
    - provide a mnemonics in the upgrade dialog,
      closes: #491179 (thanks to Matt Kraai)
  * gtk/glade/window_fetch.glade:
    - dialog fix (thanks to Oded Arbel) (LP: #228127)
  * gtk/rgdebinstallprogress.cc:
    - intercept ctrl-c in the terminal window and ask
      if that is really the desired action
  * gtk/rgmainwindow.cc:
    - fix "Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper"
      assertion failure error (LP: #38397, closes: #341645)

 -- Michael Vogt <email address hidden> Fri, 01 Aug 2008 13:50:48 +0200

Changed in synaptic:
status: Fix Committed → Fix Released
Changed in synaptic:
status: New → Fix Released
Revision history for this message
quequotion (quequotion) wrote :

Regression in synaptic 0.62.lubuntu10

This bug is back.

Same symptoms, same cause.

Does not appear to be causing any crashes however!

in Ubuntu Intrepid amd64

 gtk_tree_view_unref_tree_helper: assertion `node != NULL' failed

Also, I wonder if there isn't some way to treat this and a number of other unrelated assertion failures. Is it possible that assertion failures of different types in different packages could be related? Are these assertion requests passing through one central point anywhere?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.