[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
re: pipe read hang on Win 2000
From: |
J . B . |
Subject: |
re: pipe read hang on Win 2000 |
Date: |
Fri, 07 Dec 2001 15:41:45 +0000 |
Greg Chicares wrote:
----------------------------------
I just started using win2k this weekend, and found a problem that's either
identical or similar. After a lot of fruitless searching and experimentation, I
reread what Eli said on 2001-11-12:
| NTVDM is the Windows DOS emulator,
| so it is irrelevant to Win32 applications.
I was sure I was using win32 versions of make and all the other gnu
utilities--but I was mistaken. My sed.exe was not a win32 program. I replaced
it with this one
http://www.wzw.tu-muenchen.de/~syring/win32/UnxUtils.html
and now I don't get the NTVDM errors anymore.
You can use the win2k task manager (ctrl-alt-del then T) to see whether an
ntvdm process is loaded. Close all cmd windows and make sure ntvdm is gone.
Open a cmd window and just run sed. If that causes ntvdm to load, then I think
that's the problem. Bear in mind that I've been using this OS for less than a
week and am no expert; there's probably a better way to go about this, but this
way seems to work.
-----------------------------------------
Greg,
Thanks for the reply. I checked into what you said about not running win32
utilities. Unfortunately, this is not the problem in my case. My utilities
all come from MKS Utilities for NT, which are all win32 executables. NTVDM
never loaded while I was running these. It doesn't seem to matter what
utilities I use either (as long as they're win32-based). I've also tried the
cygwin versions the utilities (except make) and it still fails there. Any
win32 utility combination that pipes standard I/O will cause the problem. I
can use grep and sed for example.
This is definitely a bug in either the win32 port of GNU make or Win 2000.
I've reproduced it on multiple Win 2000 machines with different service pack
levels, and with different shells and utility combinations. I can't reproduce
it on Win NT 4 at all though. If I use Cygwin's port of GNU Make, it works.
Is anyone out there a capable enough Win32 programmer to be able to diagnose
what the problem is? All I've been able to determine is that Make.exe is hung
on a read() call, waiting for output from the shell command.
-JB