testdriven / psi-probe

Advanced manager and monitor for Apache Tomcat, forked from Lambda Probe
8 stars 1 forks source link

Support for JBoss 7.1 #278

Open padcom opened 9 years ago

padcom commented 9 years ago

From knuto...@gmail.com on March 29, 2012 14:25:39

What steps will reproduce the problem? 1.copy probe.war to standalone/deployments/ 2.Configure JBoss security realm ProbeRealm 2.Let JBoss auto-deploy it 3.Log in on http://localhost:8080/probe/ What is the expected result? Not a lot of exceptions :) What happens instead? Exception with stacktrace What version of Probe are you using? 2.3.1 What environment (browser version, Tomcat version, JVM version, server OS)? JBoss 7.1.0 OpenJDK Server VM version 19.0-b09 Ubuntu 10.04 Please provide any additional information below. There are two main exception causes that I can see. The first one is a NullPointerException in ContainerListenerBean, and the other is a ServletException in ProbeServlet telling "Wrapper is null".

See attached log file for details.

JVM arguments: -D[Standalone] -XX:+TieredCompilation -Djava.net.preferIPv4Stack=true -Dorg.jboss.resolver.warning=true -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Djboss.server.default.config=standalone.xml -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:MaxPermSize=512m -Xms512m -Xmx1028m -Dorg.jboss.boot.log.file=standalone/logs//boot.log -Dlogging.configuration=file:/home/jboss/jboss-as-7.1.0/standalone/configuration/logging.properties

Attachment: psi-probe-jboss.log

Original issue: http://code.google.com/p/psi-probe/issues/detail?id=278

padcom commented 9 years ago

From MALfunct...@gmail.com on March 29, 2012 15:21:24

Hmm, wrapper shouldn't be null. Does JBoss 7.1 not support org.apache.catalina.ContainerServlet?

Did you set probe up to be a privileged context? I'm not sure how to do that in JBoss 7.1.

Status: NeedInfo
Labels: Server-JBoss-7.1

padcom commented 9 years ago

From knuto...@gmail.com on April 10, 2012 00:54:57

I have asked some JBoss experts i know, but they never had to put anything in privileged context before, so they couldn't help me there.

I know earlier JBoss versions were based on Tomcat, but they did a big rewrite on the 7.0 release. I see from the logs that it starts up Apache Coyote for HTTP/1.1, but now much is left of Tomcat in there is a mystery to me.

padcom commented 9 years ago

From knuto...@gmail.com on April 10, 2012 00:57:38

It looks like JBoss 7 is using jbossweb 7.0, a forked and modified version of Tomcat 6 according to this post: https://community.jboss.org/thread/195811?tstart=0

padcom commented 9 years ago

From MALfunct...@gmail.com on April 13, 2012 21:31:17

@knutolav, can you modify WEB-INF/spring-probe-resources.xml in probe.war and change the following?

  1. Find the containerWrapper bean.
  2. Set forceFirstAdaptor to true.
  3. Reorder the adaptorClasses so the Tomcat60ContainerAdaptor is first.
  4. Replace the file in probe.war and redeploy.

Please let me know the result. Thanks!

padcom commented 9 years ago

From knuto...@gmail.com on April 20, 2012 05:48:28

Result looks the same: ServletException and NullPointerException.

In addition to those exceptions that occur periodically (from quartz) and when trying to access the page in a browser, it also throws ServletException "Wrapper is null" on servlet initialization on deployment. Stacktrace attached. I guess this related to the same cause as those other ServletExceptions from the previous log file I attached.

This time, I deployed it on JBoss 7.1.1.

Attachment: servletexception-on-deploy-after-comment4-patch.log

padcom commented 9 years ago

From MALfunct...@gmail.com on April 20, 2012 07:53:28

It's possible that after forking Tomcat 6 to make JBossWeb, they've deviated too much and PSI Probe is no longer compatible. It's also possible that there is some configuration option we're missing that ensures PSI Probe is running as a privileged context and has access to the container Wrapper.

The takeaway is that PSI Probe is not compatible with JBoss 7.1. I'm going to have to find the time to set up my own JBoss instance to find out why. If you learn something in the meantime, please share. Thanks!

Summary was: "NullPointerException and ServletException on JBoss 7.1.0"

Summary: Support for JBoss 7.1
Labels: -Type-Defect -Milestone-TBD Type-Feature Milestone-2.4.0

padcom commented 9 years ago

From ahmad.a...@gmail.com on May 24, 2012 04:27:45

do we have any updates or fixes to solve this issue on JBoss 7.1.1 ?

padcom commented 9 years ago

From MALfunct...@gmail.com on May 24, 2012 07:33:59

Not yet. I'm still setting up my own JBoss environment for testing.

padcom commented 9 years ago

From MALfunct...@gmail.com on June 07, 2012 17:53:02

@knutolav: I've got JBoss 7.1 downloaded, but I'm going to need some help setting it up. How did you configure the ProbeRealm?

padcom commented 9 years ago

From knuto...@gmail.com on June 08, 2012 06:01:48

I don't have time today to set it up from scratch, but here is my standalone.xml file that I use: http://pastebin.com/5TiPZU6f It contains a lot more than default configuration file, with configuration for JMS queues etc.

Look for ProbeRealm and probe-users.properties

padcom commented 9 years ago

From f.bruc...@gmail.com on June 12, 2012 15:15:12

.......

standalone\configuration\probe-roles.properties

admin=manager

standalone\configuration\probe-users.properties

admin=

padcom commented 9 years ago

From MALfunct...@gmail.com on July 03, 2012 10:22:04

Issue 299 has been merged into this issue.

padcom commented 9 years ago

From erasmo.m...@gmail.com on November 09, 2012 06:58:26

Hi

I have the following error

5:57:19,571 INFO [com.googlecode.psiprobe.ProbeServlet](MSC service thread 1-4) FrameworkServlet 'probe': initialization completed in 2175 ms 15:57:19,572 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/probe]](MSC service thread 1-4) Servlet /probe threw load() exception: javax.servlet.ServletException: Wrapper is null at com.googlecode.psiprobe.ProbeServlet.init(ProbeServlet.java:48) [core-2.3.2.jar:2.3.2] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1202) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1102) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3655) [jbossweb-7.0.13.Final.jar:] at org.apache.catalina.core.StandardContext.start(StandardContext.java:3873) [jbossweb-7.0.13.Final.jar:] at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09] at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09]

15:57:19,701 INFO [org.jboss.as](Controller Boot Thread) JBAS015874: JBoss AS 7.1.1.Final "Brontes" started in 10611ms - Started 460 of 540 services (78 services are passive or on-demand) 15:57:30,050 INFO com.googlecode.psiprobe.beans.ContainerWrapperBean Using JBOSS resource resolver 15:57:30,052 ERROR org.quartz.core.JobRunShell Job DEFAULT.connectorStatsJobDetail threw an unhandled Exception: : org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.0.jar:1.6.0] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) [quartz-1.6.0.jar:1.6.0] Caused by: java.lang.NullPointerException at com.googlecode.psiprobe.beans.ContainerListenerBean.initialize(ContainerListenerBean.java:120) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.ContainerListenerBean.getConnectors(ContainerListenerBean.java:222) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean.collect(ConnectorStatsCollectorBean.java:31) [core-2.3.2.jar:2.3.2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276) [spring-core-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] ... 3 more

15:57:30,132 ERROR org.quartz.core.ErrorLogger Job (DEFAULT.connectorStatsJobDetail threw an exception.: org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-1.6.0.jar:1.6.0] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) [quartz-1.6.0.jar:1.6.0] Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.0.jar:1.6.0] ... 1 more Caused by: java.lang.NullPointerException at com.googlecode.psiprobe.beans.ContainerListenerBean.initialize(ContainerListenerBean.java:120) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.ContainerListenerBean.getConnectors(ContainerListenerBean.java:222) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean.collect(ConnectorStatsCollectorBean.java:31) [core-2.3.2.jar:2.3.2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276) [spring-core-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] ... 3 more

15:58:00,031 ERROR org.quartz.core.JobRunShell Job DEFAULT.connectorStatsJobDetail threw an unhandled Exception: : org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(M...

padcom commented 9 years ago

From erasmo.m...@gmail.com on November 09, 2012 06:58:26

...ethodInvokingJobDetailFactoryBean.java:269) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.0.jar:1.6.0] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) [quartz-1.6.0.jar:1.6.0] Caused by: java.lang.NullPointerException at com.googlecode.psiprobe.beans.ContainerListenerBean.initialize(ContainerListenerBean.java:120) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.ContainerListenerBean.getConnectors(ContainerListenerBean.java:222) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean.collect(ConnectorStatsCollectorBean.java:31) [core-2.3.2.jar:2.3.2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276) [spring-core-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] ... 3 more

15:58:00,054 ERROR org.quartz.core.ErrorLogger Job (DEFAULT.connectorStatsJobDetail threw an exception.: org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException] at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz-1.6.0.jar:1.6.0] at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529) [quartz-1.6.0.jar:1.6.0] Caused by: org.springframework.scheduling.quartz.JobMethodInvocationFailedException: Invocation of method 'collect' on target class [class com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean] failed; nested exception is java.lang.NullPointerException at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:269) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.QuartzJobBean.execute(QuartzJobBean.java:86) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] at org.quartz.core.JobRunShell.run(JobRunShell.java:202) [quartz-1.6.0.jar:1.6.0] ... 1 more Caused by: java.lang.NullPointerException at com.googlecode.psiprobe.beans.ContainerListenerBean.initialize(ContainerListenerBean.java:120) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.ContainerListenerBean.getConnectors(ContainerListenerBean.java:222) [core-2.3.2.jar:2.3.2] at com.googlecode.psiprobe.beans.stats.collectors.ConnectorStatsCollectorBean.collect(ConnectorStatsCollectorBean.java:31) [core-2.3.2.jar:2.3.2] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_09] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_09] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09] at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09] at org.springframework.util.MethodInvoker.invoke(MethodInvoker.java:276) [spring-core-2.5.6.SEC01.jar:2.5.6.SEC01] at org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean$MethodInvokingJob.executeInternal(MethodInvokingJobDetailFactoryBean.java:260) [spring-context-support-2.5.6.SEC01.jar:2.5.6.SEC01] ... 3 more

padcom commented 9 years ago

From MALfunct...@gmail.com on November 09, 2012 14:57:34

Issue 326 has been merged into this issue.

padcom commented 9 years ago

From MALfunct...@gmail.com on November 09, 2012 14:58:01

Issue 326 has been merged into this issue.

padcom commented 9 years ago

From MALfunct...@gmail.com on November 12, 2012 07:21:25

Issue 326 has been merged into this issue.

padcom commented 9 years ago

From adriano....@gmail.com on January 25, 2013 13:00:19

The problem here is that there is no way to make a context privileged. Even though JBoss is based on Tomcat, JBoss does not understand context.xml. So, I've made a highly experimental patch which allows Probe to work with JBoss AS 7.

Attachment: jbossas7.patch

padcom commented 9 years ago

From MALfunct...@gmail.com on January 25, 2013 15:22:57

adriano.machado, have you tested this patch on JBoss AS 7? I don't have an environment where I can test.

Also, we need to find a way to either (1) make it work on both servers or (2) make it simple to change probe.war so it works on JBoss. Ideas?

padcom commented 9 years ago

From MALfunct...@gmail.com on January 25, 2013 15:57:40

The patch from adriano.machado included adding support for SpringSource tc Server 7.0. I've separated this into issue 335 .

padcom commented 9 years ago

From MALfunct...@gmail.com on April 09, 2013 14:59:31

This issue was updated by revision r748 .

Adding part of Adriano Machado's patch.

padcom commented 9 years ago

From Julian.Poths on January 07, 2014 15:40:31

This issue is still not fixed? Using probe version 2.3.3 and JBoss AS 7.1.1, I am getting the same error as posted in #13. Has anyone found a solution or workaround?

padcom commented 9 years ago

From MALfunct...@gmail.com on January 10, 2014 06:34:37

I can't support JBoss on my own. Looking for help from the community on this one.

Labels: HelpWanted