Crash of xffm

edscott wilson garcia edscott at imp.mx
Sun Jun 22 02:51:23 CEST 2003


Hi Olivier, 

El sáb, 21-06-2003 a las 15:04, Olivier Fourdan escribió:
> Edscott,
> 
> Do you think you can fix this (somehow major) bug before beta2, ie,
> within the next 24 hrs or so ?

Done. Its fixed now. It's caused by a race condition with gtk treeview
internals (I'm trying to permit scrolling while the treeview is still
loading). I've removed the ability to scroll while the treeview is
expanding, xffm won't look so good while expanding big directories, but
it should not crash.

I also uploaded some other fixes which would be nice for beta2. These
include a fix for the bug reported earlier by Berhart about trash
collecting, (you can now collect trash directly from any wastebasket).
Also, I added smart history for the run combo, filter combo, goto combo,
and find-filter combo. By smart history I mean that the entries are
ordered according to which one is selected most often, and it persists
from session to session. This makes the goto function an effective
bookmarker in the sense of other filemanagers.

regards,

Edscott 

s 
> 
> Cheers,
> Olivier.
> 
> On Sat, 2003-06-21 at 16:09, Bernhard Walle wrote:
> > Hello,
> > 
> > if I do following, xffm sometimes crashes: Uncollect trash items, then
> > collect items of a directory (called $HOME/Eigene/templates), then
> > viewing this items in the main trash, uncollecting again, collecting,
> > viewing *CRASH*.
> > 
> > I compiled xffm with -ggdb and then run in ddd. A core dump is not
> > created, I made a backtrace. Note #36, it's in this function:
> > 
> > 
> > /* this function is to workaround a gtk bug in treeviews, where a 
> >  * while(gtk_events_pending()) will not break... 
> >  * Let's say 256 iterations suffice... */
> > void process_pending_gtk(){
> >   int i;
> >   for (i=0;i<256;i++){
> > 	  if (!gtk_events_pending()) break;
> > 	  else gtk_main_iteration();
> >   }
> > }
> > 
> > 
> > 
> > #0  0x403f55f0 in gdk_rgb_find_color () from /usr/lib/libgdk-x11-2.0.so.0
> > #1  0x403f5651 in gdk_rgb_find_color () from /usr/lib/libgdk-x11-2.0.so.0
> > #2  0x403f607e in gdk_rgb_find_color () from /usr/lib/libgdk-x11-2.0.so.0
> > #3  0x403f63ee in gdk_draw_rgb_32_image_dithalign () from /usr/lib/libgdk-x11-2.0.so.0
> > #4  0x403e94bb in gdk_drawable_get_visible_region () from /usr/lib/libgdk-x11-2.0.so.0
> > #5  0x40408297 in gdk_x11_drawable_get_xid () from /usr/lib/libgdk-x11-2.0.so.0
> > #6  0x403e8190 in gdk_draw_pixbuf () from /usr/lib/libgdk-x11-2.0.so.0
> > #7  0x403f0dab in gdk_pixmap_get_type () from /usr/lib/libgdk-x11-2.0.so.0
> > #8  0x403e8190 in gdk_draw_pixbuf () from /usr/lib/libgdk-x11-2.0.so.0
> > #9  0x403fbca1 in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0
> > #10 0x403e8190 in gdk_draw_pixbuf () from /usr/lib/libgdk-x11-2.0.so.0
> > #11 0x4020ca40 in gtk_cell_renderer_pixbuf_new () from /usr/lib/libgtk-x11-2.0.so.0
> > #12 0x40208b92 in gtk_cell_renderer_render () from /usr/lib/libgtk-x11-2.0.so.0
> > #13 0x40324cc3 in gtk_tree_view_column_cell_get_size () from /usr/lib/libgtk-x11-2.0.so.0
> > #14 0x403253ba in _gtk_tree_view_column_cell_render () from /usr/lib/libgtk-x11-2.0.so.0
> > #15 0x40313ace in gtk_tree_view_get_type () from /usr/lib/libgtk-x11-2.0.so.0
> > #16 0x4031419a in gtk_tree_view_get_type () from /usr/lib/libgtk-x11-2.0.so.0
> > #17 0x40274412 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
> > #18 0x404c4205 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
> > #19 0x404c3e2b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> > #20 0x404d731a in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
> > #21 0x404d5807 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
> > #22 0x404d5a45 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> > #23 0x4032ff02 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
> > #24 0x4032fc6a in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
> > #25 0x40273266 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
> > #26 0x403fc2a4 in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0
> > #27 0x403fc34d in gdk_window_process_all_updates () from /usr/lib/libgdk-x11-2.0.so.0
> > #28 0x402268fb in gtk_container_set_reallocate_redraws () from /usr/lib/libgtk-x11-2.0.so.0
> > #29 0x4051a676 in g_timeout_add () from /usr/lib/libglib-2.0.so.0
> > #30 0x40517f59 in g_get_current_time () from /usr/lib/libglib-2.0.so.0
> > #31 0x40518d77 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> > #32 0x40519153 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> > #33 0x405192d6 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
> > #34 0x40272c24 in gtk_main_iteration () from /usr/lib/libgtk-x11-2.0.so.0
> > #35 0x4001f9c5 in process_pending_gtk () from /home/bwalle/src/xfce/xfce-devel/xffm/libs/.libs/libxffm.so.0
> > #36 0x080666b4 in open_dir (treeview=0x8179a40, iter=0x84435a0, treepath=0x8351d78, user_data=0x8179a40) at callbacks.c:346
> > #37 0x402752c9 in _gtk_marshal_VOID__BOXED_BOXED () from /usr/lib/libgtk-x11-2.0.so.0
> > #38 0x404c3e2b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> > #39 0x404d6f23 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
> > #40 0x404d579a in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
> > #41 0x404d5a45 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> > #42 0x4031d8a3 in gtk_tree_view_expand_to_path () from /usr/lib/libgtk-x11-2.0.so.0
> > #43 0x4031236e in gtk_tree_view_get_type () from /usr/lib/libgtk-x11-2.0.so.0
> > #44 0x40274412 in _gtk_marshal_BOOLEAN__BOXED () from /usr/lib/libgtk-x11-2.0.so.0
> > #45 0x404c4205 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
> > #46 0x404c3e2b in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
> > #47 0x404d731a in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
> > #48 0x404d5807 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
> > #49 0x404d5a45 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
> > #50 0x4032ff02 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
> > #51 0x4032fb60 in gtk_widget_event () from /usr/lib/libgtk-x11-2.0.so.0
> > #52 0x402742c3 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
> > #53 0x402732ce in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
> > #54 0x4040a6ad in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
> > #55 0x40517f59 in g_get_current_time () from /usr/lib/libglib-2.0.so.0
> > #56 0x40518d77 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> > #57 0x40519153 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
> > #58 0x4051982f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
> > #59 0x402729b7 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
> > #60 0x0806c457 in main (argc=1, argv=0xbffff824) at main.c:278
> > 
> > 
> > Regards,
> > Bernhard
> > 
> > _______________________________________________
> > Xfce4-dev mailing list
> > Xfce4-dev at xfce.org
> > http://moongroup.com/mailman/listinfo/xfce4-dev
> -- 
> Olivier Fourdan <fourdan at xfce.org>
> http://www.xfce.org
> 
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://moongroup.com/mailman/listinfo/xfce4-dev
> 





More information about the Xfce4-dev mailing list