"echo hello > /dev/pts/2" is blocking

JB jb.1234abcd at gmail.com
Fri Oct 14 14:12:49 UTC 2011

Alain Spineux <aspineux <at> gmail.com> writes:

> ... 
> The problem is not solved but if I disable debugging, the terminal is
> not "flooded" and application finish without blocking.
> ...

It's a guessing game and a lot to chew ... the app, FUSE fs, OS :-)
So, just a few random things.

Because of "After hours the program "freeze"...":
$ ulimit -a
$ cat /etc/sysctl.conf

Around the time your app gets locked, any messages in /var/log/messages ?
$ ls -al /dev/pts/*
- any FUSE related strange messages in /var/log/messages (since boot time or
  FUSE fs mount) ?
- kernel module
  $ lsmod |grep -i fuse
  $ modinfo fuse
  Parameters ?
- verify
  # find /etc -iname "*fuse*"
- FUSE fs mount options
  Any unusual FUSE (or other) options ? Mounted manually or in /etc/fstab ?
- FUSE fs configuration
  "By default FUSE filesystems run multi-threaded.  This can be verified by
  entering the mountpoint recursively in the fusexmp filesystem.
  Multi-threaded operation can be disabled by adding the -s option."
  Would that help ?
- FUSE fs with quota (space, files/inodes,...) ? Enabled ?
- application (ioctl ?) vice Linux/UNIX vice FUSE API - conflicts ?
  $ man ioctl
      The  ioctl()  function  manipulates the underlying device parameters of
      special files.  In particular, many operating characteristics of  char‐
      acter  special  files  (e.g., terminals) may be controlled with ioctl()
       In  order  to  use this call, one needs an open file descriptor.  Often
       the open(2) call has unwanted side effects, that can be  avoided  under
       Linux by giving it the O_NONBLOCK flag.
   $ man tty_ioctl 
   $ less -i /usr/share/doc/fuse-2.8.5/FAQ
     Why doesn't FUSE forward ioctl() calls to the filesystem?
     Because it's not possible: data passed to ioctl() doesn't have a well
     defined length and structure like read() and write().  Consider using
     getxattr() and setxattr() instead.
- application (ioctl ?) vice Linux/UNIX vice FUSE API - conflicts ?
   $ less -i /usr/share/doc/fuse-2.8.5/FAQ
   What is the reason for IO errors?
   < read this stuff > 

The app
Because you indicated that you get debug messages up to the moment of lockup,
if you have access to source code you could try to locate the last debug msg
place, or from your gdb session, and try narrow the place or logic where it

It is quite possible you will need to search their various mailing list
archives or contact devs.


More information about the users mailing list