PCManFM stops updating with gamin 0.1.10

The dedicated forum for PCMan File Manager - http://wiki.lxde.org/en/PCManFM
Locked
skottish
Posts: 5
Joined: Thu Feb 26, 2009 6:09 pm

PCManFM stops updating with gamin 0.1.10

Post 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
Corto
Posts: 14
Joined: Thu Feb 19, 2009 5:21 pm

Re: PCManFM stops updating with gamin 0.1.10

Post 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 )
skottish
Posts: 5
Joined: Thu Feb 26, 2009 6:09 pm

Re: PCManFM stops updating with gamin 0.1.10

Post 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.
Last edited by skottish on Tue Mar 03, 2009 2:39 am, edited 1 time in total.
skottish
Posts: 5
Joined: Thu Feb 26, 2009 6:09 pm

Re: PCManFM stops updating with gamin 0.1.10

Post 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 ()
skottish
Posts: 5
Joined: Thu Feb 26, 2009 6:09 pm

Re: PCManFM stops updating with gamin 0.1.10

Post 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.
Corto
Posts: 14
Joined: Thu Feb 19, 2009 5:21 pm

Re: PCManFM stops updating with gamin 0.1.10

Post by Corto »

Sorry, But happy to see that you found a solution
Locked