From: mecklen AT ptc DOT com (Robert Mecklenburg) Subject: Bash pauses (again) 23 Oct 1998 08:34:46 -0700 Message-ID: <199810221326.JAA09064.cygnus.gnu-win32@phldev1> To: gnu-win32 AT cygnus DOT com I experience 10 second pauses in bash every time I cd to a different drive letter. I've gone through the last 8 months of archives and still don't have a very satisfactory solution. My configuration is: - B19.1 release, NT 4.0 SP3 - latest coolview - pre-compile, modified bash from Sergey's site - MAIL and MAILCHECK environment variables not set - added "local", "localhost", "unknown" to hosts file - no "non-local" directories in my PATH - HOME environment explicitly set to D:\Users\Mecklen I ran snoop and discovered that when I cd to a different drive letter bash is sending out a bunch of network packets. I have a DNS server, primary and secondary WINS servers, and "Enable DNS for Windows Resolution" set. The packets that are sent are as follows: send Primary WINS server, port 137 recv Primary WINS server, port 137 send Secondary WINS server, port 137 recv Secondary WINS server, port 137 send 132.253.243.255, port 137 send 132.253.243.255, port 137 send 132.253.243.255, port 137 send DNS Server, port 53 recv DNS Server, port 3534 send DNS Server, port 53 recv DNS Server, port 3535 This sequence seems to repeat itself once or twice, then the cd completes and the network is quiet. I tried disabling "IP Forwarding" and "DNS for Windows Resolution". Bash still paused and still sent many packets out, but didn't contact the DNS server. Finally, I simply removed the WINS servers from the configuration. This resulted in the following packet stream: send 132.253.243.255, port 137 send 132.253.243.255, port 137 send 132.253.243.255, port 137 send 132.253.243.255, port 137 ...about 20 times... I suppose I should mention that I have a dedicated 115Kbps network connection and these hosts are not local (except for this last bunch) so this all takes about 10 seconds on every drive change. I have found one solution, but I don't like it. If I use "mount D: /d" (I want text mounts) performance improves. Unforunately, I am using cygnus as part of a complex portable build system (280 makefiles, 3000 source files, 7 platforms, etc.) and this mount breaks the build system (because pwd now returns a different form as does $< in make, among other things). Adapting to the new mounting scheme would be difficult. So I went on to checkout a few other suggestions. I've added the cygnus environment variables to my environment through the registry (My Computer|Properties|Environment) and start the bash.exe executable directly. Changing the "Start In" directory has no effect on the pausing behavior. In a Sept 3rd message "Jim Clark " stated the pause does not occur if bash is started from a Dos shell (command prompt). In my case, this is not true. I can start bash under a DOS shell (by typing "bash" since it is in my path) and cd still pauses 10 seconds. On Sept 5th Chis Faylor says it is a bug in bash, which is fixed if you set your HOME variable. This is not my experience, my HOME environment variable is always set and I still have the cd pause problem. Back on July 20, "jeffdbREMOVETHIS AT goodnet DOT com (Mikey)" wrote: bash assumes : means remote host so you 1 load winsock 2 search for a host named c 3 discover no host 4 convert to cygwin32 path 5 cd / and I guess this is what is happening. Is there anyway to disable this behavior? Why would bash assume a : means host name? It certainly doesn't on unix platforms. Maybe Mikey means that the cygnus support library is doing this, but why? It doesn't seem to be portable behavior (since unix doesn't do this). Michael Hirmke also remarks about this and says that :/ is an NFS name. Maybe I don't understand NFS, but that is certainly not an NFS path on any Unix system I know. The automounter is tied to a standard unix path like /net/. Maybe Michael is talking about NT NFS? So, have I exhausted the possibilities? - it isn't mail checking (modified bash, no MAIL/MAILCHECK) - latest libraries - added local localhost unknown to hosts file - not a path problem - "Start In" value has no effect - not a bogus HOME environment - start from a dos shell, still slow - can't use //drive/path - can't mount drives Any thoughts would be appreciated, -- Robert Mecklenburg Speed Dial: *1-036 Voice: 610-834-1010 x248 Parametric Technology Corp. FAX: 610-834-7652 West Conshohocken, PA Home: 215-413-4018 mecklen AT bellatlantic DOT net - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".