[jboss-jira] [JBoss JIRA] (AS7-2322) Stack trace improvements, summarize the things that broke to make them not so intimidating

Brian Stansberry (JIRA) jira-events at lists.jboss.org
Tue Feb 21 18:17:36 EST 2012


    [ https://issues.jboss.org/browse/AS7-2322?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12669761#comment-12669761 ] 

Brian Stansberry commented on AS7-2322:
---------------------------------------

The specific logging in the attached log.txt is hard for the AS itself to deal with. :(

First, Spring itself logs an exception at SEVERE and then throws the exception. Log-and-throw is poor practice, but there is nothing we can do about that.

Then JBoss Web (Tomcat code, StandardContext class) catches an exception, logs it and 2 other messages at ERROR and then doesn't throw on an exception or otherwise make it available. Instead it just leaves it's "state" field in a state != 1 (the started state). The logging is fine since the exception is not thrown on, but it would be nicer if the caller could just catch and deal with an exception.

The AS integration layer thus can't catch and properly deal with the exception. It is forced to check the "state", see it's not 1 and throw an MSC StartException with a pretty useless "failed to start context" message.

There are things the AS can do to improve it's general exception handling, which has been my goal for this AS7 JIRA. I'll create a separate JIRA for seeing if JBW can expose the exception instead of logging.
                
> Stack trace improvements, summarize the things that broke to make them not so intimidating
> ------------------------------------------------------------------------------------------
>
>                 Key: AS7-2322
>                 URL: https://issues.jboss.org/browse/AS7-2322
>             Project: Application Server 7
>          Issue Type: Feature Request
>          Components: Domain Management
>            Reporter: Jim Tyrrell
>            Assignee: Brian Stansberry
>            Priority: Critical
>              Labels: eap6-ux
>             Fix For: 7.1.1.Final
>
>         Attachments: log.txt
>
>
> See the typical attached stack dump:
> It would be nice if the stack dump could include all of the information above as a summary as shown below, basically just the first lines of the errors w/o the whole stack dump:
> 11:51:45,391 INFO  [org.jboss.as.server.controller] (HttpManagementService-threads - 5) Deployment of "SpringWAR.war" was rolled back with failure message {"Failed services" => {"jboss.web.deployment.default-host./SpringWAR" => "org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./SpringWAR: failed to start context"}}
> 11:51:45,392 INFO  [org.jboss.as.controller] (HttpManagementService-threads - 5) Service status report
>   Services which failed to start:
>       service jboss.web.deployment.default-host./SpringWAR: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./SpringWAR: failed to start context
> 11:51:45,417 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) Stopped deployment SpringWAR.war in 26ms
> 11:51:45,417 Error  Summary of Exceptions in deployment:
>  - [org.springframework.web.context.ContextLoader] (MSC service thread 1-5) Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbossQueue' defined in class path resource [applicationContextServices.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
>  - [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC service thread 1-5) Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbossQueue' defined in class path resource [applicationContextServices.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
>  - [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Error listenerStart
>  - ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Context [/SpringWAR] startup failed due to previous errors
>  - [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC service thread 1-5) Closing Spring root WebApplicationContext
>  - [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.web.deployment.default-host./SpringWAR: 
> ERROR Scroll up to see more info...
> Or 
> 11:51:45,417 Error  Summary of Exceptions in deployment:
>  [1] [org.springframework.web.context.ContextLoader] (MSC service thread 1-5) Context initialization failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbossQueue' defined in class path resource [applicationContextServices.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
>  [2] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC service thread 1-5) Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jbossQueue' defined in class path resource [applicationContextServices.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: queue/B -- service jboss.naming.context.java.queue.B
>  [3] [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Error listenerStart
>  [4] ERROR [org.apache.catalina.core.StandardContext] (MSC service thread 1-5) Context [/SpringWAR] startup failed due to previous errors
>  [5] [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/SpringWAR]] (MSC service thread 1-5) Closing Spring root WebApplicationContext
>  [6] [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC00001: Failed to start service jboss.web.deployment.default-host./SpringWAR: 
> ERROR Scroll up to see more info...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list