ContentsIndexPreviousNext

2.11.2.1 Runtime handling of errors

The runtime system gracefully handles errors relating to shared code and network license management. See the Getting Started booklet for specifics about license managment error handling.

If the runtime cannot use shared code for some reason (such as acushare not being started or running out of shared memory), the program is loaded into conventional memory and execution continues.

If acushare stops running or is stopped while networked runtime processes are active, the runtime issues a warning message, to alert the user to restart acushare. If the runtime later detects that acushare has not been restarted, it exits.

If you have the runtime's warning messages enabled (see the WARNINGS configuration variable and the "-w" command line option), then certain errors will cause a warning message to be printed. These messages are:

"Shared memory and license manager (acushare) is not running"
This indicates either: (1) code sharing has been requested (with the SHARED-CODE configuration entry), but cannot be implemented because the acushare memory manager is not currently running, or (2) a multiple-user license is in effect, and a runtime process cannot register itself with acushare because acushare is not running. The runtime process will exit.

"Timeout waiting for reply from acushare"
A connection has been made with acushare, but acushare did not respond to a request within 15 seconds. This typically indicates that acushare has been killed.

For shared memory, execution will normally continue. If you kill acushare after some processes have attached to shared memory, those processes will continue to use the shared memory, but new processes will use conventional memory instead. -

"Error sending message to acushare"
The system has returned an error of an unknown nature when it tried to send a message to acushare. For shared memory, execution will normally continue. If you kill acushare after some processes have attached to shared memory, those processes will continue to use the shared memory but new processes will use conventional memory instead.


Important note: If there are no shared memory identifiers or message queue identifiers available, acushare will abort and print one of these error messages:

"acushare: can not create shared memory"

"acushare: cannot create message queue"

These messages indicate that you do not have enough of the proper resource (either shared memory or message queues) configured in your system. Either your UNIX kernel does not have the resource configured, or all of the resource is in use by other programs. In either case, you should regenerate your UNIX kernel for more shared memory or message queues.