GMC 4.5.7 coredumps =O(



I get the window, and the / and home icons in the tree.  It then seems to go off 
and try to open64() each and every entry in /home (for the cache?) and takes an 
age.  It fails again with EACCES, due to local security and/or autofs.  Then we 
get a core.  With a backtrace par excellénce ;O) :

markbo@moredhel/home/markbo 23 ]gdb `which gmc` core
GNU gdb 4.17
Copyright 1998 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 "sparc-sun-solaris2.6"...
Core was generated by `gmc'.
Program terminated with signal 11, Segmentation Fault.
Reading symbols from /usr/local/gnome/lib/libgnomeui.so.31...done.
Reading symbols from /usr/local/gnome/lib/libart_lgpl.so.2...done.
Reading symbols from /usr/local/lib/libgdk_imlib.so.1...done.
Reading symbols from /usr/openwin/lib/libSM.so.6...done.
Reading symbols from /usr/openwin/lib/libICE.so.6...done.
Reading symbols from /usr/local/lib/libgtk-1.1.so.11...done.
Reading symbols from /usr/local/lib/libgdk-1.1.so.11...done.
Reading symbols from /usr/local/lib/libgmodule-1.1.so.12...done.
Reading symbols from /usr/openwin/lib/libXext.so.0...done.
Reading symbols from /usr/openwin/lib/libX11.so.4...done.
Reading symbols from /usr/local/gnome/lib/libgnome.so.31...done.
Reading symbols from /usr/local/gnome/lib/libgnomesupport.so.0...done.
Reading symbols from /usr/local/lib/libesd.so.0...done.
Reading symbols from /usr/lib/libm.so.1...done.
Reading symbols from /usr/lib/libresolv.so.2...done.
Reading symbols from /usr/lib/libposix4.so.1...done.
Reading symbols from /usr/lib/libnsl.so.1...done.
Reading symbols from /usr/lib/libsocket.so.1...done.
Reading symbols from /usr/local/lib/libaudiofile.so.0...done.
Reading symbols from /usr/local/lib/libdb.so...done.
Reading symbols from /usr/local/lib/libglib-1.1.so.12...done.
Reading symbols from /usr/lib/libdl.so.1...done.
Reading symbols from /usr/lib/libintl.so.1...
warning: Lowest section in /usr/lib/libintl.so.1 is .hash at 0x74done.
Reading symbols from /usr/lib/libc.so.1...done.
Reading symbols from /usr/lib/libaio.so.1...done.
Reading symbols from /usr/lib/libmp.so.2...done.
Reading symbols from /usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1...done.
Reading symbols from /usr/lib/locale/en_GB/en_GB.so.2...done.
Reading symbols from /usr/lib/libdoor.so.1...done.
Reading symbols from /usr/openwin/lib/locale/common/xlibi18n.so.2...done.
Reading symbols from /usr/local/lib/libimlib-ppm.so...done.
Reading symbols from /usr/local/lib/libimlib-xpm.so...done.
#0  0x85c28 in tree_store_opendir (path=0x1b2238 "/home/zulm")
    at treestore.c:740
740             scan->sublevel = entry->next->sublevel;
(gdb) 
(gdb) where
#0  0x85c28 in tree_store_opendir (path=0x1b2238 "/home/zulm")
    at treestore.c:740
#1  0xa68b8 in gtk_dtree_load_path (dtree=0x1da2f8, 
    path=0x1b2238 "/home/zulm", parent=0x33c38c, level=0) at gtkdtree.c:112
#2  0xa69d4 in gtk_dtree_load_path (dtree=0x1da2f8, path=0x2e3e58 "/home", 
    parent=0x15ec08, level=1) at gtkdtree.c:138
#3  0xa6bec in gtk_dtree_select_row (ctree=0x1da2f8, row=0x15ec08, column=0)
    at gtkdtree.c:176
#4  0xa75d4 in gtk_dtree_expand (ctree=0x1da2f8, node=0x15ec08)
    at gtkdtree.c:357
#5  0xff144924 in gtk_marshal_NONE__POINTER (object=0x1da2f8, 
    func=0xa7598 <gtk_dtree_expand>, func_data=0x0, args=0xffbeb890)
    at gtkmarshal.c:216
#6  0xff0f4480 in gtk_signal_real_emit (object=0x1da2f8, signal_id=127, 
    params=0xffbeb890) at gtksignal.c:1449
#7  0xff0f1684 in gtk_signal_emit (object=0x1da2f8, signal_id=127)
    at gtksignal.c:517
#8  0xff07446c in gtk_ctree_expand (ctree=0x1da2f8, node=0x15ec08)
    at gtkctree.c:4297
#9  0xa70d0 in gtk_dtree_do_select_dir (dtree=0x1da2f8, 
    path=0x30a310 "/home/markbo") at gtkdtree.c:262
#10 0xa7584 in gtk_dtree_size_allocate (widget=0x1da2f8, allocation=0xffbec230)
    at gtkdtree.c:349
#11 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1da2f8, 
    func=0xa7400 <gtk_dtree_size_allocate>, func_data=0x0, args=0xffbebeb8)
    at gtkmarshal.c:216
#12 0xff0f42a8 in gtk_signal_real_emit (object=0x1da2f8, signal_id=18, 
    params=0xffbebeb8) at gtksignal.c:1397
#13 0xff0f1684 in gtk_signal_emit (object=0x1da2f8, signal_id=18)
    at gtksignal.c:517
#14 0xff135f4c in gtk_widget_size_allocate (widget=0x1da2f8, 
    allocation=0xffbec2b0) at gtkwidget.c:2300
#15 0xff0edbb4 in gtk_scrolled_window_size_allocate (widget=0x1d65e8, 
    allocation=0xffbec7c8) at gtkscrolledwindow.c:751
#16 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1d65e8, 
    func=0xff0ed970 <gtk_scrolled_window_size_allocate>, func_data=0x0, 
    args=0xffbec450) at gtkmarshal.c:216
#17 0xff0f42a8 in gtk_signal_real_emit (object=0x1d65e8, signal_id=18, 
    params=0xffbec450) at gtksignal.c:1397
#18 0xff0f1684 in gtk_signal_emit (object=0x1d65e8, signal_id=18)
    at gtksignal.c:517
#19 0xff135f4c in gtk_widget_size_allocate (widget=0x1d65e8, 
    allocation=0xffbec850) at gtkwidget.c:2300
#20 0xff09c7bc in gtk_hpaned_size_allocate (widget=0x1f0df0, allocation=0x21c)
    at gtkhpaned.c:207
#21 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1f0df0, 
    func=0xff09c2ac <gtk_hpaned_size_allocate>, func_data=0x0, args=0xffbec9e8)
    at gtkmarshal.c:216
#22 0xff0f42a8 in gtk_signal_real_emit (object=0x1f0df0, signal_id=18, 
    params=0xffbec9e8) at gtksignal.c:1397
#23 0xff0f1684 in gtk_signal_emit (object=0x1f0df0, signal_id=18)
    at gtksignal.c:517
#24 0xff135f4c in gtk_widget_size_allocate (widget=0x1f0df0, 
    allocation=0xffbecdd8) at gtkwidget.c:2300
#25 0xff10a94c in gtk_table_size_allocate_pass2 (table=0x1d6440)
    at gtktable.c:1510
#26 0xff108f58 in gtk_table_size_allocate (widget=0x1d6440, 
    allocation=0xffbed360) at gtktable.c:827
#27 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1d6440, 
    func=0xff108e08 <gtk_table_size_allocate>, func_data=0x0, args=0xffbecfe8)
    at gtkmarshal.c:216
#28 0xff0f42a8 in gtk_signal_real_emit (object=0x1d6440, signal_id=18, 
    params=0xffbecfe8) at gtksignal.c:1397
#29 0xff0f1684 in gtk_signal_emit (object=0x1d6440, signal_id=18)
    at gtksignal.c:517
#30 0xff135f4c in gtk_widget_size_allocate (widget=0x1d6440, 
    allocation=0xffbed3e0) at gtkwidget.c:2300
#31 0xff128e10 in gtk_vbox_size_allocate (widget=0x1b97c8, 
    allocation=0xffbed8f0) at gtkvbox.c:250
#32 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1b97c8, 
    func=0xff128a34 <gtk_vbox_size_allocate>, func_data=0x0, args=0xffbed578)
    at gtkmarshal.c:216
#33 0xff0f42a8 in gtk_signal_real_emit (object=0x1b97c8, signal_id=18, 
    params=0xffbed578) at gtksignal.c:1397
#34 0xff0f1684 in gtk_signal_emit (object=0x1b97c8, signal_id=18)
    at gtksignal.c:517
#35 0xff135f4c in gtk_widget_size_allocate (widget=0x1b97c8, 
    allocation=0xffbed968) at gtkwidget.c:2300
#36 0xff2d2f24 in gnome_dock_size_allocate (widget=0x0, allocation=0xffbede78)
    at gnome-dock.c:384
#37 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1b85c8, 
    func=0xff2d2dd0 <gnome_dock_size_allocate>, func_data=0x0, args=0xffbedb00)
    at gtkmarshal.c:216
#38 0xff0f42a8 in gtk_signal_real_emit (object=0x1b85c8, signal_id=18, 
    params=0xffbedb00) at gtksignal.c:1397
#39 0xff0f1684 in gtk_signal_emit (object=0x1b85c8, signal_id=18)
    at gtksignal.c:517
#40 0xff135f4c in gtk_widget_size_allocate (widget=0x1b85c8, 
    allocation=0xffbedef8) at gtkwidget.c:2300
#41 0xff128e10 in gtk_vbox_size_allocate (widget=0x1b8430, 
    allocation=0xffbee408) at gtkvbox.c:250
#42 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1b8430, 
    func=0xff128a34 <gtk_vbox_size_allocate>, func_data=0x0, args=0xffbee090)
    at gtkmarshal.c:216
#43 0xff0f42a8 in gtk_signal_real_emit (object=0x1b8430, signal_id=18, 
    params=0xffbee090) at gtksignal.c:1397
#44 0xff0f1684 in gtk_signal_emit (object=0x1b8430, signal_id=18)
    at gtksignal.c:517
#45 0xff135f4c in gtk_widget_size_allocate (widget=0x1b8430, 
    allocation=0xffbee488) at gtkwidget.c:2300
#46 0xff1420fc in gtk_window_size_allocate (widget=0x1b77d8, 
    allocation=0xffbee998) at gtkwindow.c:926
#47 0xff144924 in gtk_marshal_NONE__POINTER (object=0x1b77d8, 
    func=0xff141f44 <gtk_window_size_allocate>, func_data=0x0, args=0xffbee620)
    at gtkmarshal.c:216
#48 0xff0f42a8 in gtk_signal_real_emit (object=0x1b77d8, signal_id=18, 
    params=0xffbee620) at gtksignal.c:1397
#49 0xff0f1684 in gtk_signal_emit (object=0x1b77d8, signal_id=18)
    at gtksignal.c:517
#50 0xff135f4c in gtk_widget_size_allocate (widget=0x1b77d8, 
    allocation=0x1b77f8) at gtkwidget.c:2300
#51 0xff068bfc in gtk_container_resize_children (container=0x1b77d8)
    at gtkcontainer.c:1013
#52 0xff143790 in gtk_window_move_resize (window=0x1b77d8) at gtkwindow.c:1488
#53 0xff1431c0 in gtk_window_check_resize (container=0x1b77d8)
    at gtkwindow.c:1271
#54 0xff144a28 in gtk_marshal_NONE__NONE (object=0x1b77d8, 
    func=0xff143098 <gtk_window_check_resize>, func_data=0x0, args=0xffbeecb8)
    at gtkmarshal.c:363
#55 0xff0f4480 in gtk_signal_real_emit (object=0x1b77d8, signal_id=63, 
    params=0xffbeecb8) at gtksignal.c:1449
#56 0xff0f1684 in gtk_signal_emit (object=0x1b77d8, signal_id=63)
    at gtksignal.c:517
#57 0xff06896c in gtk_container_check_resize (container=0x1b77d8)
    at gtkcontainer.c:920
#58 0xff06846c in gtk_container_idle_sizer (data=0xff1800a0)
    at gtkcontainer.c:833
#59 0xfeca5f30 in g_idle_dispatch (source_data=0x1f7998, 
    current_time=0xffbef200, user_data=0x0) at gmain.c:919
#60 0xfeca4d64 in g_main_dispatch (current_time=0xffbef200) at gmain.c:390
#61 0xfeca5360 in g_main_iterate (block=1068, dispatch=1) at gmain.c:574
#62 0xfeca54b0 in g_main_run (loop=0x1f7948) at gmain.c:618
#63 0xff0b6320 in gtk_main () at gtkmain.c:458
#64 0x934a8 in gtkrundlg_event (h=0x1b75b0) at gmain.c:343
#65 0x2cef8 in run_dlg (h=0x1b75b0) at dlg.c:903
#66 0x93a50 in create_panels () at gmain.c:544
#67 0x2989c in setup_mc () at main.c:1828
#68 0x2a490 in do_nc () at main.c:2193
#69 0x2b4b0 in main (argc=1, argv=0xffbef63c) at main.c:3015
(gdb) list
735             }
736             
737             scan = xmalloc (sizeof (tree_scan), "");
738             scan->base = entry;
739             scan->current = entry->next;
740             scan->sublevel = entry->next->sublevel;
741             
742             scan->base_dir_len = strlen (path);
743             return scan;
744     }
(gdb) print scan
$1 = (tree_scan *) 0x37a998
(gdb) print scan->sublevel
$2 = 2
(gdb) print entry
$3 = (tree_entry *) 0x1b2438
(gdb) print entry->next
$4 = (struct tree_entry *) 0x0
(gdb) 

errr...  Need I say more? ;O)

The last few lines of the truss are:

open64("/home/zahid", O_RDONLY|O_NDELAY)        Err#13 EACCES
open64("/home/zarina", O_RDONLY|O_NDELAY)       Err#13 EACCES
open64("/home/zoeb", O_RDONLY|O_NDELAY)         Err#13 EACCES
open64("/home/zoeh", O_RDONLY|O_NDELAY)         Err#13 EACCES
open64("/home/zoer", O_RDONLY|O_NDELAY)         Err#13 EACCES
open64("/home/zulm", O_RDONLY|O_NDELAY)         Err#13 EACCES
    Incurred fault #6, FLTBOUNDS  %pc = 0x00085C28
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000004
    Received signal #11, SIGSEGV [default]
      siginfo: SIGSEGV SEGV_MAPERR addr=0x00000004
        *** process killed ***

This is entirely reproducable in entirely the same place.

Is it really necessary to open and cache directories below like this anyway?  
Can't we just ignore them until we go there?  How likely am I to want to go 
browse other peoples' home directories?  I ask simply coz this takes many 
minutes here, and I'd have to wait for it each time I open gmc...  Could it be 
thrown over to a separate thread, maybe?

Oh well, thanks anyway,

Mark.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]