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 375357 - crash in GNOME Commander: I wanted to see properti...
crash in GNOME Commander: I wanted to see properti...
Status: RESOLVED FIXED
Product: gnome-commander
Classification: Other
Component: application
1.2.x
Other All
: High critical
: 1.2.2
Assigned To: epiotr
epiotr
: 391864 410174 548039 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2006-11-15 00:29 UTC by karel.tomas
Modified: 2009-06-21 11:44 UTC
See Also:
GNOME target: ---
GNOME version: 2.15/2.16


Attachments
Fix for race condition between updater and working thread. (1.53 KB, patch)
2009-06-20 17:02 UTC, Dmitriy Lyfar
none Details | Review

Description karel.tomas 2006-11-15 00:29:42 UTC
Version: 1.2.0

What were you doing when the application crashed?
I wanted to see properties of a directory. When the properties window opened, commander started to count dir size. I pressed button Close before dirsize counting finished and commander crashed. It happened to me twice on different dirs. Both dirs was mounted devices /mnt/hda1 and sda1


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.16.1 2006-10-02 (Ubuntu)
BugBuddy Version: 2.16.0

Memory status: size: 45625344 vsize: 0 resident: 45625344 share: 0 rss: 16101376 rss_rlim: 0
CPU usage: start_time: 1163549131 rtime: 0 utime: 277 stime: 0 cutime:249 cstime: 0 timeout: 28 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/gnome-commander'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
(no debugging symbols found)
[Thread debugging using libthread_db enabled]
[New Thread -1225013584 (LWP 16499)]
(no debugging symbols found)
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1225013584 (LWP 16499))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 pthread_mutex_lock
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 ??
  • #6 ??
  • #0 __kernel_vsyscall

Comment 1 André Klapper 2006-11-15 02:32:40 UTC
Thanks for taking the time to report this bug.
Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 2 karel.tomas 2006-11-15 11:47:25 UTC
I'm sorry, but it is for me too complicated to install debug packages when I don't know which are needed. If you can help me with it, I appreciate it. I have installed the ones listed on the page you sent me link to. But after instalation debuging symbols are still missing.
But it takes 3 seconds, to reproduce the crash, only find big directory. If you do that on machine properly configured with those debuging packages installed you can get stack trace easily.
I have reproduced this bug on two different computers.
I'm developer in Java and I know, that it is very easy to fix bug, if you can easily reproduce it, because when you run application in debugging environment you can get stack trace and many more informations like variable state etc.
This bug seems to me, like the thread which is counting dirsize is trying to send progress info even after the gui window was closed and this causes failure.
Hope this helps.
Comment 3 André Klapper 2006-12-14 03:00:44 UTC
hi karel,

unfortunately ubuntu does not provide a debug package for gnome-commander, but it would be nice if you would install at least libglib2.0-0-dbg, libgtk2.0-0-dbg and libgnomevfs2-0-dbg. thanks in advance!
Comment 4 karel.tomas 2006-12-14 03:24:22 UTC
hi,

I have installed packages you wanted.
But the stack trace looks similar to me.
Meanwhile I upgraded to version 1.2.1 with the same bug.
It was not released in official stream so I had to create my own package.


Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.16.1 2006-10-02 (Ubuntu)
BugBuddy Version: 2.16.0

Memory status: size: 46321664 vsize: 0 resident: 46321664 share: 0 rss: 15667200 rss_rlim: 0
CPU usage: start_time: 1166065990 rtime: 0 utime: 86 stime: 0 cutime:77 cstime: 0 timeout: 9 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/gnome-commander'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/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)
[Thread debugging using libthread_db enabled]
[New Thread -1224755536 (LWP 8611)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1224755536 (LWP 8611))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 pthread_mutex_lock
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 ??
  • #6 ??
  • #0 __kernel_vsyscall

Comment 5 karel.tomas 2006-12-14 03:36:52 UTC
I tried it once more after reboot and trace changed, so here it is.

Distribution: Ubuntu 6.10 (edgy)
Gnome Release: 2.16.1 2006-10-02 (Ubuntu)
BugBuddy Version: 2.16.0

Memory status: size: 46436352 vsize: 0 resident: 46436352 share: 0 rss: 15581184 rss_rlim: 0
CPU usage: start_time: 1166067015 rtime: 0 utime: 71 stime: 0 cutime:63 cstime: 0 timeout: 8 it_real_value: 0 frequency: 0

Backtrace was generated from '/usr/bin/gnome-commander'

(no debugging symbols found)
Using host libthread_db library "/lib/tls/i686/cmov/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)
[Thread debugging using libthread_db enabled]
[New Thread -1225677136 (LWP 6437)]
0xffffe410 in __kernel_vsyscall ()

Thread 1 (Thread -1225677136 (LWP 6437))

  • #0 __kernel_vsyscall
  • #1 __waitpid_nocancel
    from /lib/tls/i686/cmov/libpthread.so.0
  • #2 gnome_gtk_module_info_get
    from /usr/lib/libgnomeui-2.so.0
  • #3 <signal handler called>
  • #4 pthread_mutex_lock
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 ??
  • #6 ??
  • #7 __pthread_mutex_unlock_usercnt
    from /lib/tls/i686/cmov/libpthread.so.0
  • #8 ??
    from /usr/lib/libglib-2.0.so.0
  • #9 __pthread_mutex_unlock_usercnt
    from /lib/tls/i686/cmov/libpthread.so.0
  • #10 ??
  • #11 g_timeout_dispatch
    at gmain.c line 3422
  • #0 __kernel_vsyscall

Comment 6 palfrey 2007-02-21 13:17:16 UTC
*** Bug 410174 has been marked as a duplicate of this bug. ***
Comment 7 palfrey 2007-02-21 16:40:44 UTC
*** Bug 391864 has been marked as a duplicate of this bug. ***
Comment 8 André Klapper 2007-10-29 01:20:04 UTC
Could you please help fixing this by installing some debugging packages [1], start the application as normal, and try to reproduce the crash, if possible?

Once bug-buddy pops up, you can find the stacktrace in the 'Details', now containing way more information. Please copy that stacktrace and paste it as a comment here. Thanks in advance!

[1] Please install debug packages for gnome-commander, gtk, glib, gnome-vfs, libgnome, libgnomeui and pango (as far as those packages are provided by your distribution).

More details can be found here: http://live.gnome.org/GettingTraces
Comment 9 karel.tomas 2007-10-29 09:56:13 UTC
Recently I upgraded to Gutsy and GMC 1.2.4
I can confirm, that bug persists, even application behaviour changed.
When I try to reproduce the bug with steps described in detail above, application produces some error output to console and segment faults.
There is no bug buddy window.
I think, that gmc is trying to access some label inaccesible after closing property window.
If the only thing, you can do is keep asking me for stack trace like in comment writen by you on 2006-11-15, I'm not able to help you.

Sorry.


...abbreviated here because of repetition.

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

(gnome-commander:17483): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:17483): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed
Segmentation fault (core dumped)
Comment 10 André Klapper 2007-10-29 11:53:51 UTC
Ahoj Karel,
i'm asking you to install some debug packages (as described on http://live.gnome.org/GettingTraces and http://live.gnome.org/GettingTraces/DistroSpecificInstructions#head-46c81b990ba060e2668c48d93ddb541e57dc6291 ) and if bug-buddy does not pop up, can you run gnome-commander in gdb?
see http://live.gnome.org/GettingTraces/Details#gdb-not-yet-running for more info. thanks for helping!
Comment 11 karel.tomas 2007-10-29 13:27:40 UTC
I have installed those packages.
libglib2.0-0-dbg,
libgtk2.0-0-dbg and libgnomevfs2-0-dbg but there are no dbg packages for gnome commander under ubuntu.

Then I ran program under gdb

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1227638576 (LWP 27471)]
0xb72c8550 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
(gdb) thread apply all bt

Thread 1 (Thread -1227638576 (LWP 27471))

  • #0 pthread_mutex_lock
    from /lib/tls/i686/cmov/libpthread.so.0
  • #1 ??
  • #2 ??
    from /usr/lib/libglib-2.0.so.0
  • #3 ??
  • #4 __pthread_mutex_unlock_usercnt
    from /lib/tls/i686/cmov/libpthread.so.0
  • #5 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #6 ??
    from /usr/lib/libglib-2.0.so.0
  • #7 ??
  • #8 ??

Comment 12 Cosmin Humeniuc 2008-01-29 18:31:20 UTC
Maybe this provides more information.

GNU gdb 6.6-3mdv2008.0 (Mandriva Linux release 2008.0)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i586-mandriva-linux-gnu"...
Using host libthread_db library "/lib/i686/libthread_db.so.1".
(gdb) run
Starting program: /usr/local/bin/gnome-commander 
[Thread debugging using libthread_db enabled]
[New Thread -1229474096 (LWP 16234)]
[New Thread -1253045360 (LWP 16237)]
[Thread -1253045360 (LWP 16237) exited]
[New Thread -1253045360 (LWP 16238)]
[Thread -1253045360 (LWP 16238) exited]

(gnome-commander:16234): GnomeUI-WARNING **: Could not find GNOME pixmap file gnome-commander/terminal.svg
[New Thread -1253045360 (LWP 16239)]
[Thread -1253045360 (LWP 16239) exited]

(gnome-commander:16234): GLib-GObject-WARNING **: invalid uninstantiatable type `(null)' in cast to `GtkLabel'

(gnome-commander:16234): Gtk-CRITICAL **: gtk_label_set_text: assertion `GTK_IS_LABEL (label)' failed

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 16234)

  • #0 __pthread_mutex_unlock_usercnt
    from /lib/i686/libpthread.so.0
  • #1 update_count_status
    at gnome-cmd-file-props-dialog.cc line 165
  • #2 __gxx_personality_v0
    from /usr/lib/libglib-2.0.so.0
  • #3 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #4 __gxx_personality_v0
    from /usr/lib/libglib-2.0.so.0
  • #5 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #6 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #7 main
    at main.cc line 145

Comment 13 André Klapper 2008-08-29 03:18:41 UTC
*** Bug 548039 has been marked as a duplicate of this bug. ***
Comment 14 Dmitriy Lyfar 2009-06-20 17:02:23 UTC
Created attachment 137073 [details] [review]
Fix for race condition between updater and working thread.
Comment 15 Dmitriy Lyfar 2009-06-20 17:05:05 UTC
Hello,

I can also reproduce this bug. You should simply try to run file properties on large directory and during it calculates size press cancel. It 100% reproducable. I'm using fedora.11 and 1.2.7 gnome-commander version. I've updates sources and found a reason. So I suggest a svn patch (see patch above). Problem was in updater function which tried lock mutex which already not exist (there was race condition).

Thank you, Lyfar Dmitriy
Comment 16 epiotr 2009-06-21 11:44:03 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.