iManager: Certificate Server Plugin errors

  • 7004701
  • 20-Oct-2009
  • 30-Apr-2012

Environment

Novell iManager Plug-in - Novell Certificate Server
PKI Plug-in

Situation

The following tasks within iManager give a java exception error:
  • Server Certificates 
  • Certificate Authority


1. Unable to load NPKIAPI - library could not be found
2. Exception occured processing PropertyPage_Certificates.jsp

Resolution

The Certificate Server plug-in (PKI) has a dependency on the libstdc++-libc6.2-2.so.3 library, which is contained in the compat rpm.

Once the missing libstdc++-libc6.2-2.so.3 library is installed, the Certificate Server Plug-in will work properly.


For SLES 10

YaST2 | Software | Software Management | Search for and install

SLES 10 32bit - compat (compat-2006.1.25-11.2)
SLES 10 64bit - compat-32bit (compat-32bit-2006.1.25-11.2)


For SLES 11

The compat rpms are located in the SLES11-Extras repository, which is not enabled by default.

YaST2 | Software | Software Repositories | Configuration | Repositories | "Enable" the "SLES11-Extras" repository | OK

Once the SLES11-Extras is enabled, search for and install the appropriate compat rpm per architecture below.

SLES 11 32bit - compat (compat-2009.1.19-2.1)
SLES 11 64bit - compat-32bit  (compat-32bit-2009.1.19-2.1)

YaST2 | Software | Software Management | Search for and install

For RedHat 5

RedHat 5 64bit - compat-libstdc++-296-2.96-138 and compat-libstdc++-33-3.2.3-61



 

Status

Reported to Engineering

Additional Information

Additional information found during the process of debugging the problem
  • This problem in question might happen to iManager Server and iManager Workstation
  • Most of the cases this problem was seen on a SLES 10/11 64bit servers. However, there is a possibility to see this also on SLES 10/11 32bit servers.
As the libnpkiapi.so.3 library has a dependency on libstdc++-libc6.2-2.so.3, we can see the problem as follows:
[SLES10 64bit Box - Facing the problem]
# ldd /var/opt/novell/iManager/nps/WEB-INF/bin/linux/libnpkiapi.so.3
linux-gate.so.1 =>  (0xffffe000)
libsal.so.1 => not found
libccs2.so => /usr/lib/libccs2.so (0xf7dc1000)
libldapsdk.so.0 => not found
libnpkit.so.3 => not found
libstdc++-libc6.2-2.so.3 => not found
libm.so.6 => /lib/libm.so.6 (0xf7d97000)
libc.so.6 => /lib/libc.so.6 (0xf7c3b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7c21000)
/lib/ld-linux.so.2 (0xf7f78000)


[SLES10 64bit Box - Working with no problems]
# ldd /var/opt/novell/iManager/nps/WEB-INF/bin/linux/libnpkiapi.so.3.3.0
linux-gate.so.1 =>  (0xffffe000)
libsal.so.1 => not found
libccs2.so => /usr/lib/libccs2.so (0xf7e0a000)
libldapsdk.so.0 => not found
libnpkit.so.3 => not found
libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3 (0xf7dbc000)
libm.so.6 => /lib/libm.so.6 (0xf7d97000)
libc.so.6 => /lib/libc.so.6 (0xf7c6a000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf7c54000)
/lib/ld-linux.so.2 (0x56555000)
[Information about the package in question]




# rpm -qif /usr/lib/libstdc++-libc6.2-2.so.3
Name        : compat-32bit                 Relocations: (not relocatable)
Version     : 2006.1.25                         Vendor: SUSE LINUX Products GmbH, Nuernberg, Germany
Release     : 11.2                          Build Date: Fri 16 Jun 2006 07:13:07 AM MDT
Install Date: Thu 04 Jun 2009 02:27:30 PM MDT      Build Host: willimas.suse.de
Group       : System/Libraries              Source RPM: compat-2006.1.25-11.2.src.rpm
Size        : 4053946                          License: Other License(s), see package, BSD
Signature   : DSA/SHA1, Fri 16 Jun 2006 07:15:51 AM MDT, Key ID a84edae89c800aca
Packager    : http://bugs.opensuse.org
Summary     : Libraries from Compatibility Versions
Description :
Contains libncurses.so.1.9.7a, libpng.so.1.0.89, libstdc++.so.2.7.2,
libstdc++.so.2.8, libstdc++.so.2.9, and libstdc++-3-libc6.1-2-2.10.0.so
(from the old sources).
Distribution: SUSE Linux Enterprise 10 (i586)
# rpm -qa | grep -i compat-32bit 
compat-32bit-2006.1.25-11.2   
 
Here are the complete stacks we see when looking at the iManager debug.html file or iManager screen:
10/20/09 [10:44:54.814] eDirCertificateMan....-1 Unable to load NPKIAPI - library could not be found 
10/20/09 [10:44:54.814] eDirCertificateMan....-1 Unable to load NPKIAPI - library could not be found
at com.novell.security.japi.pki.NPKIAPI.loadLibrary(NPKIAPI.java:1684)
at com.novell.security.japi.pki.NPKIAPI.initialize(NPKIAPI.java:5997)
at com.novell.security.japi.pki.NPKIAPI.(NPKIAPI.java:1741)
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.W(Unknown Source)
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.cmmGetHostServerDN(Unknown Source)
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.cmmSupportsRevocationLists(Unknown Source)
at com.novell.admin.PKI.tasks.CreateCRLDistPt.shouldRun(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.novell.emframe.fw.FwUtils.callVerifyForDeviceMethod(FwUtils.java:2443)
at com.novell.emframe.fw.FwUtils.checkTask(FwUtils.java:2707)
at com.novell.emframe.fw.LaunchTask.processRole(LaunchTask.java:463)
at com.novell.emframe.fw.LaunchTask.processRoles(LaunchTask.java:417)
at com.novell.emframe.fw.LaunchTask.createTasksMenu(LaunchTask.java:388)
at com.novell.emframe.fw.LaunchTask.execute(LaunchTask.java:163)
at com.novell.emframe.fw.MTaskWrapper.processRequestImpl(MTaskWrapper.java:136)
at com.novell.emframe.fw.MTaskWrapper.processRequest(MTaskWrapper.java:63)
at com.novell.nps.gadgetManager.BaseGadgetInstance.handleAction(BaseGadgetInstance.java:2375)
at com.novell.nps.gadgetManager.GadgetManager.processInstanceRequest(GadgetManager.java:1606)
at com.novell.nps.gadgetManager.GadgetManager.processServiceRequest(GadgetManager.java:1062)
at com.novell.nps.PortalServlet.handleFrameService(PortalServlet.java:505)
at com.novell.nps.PortalServlet.processRequest(PortalServlet.java:373)
at com.novell.nps.PortalServlet.doPost(PortalServlet.java:279)
at com.novell.nps.PortalServlet.doGet(PortalServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at com.novell.emframe.fw.servlet.AuthenticatorServlet.service(AuthenticatorServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
10/20/09 [10:44:54.815] eDirCertificateMan....-1 java.lang.NullPointerException 
10/20/09 [10:44:54.815] eDirCertificateMan....-1 java.lang.NullPointerException
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManagerVariables.getOrganizationalCA(Unknown Source)
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.cmmGetHostServerDN(Unknown Source)
at com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.cmmSupportsRevocationLists(Unknown Source)
at com.novell.admin.PKI.tasks.CreateCRLDistPt.shouldRun(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.novell.emframe.fw.FwUtils.callVerifyForDeviceMethod(FwUtils.java:2443)
at com.novell.emframe.fw.FwUtils.checkTask(FwUtils.java:2707)
at com.novell.emframe.fw.LaunchTask.processRole(LaunchTask.java:463)
at com.novell.emframe.fw.LaunchTask.processRoles(LaunchTask.java:417)
at com.novell.emframe.fw.LaunchTask.createTasksMenu(LaunchTask.java:388)
at com.novell.emframe.fw.LaunchTask.execute(LaunchTask.java:163)
at com.novell.emframe.fw.MTaskWrapper.processRequestImpl(MTaskWrapper.java:136)
at com.novell.emframe.fw.MTaskWrapper.processRequest(MTaskWrapper.java:63)
at com.novell.nps.gadgetManager.BaseGadgetInstance.handleAction(BaseGadgetInstance.java:2375)
at com.novell.nps.gadgetManager.GadgetManager.processInstanceRequest(GadgetManager.java:1606)
at com.novell.nps.gadgetManager.GadgetManager.processServiceRequest(GadgetManager.java:1062)
at com.novell.nps.PortalServlet.handleFrameService(PortalServlet.java:505)
at com.novell.nps.PortalServlet.processRequest(PortalServlet.java:373)
at com.novell.nps.PortalServlet.doPost(PortalServlet.java:279)
at com.novell.nps.PortalServlet.doGet(PortalServlet.java:262)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at com.novell.emframe.fw.servlet.AuthenticatorServlet.service(AuthenticatorServlet.java:322)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:540)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:595)
Another complete stack related to the same problem:
java.lang.NullPointerException\n at 
com.novell.admin.PKI.certificate.eDir.eDirCertificateManagerVariables.getNativeAPIVersion(Unknown Source)\n at
com.novell.admin.PKI.certificate.eDir.eDirCertificateManager.cmmSupportsExtendedKeyUsage(Unknown Source)\n at
com.novell.admin.PKI.certificate.KeyUsage.(Unknown Source)\n at com.novell.admin.PKI.certificate.CertInfo.(Unknown Source)\n at
com.novell.admin.PKI.wizard.CertWizard.A(Unknown Source)\n at com.novell.admin.PKI.wizard.CertWizard.(Unknown Source)\n at
com.novell.admin.PKI.wizard.CertWizard.(Unknown Source)\n at com.novell.admin.PKI.wizard.CertWizard_Create_CA.(Unknown Source)\n at
com.novell.admin.PKI.tasks.LaunchCAWizard.A(Unknown Source)\n at
com.novell.admin.PKI.tasks.LaunchCAWizard.execute(Unknown Source)\n at
com.novell.emframe.dev.Task.execute(Task.java:505)\n at
com.novell.nps.gadgetManager.BaseGadgetInstance.processRequest(BaseGadgetInstance.java:858)\n at
com.novell.nps.gadgetManager.GadgetManager.delegateToGadget(GadgetManager.java:4253)\n at
com.novell.nps.gadgetManager.LaunchService.onDelegateAction(LaunchService.java:86)\n at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\n at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)\n at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)\n at
java.lang.reflect.Method.invoke(Method.java:597)\n at
com.novell.nps.gadgetManager.BaseGadgetInstance.handleAction(BaseGadgetInstance.java:2371)\n at
com.novell.nps.gadgetManager.GadgetManager.processInstanceRequest(GadgetManager.java:1606)\n at
com.novell.nps.gadgetManager.GadgetManager.processServiceRequest(GadgetManager.java:1062)\n at
com.novell.nps.PortalServlet.handleFrameService(PortalServlet.java:505)\n at
com.novell.nps.PortalServlet.processRequest(PortalServlet.java:373)\n at
com.novell.nps.PortalServlet.doPost(PortalServlet.java:279)\n at
com.novell.nps.PortalServlet.doGet(PortalServlet.java:262)\n at
javax.servlet.http.HttpServlet.service(HttpServlet.java:627)\n at
com.novell.emframe.fw.servlet.AuthenticatorServlet.service(AuthenticatorServlet.java:332)\n at
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)\n at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)\n at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)\n at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)\n at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)\n at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)\n at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)\n at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)\n at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)\n at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)\n at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:875)\n at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)\n at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)\n at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)\n at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)\n at
java.lang.Thread.run(Thread.java:619)\n
.