Page 1 of 1
PCManFM stops updating with gamin 0.1.10
Posted: Thu Feb 26, 2009 6:22 pm
by skottish
PCManFM is showing strange behavior using gamin 0.1.10 (as well as FAM). Basically after some time files stop updating. This is true for both PCManFM 0.5 and svn r787. We have a thread about it at Arch Linux:
http://bbs.archlinux.org/viewtopic.php?id=65307
I started the thread wondering if it was gamin that's having the problem, but Thunar users aren't seeing the issue. This is happening under both 64 and 32 bit.
I filed a bug report in the Source Forge bug tracker, but it looks as if no bugs there are being assigned. This is a rather large issue, so I'm posting here. This is the link to the bug report:
http://sourceforge.net/tracker/index.ph ... tid=801864
If any developer wants to talk this out, you're more than welcome to join the discussion in the first link posted in this thread.
For clarity:
64 bit Arch Linux
kernel 2.6.26.7
gamin 0.1.10 compiled in all sorts of different ways (see the first thread)
GCC 4.3.3 with the entire tool chain to match this version
All recent versions of PCManFM are exhibiting this behavior
Re: PCManFM stops updating with gamin 0.1.10
Posted: Mon Mar 02, 2009 2:04 pm
by Corto
I had the same problem with inotify. It seems that we have to reconnect after each event.
I corrected in my branch on inotify. Perhaps you have to correct your source code with that:
Index: src/vfs/vfs-file-monitor.c
===================================================================
--- src/vfs/vfs-file-monitor.c (revision 787)
+++ src/vfs/vfs-file-monitor.c (working copy)
@@ -441,7 +441,8 @@
}
}
}
+ reconnect_fam(evt.file_name, monitor, NULL);
#endif
return TRUE;
}
this modification is inside:
static gboolean on_fam_event( GIOChannel * channel,
GIOCondition cond,
gpointer user_data )
Re: PCManFM stops updating with gamin 0.1.10
Posted: Mon Mar 02, 2009 9:56 pm
by skottish
Corto wrote:I had the same problem with inotify. It seems that we have to reconnect after each event.
I corrected in my branch on inotify. Perhaps you have to correct your source code with that:
Index: src/vfs/vfs-file-monitor.c
===================================================================
--- src/vfs/vfs-file-monitor.c (revision 787)
+++ src/vfs/vfs-file-monitor.c (working copy)
@@ -441,7 +441,8 @@
}
}
}
+ reconnect_fam(evt.file_name, monitor, NULL);
#endif
return TRUE;
}
this modification is inside:
static gboolean on_fam_event( GIOChannel * channel,
GIOCondition cond,
gpointer user_data )
Thank you very much for responding. I appreciate it. Well, we at Arch appreciate it.
***EDIT***
I'm having mental problems today. I'll try your patch and get back to you.
Re: PCManFM stops updating with gamin 0.1.10
Posted: Tue Mar 03, 2009 2:39 am
by skottish
The patch has an error in it. It should be evt.filename and not evt.file_name.
Unfortunately this kills both pcmanfm-svn (r787) and pcmanfm-fuse (r770). In both cases it segfaults. If you'd like to try to reproduce it, just switch views in the side pane with the buttons on bottom repeatedly. After about the fourth or fifth time it crashes. The stack trace is below.
Code: Select all
#1 0x00007fd93314d76e in g_list_prepend () from /usr/lib/libglib-2.0.so.0
#2 0x00007fd933e7ca5a in pango_attr_iterator_next ()
from /usr/lib/libpango-1.0.so.0
#3 0x00007fd933e7cb38 in pango_attr_list_get_iterator ()
from /usr/lib/libpango-1.0.so.0
#4 0x00007fd933e8713b in pango_layout_check_lines ()
from /usr/lib/libpango-1.0.so.0
#5 0x00007fd933e8862d in pango_layout_get_extents_internal ()
from /usr/lib/libpango-1.0.so.0
#6 0x00007fd933e8a266 in pango_layout_get_pixel_extents ()
from /usr/lib/libpango-1.0.so.0
#7 0x00007fd9348872c5 in get_size () from /usr/lib/libgtk-x11-2.0.so.0
#8 0x00007fd9348878bf in gtk_cell_renderer_text_get_size ()
from /usr/lib/libgtk-x11-2.0.so.0
#9 0x00007fd934a11e35 in gtk_tree_view_column_cell_get_size ()
from /usr/lib/libgtk-x11-2.0.so.0
#10 0x00007fd934a09e0e in validate_row () from /usr/lib/libgtk-x11-2.0.so.0
#11 0x00007fd934a0ae7b in validate_visible_area ()
from /usr/lib/libgtk-x11-2.0.so.0
#12 0x00007fd934a0b981 in do_presize_handler ()
from /usr/lib/libgtk-x11-2.0.so.0
#13 0x00007fd934a0ba19 in presize_handler_callback ()
Re: PCManFM stops updating with gamin 0.1.10
Posted: Sat Mar 07, 2009 7:15 pm
by skottish
Downgrading gamin to 0.1.9 seems to fix the problem with PCManFM. Since there doesn't seem to be any problems with Thunar and gamin 0.1.10, I suspect that something simple like an API call needs to be updated.
Re: PCManFM stops updating with gamin 0.1.10
Posted: Tue Mar 17, 2009 4:52 pm
by Corto
Sorry, But happy to see that you found a solution