xffm: empty directory

Jens Guballa J.Guballa at t-online.de
Mon Apr 14 21:52:28 CEST 2003


Hi Edscott,

On Sun, Apr 13, 2003 at 10:07:50PM -0500, edscott wilson garcia wrote:
> El dom, 13-04-2003 a las 11:58, Jens Guballa escribió:
> > Hi,
> > 
> > I noticed, that the ".." entry is missing in an empty directory. So you
> > have to use Control-Up to change to the higher directory.
> 
> I hadn't thought about that. It should be easy to fix.
> 
> > 
> > Ups..., while I am writing these lines, I recognize that xffm is
> > crashing when Control-Up is pressed twice very quickly.
> 
> I cannot reproduce it, but maybe that's because it's due to a bug in the
> goto routine which I fixed while removing the bug described by Olivier
> earlier today. 

I checked out xffm from CVS today, the behaviour is still the same.

A backtrace is attached. I haven't looked into that in detail, but in
open_dir *en seems to contain rubbish data: 

(gdb) print *en

$2 = {type = 138879080, subtype = 0, count = 0, st = 0x1f4, tag = 0x4
<Address 0x4 out of bounds>, path = 0x3f <Address 0x3f out of bounds>,
filter = 0x2400 <Address 0x2400 out of bounds>, checksum =
8029744614627868697, load_time = 138805364}

Let me know if you need any more information, I can reproduce this
behaviour on my machine.

Regards,
Jens

> 
> FWIW, GtkTreeIters become invalid when you add or delete stuff to the
> tree. While executing goto code, xffm was deleting row data, collapsing
> the row and then setting new data to the row. But that is now fixed
> (committing at this moment).
> 
> OT, I didn't have time to prepare the xffm beta-release today, so it
> will probably come out tommorrow.
> 
> Edscott
> 
-------------- next part --------------
GNU gdb 2002-04-01-cvs
Copyright 2002 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 "i386-linux".
(gdb) file /usr/local/bin/xffm
Reading symbols from /usr/local/bin/xffm...done.
(gdb) run
Starting program: /usr/local/stow/xfce-devel/bin/xffm 
[New Thread 1024 (LWP 24100)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 24100)]
0x40684f7e in vfprintf () from /lib/libc.so.6
(gdb) backtrace
#0  0x40684f7e in vfprintf () from /lib/libc.so.6
#1  0x406a08ca in vsnprintf () from /lib/libc.so.6
#2  0x4068c3e1 in snprintf () from /lib/libc.so.6
#3  0x08051589 in set_title (treeview=0x817ed30, 
    path=0x1 <Address 0x1 out of bounds>) at aux.c:98
#4  0x08060187 in open_dir (treeview=0x817ed30, iter=0x846cc80, 
    treepath=0x83f6c68, user_data=0x817ed30) at callbacks.c:327
#5  0x402a32c9 in _gtk_marshal_VOID__BOXED_BOXED (closure=0x81a3e58, 
    return_value=0x0, n_param_values=3, param_values=0xbfffdf2c, 
    invocation_hint=0xbfffde08, marshal_data=0x0) at gtkmarshalers.c:862
#6  0x404ebe2b in g_closure_invoke (closure=0x81a3e58, return_value=0x0, 
    n_param_values=3, param_values=0xbfffdf2c, invocation_hint=0xbfffde08)
    at gclosure.c:437
#7  0x404fef23 in signal_emit_unlocked_R (node=0x817a788, detail=0, 
    instance=0x817ed30, emission_return=0x0, instance_and_params=0xbfffdf2c)
    at gsignal.c:2822
#8  0x404fd79a in g_signal_emit_valist (instance=0x817ed30, signal_id=202, 
    detail=0, var_args=0xbfffe0b8) at gsignal.c:2554
#9  0x404fda45 in g_signal_emit (instance=0x817ed30, signal_id=202, detail=0)
    at gsignal.c:2612
#10 0x4034b8a3 in gtk_tree_view_real_expand_row (tree_view=0x817ed30, 
    path=0x83dba88, tree=0x81a3f20, node=0x81a3fe4, open_all=0, animate=0)
    at gtktreeview.c:9201
---Type <return> to continue, or q <return> to quit---
#11 0x4034b991 in gtk_tree_view_expand_row (tree_view=0x817ed30, 
    path=0x83dba88, open_all=0) at gtktreeview.c:9235
#12 0x0805fdb5 in open_dir (treeview=0x817ed30, iter=0x80c7700, 
    treepath=0x83dba88, user_data=0x817ed30) at callbacks.c:271
#13 0x402a32c9 in _gtk_marshal_VOID__BOXED_BOXED (closure=0x81a3e58, 
    return_value=0x0, n_param_values=3, param_values=0xbfffe55c, 
    invocation_hint=0xbfffe438, marshal_data=0x0) at gtkmarshalers.c:862
#14 0x404ebe2b in g_closure_invoke (closure=0x81a3e58, return_value=0x0, 
    n_param_values=3, param_values=0xbfffe55c, invocation_hint=0xbfffe438)
    at gclosure.c:437
#15 0x404fef23 in signal_emit_unlocked_R (node=0x817a788, detail=0, 
    instance=0x817ed30, emission_return=0x0, instance_and_params=0xbfffe55c)
    at gsignal.c:2822
#16 0x404fd79a in g_signal_emit_valist (instance=0x817ed30, signal_id=202, 
    detail=0, var_args=0xbfffe6e8) at gsignal.c:2554
#17 0x404fda45 in g_signal_emit (instance=0x817ed30, signal_id=202, detail=0)
    at gsignal.c:2612
#18 0x4034b8a3 in gtk_tree_view_real_expand_row (tree_view=0x817ed30, 
    path=0x845e558, tree=0x81a3f20, node=0x81a3fe4, open_all=0, animate=0)
    at gtktreeview.c:9201
#19 0x4034b991 in gtk_tree_view_expand_row (tree_view=0x817ed30, 
    path=0x845e558, open_all=0) at gtktreeview.c:9235
#20 0x4002b5ed in go_up (widget=0x80c6dc8) at goto.c:282
---Type <return> to continue, or q <return> to quit---
#21 0x4002b7da in on_up2_activate (menuitem=0x80c6dc8, user_data=0x0)
    at goto.c:345
#22 0x404ffd26 in g_cclosure_marshal_VOID__VOID (closure=0x80c6f48, 
    return_value=0x0, n_param_values=1, param_values=0xbfffeb5c, 
    invocation_hint=0xbfffea38, marshal_data=0x0) at gmarshal.c:77
#23 0x404ebe2b in g_closure_invoke (closure=0x80c6f48, return_value=0x0, 
    n_param_values=1, param_values=0xbfffeb5c, invocation_hint=0xbfffea38)
    at gclosure.c:437
#24 0x404fef23 in signal_emit_unlocked_R (node=0x80a9a10, detail=0, 
    instance=0x80c6dc8, emission_return=0x0, instance_and_params=0xbfffeb5c)
    at gsignal.c:2822
#25 0x404fd79a in g_signal_emit_valist (instance=0x80c6dc8, signal_id=97, 
    detail=0, var_args=0xbfffece0) at gsignal.c:2554
#26 0x404fda45 in g_signal_emit (instance=0x80c6dc8, signal_id=97, detail=0)
    at gsignal.c:2612
#27 0x4035d002 in closure_accel_activate (closure=0x80c7268, 
    return_value=0xbfffeebc, n_param_values=4, param_values=0xbffff00c, 
    invocation_hint=0xbfffeed8, marshal_data=0x0) at gtkwidget.c:2617
#28 0x404ebe2b in g_closure_invoke (closure=0x80c7268, 
    return_value=0xbfffeebc, n_param_values=4, param_values=0xbffff00c, 
    invocation_hint=0xbfffeed8) at gclosure.c:437
#29 0x404fef23 in signal_emit_unlocked_R (node=0x8091c48, detail=393, 
    instance=0x8091e98, emission_return=0xbfffefcc, 
---Type <return> to continue, or q <return> to quit---
    instance_and_params=0xbffff00c) at gsignal.c:2822
#30 0x404fd807 in g_signal_emit_valist (instance=0x8091e98, signal_id=7, 
    detail=393, var_args=0xbffff19c) at gsignal.c:2564
#31 0x404fda45 in g_signal_emit (instance=0x8091e98, signal_id=7, detail=393)
    at gsignal.c:2612
#32 0x40226516 in _gtk_accel_group_activate (accel_group=0x8091e98, 
    accel_quark=393, acceleratable=0x809e4e0, accel_key=65362, 
    accel_mods=GDK_CONTROL_MASK) at gtkaccelgroup.c:732
#33 0x40226617 in gtk_accel_groups_activate (object=0x809e4e0, 
    accel_key=65362, accel_mods=GDK_CONTROL_MASK) at gtkaccelgroup.c:770
#34 0x4036bc61 in _gtk_window_activate_key (window=0x809e4e0, event=0x83e1030)
    at gtkwindow.c:6754
#35 0x40368d21 in gtk_window_key_press_event (widget=0x809e4e0, 
    event=0x83e1030) at gtkwindow.c:4055
#36 0x402a2412 in _gtk_marshal_BOOLEAN__BOXED (closure=0x80970b0, 
    return_value=0xbffff48c, n_param_values=2, param_values=0xbffff5dc, 
    invocation_hint=0xbffff4a8, marshal_data=0x40368cfc) at gtkmarshalers.c:82
#37 0x404ec205 in g_type_class_meta_marshal (closure=0x80970b0, 
    return_value=0xbffff48c, n_param_values=2, param_values=0xbffff5dc, 
    invocation_hint=0xbffff4a8, marshal_data=0xcc) at gclosure.c:514
#38 0x404ebe2b in g_closure_invoke (closure=0x80970b0, 
    return_value=0xbffff48c, n_param_values=2, param_values=0xbffff5dc, 
    invocation_hint=0xbffff4a8) at gclosure.c:437
---Type <return> to continue, or q <return> to quit---
#39 0x404ff31a in signal_emit_unlocked_R (node=0x8097280, detail=0, 
    instance=0x809e4e0, emission_return=0xbffff59c, 
    instance_and_params=0xbffff5dc) at gsignal.c:2860
#40 0x404fd807 in g_signal_emit_valist (instance=0x809e4e0, signal_id=36, 
    detail=0, var_args=0xbffff764) at gsignal.c:2564
#41 0x404fda45 in g_signal_emit (instance=0x809e4e0, signal_id=36, detail=0)
    at gsignal.c:2612
#42 0x4035df02 in gtk_widget_event_internal (widget=0x809e4e0, event=0x83e1030)
    at gtkwidget.c:3143
#43 0x4035db60 in gtk_widget_event (widget=0x809e4e0, event=0x83e1030)
    at gtkwidget.c:3004
#44 0x402a228d in gtk_propagate_event (widget=0x809e4e0, event=0x83e1030)
    at gtkmain.c:2235
#45 0x402a12ce in gtk_main_do_event (event=0x83e1030) at gtkmain.c:1502
#46 0x404522dd in gdk_event_dispatch (source=0x8090e10, callback=0, 
    user_data=0x0) at gdkevents-x11.c:2018
#47 0x4053df59 in g_main_dispatch (context=0x8090e58) at gmain.c:1653
#48 0x4053ed77 in g_main_context_dispatch (context=0x8090e58) at gmain.c:2197
#49 0x4053f153 in g_main_context_iterate (context=0x8090e58, block=1, 
    dispatch=1, self=0x80b3188) at gmain.c:2278
#50 0x4053f82f in g_main_loop_run (loop=0x83eb438) at gmain.c:2498
#51 0x402a09b7 in gtk_main () at gtkmain.c:1092
#52 0x08063197 in main (argc=1, argv=0xbffffc34) at main.c:220
(gdb) quit
A debugging session is active.
Do you still want to close the debugger?(y or n) y


More information about the Xfce4-dev mailing list