On 10/17/06, Philip Ganchev <[EMAIL PROTECTED]> wrote: > On 10/16/06, Axel Liljencrantz <[EMAIL PROTECTED]> wrote: > > On 10/16/06, Philip Ganchev <[EMAIL PROTECTED]> wrote: > > > It seems to be caused by fishd (darcs version) having trouble reading > > > file ~/.fishd-* . If the file is removed or a daemon is already > > > running, Fish (either version) starts normally. If the file exists, > > > fishd goes into a loop, regardless whether the file is completely > > > empty (crated by ``touch''), or contains just header comments (created > > > when ``fishd'' exits having no universal variables at all), or > > > contains all the usual ``set'' commands. > > > > Can the darcs version of fishd read it's own .fishd-* file? (I.e. if > > you start darcs-fishd with no .fishd-* file, can it be restarted > > without hanging?) > > No. > > One other strange thing happens from the darcs directory only. > > bash$ ps -C fish > PID TTY TIME CMD > bash$ ps -C fishd > PID TTY TIME CMD > bash$ cat ~/.fishd.ganchev > # This file is automatically generated by the fishd universal variable daemon. > # Do NOT edit it directly, your changes will be overwritten. > SET fish_color_match:cyan > SET fish_color_error:red\x1e--bold > SET fish_pager_color_progress:cyan > SET fish_color_operator:cyan > SET fish_color_escape:cyan > SET fish_color_quote:brown > SET fish_color_command:green > SET fish_color_valid_path:--underline > SET fish_color_normal:normal > SET fish_pager_color_completion:normal > SET fish_color_search_match:purple > bash$ > bash$ less ~/.fishd.ganchev > read: Connection reset by peer > read: Connection reset by peer > read: Connection reset by peer > > Meanwhile, at another bash terminal (and another directory)... > > bash2$ ps -C fish > PID TTY TIME CMD > 21361 pts/0 00:00:00 fish > bash2$ ps -C fishd > PID TTY TIME CMD > 21364 ? 00:00:03 fishd > bash2$ > bash2$ killall fish > > And now back at the first terminal, "less" shows me the contents of > ~/.fishd.ganchev exactly identical to those displayed by "cat". > > bash$ ls -l /home/philip/.fishd.ganchev > -rw------- 1 philip philip 489 2006-10-16 13:35 /home/philip/.fishd.ganchev > bash$ file !$ > file /home/philip/.fishd.ganchev > /home/philip/.fishd.ganchev: ASCII English text > > > > > What access rights does the .fishd-* file have? > > User read and write. > > > > What files is the fishd-process reading? (This can be seen using 'll > > /proc/(echo %fishd)/fd') > > bash$ xterm& > bash$ pid=$(ps -C fishd --no-header --format=pid); ps $pid; ls -l > /proc/$pid/fd/ > PID TTY STAT TIME COMMAND > 23337 ? Rs 0:02 fishd > total 3 > lr-x------ 1 philip philip 64 2006-10-16 14:16 0 -> > /home/philip/.fishd.ganchev > l-wx------ 1 philip philip 64 2006-10-16 14:16 2 -> /tmp/fishd.log.philip* > lrwx------ 1 philip philip 64 2006-10-16 14:16 3 -> socket:[114371] > > > > If you replace the line > > > > #define FISHD_CMD L"if which fishd 2>/dev/null >/dev/null; fishd > > ^/tmp/fishd.log.%s; end" > > > > with > > > > #define FISHD_CMD L"if which fishd 2>/dev/null >/dev/null; strace > > fishd ^/tmp/fishd.log.%s; end" > > > > in env.c, and then recomplie fish and install the new fish version, > > exit _all_ old fish shells (this is important), and restart fishd, > > what does the /tmp/fishd.log.HOSTNAME look like? (This may cause fish > > to enter an infinite loop with output, so be careful to avoid filling > > your disk) > > bash$ rm ~/.fishd.asparuh > bash$ xterm -e darcs/fish & tail -f /tmp/fishd.log.philip > 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) = ? > > bash$ # Now with an endless loop > execve("./fishd", ["fishd"], [/* 39 vars */]) = 0 > uname({sys="Linux", node="asparuh", ...}) = 0 > brk(0) = 0x8053000 > old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0xb7f77000 > 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) = 0xb7f76000 > 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) = 0xb7f75000 > open("/afs/cs.pitt.edu/usr0/philip/lib/tls/i686/cmov/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/tls/i686/cmov", 0xbfa767c4) = > -1 ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/tls/i686/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/tls/i686", 0xbfa767c4) = -1 > ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/tls/cmov/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/tls/cmov", 0xbfa767c4) = -1 > ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/tls/libncurses.so.5", O_RDONLY) > = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/tls", 0xbfa767c4) = -1 ENOENT > (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/i686/cmov/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/i686/cmov", 0xbfa767c4) = -1 > ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/i686/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/i686", 0xbfa767c4) = -1 > ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/cmov/libncurses.so.5", > O_RDONLY) = -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib/cmov", 0xbfa767c4) = -1 > ENOENT (No such file or directory) > open("/afs/cs.pitt.edu/usr0/philip/lib/libncurses.so.5", O_RDONLY) = > -1 ENOENT (No such file or directory) > stat64("/afs/cs.pitt.edu/usr0/philip/lib", 0xbfa767c4) = -1 ENOENT (No > such file or directory) > open("/etc/ld.so.cache", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=54239, ...}) = 0 > old_mmap(NULL, 54239, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f67000 > 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) = 0xb7f26000 > old_mmap(0xb7f5e000, 32768, PROT_READ|PROT_WRITE, > MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x38000) = 0xb7f5e000 > old_mmap(0xb7f66000, 1964, PROT_READ|PROT_WRITE, > MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7f66000 > 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) = 0xb7f25000 > set_thread_area({entry_number:-1 -> 6, base_addr:0xb7f258e0, > limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, > limit_in_pages:1, seg_not_ > munmap(0xb7f67000, 54239) = 0 > brk(0) = 0x8053000 > brk(0x8074000) = 0x8074000 > 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) = 0xb7f74000 > read(3, "# Locale name alias data base.\n#"..., 4096) = 2586 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f74000, 4096) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_IDENTIFICATION", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_IDENTIFICATION", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=373, ...}) = 0 > mmap2(NULL, 373, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f74000 > close(3) = 0 > open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = -1 ENOENT (No > such file or directory) > open("/usr/lib/gconv/gconv-modules", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=45568, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, > 0) = 0xb7f73000 > read(3, "# GNU libc iconv configuration.\n"..., 4096) = 4096 > read(3, "lias\tJS//\t\t\tJUS_I.B1.002//\nalias"..., 4096) = 4096 > read(3, "ule\tINTERNAL\t\tISO-8859-3//\t\tISO8"..., 4096) = 4096 > read(3, "lias\tISO-IR-199//\t\tISO-8859-14//"..., 4096) = 4096 > read(3, "\t\tto\t\t\tmodule\t\tcost\nalias\tCSEBCD"..., 4096) = 4096 > read(3, "ule\t\tcost\nalias\tCP284//\t\t\tIBM284"..., 4096) = 4096 > read(3, "lias\tCP864//\t\t\tIBM864//\nalias\t86"..., 4096) = 4096 > read(3, "module\tIBM937//\t\tINTERNAL\t\tIBM93"..., 4096) = 4096 > read(3, "\tEUC-JP//\nalias\tUJIS//\t\t\tEUC-JP/"..., 4096) = 4096 > read(3, "module\t\tcost\nalias\tISO-IR-143//\t"..., 4096) = 4096 > read(3, "-BOX//\nmodule\tISO_10367-BOX//\t\tI"..., 4096) = 4096 > read(3, "module\tINTERNAL\t\tEUC-JISX0213//\t"..., 4096) = 512 > read(3, "", 4096) = 0 > close(3) = 0 > munmap(0xb7f73000, 4096) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_MEASUREMENT", O_RDONLY) = -1 > ENOENT (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_MEASUREMENT", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=23, ...}) = 0 > mmap2(NULL, 23, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f73000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_TELEPHONE", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_TELEPHONE", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 > mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f72000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_ADDRESS", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_ADDRESS", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=155, ...}) = 0 > mmap2(NULL, 155, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f71000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_NAME", O_RDONLY) = -1 ENOENT (No > such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_NAME", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=77, ...}) = 0 > mmap2(NULL, 77, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f70000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_PAPER", O_RDONLY) = -1 ENOENT (No > such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_PAPER", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=34, ...}) = 0 > mmap2(NULL, 34, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6f000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_MESSAGES", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_MESSAGES", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 > close(3) = 0 > open("/usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=52, ...}) = 0 > mmap2(NULL, 52, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6e000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_MONETARY", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_MONETARY", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=286, ...}) = 0 > mmap2(NULL, 286, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6d000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_COLLATE", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_COLLATE", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=880086, ...}) = 0 > mmap2(NULL, 880086, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e4e000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_TIME", O_RDONLY) = -1 ENOENT (No > such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_TIME", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=2451, ...}) = 0 > mmap2(NULL, 2451, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6c000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_NUMERIC", O_RDONLY) = -1 ENOENT > (No such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_NUMERIC", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=54, ...}) = 0 > mmap2(NULL, 54, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7f6b000 > close(3) = 0 > open("/usr/lib/locale/en_US.UTF-8/LC_CTYPE", O_RDONLY) = -1 ENOENT (No > such file or directory) > open("/usr/lib/locale/en_US.utf8/LC_CTYPE", O_RDONLY) = 3 > fstat64(3, {st_mode=S_IFREG|0644, st_size=208464, ...}) = 0 > mmap2(NULL, 208464, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7e1b000 > close(3) = 0 > uname({sys="Linux", node="asparuh", ...}) = 0 > getpid() = 9867 > unlink("/tmp/fishd.socket.philip.lock.asparuh.9867") = -1 ENOENT (No > such file or directory) > open("/tmp/fishd.socket.philip.lock.asparuh.9867", O_RDONLY|O_CREAT, 07) = 3 > close(3) = 0 > stat64("/tmp/fishd.socket.philip.lock.asparuh.9867", > {st_mode=S_IFREG|05, st_size=0, ...}) = 0 > gettimeofday({1161035058, 446641}, NULL) = 0 > link("/tmp/fishd.socket.philip.lock.asparuh.9867", > "/tmp/fishd.socket.philip.lock") = 0 > unlink("/tmp/fishd.socket.philip.lock.asparuh.9867") = 0 > _llseek(2, 0, [11003], SEEK_CUR) = 0 > fstat64(2, {st_mode=S_IFREG|0755, st_size=11044, ...}) = 0 > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, > 0) = 0xb7e1a000 > fstat64(2, {st_mode=S_IFREG|0755, st_size=11190, ...}) = 0 > mmap2(NULL, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0xb7e16000 > 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 ECONNREFUSED (Connection refused) > unlink("/tmp/fishd.socket.philip") = 0 > 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: Error while reading universal variable after '' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after '<U+0080>^F^Hj<U+0080>' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxj' > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxj' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA' > mbrtowc: Invalid or incomplete multibyte or wide character > fishd: Error while reading universal variable after > '<U+0080>^F^Hj<U+0080>^F^HܚAA^F^H§jd0A(j,jW0A^D,AA(jjj^M<U+2869AA1A>AAxjl4A > j[4AܚAA�' > mbrtowc: Invalid or incomplete multibyte or wide character >
This log is very helpful. See all the 'mbrtowc' lines? That is a function to convert from multibyte narrow character sets to wide character sets. If fishd is running into errors with this, it probably means that there is an issue with the locale. I'm going to rewrite a bit of code to make fish more stringent here, probably by making sure that the on-the-wire character set is always UTF-8, even if the locale is e.g. C. I probably wasn't seeing this problem because none of my universal variables contain non-ascii data. I'll be darned if I know why this problem would be surfacing right now for both you and Martin, though... Anyway, thanks for the help. I hope to have a patch for this today or tomorrow, hope you'll have time to try it out. > > > Then the last line seems to repeat for the next 11106 lines. > > > I don't know where the "/afs/cs.pitt.edu/usr0/philip/..." comes from; > maybe in a log or something. That's my directory on AFS, but no AFS > client is running now and rarely ever. That doesn't happen to be ~, or an alias for it, then? > > > [...] > > The fix for this and for the '.<Alt-backspace><space>' crash are in > > the darcs tree. Hopefully, this also takes care of one of Martins > > bugs. > > It does for me!!! :-) Great. Thanks for letting me know. -- Axel ------------------------------------------------------------------------- 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