[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

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.

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.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]