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
PCManFM stops updating with gamin 0.1.10
Re: PCManFM stops updating with gamin 0.1.10
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 )
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
Thank you very much for responding. I appreciate it. Well, we at Arch appreciate it.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 )
***EDIT***
I'm having mental problems today. I'll try your patch and get back to you.
Last edited by skottish on Tue Mar 03, 2009 2:39 am, edited 1 time in total.
Re: PCManFM stops updating with gamin 0.1.10
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.
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
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
Sorry, But happy to see that you found a solution