Table 4-4 shows the causes and required actions for return codes from representative system calls. For errors that are not listed in Table 4-4, see the applicable OS manual.
Table 4-4 System call return codes
System Call | errno | Mnemonic | Possible Cause | Action |
---|---|---|---|---|
fcntl | 22 | EINVAL | If you are using the raw I/O facility in Windows, a partition format that cannot be used was specified. | Specify a partition format that can be used by the raw I/O facility. For information on partition formats that can be used by the raw I/O facility, see the HiRDB Version 9 Installation and Design Guide. |
fork | 11 | EAGAIN | Either there are too many processes or a temporary memory shortage has occurred. | If this error occurs repeatedly when the command is rerun, terminate any unneeded processes. |
12 | ENOMEM | One of the following problems is suspected:
| If the swap area (in Windows, virtual memory) is too small, increase it. If this is not possible, terminate the processes that are not needed. If some of the processes are using too much memory, determine whether they can be terminated. | |
malloc | 12 | ENOMEM | One of the following problems is suspected:
| If the swap area (in Windows, virtual memory) is too small, increase it. If this is not possible, terminate the processes that are not needed. If some of the processes are using too much memory, determine whether they can be terminated. |
22 | EINVAL | Invalid memory management information was detected. | Contact the customer support center. | |
mkdir | 13 | EACCESS | An access privilege is invalid. | Check if access privileges to files under the HiRDB directory are correct. |
28 | ENOSPC | There is not enough free space for the file system. | Either delete files that are no longer needed from the file system or move files to a file system that has adequate free space. | |
msgget | 28 | ENOSPC | In UNIX: The value specified in msgmni (number of message queue identifiers) is too small. In Windows: The capacity of the installation drive or the number of resources in use is insufficient. | In UNIX: Estimate the memory requirements of all programs that are running on the server machine indicated by msgmni, change the specified value, and then reboot the applicable server machine. In Windows: On the installation drive, allocate at least as much free space as is required for the shared memory size. Or, specify the required number of resources (message queue identifiers) in the PDUXPLMSGMNI system environment variable. For the formula for determining the number of message queue identifiers, see the HiRDB Version 9 Installation and Design Guide. The default value of the PDUXPLMSGMNI system environment variable is 50. |
msgrcv | 22 36 | EINVAL EIDRM | In UNIX: The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the message queue used by HiRDB. In Windows: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. | If HiRDB has not terminated abnormally, terminate it. After that, reboot the applicable server machine. (In the case of Windows, restart the HiRDB service.) |
msgsnd | 11 | EAGAIN | The value specified in msgmni (number of message queue identifiers) or msgtql (number of messages) is too small. | In UNIX: Estimate the memory requirements of all programs that are running on the server machines indicated by msgmni or msgtql, change the specified values, and then reboot the applicable server machine. In Windows: Set the value for the number of required resources (number of message queue tables) in the PDUXPLMSGTQL system environment variable. For the formula for determining the number of message queue tables, see the HiRDB Version 9 Installation and Design Guide. The default for the PDUXPLMSGTQL system environment variable is 80. |
22 | EINVAL | The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the message queue used by HiRDB. | If HiRDB has not terminated abnormally, terminate it. After that, reboot the applicable server machine. | |
open | 2 | ENOENT | The indicated file or directory is not found. If the file logblib.c is output to the calling module for a KFPO00107-E message, a message text file cannot be found. If that is the case, the cause is as follows: In UNIX: Consider one of the following:
The PDDIR environment variable might not be set correctly. | In UNIX: Take the following actions according to the cause of the error:
Ensure that the PDDIR environment variable is set correctly. If the command was executed from the command prompt, use the set command to determine whether the PDDIR environment variable was set correctly. If using a product such as OpenTP1, JP1, DBPARTNER, HiRDB Datareplicator, or HiRDB CM, confirm that the PDDIR environment variable has been set correctly for these products. |
6 | ENXIO | No access privilege for the file. | Confirm that the device exists and that the device is validated. If the device is not validated, validate it. If the error still cannot be resolved, refer to the manual for the OS in use and take corrective action. | |
13 | EACCES | No access privilege for the file. |
| |
17 | EEXIST | The file to be created already exists. | Either rerun the command by renaming the file or, if the existing file is not needed, delete the file, and then rerun the command. | |
23 | ENFILE | In UNIX: The number of open files exceeds the maximum for the system. In Windows: There is insufficient capacity on the installation drive. | In UNIX: Increase the specification value for the maximum number of OS operating system parameter (kernel parameter) files that can be opened by the system (For HP-UX: nfile. For AIX: maxuproc ![]() ![]() In Windows: On the installation drive, allocate at least as much free space as is required for the shared memory size. | |
24 | EMFILE | In UNIX: Too many files are open in the indicated process. In Windows: There is insufficient capacity on the installation drive. | In UNIX: If the error occurred in a HiRDB command or utility process, increase the value for the maximum number of OS operating system parameter (kernel parameter) files that can be opened by the system (For HP-UX: maxfiles. For Solaris: rlim_fd_cur. For AIX: nofiles. For Linux: INR_OPEN). If this problem occurs in a HiRDB server process, contact the customer support center. In Windows: On the installation drive, allocate at least as much free space as is required for the shared memory size. | |
999 | ENOENT | For Windows, HiRDB work files may have been destroyed. | After confirming that HiRDB has stopped, delete all the files listed below and then restore them. Note that the files from No. 4 on may not exist in all cases.
| |
semget | 12 | ENOMEM | Shortage occurred in the number of resources used. | Specify the number of resources required (the number of semaphore identifiers) in the PDUXPLSEMMAX system environment variable. For details on how to compute the number of semaphore identifiers, see the HiRDB Version 9 Installation and Design Guide. The default for the PDUXPLSEMMAX system environment variable is 64. |
28 | ENOSPC | In UNIX: The value specified in semmni (number of semaphore identifiers) or semmns (number of semaphores in the system) is too small. In Windows: There is insufficient capacity on the installation drive. | In UNIX: Estimate the memory requirements of all programs that are running on the server machines indicated by semmni or semmns, change the specified values, and then reboot the applicable server machine. In Windows: On the installation drive, allocate at least as much free space as is required for the shared memory size. | |
semop | 22 | EINVAL | In UNIX: The ipcrm command of the OS or the pdsetup command of HiRDB was incorrectly executed when HiRDB was running, which resulted in the deletion of the semaphore used by HiRDB. In Windows: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. | If HiRDB has not terminated abnormally, forcibly terminate it. After that, reboot the applicable server machine (for Windows, restart the HiRDB service). |
shmat | 12 | ENOMEM | Consider one of the following:
| Take the following corrective action according to the cause of the error:
|
22 | EINVAL | In UNIX: Shared memory for HiRDB is missing. It is possible that a HiRDB command was entered before the OS was fully started (during the execution of /etc/rc) or a HiRDB command was coded in an environment file, such as /etc/localrc, which is executed upon completion of the startup of the OS. In Windows: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. Or, it is possible that the command was executed before the activation of HiRDB was complete. | In UNIX: If a HiRDB command was entered before the OS was fully started, reenter the command after the startup of the OS is complete. Also, be careful not to code a HiRDB command in the /etc/localrc OS environment file. If activation of HiRDB is not complete, wait until HiRDB is complete, and then execute the command. In Windows: If HiRDB activation has not been completed, complete HiRDB activation and then re-execute. If HiRDB did not terminate abnormally, terminate it forcibly. After that, restart the HiRDB service. | |
shmdt | 12 | ENOMEM | In Windows, consider one of the following causes:
|
|
shmctl | 1 | EPERM | Because the user is not an owner, the shared memory cannot be processed. | If a KFPH23015-E or KFPO00107-E message is output, see that message. |
12 | ENOMEM | In Windows, consider one of the following causes:
|
| |
shmget | 12 | ENOMEM | In UNIX: The required shared memory capacity is not available on the server unit. In Windows: Refer to Table 4-5. | In UNIX: Reduce memory usage on the server unit. Or, increase the real memory under the operating system. In Windows: Refer to Table 4-5. |
22 | EINVAL | In UNIX: There was an attempt to acquire a shared memory volume that exceeds the value specified in the shmmax operating system parameter (kernel parameter). In Windows: It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running. | In UNIX: Increase the value specified in the shmmax operating system parameter (kernel parameter). After changing the specified value, reboot the server machine. In Windows: If HiRDB did not terminate abnormally, terminate it forcibly. After that, restart the HiRDB service. | |
28 | ENOSPC | In UNIX: The number of shared memory identifiers exceeds the OS limit. In Windows: There is insufficient capacity on the installation drive. Also, if the paging file is allocated as shared memory, the process native memory used by the HiRDB service to manage the shared memory might be insufficient. | In UNIX: Take one or more of the following actions: (1) Reduce the number of shared memory segments set up on the same machine. (2) Increase the specification value in the operating system parameters (kernel parameter) shmmni and shmall. In Windows: On the installation drive, allocate at least as much free space as is required for the shared memory size. Also, if the paging file is allocated as shared memory, check the maximum available memory for the entire system, and increase either the physical memory or the size of the paging file. | |
vfork | -1800 level# | -- | Refer to Table 4-6. | |
waitpid | -1800 level# | -- | Refer to Table 4-6. | |
write | 5 | EIO | An input/output error has occurred. | Take corrective action according to OS and hardware information. |
14 | EFAULT | An attempt was made to write to an inaccessible area. It is possible that the disk on which a write operation was attempted has been detached. | The problem can be ignored if it occurred during disk switching associated with system switchover. If the disk was detached by mistake when HiRDB was still running, either back up or restore the affected file, and initialize it before using. In other cases, contact the customer support center. | |
27 | EFBIG | The file is greater than the system-imposed limit. | Change the file size limit for the HiRDB administrator and the root user either to a size greater than required in HiRDB or to unlimited size. Alternatively, reduce the size of the file to be used. | |
28 | ENOSPC | The file system does not have enough area. | Either delete files that are not needed from the file system or move to a file system that has more 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 etc. | 22 | EINVAL | For the Windows edition of HiRDB, there may be insufficient memory. | For the Windows edition of HiRDB, take corrective action from among the following options:
|
tempnam | 12 | ENOMEM | In UNIX: The following possibilities should be investigated.
The following possibilities should be investigated.
| In UNIX: If the swap area is insufficient, expand it. If it cannot be expanded, terminate any unneeded processes. If some processes are consuming a large amount of memory, see whether you can turn them off once. In Windows: If there is a shortage of virtual memory, expand the virtual memory. If it cannot be expanded, terminate any unneeded processes. If some processes are consuming a large amount of memory, see whether you can terminate them for a while. |
13 | EACCES | You do not have access privileges to this directory path. | Check whether you have administrative access privileges to the directory path for the file name created by tempnam. If you do not have access privileges, assign them. Directory paths are indicated as follows. In UNIX:
| |
24 | EMFILE | In UNIX: The following possibilities should be investigated.
The following possibilities should be investigated.
| In UNIX:
| |
bind | In UNIX: 226 (HP-UX), 67 (AIX), 125 (Solaris), 98 (Linux) In Windows: 10048 | EADDRINUSE WSAEADDRINUSE | The port number set in HiRDB might have been a duplicate of another port code used for a different program, or it could be a duplicate of multiple port numbers set in HiRDB. | Re-examine the port numbers set in HiRDB, and make sure there are no duplicates. |
Table 4-5 Corrective action when an error occurs in the shmget system call (in Windows)
Item | Location of shared memory allocation#1 | Cause | Determination | Action |
---|---|---|---|---|
1 | Shared between files and the paging file | Insufficient memory | Check the value specified for the PDUXPLSHMMAX system environment variable. | Set the number of required resources (number of shared memories) in the PDUXPLSHMMAX system environment variable. For details about the formula for calculating the number of shared memories, see the manual HiRDB Version 9 Installation and Design Guide. If the PDUXPLSHMMAX system environment variable is omitted, 4,096 is assumed. |
2 | Files | Insufficient free space on the installation disk | Determine whether there is sufficient free space on the drive where HiRDB is installed. | If there is insufficient free space, delete unnecessary files. |
3 | Because the initial and maximum values specified for the virtual memory are different, there is no free space on the disk that allocated the disk paging file | Determine whether there is free space on the disk that allocated the disk paging file. | If there is no free space on the disk, re-allocate the virtual memory. When re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
4 | There is insufficient memory | Check whether there is enough free space in the virtual memory (paging file). | Expand or re-allocate the virtual memory. When expanding or re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
5 | Determine whether there is sufficient free space on the disk that holds the paging file. | If the virtual memory needs to be expanded, expand it. At this time, specify the same initial value and maximum value for the virtual memory. | ||
6 | The installation information cannot be referenced correctly | Check the installation information. The installation information can be displayed using the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 9 Command Reference. | Use the pdntenv command to check the value of ShmFile. If the value of ShmFile is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact the customer support center. | |
7 | If memory page locking fails | Check in either the HiRDB system definitions or command line whether there is a setting for locking memory pages. | If you are locking pages in the memory, the location for shared memory must be a paging file. Change the location for allocating shared memory to the paging file. | |
8 | Paging file | There is insufficient free space on the installation drive | Determine whether there is sufficient free space on the drive where HiRDB was installed. | If there is insufficient space, delete any unnecessary files. |
9 | Because the initial and maximum values specified for the virtual memory are different, there is no free space on the disk that allocated the disk paging file | Determine whether there is free space on the disk that allocated the disk paging file. | If there is no free space on the disk, re-allocate the virtual memory. When re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
10 | There is insufficient memory | Check whether there is enough free space in the virtual memory (paging file). | Expand or re-allocate the virtual memory. When expanding or re-allocating the virtual memory, specify the same initial value and maximum value (fixed value), so as to be able to create a contiguous area on the drive. | |
11 | Determine whether there is sufficient free space on the disk that holds the paging file. | If the virtual memory needs to be expanded, expand it. At this time, specify the same initial value and maximum value for the virtual memory. | ||
12 | The installation information cannot be referenced correctly | Check the installation information. The installation information can be displayed using the pdntenv command. For details about the pdntenv command, see the manual HiRDB Version 9 Command Reference. | Use the pdntenv command to check the value of ShmFile. If the value of ShmFile is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact the customer support center. | |
13 | The HiRDB service is not started | Confirm that the HiRDB service is started. | If the HiRDB service is stopped, start it. | |
14 | If memory page locking fails | Check whether the disk where the virtual memory or paging file was allocated has enough free space. If this error occurs despite there being enough free space, page locking has failed due to the absence of contiguous space in the physical memory. | Take one of the following corrective actions.
| |
15 | You do not have valid permissions to be able to lock shared memory to pages in the memory. | Take one of the following corrective actions.
|
Item | ShmFile value | Allocation location |
---|---|---|
1 | regular | Files under the HiRDB directory |
2 | page | Paging file |
3 | blank | Files under the HiRDB directory |
Table 4-6 Causes and corrective actions to take when a -1800 number level error occurs in vfork, waitpid
System call | errno | Main possible causes | Corrective action |
---|---|---|---|
vfork | -1818 | Communication with the command execution process failed (disconnection was detected). | Check whether the command execution process has started.# If it has not started, contact the customer support center. If it has started, make sure that there is no shortage of file descriptors in the system as a whole. |
-1819 | A resource shortage occurred during the XDS process. The main possible causes are as follows:
| Perform either of the following actions:
| |
-1871 | A resource shortage occurred during the command execution process. The main possible causes are as follows:
| Perform either of the following actions:
| |
-1872 | An attempt to establish a connection with the command execution process failed. | Check whether the command execution process has started.# If it has not started, contact the customer support center. If it has started, make sure that there is no shortage of file descriptors in the system as a whole. | |
waitpid | -1818 | Communication with the command execution process failed (disconnection was detected). | Check whether the command execution process has started.# If it has not started, contact the customer support center. If it has started, check whether there is a shortage of file descriptors in the system as a whole. |
-1871 | A resource shortage occurred during the command execution process. The main possible causes are as follows:
| Perform either of the following actions:
| |
-1873 | The connection with the command execution process was disconnected, and response waiting was canceled. | Check whether the command execution process has started.# If it has not started, contact the customer support center. If it has started, check whether there is a shortage of file descriptors in the system as a whole. |