|
Posted by pdabak on November 14, 2005, 3:43 am
Please log in for more thread options
Hello,
Recently, we are observing some strange problems on some of our Windows
2003 SP1 servers. The pipe mechanism is completely broken. Not sure
what caused this. Basically here are the steps to reproduce
1. Open command shell (cmd.exe)
2. Run any of the following commands and it kills the command window
dir | more
type filename | findstr foo
This is causing serious problems for many applications on the system
since they rely on passing data between processes over pipe.
My belief is the problem happens in the source process (cmd.exe)
itself. Because, if I use non-existent command on target e.g dir | xyz,
it shows the same results.
Has anyone seen this and what's the cause for this?
I am suspecting, that, some latest Windows update has caused this,
since everything was working fine till last week or so.
Thanks.
-Prasad
|
|
Posted by pdabak on November 14, 2005, 5:34 am
Please log in for more thread options
Hello,
Anyone please?
Any of the following commands also show the same behavior
1. dir | nonexistentcommand
2. sc | more
Thanks.
-Prasad
|
|
Posted by Olaf Engelke [MVP Windows Serv on November 14, 2005, 11:29 pm
Please log in for more thread options Hi Prasad,,
pdabak@yahoo.com wrote:
> Recently, we are observing some strange problems on some of our
> Windows
>
> 2003 SP1 servers. The pipe mechanism is completely broken. Not sure
> what caused this. Basically here are the steps to reproduce
> 1. Open command shell (cmd.exe)
> 2. Run any of the following commands and it kills the command window
> dir | more
> type filename | findstr foo
both is working well on my system (Windows Server 2003 SP1 German).
(Anyway I would use DIR /P instead of DIR | more.)
Since this is not a well known problem I can only ask some common questions:
Your path environment is ok and pointing to the proper folders?
Your cmd extensions are all set to default? (check cmd /? for more details)
You are logged in as administrator on these machines which face the problem?
Any detailed informations in the event log or in the log of drwatson (if
logging is enabled)?
Best greetings from Germany
Olaf
|
|
Posted by pdabak on November 14, 2005, 8:50 pm
Please log in for more thread options Hello,
The problem is not specifically for cmd.exe. It happens for any program
that grabs the output from child process over the pipe. The program
doesn't crash, but it genuinely exits. Hence, there is no question of
drwatson logs. There are no traces in event viewer. I enabled auditing
for all the events. No failures reported there. I tried sysinternals
tools filemon, regmon. Nothing suspicious reported there. I am logged
in as administrator while performing the operations.
When you do "dir | more" from command shell (cmd.exe) on a working
system, filemon generates write/read events on
\.\Pipe\Win32Pipes.xxxxxxxx.00000001 from cmd.exe and more.com where
xxxxxxxx is the hex representation of process id of cmd.exe. On a
failing system, it generates only two events from cmd.exe on
\.\Pipe\Win32Pipes.xxxxxxxx.000000001 i.e. Open and Close.
Thanks.
-Prasad
|
|
Posted by Olaf Engelke [MVP Windows Serv on November 15, 2005, 9:21 am
Please log in for more thread options Hi again,
pdabak@yahoo.com wrote:
> When you do "dir | more" from command shell (cmd.exe) on a working
> system, filemon generates write/read events on
> \.\Pipe\Win32Pipes.xxxxxxxx.00000001 from cmd.exe and more.com where
> xxxxxxxx is the hex representation of process id of cmd.exe. On a
> failing system, it generates only two events from cmd.exe on
> \.\Pipe\Win32Pipes.xxxxxxxx.000000001 i.e. Open and Close.
>
On
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx
it reads
"The pipe operator (|) takes the output (by default, STDOUT) of one command
and directs it into the input (by default, STDIN) of another command. "
I am not sure, if it is possible to change the behavior of the pipe to get
its input from something else than stdout. So if for example the output of
these systems would be something different than stdout this could be a
reason.
But since I am not a programmer, I have no real clue, where to start the
tracing without such a failing system in my hands.
What is the output of the command SET?
Are there any Access Denied errors in filemon?
Best greetings from Germany
Olaf
|
| Similar Threads | Posted | | OU security on command line | November 9, 2005, 10:10 am |
| NET command can't handle groups longer then 15 characters | September 6, 2005, 1:03 am |
| AT command and Scheduled tasks UI for non-admin users | January 20, 2006, 9:08 am |
| Grant access to a share via command-line? | August 4, 2006, 8:49 am |
| Command Line Utility for Audit List? | December 30, 2006, 9:18 pm |
| Need a tool for command line showing installed patches | July 10, 2006, 5:09 am |
| China killing cats and dogs | December 13, 2005, 3:43 pm |
| China killing cats and dogs | December 13, 2005, 3:43 pm |
| Window Computer Locks | February 6, 2007, 1:16 pm |
| Window Server 2003 RDP/DDE | May 16, 2008, 3:07 pm |
|