Skip to content

handle broken locking on remote filesystems better #685

@eassmann

Description

@eassmann

On my CentOS 5.8 system, fish hangs for a long time (minutes) after every command, built-in or external, though not after a blank line. The command output and new prompt will be printed, then the hang occurs.

It also hangs after entering a comment, although in this case before printing a prompt.

It does not hang when a command is executed as 'fish -c ls'

strace snippet executing 'ls', the blank lines indicate long waits:

write(1, "assmann@n101 \33[32m~\33[30m\33(B\33[m> "..., 35) = 35
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo
...}) = 0
ioctl(0, SNDCTL_TMR_START or TCSETS, {B38400 opost isig -icanon -echo
...}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig -icanon -echo
...}) = 0
select(5, [0 3 4], NULL, NULL, NULL)    = 1 (in [4])
read(4, "\2", 1)                        = 1
futex(0x9980030, FUTEX_WAIT_PRIVATE, 2, NULL

) = 0
rt_sigprocmask(SIG_BLOCK, ~[RTMIN RT_1], NULL, 8) = 0
open("/home/assmann/.config/fish/fish_history", O_WRONLY|O_APPEND) = 6
fcntl(6, F_GETFD)                       = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
fstat(6, {st_mode=S_IFREG|0644, st_size=30, ...}) = 0
fcntl(6, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}

) = -1 EIO (Input/output error)
close(6)                                = 0
rt_sigprocmask(SIG_UNBLOCK, ~[RTMIN RT_1], NULL, 8) = 0
open("/home/assmann/.config/fish/fish_history", O_RDONLY) = 6
fcntl(6, F_GETFD)                       = 0
fcntl(6, F_SETFD, FD_CLOEXEC)           = 0
fcntl(6, F_SETLKW, {type=F_RDLCK, whence=SEEK_SET, start=0, len=0}

) = -1 ENOLCK (No locks available)
close(6)                                = 0

Metadata

Metadata

Assignees

Labels

enhancementrelease notesSomething that is or should be mentioned in the release notes

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions