[Info-vax] Looking into C-include files on VMS

John E. Malmberg wb8tyw at qsl.network
Sat Oct 31 12:31:09 EDT 2009


Joerg Schilling wrote:
> In article <OgLGm.108497$5n1.85640 at attbi_s21>,
> John E. Malmberg <wb8tyw at qsl.network> wrote:
> 
>> I just replaced the bash/sh programs with the ones that I use instead of 
>> the ones in the kit.  Those fixes were suppose to be in HP kit that I 
>> installed on Eisner, but apparently are not.
> 
> This version of the shell indeed fix the problems with the non-working
> "here documents". It did however introduce a new problem:
> 
> configure calls test -r somefile (using a well known file name for "somefile")
> in order to verify that it was called from the right directory. While
> the old bash version did work correctly with this test, the current bash
> returns exit code 1 for the built in command "test" in this case.
> I found a workaround for this problem: after I called "chmod a+r *",
> test -r somefile again returns exit code 0 for the existing files
> that are owned by me. It seems that the current bash version looks for the
> wrong "r" bit in the stat.st_mode field.

I seem to remember seeing that, but other than working around it, I do 
not have a solution.

>>> As "bash" also from time to time hangs while exeuting similar code
>>> as mentioned above, this I/O redirection problem currently seems to be 
>>> the only problem for getting "configure" to work.
>> This may also solve that problem.  There are still some intermittant 
>> hangs that I have not found the causes for.
> 
> This currently seems to be only problem that cannot be worked around by me.
> I am using one configure script for all my software (330000 lines / 8 MB
> of code), so I have 650 different tests in configure. As there is no way to 
> restart a configure run, I would need to be able to completely finish
> all test without a hang. 
> 
> Maybe this helps: After I retried to call configure several times, I get 
> this error:
> 
> bash$ CC=cc CONFIG_NOFAIL=TRUE sh ./configure
> ./configure: Can't make pipes for command substitution!
> configure: error: can not find sources in  or ..
> 
> restarting the current interactive bash temporarily fixes the problem.

Looks like a resource leak in bash.

Spawning sub-shells is expensive on VMS, the less cases of bash running 
another bash as a child that can be done, the better.

I have sent an e-mail to Dale Coy about raising the number of files that 
a process can have open, which looks like the error that you are 
hitting.  The default on Encompasserve.org is 400.  A home I run with 4096.

> In case that bash hangs, there are commands from "confiure" keeping hanging
> around (e.g. grep) that go away if I finish the current interactive shell.

This could be a quota issue.

There is also a bug related to use of an external "echo" commmand 
instead of the built in that I discovered this year.  I have not chased 
down why this is happening, but using the external "echo" command in a 
configure script results in internal data corruption in bash.

Another issue is simply that except for the GNV bash, the other programs 
still either use the C library pipes, which do not behave like UNIX 
pipes, or they use temporary files as pipes.

I am aware of a company that is looking at fixing the bugs in GNV bash. 
  I do not know what progress they have made.

Currently it will probably be a few months before I can look at making 
any code changes to GNV again.

-John
wb8tyw at qsl.network
Personal Opinion Only



More information about the Info-vax mailing list