[228] in Athena Bugs
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!