I recently diagnosed an apparent compiler problem for an OpenVOS customer. He has two modules running OpenVOS Release 17.1. He was able to succesfully compile a program on one of them, but the gcc compiler diagnosed an “internal compiler error” when he tried to compile it on the other module. I tried to duplicate the problem here, but was unable to reproduce the problem. So it occurred to me that the problem must be specific to the module exhibiting the failure, rather than a problem with the compiler. At first, I thought it might be due to the changes to the default command limit values that we made in OpenVOS Release 17.1. A number of programs, including gcc and gmake, will fail in Release 17.1 if the command limit values are not set to consistent values, nor set to infinite values. But this customer had commented-out the sample set_default_cmd_limits command in module_start_up.cm, so he was already using infinite values, which is what we recommend in this release. Next, I asked the customer to look in the syserr_log at the time of the compiler error. Sure enough, he found messages indicating that his module had run out of paging space. Even though his address space limits did not limit his usage, he didn’t have enough paging space, and so the operating system had no choice but to prevent him from requesting additional virtual memory. This led to an addressing exception in gcc, which led to the obscure error message. Once he created a new paging file on one of this disks, he was able to build his huge source program.
The moral of the story is that when you get a strange error (one you haven’t seen before, or one you don’t understand), it never hurts to look in the syserr log to see if OpenVOS logged any messages. In this case, his syserr log contained a series of messages tracking the progress towards depletion of paging space. Since the error was reproducible, the connection was pretty obvious.
If you have questions about the messages in the syserr_log, you can post them to the OpenVOS Forum or you can contact your local Customer Assistance Center.