Bug 786196 - Plugins: plugin components should not log stack traces when native system layer (i.e. SIGAR) is not available
Plugins: plugin components should not log stack traces when native system lay...
Status: NEW
Product: RHQ Project
Classification: Other
Component: Plugins (Show other bugs)
4.2
Unspecified Unspecified
medium Severity medium (vote)
: ---
: ---
Assigned To: RHQ Project Maintainer
Mike Foley
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-01-31 12:18 EST by Ian Springer
Modified: 2015-02-01 18:29 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed:
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ian Springer 2012-01-31 12:18:25 EST
Lack of SIGAR is an expected/non-error state, which our core plugins should check for and handle gracefully. It's fine for the plugins to log a warning or info message, but they should not log stack traces or errors.

Here are two cases of this I see in my agent.log file after having started the Agent with the -t command line option:

1) jmx plugin:

2012-01-31 12:07:08,749 WARN  [ResourceContainer.invoker.daemon-1] (rhq.core.pluginapi.inventory.ResourceContext)- Cannot get native process for resource [InternalVM] - discovery failed
java.lang.Exception: Discovery component invocation failed.
	at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:296)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsupportedOperationException: No native library available - Cannot get information on this process without native support
	at org.rhq.core.system.JavaSystemInfo.getUnsupportedException(JavaSystemInfo.java:304)
	at org.rhq.core.system.JavaSystemInfo.getThisProcess(JavaSystemInfo.java:170)
	at org.rhq.plugins.jmx.InternalJMXServerDiscoveryComponent.discoverResources(InternalJMXServerDiscoveryComponent.java:50)
	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:597)
	at org.rhq.core.pc.util.DiscoveryComponentProxyFactory$ComponentInvocationThread.call(DiscoveryComponentProxyFactory.java:292)
	... 5 more


2) postgres plugin:

2012-01-31 12:07:10,133 ERROR [main] (rhq.core.pc.inventory.InventoryManager)- Exception thrown while activating [Resource[id=10006, type=Postgres Server, key=jdbc:postgresql://127.0.0.1:5432/postgres, name=postgres, parent=jetengine, version=9.0.6]].
org.rhq.core.clientapi.agent.PluginContainerException: Failed to start component for resource Resource[id=10006, type=Postgres Server, key=jdbc:postgresql://127.0.0.1:5432/postgres, name=postgres, parent=jetengine, version=9.0.6].
	at org.rhq.core.pc.inventory.InventoryManager.activateResource(InventoryManager.java:1619)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResourceRecursively(InventoryManager.java:2845)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResourceRecursively(InventoryManager.java:2847)
	at org.rhq.core.pc.inventory.InventoryManager.activateAndUpgradeResources(InventoryManager.java:2806)
	at org.rhq.core.pc.inventory.InventoryManager.initialize(InventoryManager.java:232)
	at org.rhq.core.pc.PluginContainer.startContainerService(PluginContainer.java:431)
	at org.rhq.core.pc.PluginContainer.initialize(PluginContainer.java:282)
	at org.rhq.enterprise.agent.AgentMain.startPluginContainer(AgentMain.java:1888)
	at org.rhq.enterprise.agent.AgentMain.start(AgentMain.java:649)
	at org.rhq.enterprise.agent.AgentMain.main(AgentMain.java:419)
Caused by: java.lang.UnsupportedOperationException: No native library available - Cannot get the process table information without native support
	at org.rhq.core.system.JavaSystemInfo.getUnsupportedException(JavaSystemInfo.java:304)
	at org.rhq.core.system.JavaSystemInfo.getProcesses(JavaSystemInfo.java:160)
	at org.rhq.plugins.postgres.PostgresServerComponent.findProcessInfo(PostgresServerComponent.java:459)
	at org.rhq.plugins.postgres.PostgresServerComponent.start(PostgresServerComponent.java:101)
	at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.rhq.core.pc.inventory.ResourceContainer$ComponentInvocationThread.call(ResourceContainer.java:552)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
	at java.util.concurrent.FutureTask.run(FutureTask.java:138)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)


3)
Comment 1 Mike Foley 2012-02-06 12:02:30 EST
per bz triage (asantos, ccrouch, mfoley. loleary)

Note You need to log in before you can comment on or make changes to this bug.