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
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:
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=""$(ESEC_JAVA_HOME)/java" -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
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