On 10/17/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote: [...] > patch in the darcs tree that makes the following changes: > > * The character set of fishd, both in the fishd.HOSTNAME file and over > the socket, is ASCII. Non-ASCII characters and characters below 32 are > backslash escaped. > * If a character is not ascii, all clients must try to read it as > UTF-8. But sending UTF-8 data is a bug. This is to increase robustness > and backwards compatibility. > * If a line contains a non-UTF-8 character, the entire line is ignored. [...]
When file ~/.fihsd.HOSTNAME does not exist, fish seems to start OK and writes the following to /tmp/fishd.log.USERNAME. But when I try to execute any command, fish (not fishd) hangs, using up all the processor. It does not write anything more to /tmp/fishd.log.USERNAME after it starts. execve("/usr/local/bin/fishd", ["fishd"], [/* 54 vars */]) = 0 uname({sys="Linux", node="asparuh", ...}) = 0 brk(0) = 0x8054000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0c000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0b000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f0a000 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=54871, ...}) = 0 old_mmap(NULL, 54871, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7efc000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libncurses.so.5", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \343\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=262860, ...}) = 0 old_mmap(NULL, 264108, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7ebb000 old_mmap(0xb7ef3000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0xb7ef3000 old_mmap(0xb7efb000, 1964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7efb000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220?0A"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1235732, ...}) = 0 old_mmap(0x412ef000, 1238972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x412ef000 old_mmap(0x41414000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0x41414000 old_mmap(0x4141b000, 10172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4141b000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\373"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9756, ...}) = 0 old_mmap(0x419af000, 11016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x419af000 old_mmap(0x419b1000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x419b1000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7eba000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7eba8e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_ present:0, useable:1}) = 0 munmap(0xb7efc000, 54871) = 0 brk(0) = 0x8054000 brk(0x8075000) = 0x8075000 open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) open("/usr/share/locale/locale.alias", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2586, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f09000 read(3, "# Locale name alias data base.\n#"..., 4096) = 2586 read(3, "", 4096) = 0 close(3) = 0 munmap(0xb7f09000, 4096) = 0 open("/usr/lib/locale/ASCII/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/share/locale-langpack/ASCII/LC_IDENTIFICATION", O_RDONLY) = -1 ENOENT (No such file or directory) uname({sys="Linux", node="asparuh", ...}) = 0 getpid() = 10201 unlink("/tmp/fishd.socket.philip.lock.asparuh.10201") = -1 ENOENT (No such file or directory) open("/tmp/fishd.socket.philip.lock.asparuh.10201", O_RDONLY|O_CREAT, 07) = 3 close(3) = 0 stat64("/tmp/fishd.socket.philip.lock.asparuh.10201", {st_mode=S_IFREG|05, st_size=0, ...}) = 0 gettimeofday({1161146108, 258110}, NULL) = 0 link("/tmp/fishd.socket.philip.lock.asparuh.10201", "/tmp/fishd.socket.philip.lock") = 0 unlink("/tmp/fishd.socket.philip.lock.asparuh.10201") = 0 _llseek(2, 0, [4293], SEEK_CUR) = 0 fstat64(2, {st_mode=S_IFREG|0755, st_size=4334, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f09000 fstat64(2, {st_mode=S_IFREG|0755, st_size=4479, ...}) = 0 mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f05000 munmap(0x4141a0d4, 4096) = -1 EINVAL (Invalid argument) write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ":", 1:) = 1 write(2, " ", 1 ) = 1 write(2, "C", 1C) = 1 write(2, "o", 1o) = 1 write(2, "n", 1n) = 1 write(2, "n", 1n) = 1 write(2, "e", 1e) = 1 write(2, "c", 1c) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "t", 1t) = 1 write(2, "o", 1o) = 1 write(2, " ", 1 ) = 1 write(2, "s", 1s) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "k", 1k) = 1 write(2, "e", 1e) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "a", 1a) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "/", 1/) = 1 write(2, "t", 1t) = 1 write(2, "m", 1m) = 1 write(2, "p", 1p) = 1 write(2, "/", 1/) = 1 write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ".", 1.) = 1 write(2, "s", 1s) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "k", 1k) = 1 write(2, "e", 1e) = 1 write(2, "t", 1t) = 1 write(2, ".", 1.) = 1 write(2, "p", 1p) = 1 write(2, "h", 1h) = 1 write(2, "i", 1i) = 1 write(2, "l", 1l) = 1 write(2, "i", 1i) = 1 write(2, "p", 1p) = 1 write(2, "\n", 1 ) = 1 socket(PF_FILE, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = -1 ENOENT (No such file or directory) unlink("/tmp/fishd.socket.philip") = -1 ENOENT (No such file or directory) bind(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = 0 fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 listen(3, 64) = 0 unlink("/tmp/fishd.socket.philip.lock") = 0 clone(fishd: Could not open load/save file. No previous saves? open: No such file or directory child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7eba928) = 10202 write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ":", 1:) = 1 write(2, " ", 1 ) = 1 write(2, "P", 1P) = 1 write(2, "a", 1a) = 1 write(2, "r", 1r) = 1 write(2, "e", 1e) = 1 write(2, "n", 1n) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "p", 1p) = 1 write(2, "r", 1r) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "e", 1e) = 1 write(2, "s", 1s) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "e", 1e) = 1 write(2, "x", 1x) = 1 write(2, "i", 1i) = 1 write(2, "t", 1t) = 1 write(2, "i", 1i) = 1 write(2, "n", 1n) = 1 write(2, "g", 1g) = 1 write(2, " ", 1 ) = 1 write(2, "(", 1() = 1 write(2, "T", 1T) = 1 write(2, "h", 1h) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "n", 1n) = 1 write(2, "o", 1o) = 1 write(2, "r", 1r) = 1 write(2, "m", 1m) = 1 write(2, "a", 1a) = 1 write(2, "l", 1l) = 1 write(2, ")", 1)) = 1 write(2, "\n", 1 ) = 1 exit_group(0) = ? fishd: No more clients. Quitting When file ~/.fishd.HOSTNAME exists, even when it is empty, fishd apparently exits, as Martin said. File ~/.fishd.HOSTNAME is unchanged if it was empty. File /tmp/fishd.log.USERNAME differs notably from the prevoius case only in the following lines: 111,112c111,112 < connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = -1 ENOENT (No such file or directory) < unlink("/tmp/fishd.socket.philip") = -1 ENOENT (No such file or directory) --- > connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = -1 > ECONNREFUSED (Connection refused) > unlink("/tmp/fishd.socket.philip") = 0 117,119c117,118 < clone(fishd: Could not open load/save file. No previous saves? < open: No such file or directory < child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f6c928) = 11870 --- > clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, > child_tidptr=0xb7f48928) = 11429 > --- SIGCHLD (Child exited) @ 0 (0) --- The full contents are: execve("/usr/local/bin/fishd", ["fishd"], [/* 53 vars */]) = 0 uname({sys="Linux", node="asparuh", ...}) = 0 brk(0) = 0x8054000 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fbe000 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fbd000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fbc000 open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=54871, ...}) = 0 old_mmap(NULL, 54871, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fae000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/libncurses.so.5", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0 \343\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=262860, ...}) = 0 old_mmap(NULL, 264108, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7f6d000 old_mmap(0xb7fa5000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0xb7fa5000 old_mmap(0xb7fad000, 1964, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fad000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\220?0A"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1235732, ...}) = 0 old_mmap(0x412ef000, 1238972, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x412ef000 old_mmap(0x41414000, 28672, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x125000) = 0x41414000 old_mmap(0x4141b000, 10172, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x4141b000 close(3) = 0 access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\260\373"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0644, st_size=9756, ...}) = 0 old_mmap(0x419af000, 11016, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x419af000 old_mmap(0x419b1000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0x419b1000 close(3) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7f6c000 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f6c8e0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_ munmap(0xb7fae000, 54871) = 0 brk(0) = 0x8054000 brk(0x8075000) = 0x8075000 uname({sys="Linux", node="asparuh", ...}) = 0 getpid() = 11869 unlink("/tmp/fishd.socket.philip.lock.asparuh.11869") = -1 ENOENT (No such file or directory) open("/tmp/fishd.socket.philip.lock.asparuh.11869", O_RDONLY|O_CREAT, 07) = 3 close(3) = 0 stat64("/tmp/fishd.socket.philip.lock.asparuh.11869", {st_mode=S_IFREG|05, st_size=0, ...}) = 0 gettimeofday({1161149555, 509885}, NULL) = 0 link("/tmp/fishd.socket.philip.lock.asparuh.11869", "/tmp/fishd.socket.philip.lock") = 0 unlink("/tmp/fishd.socket.philip.lock.asparuh.11869") = 0 _llseek(2, 0, [3594], SEEK_CUR) = 0 fstat64(2, {st_mode=S_IFREG|0644, st_size=3635, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fbb000 fstat64(2, {st_mode=S_IFREG|0644, st_size=3780, ...}) = 0 mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fb7000 munmap(0x4141a0d4, 4096) = -1 EINVAL (Invalid argument) write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ":", 1:) = 1 write(2, " ", 1 ) = 1 write(2, "C", 1C) = 1 write(2, "o", 1o) = 1 write(2, "n", 1n) = 1 write(2, "n", 1n) = 1 write(2, "e", 1e) = 1 write(2, "c", 1c) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "t", 1t) = 1 write(2, "o", 1o) = 1 write(2, " ", 1 ) = 1 write(2, "s", 1s) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "k", 1k) = 1 write(2, "e", 1e) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "a", 1a) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "/", 1/) = 1 write(2, "t", 1t) = 1 write(2, "m", 1m) = 1 write(2, "p", 1p) = 1 write(2, "/", 1/) = 1 write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ".", 1.) = 1 write(2, "s", 1s) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "k", 1k) = 1 write(2, "e", 1e) = 1 write(2, "t", 1t) = 1 write(2, ".", 1.) = 1 write(2, "p", 1p) = 1 write(2, "h", 1h) = 1 write(2, "i", 1i) = 1 write(2, "l", 1l) = 1 write(2, "i", 1i) = 1 write(2, "p", 1p) = 1 write(2, "\n", 1 ) = 1 socket(PF_FILE, SOCK_STREAM, 0) = 3 connect(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = -1 ENOENT (No such file or directory) unlink("/tmp/fishd.socket.philip") = -1 ENOENT (No such file or directory) bind(3, {sa_family=AF_FILE, path="/tmp/fishd.socket.philip"}, 110) = 0 fcntl64(3, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 listen(3, 64) = 0 unlink("/tmp/fishd.socket.philip.lock") = 0 clone(fishd: Could not open load/save file. No previous saves? open: No such file or directory child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f6c928) = 11870 write(2, "f", 1f) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, "h", 1h) = 1 write(2, "d", 1d) = 1 write(2, ":", 1:) = 1 write(2, " ", 1 ) = 1 write(2, "P", 1P) = 1 write(2, "a", 1a) = 1 write(2, "r", 1r) = 1 write(2, "e", 1e) = 1 write(2, "n", 1n) = 1 write(2, "t", 1t) = 1 write(2, " ", 1 ) = 1 write(2, "p", 1p) = 1 write(2, "r", 1r) = 1 write(2, "o", 1o) = 1 write(2, "c", 1c) = 1 write(2, "e", 1e) = 1 write(2, "s", 1s) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "e", 1e) = 1 write(2, "x", 1x) = 1 write(2, "i", 1i) = 1 write(2, "t", 1t) = 1 write(2, "i", 1i) = 1 write(2, "n", 1n) = 1 write(2, "g", 1g) = 1 write(2, " ", 1 ) = 1 write(2, "(", 1() = 1 write(2, "T", 1T) = 1 write(2, "h", 1h) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "i", 1i) = 1 write(2, "s", 1s) = 1 write(2, " ", 1 ) = 1 write(2, "n", 1n) = 1 write(2, "o", 1o) = 1 write(2, "r", 1r) = 1 write(2, "m", 1m) = 1 write(2, "a", 1a) = 1 write(2, "l", 1l) = 1 write(2, ")", 1)) = 1 write(2, "\n", 1 ) = 1 exit_group(0) = ? ------------------------------------------------------------------------- Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users