They happen only a couple of times per month but the system has very light use. I THINK they happen during print to file commands. My programs process all data before printing and no data is lost. I thought it was being caused by multiple users printing at the same time (to different printers) but today there was only one computer being used. I create a text file on the server to be printed with the following commands:
store subs(mfile,1,8)+".A" to mfile1 && TEMPORARY FILE TO USE FOR PRINTING set prin to &mfile1 repo form specord3 to &mfile1 heading "CUSTOMER COPY"
The file is created but is always empty even though the database contains the data needed to create the file. A few lines later the file should be erased but it is not. I assume vDos just exits after the operator hits OK at the page fault error.
Hope this helps. I appreciate your dedication and support of vDos.
vDos indeed just exits if a page fault error is encountered. There’s no way to safely/correctly process the program any further. The offending program instruction will even not be the direct cause. It uses a memory reference that could be established millions of instruction before. Since vDos doesn’t cache file operations, there should be no data corruption. Except if this would happen in between related database update operations. Though these are executed by a program in an extreme short time span (instruction sequence).
Any way you could setup some simple test to consistently reproduce the errors?
I wrote a routine to use a simple database and use report form to create 1000 different files on the server with no errors. I am rarely on site and the employees have not been informing me of the problem. I am told it happens a couple of times per month but we have very light use.
Would the log function help you find the cause? If so, I would be glad to turn it on.
A log file could help. Mind, it will be overwritten each time vDos is started. So you would need two shortcuts, one with logging to be used until the problem manifests, a second w/o logging to be used after that. Or save/copy the generated log file…
I currently use a single folder on the server to start vDos. This weekend I will give each workstation their individual vDos folder and shortcut with the log function. This should keep the log file from being overwritten by other users. I will also make sure the employees notify me immediately when something happens. I am told that sometimes they do not get the page fault error when the receipts fail to print.
You can use the registration form at www.vdos.info/register.html. Though a Network registration seems more appropriate. The Username registration form is even limited to 4 users since 5 and more doesn’t make much sense…
The current vDos version indeed has some problems with the nag because vDos simply doesn’t respong to anything but a click in the nag.