Getting error "failed to create shared memory" when starting Netbackup Sybase ASA

Problem

Getting error "failed to create shared memory" when starting Netbackup Sybase ASA

 

Error Message

The following error is displayed when starting Netbackup Sybase ASA:

Abort - core dumped
Start ASA Server Failed! error code: 134
/usr/openv/db/bin/dbspawn -f "/usr/openv/db/bin/NB_dbsrv" @"/usr/openv/var/global/server.conf" @"/usr/openv/var/global/databases.conf"
*** Assertion Failure ***
an_inter_proc_sema::Initialize: failed to create shared memory
File 'utils/etc/iprocsem.c' at line #73
Aborting execution...

Adaptive Server Anywhere Start Server In Background Utility Version 9.0.2.3508
Abort - core dumped

pstack on the core file produced by dbspawn shows:

core 'core' of 1626: /usr/openv/db/bin/dbspawn -f /usr/openv/db/bin/NB_dbsrv @/usr/openv/va
ff1c16e8 _lwp_kill (6, 0, feee4948, ffffffff, ff1e8298, 6) + 8
ff140158 abort (ffbfe9b0, 1, ff1c0620, a8244, ff1eb298, 0) + 110
feee4948 ???????? (6, ffbfee80, ffbfebc8, 1, ffbfee80, ffbfebc8)
ff1c0620 __sighndlr (6, ffbfee80, ffbfebc8, feee4674, 0, 0) + c
ff1b5718 call_user_handler (6, 20, c, 0, fee92000, ffbfebc8) + 3b8
ff1c16e8 _lwp_kill (6, 6, 5, 6, 32924, 0) + 8
ff140118 abort (ffbfefc0, fee4f870, fee31e94, a8244, fee4f808, 0) + d0
fee389e0 ???????? (fee4bd60, fee4bda0, 49, fee6e700, 0, 80808080)
fee31e94 ???????? (fee6e6e0, 0, 0, 0, 0, 6b248)
fedd4d68 ???????? (6b1f8, 1, 600a8, ffbff744, 0, 0)
fedbb4dc ???????? (fee634d0, 0, 600a8, 0, 0, 19150)
fedcb3a8 ???????? (ffbff6b8, fee634d0, 600a8, ffbff744, 0, 0)
fedcb164 ???????? (600a8, ffbff738, fee634d0, 46000, 2400, 19150)
feda6d44 db_start_engine (49634, 6af70, 7ffffc00, 2dfde, ff00, 99) + 6c
000184e4 ProcessCmd (5d9a8, 1, f, 46000, 2400, 19150) + 140
00018a40 main (5, ffbffb94, 0, 45400, fee90300, fee90340) + 118
00018058 _start (0, 0, 0, 0, 0, 0) + 108 


truss -faeld -o /tmp/truss.out /usr/openv/db/bin/nbdbms_start_server shows:

2345: open("/usr/openv/tmp/sqlany/__SQLAnyCli__2345_374b10ae/shmem/_sems", O_RDWR|O_CREAT|O_TRUNC|O_EXCL, 0777) = 8
2345: fcntl(8, F_SETFD, 0x00000001) = 0
2345: umask(022) = 077
2345: fstatvfs(8, 0xFFBFEE10) Err#79 EOVERFLOW
2345: close(8) = 0
2345: lstat64("/usr/openv/tmp/sqlany/__SQLAnyCli__2345_374b10ae/shmem/_sems", 0xFFBFED18) = 0
2345: unlink("/usr/openv/tmp/sqlany/__SQLAnyCli__2345_374b10ae/shmem/_sems") = 0
2345: write(2, " * * * ", 4) = 4
2345: write(2, " A s s e r t i o n F a".., 17) = 17
2345: write(2, " * * *\n", 5) = 5
2345: write(2, " a n _ i n t e r _ p r o".., 124) = 124
2345: write(2, "\n", 1) = 1
2345: write(2, "\n", 1) = 1
2345: sigaction(SIGABRT, 0x00000000, 0xFFBFED98) = 0
2345: lwp_kill(1, SIGABRT) = 0
2345: Received signal #6, SIGABRT [caught]
2345: siginfo: SIGABRT pid=2345 uid=0 code=-1

fstatvfs is failing with EOVERFLOW.

Cause

The root cause for this symptom is a limititation in the embedded third party database server engine when a referenced file system exceeds 2TB on ZFS. 

Solution

Unitl the formal solution is available in a future NetBackup major release, the following workaround may offer relief.

Workaround:
The truss utility shows the fstatvfs system call call failing with a EOVERFLOW error indication because the file system holding /usr/openv/tmp/ is too large to handle (in this case it was 3.5TB).  The workaround is to create a symbolic link from /usr/openv/tmp to a smaller file system. 
     # ln -s /<a different smaller file system>/ /usr/openv/tmp

eg.

# mv /usr/openv/tmp /usr/openv/tmp.original
# mkdir /small-filesystem/tmp
# ln -s /small-filesystem/tmp /usr/openv/tmp

 


Applies To

Problem has been observed on Solaris 10 with a ZFS file system hosting the Netbackup installation, and the partition size exceeds 2TB.

Terms of use for this information are found in Legal Notices.

Search

Survey

Did this article answer your question or resolve your issue?

No
Yes

Did this article save you the trouble of contacting technical support?

No
Yes

How can we make this article more helpful?

Email Address (Optional)