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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.

OS:
===
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/*
 
FUSE:
=====
http://fuse.sourceforge.net/
- 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
    ...
    DESCRIPTION
      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()
      requests.
      ...
    NOTES
       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
happens.

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

JB


-- 
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines


[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux