public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
* sh can't run any programs from script when PATH exceeds 2500
@ 1999-02-24 11:48 Chris Felaco
  1999-02-28 23:02 ` Chris Felaco
  0 siblings, 1 reply; 6+ messages in thread
From: Chris Felaco @ 1999-02-24 11:48 UTC (permalink / raw)
  To: cygwin

Sorry for the resend, I forgot to mention I am running Cygwin B20.1 (binary distribution) on NT 4 SP3.

I have a sh script that basically sets up a bunch of environment
variables, constructs a PATH based on some input files and then runs a
program.  If the path is over 2500 characters, the program (no matter
what program it is) gives the following error:

foo: error 11

Even Win32 native apps such as cmd fail this way.  Unfortunately, I
can't easily reproduce the problem.  I've tried writing a simple bare
script to test it, but it won't fail.  It only fails in my rather
involved script that makes use of several input files from various
locations.

Is there a hard limit on the PATH size?  Is there perhaps a fixed buffer
size used for the PATH conversion in the cygwin DLL?   Any help or
suggestions are appreciated....



^ permalink raw reply	[flat|nested] 6+ messages in thread

* sh can't run any programs from script when PATH exceeds 2500
  1999-02-24 11:48 sh can't run any programs from script when PATH exceeds 2500 Chris Felaco
@ 1999-02-28 23:02 ` Chris Felaco
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Felaco @ 1999-02-28 23:02 UTC (permalink / raw)
  To: cygwin

Sorry for the resend, I forgot to mention I am running Cygwin B20.1 (binary distribution) on NT 4 SP3.

I have a sh script that basically sets up a bunch of environment
variables, constructs a PATH based on some input files and then runs a
program.  If the path is over 2500 characters, the program (no matter
what program it is) gives the following error:

foo: error 11

Even Win32 native apps such as cmd fail this way.  Unfortunately, I
can't easily reproduce the problem.  I've tried writing a simple bare
script to test it, but it won't fail.  It only fails in my rather
involved script that makes use of several input files from various
locations.

Is there a hard limit on the PATH size?  Is there perhaps a fixed buffer
size used for the PATH conversion in the cygwin DLL?   Any help or
suggestions are appreciated....



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: sh can't run any programs from script when PATH exceeds 2500
  1999-03-02 12:09 ` Chris Felaco
@ 1999-03-31 19:45   ` Chris Felaco
  0 siblings, 0 replies; 6+ messages in thread
From: Chris Felaco @ 1999-03-31 19:45 UTC (permalink / raw)
  To: earnie_boyd; +Cc: cygwin

[-- Attachment #1: Type: text/plain, Size: 2092 bytes --]

Upon further investigation, it appears that the real problem is when the size of the environment exceeds ~32K.  I cleaned up my path (bare minimum) and ran the enclosed script to prove my point.

I also wrote a cmd file to test the native behavior.  I didn't have any problems starting up programs with the large environment, but for some reason, not all of the environment gets passed to cygwin apps.  A simple env command doesn't list all of the variables I created.

Earnie Boyd wrote:

> ---Chris Felaco <cfelaco@openmarket.com> wrote:
> 8<
> > Path: /cygnus/CYGWIN~1/H-I586~1/bin
> >       /batch
> >       /WINNT/system32
> >       /WINNT
> >       /PROGRA~1/DEVSTU~1/SHARED~1/bin/ide
> >       /PROGRA~1/DEVSTU~1/SHARED~1/bin
> >       /Progra~1/DevStudio/VC/bin
> >       /emacs-20.3.1/bin
> >       /PROGRA~1/Tcl/bin
> >       /emacs-20.3.1/bin
> >       /PROGRA~1/Tcl/bin
> >       /cygnus/cygwin-B20/H-i586-cygwin32/bin
> >       /Perl/bin
> >       /enscript
> >       /jdk1.1.7A/bin
> >       /Cygnus/SN405/bin
> >       /Program Files/Mts
> >       /Sybase/DLL
> >       /Sybase/BIN
> >       /sybtools/WIN32
> >       /sybtools/ASEP
> >       /NTReskit
> >       //U/transact/Toolshed/LOCAL/common/bin
> >       //U/transact/Toolshed/LOCAL/cnt_40/bin
> 8<
>
> You're confusing the cygwin product with multiple paths to the
> product.  Secondly the /Cygnus/SN405/bin points to the first release
> of version b20 which was buggy.
>
> Clean up the PATH environment variable so that it is included only as
> the first element of the PATH.  If after doing this you still have
> problems resubmit the cygcheck -s -v -r output.
> ==
> -                        \\||//
> -------------------o0O0--Earnie--0O0o-------------------
> --                earnie_boyd@yahoo.com               --
> -- http://www.freeyellow.com/members5/gw32/index.html --
> ----------------------ooo0O--O0ooo----------------------
>
> PS: Newbie's, you should visit my page.
> _________________________________________________________
> DO YOU YAHOO!?
> Get your free @yahoo.com address at http://mail.yahoo.com

[-- Attachment #2: envtest.cmd --]
[-- Type: text/plain, Size: 169 bytes --]

rem echo off

FOR /L %%i IN (1,1,320) DO set ENVVAR%%i=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

set | wc -c

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: sh can't run any programs from script when PATH exceeds 2500
  1999-02-25 13:36 Earnie Boyd
  1999-02-28 23:02 ` Earnie Boyd
@ 1999-03-02 12:09 ` Chris Felaco
  1999-03-31 19:45   ` Chris Felaco
  1 sibling, 1 reply; 6+ messages in thread
From: Chris Felaco @ 1999-03-02 12:09 UTC (permalink / raw)
  To: earnie_boyd; +Cc: cygwin

Upon further investigation, it appears that the real problem is when the size of the environment exceeds ~32K.  I cleaned up my path (bare minimum) and ran the enclosed script to prove my point.

I also wrote a cmd file to test the native behavior.  I didn't have any problems starting up programs with the large environment, but for some reason, not all of the environment gets passed to cygwin apps.  A simple env command doesn't list all of the variables I created.

Earnie Boyd wrote:

> ---Chris Felaco <cfelaco@openmarket.com> wrote:
> 8<
> > Path: /cygnus/CYGWIN~1/H-I586~1/bin
> >       /batch
> >       /WINNT/system32
> >       /WINNT
> >       /PROGRA~1/DEVSTU~1/SHARED~1/bin/ide
> >       /PROGRA~1/DEVSTU~1/SHARED~1/bin
> >       /Progra~1/DevStudio/VC/bin
> >       /emacs-20.3.1/bin
> >       /PROGRA~1/Tcl/bin
> >       /emacs-20.3.1/bin
> >       /PROGRA~1/Tcl/bin
> >       /cygnus/cygwin-B20/H-i586-cygwin32/bin
> >       /Perl/bin
> >       /enscript
> >       /jdk1.1.7A/bin
> >       /Cygnus/SN405/bin
> >       /Program Files/Mts
> >       /Sybase/DLL
> >       /Sybase/BIN
> >       /sybtools/WIN32
> >       /sybtools/ASEP
> >       /NTReskit
> >       //U/transact/Toolshed/LOCAL/common/bin
> >       //U/transact/Toolshed/LOCAL/cnt_40/bin
> 8<
>
> You're confusing the cygwin product with multiple paths to the
> product.  Secondly the /Cygnus/SN405/bin points to the first release
> of version b20 which was buggy.
>
> Clean up the PATH environment variable so that it is included only as
> the first element of the PATH.  If after doing this you still have
> problems resubmit the cygcheck -s -v -r output.
> ==
> -                        \\||//
> -------------------o0O0--Earnie--0O0o-------------------
> --                earnie_boyd@yahoo.com               --
> -- http://www.freeyellow.com/members5/gw32/index.html --
> ----------------------ooo0O--O0ooo----------------------
>
> PS: Newbie's, you should visit my page.
> _________________________________________________________
> DO YOU YAHOO!?
> Get your free @yahoo.com address at http://mail.yahoo.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: sh can't run any programs from script when PATH exceeds 2500
  1999-02-25 13:36 Earnie Boyd
@ 1999-02-28 23:02 ` Earnie Boyd
  1999-03-02 12:09 ` Chris Felaco
  1 sibling, 0 replies; 6+ messages in thread
From: Earnie Boyd @ 1999-02-28 23:02 UTC (permalink / raw)
  To: Chris Felaco, cygwin

---Chris Felaco <cfelaco@openmarket.com> wrote:
8<
> Path:	/cygnus/CYGWIN~1/H-I586~1/bin
> 	/batch
> 	/WINNT/system32
> 	/WINNT
> 	/PROGRA~1/DEVSTU~1/SHARED~1/bin/ide
> 	/PROGRA~1/DEVSTU~1/SHARED~1/bin
> 	/Progra~1/DevStudio/VC/bin
> 	/emacs-20.3.1/bin
> 	/PROGRA~1/Tcl/bin
> 	/emacs-20.3.1/bin
> 	/PROGRA~1/Tcl/bin
> 	/cygnus/cygwin-B20/H-i586-cygwin32/bin
> 	/Perl/bin
> 	/enscript
> 	/jdk1.1.7A/bin
> 	/Cygnus/SN405/bin
> 	/Program Files/Mts
> 	/Sybase/DLL
> 	/Sybase/BIN
> 	/sybtools/WIN32
> 	/sybtools/ASEP
> 	/NTReskit
> 	//U/transact/Toolshed/LOCAL/common/bin
> 	//U/transact/Toolshed/LOCAL/cnt_40/bin
8<

You're confusing the cygwin product with multiple paths to the
product.  Secondly the /Cygnus/SN405/bin points to the first release
of version b20 which was buggy.

Clean up the PATH environment variable so that it is included only as
the first element of the PATH.  If after doing this you still have
problems resubmit the cygcheck -s -v -r output.
==
-                        \\||//
-------------------o0O0--Earnie--0O0o-------------------
--                earnie_boyd@yahoo.com               --
-- http://www.freeyellow.com/members5/gw32/index.html --
----------------------ooo0O--O0ooo----------------------

PS: Newbie's, you should visit my page.
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: sh can't run any programs from script when PATH exceeds 2500
@ 1999-02-25 13:36 Earnie Boyd
  1999-02-28 23:02 ` Earnie Boyd
  1999-03-02 12:09 ` Chris Felaco
  0 siblings, 2 replies; 6+ messages in thread
From: Earnie Boyd @ 1999-02-25 13:36 UTC (permalink / raw)
  To: Chris Felaco, cygwin

---Chris Felaco <cfelaco@openmarket.com> wrote:
8<
> Path:	/cygnus/CYGWIN~1/H-I586~1/bin
> 	/batch
> 	/WINNT/system32
> 	/WINNT
> 	/PROGRA~1/DEVSTU~1/SHARED~1/bin/ide
> 	/PROGRA~1/DEVSTU~1/SHARED~1/bin
> 	/Progra~1/DevStudio/VC/bin
> 	/emacs-20.3.1/bin
> 	/PROGRA~1/Tcl/bin
> 	/emacs-20.3.1/bin
> 	/PROGRA~1/Tcl/bin
> 	/cygnus/cygwin-B20/H-i586-cygwin32/bin
> 	/Perl/bin
> 	/enscript
> 	/jdk1.1.7A/bin
> 	/Cygnus/SN405/bin
> 	/Program Files/Mts
> 	/Sybase/DLL
> 	/Sybase/BIN
> 	/sybtools/WIN32
> 	/sybtools/ASEP
> 	/NTReskit
> 	//U/transact/Toolshed/LOCAL/common/bin
> 	//U/transact/Toolshed/LOCAL/cnt_40/bin
8<

You're confusing the cygwin product with multiple paths to the
product.  Secondly the /Cygnus/SN405/bin points to the first release
of version b20 which was buggy.

Clean up the PATH environment variable so that it is included only as
the first element of the PATH.  If after doing this you still have
problems resubmit the cygcheck -s -v -r output.
==
-                        \\||//
-------------------o0O0--Earnie--0O0o-------------------
--                earnie_boyd@yahoo.com               --
-- http://www.freeyellow.com/members5/gw32/index.html --
----------------------ooo0O--O0ooo----------------------

PS: Newbie's, you should visit my page.
_________________________________________________________
DO YOU YAHOO!?
Get your free @yahoo.com address at http://mail.yahoo.com


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~1999-03-31 19:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-02-24 11:48 sh can't run any programs from script when PATH exceeds 2500 Chris Felaco
1999-02-28 23:02 ` Chris Felaco
1999-02-25 13:36 Earnie Boyd
1999-02-28 23:02 ` Earnie Boyd
1999-03-02 12:09 ` Chris Felaco
1999-03-31 19:45   ` Chris Felaco

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).