Sentinel error when importing Solution Pack

  • 7002547
  • 04-Feb-2009
  • 26-Apr-2012

Environment

Novell Sentinel 6.0 Support Pack 2
Novell Sentinel 6.1
Novell Sentinel 6.1 Solution Manager
Novell Sentinel 6.1 Solution Pack
Novell Sentinel 6.1 Collector Manager

Situation

When trying to import a Solution Pack into Sentinel an error is thrown at the end of the import.

Resolution

There is a call being made to the graphical environment libraries on the system that is failing when the main Sentinel Server does not have a graphical environment installed.  The call is made to the java.awt.Toolkit.getDefaultToolkit class which fails unless the libraries are installed.  This has only shown up on a 64-bit machine that does not have any of the X libraries installed.  The system without the X libraries is one of the server components and not the piece with the Sentinel Control Center (SCC) actually running.

To tell the Sentinel components to work around this add the following Java Virtual Machine parameter to the process line for the DAS Query process throwing the error in $ESEC_HOME/config/configuration.xml:
-Djava.awt.headless=true
The line may end up looking like the following (new section in bold):
<process component="DAS" depends="UNIX Communication Server,Windows Communication Server" image="&quot;$(ESEC_JAVA_HOME)/java&quot; -server -Dsrv_name=DAS_Query -Xmx128m -Xms64m -XX:+UseParallelGC -Xss136k -Xrs -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../log/DAS_Query.hprof -Duser.language=en -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF8 -Desecurity.cache.directory=../data/das_query.cache -Desecurity.dataobjects.config.file=/xml/BaseMetaData.xml,/xml/WorkflowMetaData.xml -Djava.util.logging.config.file=../config/das_query_log.prop -Djava.security.auth.login.config=../config/auth.login -Djava.security.krb5.conf=../config/krb5.conf -Desecurity.execution.config.file=../config/execution.properties -Dcom.esecurity.configurationfile=../config/configuration.xml -Djava.awt.headless=true -jar ../lib/ccsbase.jar ..//config//das_query.xml" min_instances="1" name="DAS_Query" post_startup_delay="20" type="container" working_directory="$(ESEC_HOME)/data"/>
The same change may need to be made to the Collector Manager (CM) for a similar issue when browsing to find a file for a file-based event source. The AWT class can be seen in an exception when the Collector Manager is started though most functionality will be present in these cases until the browse button is used in Event Source Management (ESM).

Additional Information

The log file has an entry similar to the following:

Thu Jan 29 16:23:29 CET 2009|INFO|Thread-70211|esecurity.ccs.comp.audit.AuditLogger.execute
    Audit Medium:: Call by user iunl to app PluginRepository object PluginRepositoryService method ImportSolutionPack client Unknown failed : Import solution pack GaVI Vorratsdatenspeicherung (ID A0C63EB0-C5FE-102B-B6C6-000C29314562) of type SOLUTION_PACK.; reqId(2A496760-D046-102B-8FE5-213512765DED)
Thu Jan 29 16:23:34 CET 2009|INFO|Thread-49498|esecurity.ccs.comp.dispatcher.BatchEventSender$Sender.run
    Sending 1 system events on channel ewizard_binary_event
Thu Jan 29 16:26:00 CET 2009|INFO|Thread-59491|esecurity.base.db.connection.DBConnectionPool.report
    ConnectionPool Stats for last 600sec: avg getCn time 0sec of 133 cns, avg use time 0.004sec over 133cns, On average 2.999 free and 0.001 active connections
Thu Jan 29 16:29:02 CET 2009|SEVERE|Thread-70282|esecurity.base.ccs.comp.BaseRemoteObjectTask.execute
    Error obtaining AccessChecker for method _importContentPackage_ of object PluginRepositoryService; Exception java.lang.reflect.InvocationTargetException; ; Caused by java.lang.NoClassDefFoundError;
Thu Jan 29 16:29:02 CET 2009|SEVERE|Thread-70282|esecurity.base.ccs.comp.BaseRemoteObjectTask.execute

    java.lang.reflect.InvocationTargetException
       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 esecurity.base.ccs.comp.BaseRemoteObjectTask.execute(BaseRemoteObjectTask.java:113)
       at esecurity.base.ccs.comp.GenericRemoteObjectTask.processRequest(GenericRemoteObjectTask.java:72)
       at esecurity.base.ccs.comp.GenericTask.process(GenericTask.java:91)
       at esecurity.base.ccs.comp.GenericTask.process(GenericTask.java:65)
       at esecurity.base.ccs.comp.BaseTask.run(BaseTask.java:52)
       at esecurity.base.ccs.comp.threadpool.TaskThreadPool$RunWrapper.run(TaskThreadPool.java:89)
       at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
       at java.lang.Thread.run(Thread.java:595)
    Caused by: java.lang.NoClassDefFoundError
       at java.lang.Class.forName0(Native Method)
       at java.lang.Class.forName(Class.java:164)
       at java.awt.Toolkit$2.run(Toolkit.java:821)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
       at javax.swing.ImageIcon.<init>(ImageIcon.java:119)
       at javax.swing.ImageIcon.<init>(ImageIcon.java:138)
       at com.esecurity.content.util.ResourceHelper.createIcon(ResourceHelper.java:80)
       at com.esecurity.content.util.ResourceHelper.createImageIcon(ResourceHelper.java:41)
       at com.esecurity.content.importUI.util.IconUtil.getIcon(IconUtil.java:105)
       at com.esecurity.content.importUI.util.IconUtil.getIcon(IconUtil.java:86)
       at com.esecurity.content.importUI.util.IconUtil.getIcon(IconUtil.java:80)
       at com.esecurity.content.install.ControlInstallAccountant$ControlState.<clinit>(ControlInstallAccountant.java:54)
       at com.esecurity.content.install.ContentPackDataBaseHandler.saveControlToDatabase(ContentPackDataBaseHandler.java:132)
       at com.esecurity.content.importUI.ContentPackageHandlerImpl.importContentPackage(ContentPackageHandlerImpl.java:88)
       at esecurity.ccs.comp.repository.EPluginRepositoryService.importContentPackage(EPluginRepositoryService.java:947)
       at esecurity.db.object.PluginRepositoryServiceServerStub._importContentPackage_(PluginRepositoryServiceServerStub.java:39)
       ... 12 more