[228] in Athena Bugs

home help back first fref pref prev next nref lref last post

Question...

daemon@ATHENA.MIT.EDU (twleung@ATHENA.MIT.EDU)
Tue Apr 19 11:41:40 1988

From: <twleung@ATHENA.MIT.EDU>
To: bugs@ATHENA.MIT.EDU
Date: Tue, 19 Apr 88 10:40:42 EST
Here's an interesting snag that a user ran into.  I promised him I'd
check into it, and this seemed like the best place to send it....

					Ted Leung
					Athena User Consultant
----------------------------------------------------------------------
Log initiated for user Shyh-Hua . Jao (shjao@M11-116-12.MIT.EDU)
	(88/04/19 08:47:54)

Topic:		fortran

Question:
This is a nasty problem, probably due to the on and off of hera!?
I have a fortran program which use 
write(31,*) ...
write(32,*) ..
write(33,*) ...
without any open(unit=31(or 32, 33)...) statement, the ouput file name will 
then be fort.31 fort.32 fort.33,  but now it works only to the finish of 
write(32,*).  When it tries to excute write(33,*) ..... it bugs with :

fort.33: [119] opening too many files or unknown system error 
logical unit 3, named 'fort.33'

acutally I succeeded to make the program goes through write(33,*) by eliminatiing
all the fort.31 fort.32 fort.33 previously produced.  But now I changed some
in the program (with nothing to do with write(33,*) ) and recomplie it 
the same bug appears, and rm fort.31 fort.32 fort.33 also /etc/athena/nfsid 
hera map     do not help anymore !

--- 88/04/19 08:54:23 Connected to volunteer Mark H Levine (yba@CAROLINGIA.MIT.EDU)
--- 88/04/19 08:57:32 Message from volunteer yba@CAROLINGIA.MIT.EDU:
There is a limit of how many files you can have open at one time; you are
apparently exceeding this number (I believe it is 20).
--- 88/04/19 08:59:32 Message from user shjao@M11-116-12.MIT.EDU:
The problem is I don't think I used 20 forts.  I just have at most 8 including 
those temporary output file fort.31 ..fort.33.
--- 88/04/19 09:01:30 Message from volunteer yba@CAROLINGIA.MIT.EDU:
The number on the vax is apparently 64 files per process.  You also have to count
things like implicitly opened files (stdin, stdout, stderr) as well.

Don't know what you are bumping up against then, the error message you give
looks a whole lot like you have too many files open.
--- 88/04/19 09:01:51 Message from user shjao@M11-116-12.MIT.EDU:
it is interesting that I worked through it yesterday all the time.
But the other reason is that I have too many files in 'subdirctory'.  Is 
there a limit of no. of files that you can put in a subdir?
--- 88/04/19 09:06:48 Message from volunteer yba@CAROLINGIA.MIT.EDU:
The number of files in a dir is practically unlimited.  Perhaps you really
are getting an unknown system error; if hera has been up and down, try

	/etc/athena/nfsid hera map

and see if the problem goes away.
--- 88/04/19 09:07:17 Message from volunteer yba@CAROLINGIA.MIT.EDU:
I have to go off to a meeting; forwarding you.
--- 88/04/19 09:07:22 Question forwarded by yba
--- 88/04/19 09:07:45 Message from user shjao@M11-116-12.MIT.EDU:
Thanks!
--- 88/04/19 09:20:08 Connected to consultant Theodore W. (Ted) Leung (twleung@M11-115-4.MIT.EDU)
--- 88/04/19 09:21:01 Message from consultant twleung@M11-115-4.MIT.EDU:
Did trying the nfsid help?
--- 88/04/19 09:22:46 Message from user shjao@M11-116-12.MIT.EDU:
Hi Ted!
I  found out a way to worked through the statement write(33,*) ...
--- 88/04/19 09:23:45 Message from consultant twleung@M11-115-4.MIT.EDU:
Great!  If there's nothing else, just type 'done' to the olc prompt..
--- 88/04/19 09:24:15 Message from user shjao@M11-116-12.MIT.EDU:
I have done 'rm fort.*' to get rid all previous outputs and use '/etc/athena/nfsid hera mapp ' too .  But still don't work! and then ...
--- 88/04/19 09:28:48 Message from user shjao@M11-116-12.MIT.EDU:
But I just try to change it back to the file before I recomplied it when 
it was still working. : 
add two statemet :

print*,"ok before write 33"
write(33,*) ......
print*,"ok after write 33"

to my surprise these two prints work and thus the write(33,*) is no problem 
and the program goes smoothly.  This is kind of wierd !!!!

I am going to delte those two statements of print*, and see the write(33,) is 
bugging or not!
--- 88/04/19 09:30:04 Message from consultant twleung@M11-115-4.MIT.EDU:
Okay, I'll be waiting...
--- 88/04/19 09:57:07 Message from user shjao@M11-116-12.MIT.EDU:
This is a surprise (actually quite bothering to me)
it works with print*,"ok before " and print*,"ok after"

And it seems that it the print*,"ok, after" which helps.  Since I deleted 
it only (remaining print*,"ok before" and 
fort.33: [119] opening too many files or unknown system error
logical unit 33, named 'fort.33'

show up again.  

I have to change the ovservation.  It is that if I put a print*, statement 
before each write(33,*) then the program is ok to go through write(33,*).
(--> correction 'change the result of observation ')

Because I have two write(33,*) statemnets, and one is right below 'print*,"
ok after"
--- 88/04/19 10:03:20 Message from consultant twleung@M11-115-4.MIT.EDU:
Eric, I'm afraid that I'm stumped on this one... It seems like the print*
statement has the same effect as closing  an open file....
--- 88/04/19 10:11:45 Message from user shjao@M11-116-12.MIT.EDU:
I would guess so. 
previous results are run with only change the existence of print*, statement 
and save and compile without extra work.

And I don't know. So far I had better keep those two junky print* statements 
and would you report this to whoever could find out. 

But before the on and off of hera server yesterday, I used to have no trouble 
 it is this bugs occur and I tyied to locate where exactly the progamm get 
hung then I found out this print* effect  (corection -> no trouble.  It was
this bugs occured and ....)
--- 88/04/19 10:13:46 Message from consultant twleung@M11-115-4.MIT.EDU:
I'll try to get this to someone who can look at it..
--- 88/04/19 10:14:13 Message from user shjao@M11-116-12.MIT.EDU:
Thanks!

home help back first fref pref prev next nref lref last post