After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 546834 - Crash after GtkTreeView's validate_visible_area
Crash after GtkTreeView's validate_visible_area
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Widget: GtkTreeView
unspecified
Other All
: High critical
: ---
Assigned To: gtktreeview-bugs
gtktreeview-bugs
: 551151 559248 560651 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2008-08-07 16:59 UTC by quintela
Modified: 2018-02-10 03:41 UTC
See Also:
GNOME target: ---
GNOME version: 2.21/2.22



Description quintela 2008-08-07 16:59:07 UTC
Version: 2.22.2

What were you doing when the application crashed?
Trying to get today task list clicking over the clock


Distribution: Fedora release 9 (Sulphur)
Gnome Release: 2.22.3 2008-07-01 (Red Hat, Inc)
BugBuddy Version: 2.22.0

System: Linux 2.6.25.11-97.fc9.x86_64 #1 SMP Mon Jul 21 01:09:10 EDT 2008 x86_64
X Vendor: The X.Org Foundation
X Vendor Release: 10499905
Selinux: Enforcing
Accessibility: Disabled
GTK+ Theme: Mist
Icon Theme: Mist

Memory status: size: 445145088 vsize: 445145088 resident: 19251200 share: 11587584 rss: 19251200 rss_rlim: 18446744073709551615
CPU usage: start_time: 1218128285 rtime: 54 utime: 43 stime: 11 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100

Backtrace was generated from '/usr/libexec/clock-applet'

[Thread debugging using libthread_db enabled]
[New Thread 0x7f2b283807f0 (LWP 4518)]
[New Thread 0x40926950 (LWP 4522)]
0x0000003569a0e86f in __libc_waitpid (pid=<value optimized out>, 
    stat_loc=<value optimized out>, options=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/waitpid.c:41
41	  int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL);


----------- .xsession-errors (87 sec old) ---------------------
CalDAV Eplugin starting up ...
e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Key file does not have key 'imap:__quintela@trasno.org_'
e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Key file does not have key 'zimbra:__quintela@localhost:2231_'
e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Key file does not have key 'imap:__quintela@localhost:2227_'
(evolution:3921): e-data-server-ui-WARNING **: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Unable to find password(s) in keyring (Keyring reports: No matching results)
e-data-server-ui-Message: Key file does not have key 'imap:__quintela@trasno.org_'
(evolution:3921): gtkhtml-WARNING **: oo
(evolution:3921): gtkhtml-WARNING **: oo
--------------------------------------------------
Comment 1 Philip Withnall 2008-09-07 13:05:39 UTC
*** Bug 551151 has been marked as a duplicate of this bug. ***
Comment 2 Philip Withnall 2008-09-07 13:17:24 UTC
Looks like it might be a GTK+ bug, although the trace is a little odd.
Comment 3 Kristian Rietveld 2008-09-11 13:47:51 UTC
Seems to be an interplay between GtkTreeView and the size group mechanism.  Will try to get to this later.

Comment 4 Philip Withnall 2008-11-04 18:23:53 UTC
*** Bug 559248 has been marked as a duplicate of this bug. ***
Comment 5 Vincent Untz 2008-12-08 12:44:55 UTC
*** Bug 560651 has been marked as a duplicate of this bug. ***
Comment 6 Kristian Rietveld 2009-08-23 09:41:58 UTC
Is this still reproducible and if so how?  I went through all the hassle to get gnome-panel and deps correctly built (all from git master), but I cannot get the clock applet to crash.
Comment 7 Kristian Rietveld 2009-08-23 09:51:27 UTC
Oh, as a sidenote.  The crash does not occur *after* validate_visible_area(), but at the end of validate_visble_area().  At this point GtkTreeView will call gtk_widget_size_request() on itself (to be able to update the adjustments) and this triggers the size group logic.
Comment 8 Guillaume Desmottes 2009-09-24 09:27:44 UTC
I have a very similar trace when trying to add an entry in Collabora's gtimelog [1] using GTK+ 2.18.0-1ubuntu1 (Karmic).

[1] http://git.collabora.co.uk/?p=gtimelog.git;a=summary


  • #0 validate_visible_area
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 5770
  • #1 do_presize_handler
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 6300
  • #2 presize_handler_callback
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 6322
  • #3 gdk_threads_dispatch
    at /build/buildd/gtk+2.0-2.18.0/gdk/gdk.c line 506
  • #4 g_main_dispatch
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 1960
  • #5 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 2513
  • #6 g_main_context_iterate
  • #7 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 2799
  • #8 IA__gtk_main
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtkmain.c line 1205
  • #9 ??
    from /usr/lib/pymodules/python2.6/gtk-2.0/gtk/_gtk.so
  • #10 call_function
    at ../Python/ceval.c line 3690
  • #11 PyEval_EvalFrameEx
    at ../Python/ceval.c line 2389
  • #12 fast_function
    at ../Python/ceval.c line 3792
  • #13 call_function
    at ../Python/ceval.c line 3727
  • #14 PyEval_EvalFrameEx
    at ../Python/ceval.c line 2389
  • #15 PyEval_EvalCodeEx
    at ../Python/ceval.c line 2968
  • #16 PyEval_EvalCode
    at ../Python/ceval.c line 522
  • #17 run_mod
    at ../Python/pythonrun.c line 1335
  • #18 PyRun_FileExFlags
    at ../Python/pythonrun.c line 1321
  • #19 PyRun_SimpleFileExFlags
  • #20 Py_Main
    at ../Modules/main.c line 599
  • #21 __libc_start_main
    at libc-start.c line 220
  • #22 _start
    at ../sysdeps/x86_64/elf/start.S line 113



Will attach the full trace.
Comment 9 Guillaume Desmottes 2009-09-24 09:29:19 UTC
Full trace:

  • #0 validate_visible_area
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 5770
  • #1 do_presize_handler
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 6300
  • #2 presize_handler_callback
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtktreeview.c line 6322
  • #3 gdk_threads_dispatch
    at /build/buildd/gtk+2.0-2.18.0/gdk/gdk.c line 506
  • #4 g_main_dispatch
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 1960
  • #5 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 2513
  • #6 g_main_context_iterate
  • #7 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.22.0/glib/gmain.c line 2799
  • #8 IA__gtk_main
    at /build/buildd/gtk+2.0-2.18.0/gtk/gtkmain.c line 1205
  • #9 ??
    from /usr/lib/pymodules/python2.6/gtk-2.0/gtk/_gtk.so
  • #10 call_function
    at ../Python/ceval.c line 3690
  • #11 PyEval_EvalFrameEx
    at ../Python/ceval.c line 2389
  • #12 fast_function
    at ../Python/ceval.c line 3792
  • #13 call_function
    at ../Python/ceval.c line 3727
  • #14 PyEval_EvalFrameEx
    at ../Python/ceval.c line 2389
  • #15 PyEval_EvalCodeEx
    at ../Python/ceval.c line 2968
  • #16 PyEval_EvalCode
    at ../Python/ceval.c line 522
  • #17 run_mod
    at ../Python/pythonrun.c line 1335
  • #18 PyRun_FileExFlags
    at ../Python/pythonrun.c line 1321
  • #19 PyRun_SimpleFileExFlags
  • #20 Py_Main
    at ../Modules/main.c line 599
  • #21 __libc_start_main
    at libc-start.c line 220
  • #22 _start
    at ../sysdeps/x86_64/elf/start.S line 113

Comment 10 Guillaume Desmottes 2009-09-24 09:39:13 UTC
Valgrind log of the bug:

==3779== Invalid read of size 8

==3779==    at 0x90A2639: validate_visible_area (gtktreeview.c:5770)

==3779==    by 0x90A2F01: do_presize_handler (gtktreeview.c:6300)

==3779==    by 0x90A2F98: presize_handler_callback (gtktreeview.c:6322)

==3779==    by 0x94967C5: gdk_threads_dispatch (gdk.c:506)

==3779==    by 0x80FDBBD: g_main_context_dispatch (gmain.c:1960)

==3779==    by 0x8101587: g_main_context_iterate (gmain.c:2591)

==3779==    by 0x81019E4: g_main_loop_run (gmain.c:2799)

==3779==    by 0x8FA7FC6: gtk_main (gtkmain.c:1205)

==3779==    by 0x8B7CEC1: (within /usr/lib/pyshared/python2.6/gtk-2.0/gtk/_gtk.so)

==3779==    by 0x4A291C: PyEval_EvalFrameEx (ceval.c:3690)

==3779==    by 0x4A2E46: PyEval_EvalFrameEx (ceval.c:3792)

==3779==    by 0x4A40DF: PyEval_EvalCodeEx (ceval.c:2968)

==3779==    by 0x4A41B1: PyEval_EvalCode (ceval.c:522)

==3779==    by 0x4C338F: PyRun_FileExFlags (pythonrun.c:1335)

==3779==    by 0x4C3553: PyRun_SimpleFileExFlags (pythonrun.c:931)

==3779==    by 0x418AB6: Py_Main (main.c:599)

==3779==    by 0x5907ABC: (below main) (libc-start.c:220)

==3779==  Address 0x10 is not stack'd, malloc'd or (recently) free'd

==3779== 

==3779== Process terminating with default action of signal 11 (SIGSEGV)

==3779==  Access not within mapped region at address 0x10

==3779==    at 0x90A2639: validate_visible_area (gtktreeview.c:5770)

==3779==    by 0x90A2F01: do_presize_handler (gtktreeview.c:6300)

==3779==    by 0x90A2F98: presize_handler_callback (gtktreeview.c:6322)

==3779==    by 0x94967C5: gdk_threads_dispatch (gdk.c:506)

==3779==    by 0x80FDBBD: g_main_context_dispatch (gmain.c:1960)

==3779==    by 0x8101587: g_main_context_iterate (gmain.c:2591)

==3779==    by 0x81019E4: g_main_loop_run (gmain.c:2799)

==3779==    by 0x8FA7FC6: gtk_main (gtkmain.c:1205)

==3779==    by 0x8B7CEC1: (within /usr/lib/pyshared/python2.6/gtk-2.0/gtk/_gtk.so)

==3779==    by 0x4A291C: PyEval_EvalFrameEx (ceval.c:3690)

==3779==    by 0x4A2E46: PyEval_EvalFrameEx (ceval.c:3792)

==3779==    by 0x4A40DF: PyEval_EvalCodeEx (ceval.c:2968)

==3779==    by 0x4A41B1: PyEval_EvalCode (ceval.c:522)

==3779==    by 0x4C338F: PyRun_FileExFlags (pythonrun.c:1335)

==3779==    by 0x4C3553: PyRun_SimpleFileExFlags (pythonrun.c:931)

==3779==    by 0x418AB6: Py_Main (main.c:599)

==3779==    by 0x5907ABC: (below main) (libc-start.c:220)
Comment 11 Kristian Rietveld 2009-09-24 09:51:57 UTC
Great traces!  I think I am seeing the issue already.  If I would prepare a small patch, could you quickly give that a try and see if it fixes the issue?
Comment 12 Guillaume Desmottes 2009-09-24 10:02:47 UTC
sure!
Comment 13 Kristian Rietveld 2009-09-25 12:08:07 UTC
Okay, I reasoned a bit too quick.  Two things:

1. The traces in comments 8 to 10 are not related to this bug.  I suggest a new bug is opened for this.

2. When we open a new bug, could you please provide an exact sequence of steps that reproduces the issue.  I am not seeing any legal way to get into that state (at gtktreeview.c line 5770 with tree and node NULL).  A quick look at the gtimelog source showed that it does not do anything special with the tree view, not even sets cursors or scrolls, so I am really wondering how it can get in such a state.  This is always reproducible?
Comment 14 Guillaume Desmottes 2009-09-25 13:21:39 UTC
I opened bug #596308
Comment 15 Matthias Clasen 2018-02-10 03:41:03 UTC
We're moving to gitlab! As part of this move, we are closing bugs that haven't seen activity in more than 5 years. If this issue is still imporant to you and
still relevant with GTK+ 3.22 or master, please consider creating a gitlab issue
for it.