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 170755 - crashed when creating a directory
crashed when creating a directory
Status: RESOLVED FIXED
Product: gtk+
Classification: Platform
Component: Widget: GtkFileChooser
2.6.x
Other other
: High critical
: ---
Assigned To: Federico Mena Quintero
Federico Mena Quintero
: 168651 168964 170127 170580 170950 170991 171120 171161 171985 172042 172053 306734 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2005-03-18 05:07 UTC by Yury Puzis
Modified: 2005-06-11 16:45 UTC
See Also:
GNOME target: ---
GNOME version: 2.9/2.10


Attachments
Full stacktrace (108.65 KB, text/plain)
2005-03-18 06:16 UTC, Elijah Newren
Details
Stack trace that shows the bug triggered by a spurious change in a file under ~ (19.51 KB, text/plain)
2005-03-30 18:10 UTC, Federico Mena Quintero
Details

Description Yury Puzis 2005-03-18 05:07:46 UTC
Distribution: Debian 3.1
Package: file-roller
Severity: normal
Version: GNOME2.10.0 2.10.0
Gnome-Distributor: Ubuntu
Synopsis: crashed when creating a directory
Bugzilla-Product: file-roller
Bugzilla-Component: general
Bugzilla-Version: 2.10.0
BugBuddy-GnomeVersion: 2.0 (2.10.0)
Description:
Description of the crash:
crashed when creating a directory to extract a zip file to

Steps to reproduce the crash:
1. open archive
2. click "extract" button
3. click "create folder" button

How often does this happen?
every time


Debugging Information:

Backtrace was generated from '/usr/bin/file-roller'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
`system-supplied DSO at 0xffffe000' has disappeared; keeping its
symbols.
(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)
(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 -1221618400 (LWP 11589)]
[New Thread -1232688208 (LWP 11594)]
[New Thread -1232356432 (LWP 11593)]
[New Thread -1223963728 (LWP 11592)]
(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)
0xffffe410 in __kernel_vsyscall ()
  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 libgnomeui_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 __kernel_vsyscall
  • #5 raise
    from /lib/tls/i686/cmov/libc.so.6
  • #6 abort
    from /lib/tls/i686/cmov/libc.so.6
  • #7 ??
  • #8 ??
  • #9 ??
  • #10 ??
  • #11 ??
  • #12 ??
  • #13 ??
  • #14 ??
  • #15 ??
  • #16 ??
  • #17 ??
  • #18 ??
  • #19 ??
  • #20 ??
  • #21 ??
  • #22 ??
  • #23 ??
  • #24 ??
  • #25 ??
  • #26 ??
  • #27 ??
  • #28 ??
  • #29 ??
  • #30 ??
  • #31 ??
  • #32 ??
  • #33 ??
  • #34 ??
  • #35 ??
  • #36 ??
  • #37 ??
  • #38 ??
  • #39 ??
  • #40 ??
  • #41 ??
  • #42 ??
  • #43 ??
  • #44 g_free
    from /usr/lib/libglib-2.0.so.0




------- Bug moved to this database by unknown@bugzilla.gnome.org 2005-03-18 00:07 -------


Unknown version 2.10.0 in product file-roller.  Setting version to "2.10.x".
Unknown platform unknown. Setting to default platform "Other".
Unknown milestone "unknown" in product "file-roller".
   Setting to default milestone for this product, '---'
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.

Comment 1 Elijah Newren 2005-03-18 06:15:44 UTC
Using your instructions, I can duplicate using file-roller 2.9.92.  Here's the
first part of the stack trace:

Backtrace was generated from '/opt/gnome2/bin/file-roller'
  • #0 ??
  • #1 __waitpid_nocancel
    from /lib/tls/libpthread.so.0
  • #2 libgnomeui_segv_handle
    at gnome-ui-init.c line 741
  • #3 <signal handler called>
  • #4 ??
  • #5 raise
    from /lib/tls/libc.so.6
  • #6 abort
    from /lib/tls/libc.so.6
  • #7 IA__g_logv
  • #8 IA__g_log
  • #9 IA__g_assert_warning
    at gmessages.c line 547
  • #10 queue_edited_idle
    at gtkfilechooserdefault.c line 1793
  • #11 _gtk_marshal_VOID__STRING_STRING
    at gtkmarshalers.c line 2234
  • #12 IA__g_closure_invoke
    at gclosure.c line 437
  • #13 signal_emit_unlocked_R
    at gsignal.c line 2485
  • #14 IA__g_signal_emit_valist
    at gsignal.c line 2244
  • #15 IA__g_signal_emit
    at gsignal.c line 2288
  • #16 gtk_cell_renderer_text_editing_done
    at gtkcellrenderertext.c line 1620

I'll attach the full stack trace in an attachment.
Comment 2 Elijah Newren 2005-03-18 06:16:24 UTC
Created attachment 38878 [details]
Full stacktrace
Comment 3 Elijah Newren 2005-03-18 06:17:55 UTC
Oh, I forgot.  Here's the assertion shown in the terminal when the crash occurs:

Gtk-ERROR **: file gtkfilechooserdefault.c: line 1792 (queue_edited_idle):
assertion failed: (!impl->edited_idle)
aborting...
Comment 4 Sebastien Bacher 2005-03-18 15:10:36 UTC
bugzilla.ubuntu.com has a similar bug on firefox:
https://bugzilla.ubuntu.com/show_bug.cgi?id=7552

That seems to be a gtk fileselector issue, reassiging
Comment 5 Simon Morgan 2005-03-19 17:34:13 UTC
Is this a duplicate of bug 170127?
Comment 6 Maciej Katafiasz 2005-03-20 00:33:11 UTC
*** Bug 170127 has been marked as a duplicate of this bug. ***
Comment 7 Elijah Newren 2005-03-20 16:23:28 UTC
*** Bug 170950 has been marked as a duplicate of this bug. ***
Comment 8 Elijah Newren 2005-03-20 16:23:51 UTC
*** Bug 170991 has been marked as a duplicate of this bug. ***
Comment 9 Sebastien Bacher 2005-03-21 18:07:35 UTC
*** Bug 171120 has been marked as a duplicate of this bug. ***
Comment 10 Sebastien Bacher 2005-03-23 21:15:09 UTC
*** Bug 168964 has been marked as a duplicate of this bug. ***
Comment 11 Sebastien Bacher 2005-03-23 21:15:34 UTC
*** Bug 168651 has been marked as a duplicate of this bug. ***
Comment 12 Nicolò Fusi 2005-03-25 01:07:24 UTC
I can't reproduce this bug in ubuntu with

file-roller 2.10.0
gtk 2.6.4-0ubuntu1

nor with mozilla-firefox.
Maybe it has been already resolved?

Comment 13 Christian Kirbach 2005-03-25 15:09:46 UTC
*** Bug 170580 has been marked as a duplicate of this bug. ***
Comment 14 Christian Kirbach 2005-03-25 15:38:32 UTC
The latest DUP is 2.10.x on Ubuntu

however I cannot reproduce on GARNOME 2.10.0.1
file-roller 2.10.0
Comment 15 Yury Puzis 2005-03-25 18:09:03 UTC
I can't reproduce it any more either (I have updated packadges since the
original report).
Comment 16 freggy1 2005-03-26 20:25:46 UTC
It seems that this bug is AMD64 specific, according to the Ubuntu bug report:
https://bugzilla.ubuntu.com/show_bug.cgi?id=7552 . I can confirm it is still
happening on AMD64.
Comment 17 Elijah Newren 2005-03-26 22:41:16 UTC
Frederik: No it's not.  I duplicated on my system, and the original stack trace
obviously isn't from AMD64 either.
Comment 18 Sander de Leeuw 2005-03-29 14:36:07 UTC
I am having this problem on Ubuntu's Hoary (Array 7) too, running an AMD Athlon
2000 processor. Could it be related to optimization flags during the compilation
of GTK. The crash is not limited to AMD64 processors, but seems to be limited to
AMD processors. Just a thought...
Comment 19 Sebastien Bacher 2005-03-29 15:06:15 UTC
*** Bug 171985 has been marked as a duplicate of this bug. ***
Comment 20 Yury Puzis 2005-03-29 20:20:09 UTC
I am running on celeron, so I doubt it is AMD specific.
Comment 21 Sebastien Bacher 2005-03-29 22:21:09 UTC
*** Bug 171161 has been marked as a duplicate of this bug. ***
Comment 22 Elijah Newren 2005-03-29 22:58:08 UTC
*** Bug 172042 has been marked as a duplicate of this bug. ***
Comment 23 Federico Mena Quintero 2005-03-30 02:26:11 UTC
Elijah, can you still duplicate this?  I can't :(

If so, what's your platform, versions, etc?
Comment 24 Elijah Newren 2005-03-30 03:40:27 UTC
I did duplicate it once, but I can't seem duplicate it now and  I haven't
updated anything.  It may be tarball or zipfile specific.  The problem is, I was
most likely to have used whatever tarball or zipfile was provided in another bug
report for some other test (this was just one in a series of bugs I was
triaging).  Anyway, I'm runing on x86, Fedora Core 2, with Gnome installed via
jhbuild using the gnome-2.10 moduleset.  It appears that gtk+ was pulled from
cvs on March 10th, while file-roller was pulled from cvs on March 4th.  I'll see
if I can find a tarball or zipfile or other archive that I can get this crash to
occur with...
Comment 25 Sander de Leeuw 2005-03-30 05:52:11 UTC
Okay! Watch Ubuntu's thread on this bug:
https://bugzilla.ubuntu.com/show_bug.cgi?id=7552

Dino wrote that it only happens when you create a folder in your home directory,
e.g. /home/$user. I've checked this, and he is right. I am not experiencing any
problems while creating a folder in another directory.
Comment 26 Federico Mena Quintero 2005-03-30 18:09:02 UTC
Found an unreliable way to duplicate it:

- start gedit in your home directory
- type something
- Hit C-s
- Open the "Browse for other folders" expander
- Hit the "Create folder" button
- ... the uncertainty comes here ... unfocus the window, or just wait a bit
- crash

This will only work only if you are in your home directory.

What happens is this:

When the cell being edited stops editing, the file chooser queues an idle
handler to create the new folder and switch to it.  There's a good reason why
it's done in an idle, but I don't remember the details right now --- I'm sure
it's explained in the ChangeLog.

1. In the last step, where you unfocus the window, the cell stops editing and
the file chooser calls queue_edited_idle() for the first time.
2. We go back to the main loop.
3. GConfd changes something under ~/.gconfd, and so the mtime of this changes. 
The file chooser gets notified about this change.
4. The file system model emits row_changed, which eventually gets pick up by the
tree view.
5. The tree view stops editing because a row was changed (this is in
gtktreeview.c:7045).
6. Due to this, the file chooser gets notified again that the cell stopped
editing, so it calls queue_edited_idle() again.  Since we already have an idle
handler, the assertion fails.

Some thoughts about this:

- The tree view should probably not stop editing if the row that changes is
different from the row being edited.  This bug mentions this and provides a
patch: http://bugzilla.ximian.com/show_bug.cgi?id=59669

- The file chooser could probably just monitor the case where the cell editing
is *canceled*, rather than terminated in any way, and cancel its idle handler in
that case.  Or something like that.  I'll do this for now.

I'm attaching a stack trace that shows the problem induced by a change in ~/.gconfd.
Comment 27 Federico Mena Quintero 2005-03-30 18:10:15 UTC
Created attachment 39451 [details]
Stack trace that shows the bug triggered by a spurious change in a file under ~
Comment 28 Federico Mena Quintero 2005-03-30 18:11:24 UTC
Note that the stack trace above does not show where queue_edited_idle() gets
called for the first time.  It gets called in a previous iteration of the main
loop, so it doesn't appear in this particular stack trace.
Comment 29 Federico Mena Quintero 2005-03-30 21:47:51 UTC
Fixed on HEAD and gtk-2-6.

2005-03-30  Federico Mena Quintero  <federico@ximian.com>

	Fix #170755:

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): Only stop editing
	if the row which changed is the same as the row being edited.
Comment 30 Ross Burton 2005-04-06 09:43:29 UTC
*** Bug 172053 has been marked as a duplicate of this bug. ***
Comment 31 Sebastien Bacher 2005-06-11 16:45:33 UTC
*** Bug 306734 has been marked as a duplicate of this bug. ***