![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: I got an error "rms-e-eof end of file detected" while processing an indexed rms -file. File size is only about 200 000 blocks. Can it be set somewhere in the file-attributes that the file cannot grow bigger than that ? thanks... The Answer is : The word "processing" is vague, but it is expected that an application will receive "%RMS-E-EOF, end of file detected" if the "processing" referenced is a sequential file read. By definition, every file has a finite length. Extending a file involves writing to the file. If your application is getting EOF errors while writing, then the internal structure of the file appears corrupt, or the error is spurious and some other problem has occured. One potential cause of a corruption is an index that is pointing beyond the valid data range in the file. The OpenVMS Wizard would encourage the use of CONVERT to try to uncorrupt the file -- this assumes that the corruption can be resolved by CONVERT and that it does not involve the data area of the file. You may well have to restore a BACKUP of the file. Do not copy, move, delete, nor otherwise disturb the existing file. Do try using ANALYZE/RMS, and you may be able to make a more detailed determination of the corruption using tools such as DUMP. Corruptions can potentially arise when a process is deleted while deferred write is enabled, during an OpenVMS system crash, when a rogue write targets the file, when an unrecoverable disk block error occurs underneath the file, and during a power failure -- the more caching that is in use between the application and the non-volatile storage medium, the greater the potential for data corruptions.
|