SLD: Failed to start the PMD Connection thread. (PM_THREAD_FAILED_TO_START).

Hello,

I have a client with an 18 year old SCO Openserver 5.0.5 server.

They can't find their installation media.

They are experiencing an error at login:
*LOGIN: ERROR- Failed to initialize policy manager. (IFOR_PM_FATAL)
The status from the policy manager daemon (PMD - /etc/ifor_pmd) indicates
that a serious error condition has occurred. Login is allowed, but the
system administrator is strongly advised to consult the SCO online Support
Solutions Library (SSL) for assistance; if the SSL is inaccessible,
please contact your SCO Support representative.

Some research on this error indicates an issue with the PMD daemon.

Running a 'ps -ef' shows that the daemon is not running. I tried to start it via a '/etc/ifor_pmd' command and the following message is given:
SLD: Failed to start the PMD Connection thread. (PM_THREAD_FAILED_TO_START).

I'm not sure where to go on this to further debug and/or resolve.

Can anyone in this forum give me some direction.

Thanks.

Bryan Hunt

Did you see this: I get the message "LOGIN: ERROR- Failed to initialize policy manager".

DG,

Yes, I used that document once in the past to resolve this issue for them. In that case it was the broken/missing link. That is not the case this time.

As I started on step 2, I saw that the daemon wasn't running. That's when I tried to start it manually and got the message:
SLD: Failed to start the PMD Connection thread. (PM_THREAD_FAILED_TO_START).

The message is not desctiptive about *why* the thread failed to start, so I thought I had better reach out and see if anyone could assist with where to check for log files that may indicate the cause of the failure before trying anything else.

Thanks.

Bryan Hunt

Could be simply that the CMOS clock has died, and the date is now earlier than the installation date.

JGT,

Thanks for the reply.

No, checked the clock and it is correct.

Bryan Hunt

Do you have the serial number and activation key? I have the media.
Error messages should be in /usr/adm/messages, although if there are any they will probably be just as cryptic.
You could also try "authck -a" in single user mode.

Can you launch it in truss/tusc/strace so you can see what it is up to as it tries to start?

JGT, I checked in /usr/adm/messages and you were correct, nothing of any value there. If you have the 5.0.5 installation media, that would be great. The client is of the belief that they never got the media from the system integrators when the built out the box (some 18 years ago). Can we arrange to transfer them via ISO files?

DG, I tried running strace, but it doesn't seem to have the same syntax as some of the examples I saw on the net. I tried 'strace /etc/ifor_pmd'. The man page for strace show a completely different syntax.

The unit doesn't appear to have truss or tusc on it. Is that something I should download and place on the server?

Thanks.

Bryan Hunt

Bryan,
Send me an email, you will find my email address on my website, which is in the contact information in my profile.
I will send you instructions to download the iso files.

Jack

Linux has strace, solaris and aix have truss, hp-ux has tusc, but they all trace calls. Play around with strace and something simple, like date or ls, to see how to modify and expand the output.

$ tusc date
execve("/usr/bin/date", 0x7b0f58c0, 0x7b0f58c8) .......... = 0 [32-bit]
utssys(0x7b0f7cf0, 0, 0) ................................. = 0
open("/usr/lib/dld.sl", O_RDONLY, 054304) ................ = 3
read(3, "02\v010e0512@ \0E 1d0214\0\0\0\0".., 128) ....... = 128
lseek(3, 128, SEEK_SET) .................................. = 128
read(3, "10\0\004\0\0\0( \0033 94\0\0\0\0".., 48) ........ = 48
mmap(NULL, 209812, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB|MAP_STATICPREDICTION, 3, 40960) = 0xc0010000
mmap(NULL, 17752, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_SHLIB, 3, 253952) = 0x7b0eb000
close(3) ................................................. = 0
sysconf(_SC_CPU_VERSION) ................................. = 532
utssys(0x7b0f80f0, 0, 0) ................................. = 0
getuid() ................................................. = 3080 (3080)
getuid() ................................................. = 3080 (3080)
getgid() ................................................. = 6900 (6900)
getgid() ................................................. = 6900 (6900)
mmap(NULL, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b0e9000
open("/opt/graphics/OpenGL/lib/libogltls.sl", O_RDONLY, 0200) ERR#2 ENOENT
open("/usr/lib/libc.2", O_RDONLY, 0200) .................. = 3
fstat(3, 0x7b0f8998) ..................................... = 0
read(3, "0210010e0512@ \0\0\0\0\0\0\0\0\0".., 128) ....... = 128
lseek(3, 128, SEEK_SET) .................................. = 128
read(3, "10\0\004\0\0\0( \012e3< \0\010\0".., 48) ........ = 48
read(3, "80\0\0\v\0\0\004\0\0\0\0", 12) .................. = 12
mmap(NULL, 1241088, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 290816) = 0xc0100000
mmap(NULL, 57344, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_SHLIB, -1, 0) = 0x7b0db000
mmap(0x7b0d2000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_SHLIB, 3, 1531904) = 0x7b0d2000
mmap(NULL, 16384, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b0ce000
close(3) ................................................. = 0
open("/usr/lib/libdld.2", O_RDONLY, 0200) ................ = 3
fstat(3, 0x7b0f8b98) ..................................... = 0
read(3, "02\v010e0512@ \0E 1d0217\0\0\0\0".., 128) ....... = 128
lseek(3, 128, SEEK_SET) .................................. = 128
read(3, "10\0\004\0\0\0( \0\0) \ \0\010\0".., 48) ........ = 48
read(3, "80\0\0\v\0\0\004\0\0\0\0", 12) .................. = 12
mmap(NULL, 12288, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 8192) = 0xc0003000
mmap(NULL, 4096, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_SHLIB, 3, 20480) = 0x7b0cd000
close(3) ................................................. = 0
mmap(NULL, 16384, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b0c9000
mmap(NULL, 88, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7b0c8000
sigsetreturn(0x7b0cfd56, 0x6211988, 1392) ................ = 0
sysconf(_SC_CPU_VERSION) ................................. = 532
brk(0x40001558) .......................................... = 0
brk(0x4000354c) .......................................... = 0
brk(0x40004000) .......................................... = 0
open("/usr/lib/nls/loc/locales.2/C", O_RDONLY, 0200) ..... = 3
fstat(3, 0x7b0f8798) ..................................... = 0
read(3, "0210010e0512@ \0\0\0\0\0\0\0\0\0".., 128) ....... = 128
lseek(3, 128, SEEK_SET) .................................. = 128
read(3, "10\0\004\0\0\0( \0\0! e0\0\010\0".., 48) ........ = 48
read(3, "80\0\001\0\0\0  9 2 4 5 ", 12) .................. = 12
mmap(NULL, 12288, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 4096) = 0xc0006000
mmap(NULL, 12288, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_SHLIB, 3, 16384) = 0x7b0c5000
close(3) ................................................. = 0
stat("/usr/lib/nls/loc/locales.2/C", 0x7b0f7e08) ......... = 0
getuid() ................................................. = 3080 (3080)
getuid() ................................................. = 3080 (3080)
getgid() ................................................. = 6900 (6900)
getgid() ................................................. = 6900 (6900)
open("/prod1/csdsit/cs_core/200708/locale/date", O_RDONLY, 0) ERR#2 ENOENT
open("/prod1/csdsit/cs_core/200708/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/prod1/csdsit/cs_access/200708/locale/date", O_RDONLY, 02) ERR#2 ENOENT
open("/prod1/csdsit/cs_access/200708/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/prod1/csdsit/csc_ghis/201006/locale/date", O_RDONLY, 01) ERR#2 ENOENT
open("/prod1/csdsit/csc_ghis/201006/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/prod1/csdsit/csb_addrqa/200708/locale/date", O_RDONLY, 03) ERR#2 ENOENT
open("/prod1/csdsit/csb_addrqa/200708/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/prod1/csdsit/csd_mbnais/201002/locale/date", O_RDONLY, 03) ERR#2 ENOENT
open("/prod1/csdsit/csd_mbnais/201002/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/prod1/csdsit/csd_mbnacf/201011/locale/date", O_RDONLY, 03) ERR#2 ENOENT
open("/prod1/csdsit/csd_mbnacf/201011/locale/date.cat", O_RDONLY, 0177777) ERR#2 ENOENT
open("/usr/lib/nls/C/date", O_RDONLY, 03) ................ ERR#2 ENOENT
open("/usr/lib/nls/C/date", O_RDONLY, 03) ................ ERR#2 ENOENT
open("/usr/lib/nls/msg/C/date.cat", O_RDONLY, 0177777) ... = 3
fstat(3, 0x7b0f7188) ..................................... = 0
fcntl(3, F_SETFD, 1) ..................................... = 0
time(0x40001538) ......................................... = 1301346916
brk(0x40006000) .......................................... = 0
stat("/usr/lib/tztab", 0x7b0f6428) ....................... = 0
open("/usr/lib/tztab", O_RDONLY, 066570) ................. = 6
mmap(NULL, 15912, PROT_READ, MAP_PRIVATE, 6, 0) .......... = 0x7b0c1000
close(6) ................................................. = 0
Mon Mar 28 17:15:16 write(1, "M o n   M a r   2 8   1 7 : 1 5 ".., 20) ....... = 20
EDTwrite(1, "E D T ", 3) .................................... = 3
 2011
write(1, "  2 0 1 1 \n", 6) .............................. = 6
exit(0) .................................................. WIFEXITED(0)
$

All,

I worked on this server yesterday with no joy in resolving their issue.

I re-extracted the ifor_pdm binary from the installation CD and that did not help.

I ran strace in one termninal session and executed the binary in another, no data was reported in the trace.

The licenses *appear* to be fine on the machine, but it is getting down to being the only thing left?

Thanks.

Bryan Hunt