Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 Messages


B. Return Codes of System Calls

The following table describes the causes of return codes of major system calls, and the actions you need to take. For errors not explained in the table, see the documentation for your OS.

Unless otherwise specified, the table covers errno in HP-UX.

The table only explains the major system calls. For a closer examination, check the mnemonic for the errno value shown in the message against the errno definition file for your OS. For example, see the /usr/include/sys/errno.h file in HP-UX and Solaris, or the definition with the errno.h header in Windows and Visual C++. Furthermore, use the manual to check the system call that caused the error and to determine the cause of the error indicated by the mnemonic.

Table B‒1: Causes of return codes for system calls, and actions to be taken

System call

errno

Mnemonic

Probable major causes

Action

fork

11

EAGAIN

There are too many processes, or a temporary memory shortage occurred.

Re-execute. If the error occurs again, stop unnecessary processes.

12

ENOMEM

Either of the following is possible:

  • A new process cannot be created due to insufficient swap area or virtual memory.

  • There are too many processes or some processes are consuming large amounts of memory.

If the amount of swap area or virtual memory is insufficient, increase it.

If you cannot increase the amount, stop unnecessary processes.

If some processes are consuming large amounts of memory, check whether you can stop such processes.

malloc

12

ENOMEM

Either of the following is possible:

  • Process-specific memory cannot be allocated due to insufficient swap area or virtual memory.

  • There are too many processes or some processes are consuming large amounts of memory.

If the amount of swap area or virtual memory is insufficient, increase it.

If you cannot expand them, stop unnecessary processes.

If some processes are consuming large amounts of memory, check whether you can stop such processes.

22

EINVAL

Invalid memory management information was detected.

Contact the system administrator.

mkdir

13

EACCESS

The access permission is invalid.

Check whether the access permission for files under the embedded database practical directory is correct.

28

ENOSPC

The file system does not have sufficient available free area.

Allocate free space.

msgget

28

ENOSPC

The value specified for msgmni (number of message queue identifiers) is too small.

In Windows, the installation drive does not have sufficient free space or available resources are insufficient.

Estimate the requirements for all programs that run on the server machine applicable to msgmni, change the specified value, and then restart the server machine.

In Windows, allocate free space on the installation drive larger than the size of shared memory.

msgrcv

22

36

EINVAL

EIDRM

A message queue used for the embedded database was deleted.

In Windows, a work file under the embedded database installation directory may have been deleted while the embedded database was running.

Forcibly stop the embedded database if it has not terminated abnormally. Then restart the server machine (In Windows, restart the embedded database service).

msgsnd

11

EAGAIN

The value specified for msgmni (number of message queue identifiers) or msgtql (number of messages) is too small.

Estimate the requirements for all programs that run on the server machine applicable to msgmni or msgtql, change the specified value, and then restart the server machine.

22

EINVAL

A message queue used for the embedded database was deleted.

Forcibly stop the embedded database if it has not terminated abnormally. Then restart the server machine.

open

2

ENOENT

The file or directory was not found.

If logblib.c is output as the calling module in the message KFPO00107-E, the message text file was not found. In this case, an embedded database that is not currently in use may be registered in the OS.

Use the ajsembdbunset command to delete the embedded database that is currently not in use.

6

ENXIO

You do not have access permission for files.

Make sure that the device exists and that it is enabled. If the device is not enabled, enable it. If this situation does not apply, take action according to the manual for your OS.

13

EACCES

You do not have permission for files.

  • Review the permissions for the target files, directories, or embedded database practical directory.

  • Check whether the user who executes the operation has permissions for the target files, directories, or embedded database practical directory.

  • For operations performed by an AJS administrator, make sure that the required authorization has been set for the AJS administrators.

17

EEXIST

The file you attempted to create already exists.

Change the file name and re-execute. Alternatively, delete unnecessary existing files, if any, and then re-execute.

23

ENFILE

The number of open files exceeded the maximum for the system.

In Windows, the installation drive does not have sufficient free space.

Increase the maximum number of open files allowed for a system specified in the kernel parameter of the OS (nfile in HP-UX, or maxuproc x nofiles x number-of-fixed-licenses in AIX 5L, NR_FILE or fs.file-max in Linux). Also stop any unnecessary processes and close any unnecessary windows.

In Windows, allocate free space on the installation drive larger than the size of shared memory.

24

EMFILE

There are too many open files in the process.

In Windows, the installation drive does not have sufficient free space.

Increase the maximum number of open files allowed for a process specified in the kernel parameter of the OS (maxfiles in HP-UX, rlim_fd_cur in Solaris, or nofiles in AIX 5L, INR_OPEN in Linux). In Windows, allocate free space on the installation drive larger than the size of shared memory.

999

ENOENT

In Windows, the work file in the embedded database may have been corrupted.

Make sure that the embedded database has stopped, and then perform recovery by deleting all of the following files.

Note, however, that files after number 4 may not exist.

  1. embedded-database-practical-directory\uxpldir\spool\system\filmng.dat

  2. embedded-database-practical-directory\uxpldir\spool\system\flg.dat

  3. embedded-database-practical-directory\uxpldir\spool\system\shmmng.dat

  4. embedded-database-practical-directory\spool\~pdatmode

  5. embedded-database-practical-directory\spool\~pdipcid

  6. embedded-database-practical-directory\spool\oslmqid

  7. embedded-database-practical-directory\spool\oslsmid

  8. embedded-database-practical-directory\spool\pdprcsts

  9. embedded-database-practical-directory\spool\scdqid1

  10. embedded-database-practical-directory\spool\scdqid2

  11. embedded-database-practical-directory\tmp\pdommenv

  12. All files under embedded-database-practical-directory\uxpldir\spool\shm

  13. embedded-database-practical-directory\uxpldir\spool\system\semmng.dat

  14. embedded-database-practical-directory\uxpldir\spool\system\msgmng.dat

When you start the embedded database after deleting the above files, make sure that no other applications such as Explorer are accessing embedded-database-practical-directory\tmp.

semget

28

ENOSPC

The value specified for semmni (number of semaphore identifiers) or semmns (number of semaphores in the system) is too small.

In Windows, the installation drive does not have sufficient free space.

Estimate the requirements for all programs that run on the server machine applicable to semmni and semmns, change the specified values, and then restart the server machine.

In Windows, allocate free space on the installation drive larger than the size of shared memory.

semop

22

EINVAL

A semaphore used for the embedded database was deleted.

In Windows, a work file under the embedded database installation directory may have been deleted while the embedded database was running.

If the embedded database did not terminate abnormally, forcibly terminate it. Then restart the server machine (In Windows, restart the embedded database service).

shmat

12

ENOMEM

One of the following is possible:

  1. Available resources are insufficient, including cases in which consecutive free areas cannot be allocated to the space of the process to which the shared memory is attached.

  2. In Windows, an error occurred while the Windows registry was being accessed.

  3. In Windows, an embedded database service has not started (when shared memory is allocated to a paging file).

  1. Allocate memory, and then re-execute.

  2. If the Windows registry has been damaged, contact the system administrator.

  3. Check whether the embedded database service has started. If it has stopped, start it.

22

EINVAL

The shared memory for the embedded database was not found.

A command might have been executed before the OS was started (during execution of /etc/rc).

In Windows, a work file under the embedded database installation directory may have been deleted while the embedded database was running.

Alternatively, a command may have been executed before startup of the embedded database was completed.

If the command was executed before the OS was started, wait until the OS has started, and then re-execute the command. If startup of the embedded database was not completed, wait until the startup of the embedded database has been completed, and then execute the command.

In Windows, forcibly stop the embedded database if it has not terminated abnormally. Then restart the embedded database service.

shmdt

12

ENOMEM

In Windows, either of the following is possible.

  • An error occurred while the Windows registry was being accessed.

  • The embedded database service has not started (when shared memory is allocated to a paging file).

  • If the Windows registry has been damaged, contact the system administrator.

  • When shared memory is allocated to a paging file, check whether the embedded database service has started. If it is in the stop status, start it.

shmctl

1

EPERM

You cannot process the shared memory because you are not the owner.

If the message KFPO00107-E was output, check it.

12

ENOMEM

In Windows, either of the following is possible.

  • An error occurred while the Windows registry was being accessed.

  • The embedded database has not started (when shared memory is allocated to a paging file).

  • If the Windows registry has been damaged, contact the system administrator.

  • Check whether the embedded database service has started. If it is in the stop status, start it.

shmget

12

ENOMEM

In UNIX, the server machine does not have the amount of memory required for allocating the required size of shared memory.

In Windows, see Table B-2.

In UNIX, reduce memory usage on the server machine. Alternatively, increase the amount of real memory for the OS.

In Windows, see Table B-2.

22

EINVAL

In UNIX, the size of the shared memory you attempted to acquire exceeded the shmmax kernel parameter of the OS.

In Windows, a work file under the embedded database installation directory may have been deleted while the embedded database was running.

In UNIX, increase the value specified in the shmmax kernel parameter for the OS. Then, restart the server machine.

For a Windows embedded database server, forcibly stop the embedded database if it has not terminated abnormally. Then restart the embedded database service.

28

ENOSPC

In UNIX, the number of shared memory IDs exceeded the maximum for the OS.

In Windows, the installation drive does not have sufficient free space. For a Windows embedded database server, the installation drive does not have sufficient free space. If a paging file was allocated as shared memory, the process-specific memory is insufficient for the embedded database service to manage the shared memory.

In UNIX, take at least one of the following actions:

  • Reduce the number of shared memory segments on the machine.

  • Increase the value specified for the shmmni kernel parameter of the OS.

In Windows, allocate free space on the installation drive larger than the size of shared memory.

If a paging file was allocated as shared memory, check the maximum memory usage for the entire system, and then increase the physical memory or the size of the paging file.

write

5

EIO

An I/O error occurred.

Take action according to the OS and hardware information.

14

EFAULT

An attempt was made to write to an area that cannot be accessed. The disk to which the write was attempted may have been detached.

If this code is returned when the disk was switched during node switching, ignore this code because there is no problem. If you have inadvertently detached the disk while the embedded database was running, restore the appropriate file from the backup, or initialize that file. For other cases, contact the system administrator.

27

EFBIG

The size of a file exceeded the system limit.

Change the file size limit for the administrator of the embedded database system or the root user to be greater than the size of a file used for the embedded database system, or to an unlimited value. Alternatively, reduce the size of files used for the embedded database system.

28

ENOSPC

The file system does not have sufficient free space.

Allocate free space.

abort, creat, execl, execle, execlp, execv, execvp, fopen, fork, gethostbyaddr, gethostbyname, mmap, msgctl, msgget, msgrcv, msgsnd, open, read, readv, select, semctl, semget, semop, shmat, shmctl, shmdt, shmget, signal, sigrelse, sigset, sigsetmask, sigvector, stat, system, write, writev, and so on

22

EINVAL

In Windows, memory may be insufficient.

In Windows, take either of the following actions:

  • Reduce the total size of the database on the server machine.

  • Specify the same value (fixed value) for the initial size and the maximum size of the system's virtual memory.

Table B‒2: Actions to be taken when an error occurs in shmget (Windows)

Location of allocated shared memory

Cause

Check method

Action

File

The installation directory does not have sufficient free space.

Check whether the drive on which the embedded database is installed has sufficient free space.

If the amount of free space is insufficient, delete unnecessary files.

The disk containing the disk paging file does not have sufficient free space because the initial value of virtual memory differs from the maximum value.

Check whether the disk containing the disk paging file has sufficient free space.

If the disk does not have free space, re-allocate virtual memory. To do this, specify the same value (fixed value) for the initial size and the maximum size so that consecutive areas are created on the drive.

Memory is insufficient.

Check the memory usage.

Expand or re-allocate virtual memory. To do this, specify the same value (fixed value) for the initial size and the maximum size so that consecutive areas are created on the drive.

Check whether the disk containing the paging file has sufficient free space.

If an expansion in virtual memory is required, expand it. At this time, specify the same value for the initial value and maximum value of virtual memory.

Paging file

The installation directory does not have sufficient free space.

Check whether the drive on which the embedded database is installed has sufficient free space.

If the amount of free space is insufficient, delete unnecessary files.

The disk containing the disk paging file does not have sufficient free space because the initial value of virtual memory differs from the maximum value.

Check whether the disk containing the disk paging file has sufficient free space.

If the disk does not have free space, re-allocate virtual memory. To do this, specify the same value (fixed value) for the initial size and the maximum size so that consecutive areas are created on the drive.

Memory is insufficient.

Check the memory usage.

Expand or re-allocate virtual memory. To do this, specify the same value (fixed value) for the initial size and the maximum size so that consecutive areas are created on the drive.

Check whether the disk containing the paging file has sufficient free space.

If an expansion in virtual memory is required, expand it. At this time, specify the same value for the initial value and maximum value of virtual memory.

The embedded database service has not started.

Check whether the embedded database service has started.

If the embedded database service is in the stop status, start it.