FAQ: Powermt Returns Initialization Error

"There’s No Such Thing As A Silly Question" -- does the cliche sound familiar? In this part of pimp-my-rig reloaded, technical questions are answered. Mail them to me and I will post the answers here. If you have a better answer, by all means share it with us.

Q. I was working on an AIX host when I encountered "Initialization Error." when running "powermt display". This error is present when running as sudo. But I tried running as root, hoping things would be different as super-user but that was not the case. The errors I encountered are below.

user@host > sudo powermt display
Initialization error.
user@host > su
Password:
root@host > powermt display
Initialization error.

A. This puzzled me even more. Even as the super-user "root", the error was persistent. I'm not that very well versed with AIX, so I tried using a command that was always useful in Solaris -- truss. I then hit jackpot!

This is the output of the command.

root@host > truss powermt display

execve("/usr/sbin/powermt", 0x2FF22C94, 0x2000FB38)  argc: 2
__loadx(0x03480000, 0x2FF22A70, 0x00000140, 0x10000000, 0x2000033D) = 0x00000000
__loadx(0x0C000000, 0xF020AABC, 0x00000000, 0xF0317004, 0xF020A460) = 0x00000000
thread_init(0x0000000000000000, 0x00000000D0117CCC) = 
sbrk(0x00000000)                                = 0x20018404
vmgetinfo(0x2FF22978, 7, 16)                    = 0
sbrk(0x00000000)                                = 0x20018404
vmgetinfo(0x2FF22440, 7, 16)                    = 0
sbrk(0x00000000)                                = 0x20018404
sbrk(0x0000000C)                                = 0x20018404
__libc_sbrk(0x00000000)                         = 0x20018410
getrpid(-1, -1, -265185236)                     = 253984
_getpid()                                       = 253984
getprocs(0x20018ED8, 920, 0x00000000, 0, 0xF03173B0, 1) = 1
appulimit(1005, 0)                              = 0x20029000
_thread_self()                                  = 610395
thread_setmystate(0x00000000, 0x2FF225D0)       = 0
thread_setmystate(0x2FF222C0, 0x2FF225C8)       = 0
_sigaction(3, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(4, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(5, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(6, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(7, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(8, 0x2FF228F8, 0x2FF22908)           = 0
_sigaction(10, 0x2FF228F8, 0x2FF22908)          = 0
_sigaction(11, 0x2FF228F8, 0x2FF22908)          = 0
_sigaction(12, 0x2FF228F8, 0x2FF22908)          = 0
_sigaction(36, 0x2FF228F8, 0x2FF22908)          = 0
_sigaction(39, 0x2FF228F8, 0x2FF22908)          = 0
open("/unix", O_RDONLY|O_LARGEFILE)             = 3
kioctl(3, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
kioctl(3, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
kread(3, "01F7\005 IFC aE6\0\0\0\0".., 4096)    = 4096
klseek(3, 0, 0, 0x00000001)                     = 0
klseek(3, 0, 13942134, 0x00000000)              = 0
kread(3, "\0\0\0\0\0\0 1\0\0\0\004".., 4096)    = 4096
klseek(3, 0, 0, 0x00000001)                     = 0
klseek(3, 0, 0, 0x00000001)                     = 0
klseek(3, 0, 15041308, 0x00000000)              = 0
kread(3, " _ _ m u l h\0 _ _ m u l".., 4096)    = 4096
klseek(3, 0, 0, 0x00000001)                     = 0
klseek(3, 0, 13942170, 0x00000000)              = 0
kread(3, "\0\0\0\0\0\0 180\0\0\0\v".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 XF1B8\0\0028E".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 XF5 H\0\0\tE6".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 XF8D8\0\0028E".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 XFC h\0\00F12".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 XFFF8\0\0028E".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y0388\0\0149F".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y0718\0\0028E".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y\nA8\0\0028E".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y0E 8\0\019AC".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y11C8\0\01E <".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y15 X\0\0 " W".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
kread(3, "\0\0\0\001 Y18E8\0\0 '99".., 4096)    = 4096
klseek(3, 0, 8, 0x00000001)                     = 0
..
(some output omitted for brevity..)
..
close(3)                                        = 0
open("/etc/emc/mpaa.lams", O_RDWR|O_CREAT, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP) = 3
kfcntl(3, F_SETLKW, 0x2FF224B8)                 = 0
open("/etc/emc/mpaa.lams", O_RDONLY)            = 4
kioctl(4, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
kioctl(4, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
kread(4, " g l o b a l : v e r s i".., 4096)    = 122
kread(4, " g l o b a l : v e r s i".., 4096)    = 0
close(4)                                        = 0
kfcntl(3, F_SETLK, 0x2FF224B8)                  = 0
close(3)                                        = 0
open("/etc/emcp_registration", O_RDONLY)        = 3
kioctl(3, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
kioctl(3, 22528, 0x00000000, 0x00000000)        Err#25 ENOTTY
klseek(3, 0, 0, 0x00000000)                     = 0
close(3)                                        = 0
statx("CuDv", 0x2FF21710, 76, 0)                Err#2  ENOENT
statx("CuDv", 0x2FF21710, 76, 0)                Err#2  ENOENT
open("CuDv", O_RDONLY)                          Err#2  ENOENT
Initialization error.
kwrite(2, " I n i t i a l i z a t i".., 22)     = 22
__loadx(0x04000000, 0x2FF20A50, 0x00002000, 0x00000000, 0x00000000) = 0x00000000
kfcntl(1, F_GETFL, 0x1009505B)                  = 67110914
kfcntl(2, F_GETFL, 0x1009505B)                  = 67110914
_exit(103)
As seen from the error above, powermt was looking for the file "CuDv" which is an ODM object. So I tried a trick that I previously noted in post FAQ: Path Errors on AIX ODM Commands.
root@host > cd /etc/objrepos
root@host > powermt display
Symmetrix logical device count=138
CLARiiON logical device count=0
Hitachi logical device count=0
Invista logical device count=0
HP xp logical device count=0
Ess logical device count=0
HP HSx logical device count=0
==============================================================================
----- Host Bus Adapters ---------  ------ I/O Paths -----  ------ Stats ------
###  HW Path                       Summary   Total   Dead  IO/Sec Q-IOs Errors
==============================================================================
   0 fscsi0                        optimal     138      0       -     0      0
   1 fscsi2                        optimal     138      0       -     0      0

This was deja vu all over again. But I now know that when facing these errors, it is useful to just change directory to /etc/objrepos before executing the privileged commands.

You might also be interested in:

Feedback

We at pimp-my-rig strive to keep on improving, help us reach that goal by leaving comments or constructive criticisms. Don't miss out on our next feature -- subscribe via RSS (What is RSS?).

Share This

2 comments: