GNOME Bugzilla – Bug 171965
crash when deleting or cuting GtkScrolledWindow
Last modified: 2006-03-31 12:54:06 UTC
From: <turul16@freemail.hu> To: submit@bugs.gnome.org X-Mailer: bug-buddy 2.8.0 Subject: crash when deleting or cuting GtkScrolledWindow Distribution: Gentoo Base System version 1.6.10 Package: glade Severity: normal Version: GNOME2.8.3 2.6.8 Gnome-Distributor: Gentoo Synopsis: crash when deleting or cuting GtkScrolledWindow Bugzilla-Product: glade Bugzilla-Component: general Bugzilla-Version: 2.6.8 BugBuddy-GnomeVersion: 2.0 (2.8.1) Description: Description of the crash: Crash when deleting or cuting GtkScrolledWindow Steps to reproduce the crash: 1. Create new Gtk application 2. Add window 3. Add GtkScrolledWindow 4. Remove GtkScrolledWindow Expected Results: "A(z) glade-2 alkalmazás váratlanul kilépett." Unexepted exit. How often does this happen? Allaways Additional Information: I can remove/cut other type widget whitout problem. amd64, Gentoo-Linux,kernel_2.6.11 USE="doc aim samba mysql nptl userlocales nls erandom multilib mysql ithreads X gtk2 sdl alsa oss imlib gtk jpeg 3dnow mmx gnome xmms mad pam svga png mpeg gpm tiff gif readline oggvorbis apache2 dga fam opengl avi truetype ggi aalib encode joystick aalib acpi bonobo cdr ftp java mozilla openal pdflib usb thread mmx2 3dnowex sse" CFLAGS="-O3 -march=athlon64 -mfpmath=sse -msse -m3dnow -mmmx -funroll-loops -pipe -msse2" Debugging Information: Backtrace was generated from '/usr/bin/glade-2' (no debugging symbols found) Using host libthread_db library "/lib/tls/libthread_db.so.1". (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 46912571478272 (LWP 14837)] [New Thread 1082665312 (LWP 14840)] [Thread debugging using libthread_db enabled] [New Thread 46912571478272 (LWP 14837)] [New Thread 1082665312 (LWP 14840)] [Thread debugging using libthread_db enabled] [New Thread 46912571478272 (LWP 14837)] [New Thread 1082665312 (LWP 14840)] [New Thread 1082399072 (LWP 14839)] [New Thread 1082132832 (LWP 14838)] 0x00002aaaadd1418a in waitpid () from /lib/tls/libpthread.so.0
+ Trace 57449
Thread 4 (Thread 1082132832 (LWP 14838))
------- Bug moved to this database by unknown@bugzilla.gnome.org 2005-03-29 06:29 ------- Description has been limited to 524288 bytes Unknown version 2.6.8 in product glade. Setting version to "unspecified". Unknown platform unknown. Setting to default platform "Other". Unknown milestone "unknown" in product "glade". Setting to default milestone for this product, '---' The original reporter of this bug does not have an account here. Reassigning to the person who moved it here, unknown@bugzilla.gnome.org. Previous reporter was turul16@freemail.hu. Setting to default status "UNCONFIRMED". Setting qa contact to the default for this product. This bug either had no qa contact or an invalid one.
This looks like a duplicate of bug 167951. Moving to atk. We've had quite a few of these crashes I think this should be high priority.
Damon: we can't reproduce, and don't have enough info in the stack traces to go on here.
This does not appear to happen with glade 2.6.0 using the latest gail/atk versions. It appears to be a regression elsewhere in the stack, or else some gail bug which is triggered by the new stack but not the old one. We can't make much more progress without a debug stack trace.
gdb, bt after deleted: Starting program: /usr/bin/glade-2 (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) ---Type <return> to continue, or q <return> to quit--- (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) [Thread debugging using libthread_db enabled] [New Thread 46912571498784 (LWP 16589)] GTK Accessibility Module initialized (glade-2:16589): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed Program received signal SIGSEGV, Segmentation fault.
+ Trace 57988
Thread 46912571498784 (LWP 16589)
I installed the latest gnome-gail, because that wasn`t on my system, the problem wasn`t solved. I can send more information, (ltrace,starce...), Just ask it. Why trying to call this "gail_scrolled_window_new()" after I delete.
##glade #editor.c 3384 void 3385 editor_delete_widget (GtkWidget * widget) { ... 3503 if (gb_widget_replace_child (widget->parent, widget, placeholder)) ... } # gbwidget.c 2779 gb_widget_replace_child (GtkWidget * widget, GtkWidget * current_child, GtkWidget * new_child) { ... if (GTK_IS_BIN (widget)) { /**/ 2872 gtk_container_remove (GTK_CONTAINER (widget), current_child); /*Signal 11 here, where widget: GtkWindow "window1" ref_count=4 ; current_child:GtkScrolledWindow "gtkscrolledwindow1" ref_count=1*/ 2873 gtk_container_add (GTK_CONTAINER (widget), new_child); } ... }
*** Bug 304064 has been marked as a duplicate of this bug. ***
very puzzling - Damon, it looks as though new_child is being passed to gail_scrolled_window_new() before it's actually valid? I really don't understand what's going on here.
It sounds to me like something is being used after it is no longer valid, due to some tangle in the scrolled window destruction code. We could really do with reproducing it somehow or at least getting a decent stack trace. (It isn't just Glade. Similar crashes are happening in gedit and the panel. I suspect it is a general gail + scrolled window destruction problem.)
*** Bug 306779 has been marked as a duplicate of this bug. ***
Here's a better stack trace. (I've installed Slackware 10.1 and can reproduce this now.) Hopefully it should be easy to track down now. There is a critical warning before the crash, so that could be related: (glade-2:18426): Gtk-CRITICAL **: gtk_container_foreach: assertion `GTK_IS_CONTAINER (container)' failed
+ Trace 61207
This turns out to have been fixed in gail last year. 2004-07-29 Padraig O'Briain <padraig.obriain@sun.com> * gail/gailscrolledwindow.c (gail_scrolled_window_scrollbar_visibility_changed): Add check that GtkScrolledWindow has not been destroyed. Slackware 10.1 has gail 1.6.6 which was released a month before the above fix. I applied the patch on Slackware and it worked fine, so I'll close this.
*** Bug 311430 has been marked as a duplicate of this bug. ***
*** Bug 317090 has been marked as a duplicate of this bug. ***
*** Bug 167951 has been marked as a duplicate of this bug. ***
*** Bug 325759 has been marked as a duplicate of this bug. ***
*** Bug 336665 has been marked as a duplicate of this bug. ***