Scalable Database Server, HiRDB Version 8 Messages

[Contents][Back][Next]

4.3 System call return codes

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.

UNIX version:
Unless otherwise noted, Table 4-4 shows the errno used in HP-UX. Because the table lists only the principal system calls, to determine the exact nature of the error, check the mnemonic associated with the value or errno indicated in the message in the errno definition file (the contents defined in (/usr/include/sys/errno.h for HP-UX or Solaris) of the OS being used. Regarding a system call that has resulted in an error, check it in the manual and identify the cause of the error associated with the mnemonic.

Windows version:
Because Table 4-4 lists only the principal system calls, to determine the exact nature of the error, check the mnemonic associated with the value of errno indicated in the message in the errno definition file (for example, for Visual C++, the contents defined in errno.h) of the OS being used. If a system call has resulted in an error, refer to the manual to identify the cause of the error associated with the mnemonic.

Table 4-4 System call return codes

System Call errno Mnemonic Possible Cause Action
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:
  • The swap area (in Windows, virtual memory) is too small for the process to be newly created.
  • There are too many processes or some processes are using too much memory.
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:
  • The swap area (in Windows, virtual memory) is too small for the process native area to be allocated.
  • There are too many processes or some processes are using too much memory.
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 engineer.
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 UNIX version:
The value specified in msgmni (number of message queue identifiers) is too small.
Windows version:
The capacity of the installation drive or the number of resources in use is insufficient.
UNIX version:
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.
Windows version:
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 8 Installation and Design Guide.
The default value of the PDUXPLMSGMNI system environment variable is 50.
msgrcv 22
36
EINVAL
EIDRM
UNIX version:
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.
Windows version:
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. UNIX version:
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.
Windows version:
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 8 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
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:
UNIX version:
Consider one of the following:
  1. A HiRDB command was executed before the pdsetup command terminated normally.
  2. The PDDIR environment variable is not correctly set up.
  3. A HiRDB version that is not currently used is registered in the OS.
Windows version:
The PDDIR environment variable might not be set correctly.
UNIX version:
Take the following actions according to the cause of the error:
  1. Execute the HiRDB command after confirming the normal return of the pdsetup command.
  2. Confirm that the PDDIR environment variable is correctly set up.
    For a user shell, use the env command to confirm that the value of PDDIR is correctly assigned. If the PDDIR environment variable is set when export is leaking or by using the set command, assigned values are not transferred to the HiRDB command process, which causes this error.
    If the OpenTP1, HA Monitor, Hitachi HA Toolkit Extension, cluster software, JP1, DBPARTNER,HiRDB Datareplicator, HiRDB CM, and other products are used, check to see if the PDDIR environment variable for those products is correctly set.
  3. Use the pdsetup -d command to delete from the OS the HiRDB version that is not being used. To delete all execution environments, specify y in response to the pdsetup -d command.
Windows version:
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.
  • Review the privilege for the target file, directory, or HiRDB operation directory.
  • Check to see if the person executing the command has the access privilege for the target file, directory, or HiRDB operation directory.
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 UNIX version:
The number of open files exceeds the maximum for the system.
Windows version:
There is insufficient capacity on the installation drive.
UNIX version:
Increase the value specified for the maximum number of files that can be opened by the system, in terms of an operating system parameter (kernel parameter) (nfile for HP-UX, maxuproc [Figure] nofiles [Figure] fixed number of licenses for AIX 5L, or NR_FILE or fs.file-max for Linux). Stop any processes or windows that are not needed.
Windows version:
On the installation drive, allocate at least as much free space as is required for the shared memory size.
24 EMFILE UNIX version:
Too many files are open in the indicated process.
Windows version:
There is insufficient capacity on the installation drive.
UNIX version:
If this error occurs in a HiRDB command or utility process, increase the value of the maximum number of files that can be opened by a process, in terms of an operating system parameter (kernel parameter) (maxfiles for HP-UX, rlim_fd_cur for Solaris, nofiles for AIX 5L, or INR_OPEN for Linux). If this problem occurs in a HiRDB server process, contact the customer engineer.
Windows version:
On the installation drive, allocate at least as much free space as is required for the shared memory size.
open 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.
  1. %PDDIR%\uxpldir\spool\system\filmng.dat
  2. %PDDIR%\uxpldir\spool\system\flg.dat
  3. %PDDIR%\uxpldir\spool\system\shmmng.dat
  4. %PDDIR%\spool\...pdatmode
  5. %PDDIR%\spool\...pdipcid
  6. %PDDIR%\spool\oslmqid
  7. %PDDIR%\spool\oslsmid
  8. %PDDIR%\spool\pdprcsts
  9. %PDDIR%\spool\scdqid1
  10. %PDDIR%\spool\scdqid2
  11. %PDDIR%\tmp\pdommenv
  12. All files under %PDDIR%\uxpldir\spool\shm
  13. %PDDIR%\uxpldir\spool\system\semmng.dat
  14. %PDDIR%\uxpldir\spool\system\msgmng.dat
When starting HiRDB after deleting all these files, make sure other applications, such as Explorer, are not accessing %PDDIR%\tmp.
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 8 Installation and Design Guide. The default for the PDUXPLSEMMAX system environment variable is 64.
28 ENOSPC UNIX version:
The value specified in semmni (number of semaphore identifiers) or semmns (number of semaphores in the system) is too small.
Windows version:
There is insufficient capacity on the installation drive.
UNIX version:
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.
Windows version:
On the installation drive, allocate at least as much free space as is required for the shared memory size.
semop 22 EINVAL UNIX version:
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.
Windows version:
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:
  1. The number of available resources is insufficient. This includes the case in which a contiguous free area cannot be allocated in the process space to which shared memory is to be attached.
  2. In Windows, an error occurred while referencing the Windows registry.
  3. In Windows, the HiRDB service is not started (when shared memory is allocated to the paging file).
1. For Windows, assign the number of required resources (size of required shared memory) in the system environment variable PDUXPLSHMMAX. For details on how to compute the size of the shared memory to be used, see the HiRDB Version 8 Installation and Design Guide. The PDUXPLSHMMAX default is 4096. If usable memory cannot be made available, change the HiRDB system definition (for example, by reducing the number of global buffers) to reduce the shared memory requirements.
2. Check the value specified for the pdntenv command's -shmfile operand. If it is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer.
3. If the shared memory is allocated to the paging file, confirm that the HiRDB service is started. If the HiRDB service is stopped, start the service.
22 EINVAL UNIX version:
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.
Windows version:
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.
UNIX version:
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.
Windows version:
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:
  • An error occurred while referencing the Windows registry.
  • The HiRDB service is not started (when shared memory is allocated to the paging file).

  • Check the value specified for the pdntenv command's -shmfile operand. If it is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer.
  • If the shared memory is allocated to the paging file, confirm that the HiRDB service is started. If the HiRDB service is stopped, start the service.
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:
  • An error occurred while referencing the Windows registry.
  • The HiRDB service is not started (when shared memory is allocated to the paging file).

  • Check the value specified for the pdntenv command's -shmfile operand. If it is other than regular, page, or blank, the Windows registry might be corrupt. If that is the case, contact a customer engineer.
  • If the shared memory is allocated to the paging file, confirm that the HiRDB service is started. If the HiRDB service is stopped, start the service.
shmget 12 ENOMEM UNIX version:
The required shared memory capacity is not available on the server unit.
Windows version:
Refer to Table 4-5.
UNIX version:
Reduce memory usage on the server unit. Or, increase the real memory under the operating system.
Windows version:
Refer to Table 4-5.
22 EINVAL UNIX version:
There was an attempt to acquire a shared memory volume that exceeds the value specified in the shmmax operating system parameter (kernel parameter).
Windows version:
It is possible that the work files in the HiRDB installation directory were deleted when HiRDB was running.
UNIX version:
Increase the value specified in the shmmax operating system parameter (kernel parameter). After changing the specified value, reboot the server machine.
Windows version:
If HiRDB did not terminate abnormally, terminate it forcibly. After that, restart the HiRDB service.
28 ENOSPC UNIX version:
The number of shared memory identifiers exceeds the OS limit.
Windows version:
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.
UNIX version:
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 specified value in the operating system parameter (kernel parameter) shmmni.
Windows version:
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.
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 a customer engineer.
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 version, there may be insufficient memory. For the Windows version, take corrective action from among the following options:
  • Specify Y in the pd_ntfs_cache_disable operand.
  • Decrease the total size of the databases on the server machine.
  • Decrease the size of the global buffer.
  • Decrease the values specified in the following operands:
    pd_max_users
    pd_process_count
    pd_max_bes_process
    pd_max_dic_process
    pd_max_server_process
    pd_max_rdarea_no
    pd_max_file_no
    pd_max_access_tables
    pd_lck_pool_size
    pd_fes_lck_pool_size
  • Set the default size and the maximum size of system virtual memory to the same value (a fixed size).
  • Do not collect statistical information and various trace information if you are currently doing so.

Table 4-5 Corrective action when an error occurs in the shmget system call (in Windows)

Item Location of shared memory allocation# 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 8 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 the memory usage. 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 8 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 a customer engineer.
7 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.
8 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.
9 There is insufficient memory Check the memory usage. 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.
10 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.
11 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 8 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 a customer engineer.
12 The HiRDB service is not started Confirm that the HiRDB service is started. If the HiRDB service is stopped, start it.

#
The location where the shared memory is allocated can be determined by referring to the value of ShmFile obtained by the pdntenv command. The following table shows where the shared memory is allocated for each value displayed using the pdntenv command.

Item ShmFile value Allocation location
1 regular Files under the HiRDB directory
2 page Paging file
3 blank Files under the HiRDB directory