This is the mail archive of the cygwin-developers@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: ntsec: patch 9


Chris Faylor wrote:
> 
> Thanks.  Applied.
> 
> Does the new snapshot still fail for you when you issue the
> 'man tcsh' command?
> 
> cgf

Hi Chris,

unfortunately the answer is `yes'. I have found, that this behaviour
is not reproducable beyond winsup-990726!

Notice, that this happens regardless of the ntsec setting.

winsup-990726 itself shows the behaviour:

	tcsh> man tcsh

shows man page, then pressing `q' in `less' results in:

	0 0 [main] D:\bin\sh.exe 1029 sig_send: error sending
	signal(-3) to pid 1029, Win32 error 6

Error 6 is `illegal handle'.

Since winsup-990801 it's worse than before:

	tcsh> man tcsh

... results in:

	/usr/local/bin/groff: can't find `DESC' file
	/usr/local/bin/groff:fatal error: invalid device `ascii'

... and after pressing `q':

	0 0 [main] D:\bin\sh.exe 1029 sig_send: error sending
	signal(-3) to pid 1029, Win32 error 6

If I try to run it with strace, I get the following on stderr:

	strace.exe: couldn't get message length from subprocess,
	windows error 6

If, for example, the complete winsup directory is up to date,
starting `make' results in:

	make[1]: Entering directory `/src/cdkb21/winsup'
	Making all in regexp...
	make[2]: Entering directory `/src/cdkb21/winsup/regexp'
	make[2]: Nothing to be done for `all'.
	make[2]: Leaving directory `/src/cdkb21/winsup/regexp'
-->	 0 0 [main] D:\bin\sh.exe 1009 sig_send: error sending
	signal(-3) to pid 1009, Win32 error 6
	make[1]: Leaving directory `/src/cdkb21/winsup'
	make[1]: Entering directory `/src/cdkb21/winsup'
	Making all in mingw...
-->	 0 0 [main] D:\bin\sh.exe 1016 sig_send: error sending
	signal(-3) to pid 1016, Win32 error 6
	make[2]: Entering directory `/src/cdkb21/winsup/mingw'
	make[2]: Nothing to be done for `all'.
	make[2]: Leaving directory `/src/cdkb21/winsup/mingw'
	Making all in utils...
	make[2]: Entering directory `/src/cdkb21/winsup/utils'
	make[2]: Nothing to be done for `all'.
	make[2]: Leaving directory `/src/cdkb21/winsup/utils'
-->	 0 0 [main] D:\bin\sh.exe 1020 sig_send: error sending
	signal(-3) to pid 1020, Win32 error 6
	make[1]: Leaving directory `/src/cdkb21/winsup'

Let's talk about what happens: It's in EVERY case /bin/sh, that
fails! In my environment, /bin/sh is bash. Regardless of the
circumstances, it's only bash, that produces this error.
If you look into the message, you will see, that it fails to
work on a handle that references the calling process itself.

I have attached the strace output of the above `make' example. It was
compiled with -DDEBUGGING. I fear, it's not very useful because as
ever when I try to strace the phenomenon, I get:

	strace.exe: couldn't get message length from subprocess,
	windows error 6

Hopeful,
Corinna

make.strace.bz2


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]