From owner-freebsd-stable@FreeBSD.ORG Tue Dec 6 09:04:51 2005 Return-Path: X-Original-To: freebsd-stable@freebsd.org Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 55D3C16A41F for ; Tue, 6 Dec 2005 09:04:51 +0000 (GMT) (envelope-from fblist@gmail.com) Received: from nproxy.gmail.com (nproxy.gmail.com [64.233.182.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5727443D45 for ; Tue, 6 Dec 2005 09:04:50 +0000 (GMT) (envelope-from fblist@gmail.com) Received: by nproxy.gmail.com with SMTP id l37so500789nfc for ; Tue, 06 Dec 2005 01:04:49 -0800 (PST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=G+86kqbjEjgnqKbODl6jW8lfE8Wi1uS0TwHmDu+Wmqu5v3qnIIVKNbWTcOyTHtkFs0ZepxYXTxH+WhUkXqy8PjHIanNclgoLUOP5y635GvYKRgCmqtr4mqURNqSTAKdmXMO1kh8rDPCWJn7RaSrcy9mVl2X05tWmSYxss8gbfug= Received: by 10.48.209.8 with SMTP id h8mr48041nfg; Tue, 06 Dec 2005 01:04:48 -0800 (PST) Received: by 10.48.162.4 with HTTP; Tue, 6 Dec 2005 01:04:48 -0800 (PST) Message-ID: <910c4cb0512060104j49c834cfm@mail.gmail.com> Date: Tue, 6 Dec 2005 17:04:48 +0800 From: Z R To: freebsd-stable@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: [PR] The csh core dump on FreeBSD-6.0-STABLE X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Dec 2005 09:04:51 -0000 Hi, Today, I want to copy a file to a msdosfs mounted on my FreeBSD-6.0-STABLE. I typed "cp xxxx /data1/books", then I hit the TAB. It doesn't response. After a few seconds, the "login:" appears. The csh core dump. In the /var/log/message, says "dos2unixtime(): month value out of range (15)" and "pid 551 (csh), uid 0: exited on signal 8". Then I "gdb" the csh.core, then "where" says: #0 0x0806a1e6 in globfree () #1 0x0806ab66 in globfree () #2 0x0806b440 in globfree () #3 0x080747c4 in globfree () #4 0x0805c552 in ?? () #5 0x00000000 in ?? () . . . #20 0x08080446 in realloc () #21 0x0805e117 in ?? () #22 0x00000000 in ?? () . . . . #325 0x281b6931 in _none_init () from /lib/libc.so.6 #326 0x0813000d in ?? () #327 0x281cc4e4 in ?? () from /lib/libc.so.6 #328 0xbfbeeb58 in ?? () #329 0x2813afb4 in wctomb () from /lib/libc.so.6 #330 0x0804a6ce in ?? () #331 0x080d1fbc in environ () #332 0x00000000 in ?? () #333 0xbfbf6c38 in ?? () #334 0x00000000 in ?? () . . . . #642 0x28149ffe in sigsetmask () from /lib/libc.so.6 #xxx 0x00000000 in ?? () . . . . #8599 0x28090d9a in malloc () from /libexec/ld-elf.so.1 . . . . #8605 0x08081a18 in __divdi3 () #8606 0x00000001 in ?? () Then, I test how can reproduce the problem. Here's the details. fstab: /dev/ad0s5 /data1 msdosfs rw, -L=3Dzh_CN.eucCN 2 2 In the /data1/books, there are some files have a Chinese filename. If I setenv "LANG zh_CN.eucCN" and "LC_CTYPE zh_CN.eucCN", the problem will not happen. If I remove these env variables, the problem reproduces. csh: --version tcsh 6.14.00 (Astron) 2005-03-25 (i386-intel-FreeBSD) option= s wide, nls, dl, al, kan, rh, color, filec And my /etc/csh.cshrc: # $FreeBSD: src/etc/csh.cshrc,v 1.3 1999/08/27 23:23:40 peter Exp $ # # System-wide .cshrc file for csh(1). set ostype =3D `uname -s` # sad, no? # pretty path set path =3D ( ~/bin /bin /usr/local/bin /usr/local/sbin /usr/b= in /sbin \ /usr/sbin /usr/X11R6/bin /usr/local/jdk1.3.1/bin \ ) if ( -d "/usr/games" ) set path =3D ( $path /usr/games ) if ( -d "/usr/ports" ) set path =3D ( $path /usr/ports/Tools/scripts ) if ( -d "/var/qmail" ) set path =3D ( $path /var/qmail/bin ) if ( -d "/home/des/bin" ) set path =3D ( $path /home/des/bin ) # settings set autocorrect # fix my mistakes. set autolist =3D ambiguous # set cdpath =3D ( ~ ) # lazy set complete =3D enhance # vi f.b completes to foo.bar! set correct =3D cmd # correct what i type. set filec # file completion set prompt =3D '[%B%n@%m%b] %B%~%b%# ' set history =3D 100 # history buffer set notify # don't wait for activity; instant job status set watch=3D(0 any any) # who's here? unset autologout # idle. unset noglob # # environment setup setenv EXINIT "set ai" setenv IRCNAME "Xin LI " setenv PAGER "less" setenv LSCOLORS ExGxFxdxCxegedabagExEx if ( -d "~/tmp" ) setenv TMPDIR "$HOME/tmp" # secure. if (! $?term) exit # if we don't have a terminal, bail. # nifty prompt. xterm title if we're in an xterm... switch ($term) case "aterm": case "rxvt": case "screen": case "xterm": case "xterm-color": setenv TERM xterm set xterm=3D"%{\033]2;%n@%m:%~\007%}%{\033]1;%m\007%}" breaksw default: set xterm=3D"" endsw unset xterm # aliases because I am lazy alias \! 'h' alias c 'clear' alias dist.cshrc 'xapply "scp .cshrc %1:." `cat .hosts`' alias dosort 'sort -o \!* \!*' alias eg 'egrep' alias f 'find . -name \!* -print' alias ff 'find . -name \!* -exec ls -l {} \;' alias g 'grep' alias h 'history' alias j 'jobs -l' alias l 'less' alias ll 'ls -Fla' alias lld 'ls -Fald' alias ls 'ls -GFa' alias m 'make' alias mq 'mailq' alias mqg 'mailq | grep \!*' alias newhost 'xapply "scp %1 \!*\:." .ssh/authorized_keys .cshrc' alias r 'rehash' alias res 'source ~/.cshrc' alias z 'suspend' # bah. switch ($ostype) case "SunOS": set psargs =3D "-ef" set psargs2 =3D "-fu $USER" breaksw default: set psargs =3D "-auwx" set psargs2 =3D "-ux" endsw alias psa 'ps $psargs' alias psx 'ps $psargs2' alias psg 'ps $psargs | grep \!* | grep -v grep' # cool autocomplete goodness # this has a tab completion for hosts. yay! set hosts set noglob foreach f ($HOME/.hosts $HOME/.rhosts) if ( -r $f ) then set hosts =3D ($hosts `grep -v "+" $f | tr -s " " " " | = cut -f 1`) endif end # more complete loving. complete -%* c/%/j/ complete {alias,unalias} p/1/a/ complete {bg,fg,stop} c/%/j/ p/1/"(%)"// complete cat n/*/f/ complete cd p/1/d/ complete chgrp c/-/"(c f h R v -)"/ n/-/g/ p/1/g/ n/*/f/ complete chown c/-/"(c f h R v -)"/ C@[./\$~]@f@ c/*[.:]/g/ \ n/-/u/. p/1/u/. n/*/f/ complete exec p/1/c/ complete ftp c/-/"(d i g n v)"/ n/-/\$hosts/ p/1/\$hosts= / n/*/n/ complete finger c/*@/\$hosts/ n/*/u/@ complete kill 'c/-/S/' 'c/%/j/' \ 'n/*/`ps -xu $LOGNAME | awk '"'"'{print $2}'"'"'`/' complete {killall,pkill} c/-/S/ n/*/c/ complete make 'n/-f/f/' 'c/*=3D/f/' \ 'n@*@`cat -s GNUmakefile Makefile makefile |& sed -= n -e "/No such file/d" -e "/^[^ #].*:/s/:.*//p"`@' complete mutt c@=3D@F:$HOME/Mail/@ complete ping p/1/\$hosts/ complete {portupgrade,pkg_delete,pkg_info} c/-/"(f x)"/ p@*@D:/var/db/pkg@@ complete rmdir n/*/d/ complete set 'c/*=3D/f/' 'p/1/s/=3D' 'n/=3D/f/' complete ssh p/*/\$hosts/ c/-/t/ n/-l/u/ complete sudo n/-l/u/ p/1/c/ complete talk p/1/'`users | tr " " "\012" | uniq`'/ \ n/*/\`who\ \|\ grep\ \$:1\ \|\ awk\ \'\{\ print\ \$2\ \}\'\`/ complete telnet p/1/\$hosts/ p/2/x:''/ n/*/n/ complete traceroute p/1/\$hosts/ complete unset n/*/s/ complete vi p/1/t/ complete which n/*/c/ complete xhost c/[+-]/\$hosts/ n/*/\$hosts/ complete xpdf n/*/f:*.pdf/ unset noglob bindkey -k up history-search-backward bindkey -k down history-search-forward bindkey "^W" backward-delete-word If you want more information, mail me please :) It's my pleasure. Thanks.