Take a look at this one:
2009-07-12 11:03:11,865 ERROR Web [RequestCycle]
: java.lang.NullPointerException
2009-07-12 11:03:11,879 ERROR Web [MMRequestCycle] : The exception had a
length of 0, dumping Stack
2009-07-12 11:03:11,885 ERROR Web [MMRequestCycle] : Logging:
com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:90)
org.apache.wicket.RequestCycle.step(RequestCycle.java:1339)
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
java.lang.Thread.run(Thread.java:619)




On Wed, Jul 1, 2009 at 6:48 PM, Johan Compagner <[email protected]>wrote:

> Thats just a dumpstack of the current line in the onRuntimeException.
>
> Cant you just debug it somehow an break on exception?
>
> Or call fillstacktrace or something on it? Its weird that the
> exception it self just wont generate a stack..
>
> On 01/07/2009, Jeremy Levy <[email protected]> wrote:
> > Okay, I was able to get a thread dump for when this mysterious exception
> > happens, see my prior message for the code the code that I am using to
> print
> >this out:
> > 2009-07-01 16:42:59,155 ERROR Web [RequestCycle] :
> > java.lang.NullPointerException
> > 2009-07-01 16:42:59,250 ERROR Web [MMRequestCycle] : The exception had a
> > length of 0, dumping Stack
> > 2009-07-01 16:42:59,263 ERROR Web [STDERR] : java.lang.Exception: Stack
> > trace
> > 2009-07-01 16:42:59,273 ERROR Web [STDERR] :    at
> > java.lang.Thread.dumpStack(Thread.java:1206)
> > 2009-07-01 16:42:59,280 ERROR Web [STDERR] :    at
> >
> com.mdate.web.customcomponents.MMRequestCycle.logRuntimeException(MMRequestCycle.java:95)
> > 2009-07-01 16:42:59,288 ERROR Web [STDERR] :    at
> > org.apache.wicket.RequestCycle.step(RequestCycle.java:1339)
> > 2009-07-01 16:42:59,297 ERROR Web [STDERR] :    at
> > org.apache.wicket.RequestCycle.steps(RequestCycle.java:1399)
> > 2009-07-01 16:42:59,307 ERROR Web [STDERR] :    at
> > org.apache.wicket.RequestCycle.request(RequestCycle.java:529)
> > 2009-07-01 16:42:59,317 ERROR Web [STDERR] :    at
> > org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:356)
> > 2009-07-01 16:42:59,339 ERROR Web [STDERR] :    at
> >
> org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:201)
> > 2009-07-01 16:42:59,356 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> > 2009-07-01 16:42:59,363 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > 2009-07-01 16:42:59,372 ERROR Web [STDERR] :    at
> >
> org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
> > 2009-07-01 16:42:59,380 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> > 2009-07-01 16:42:59,389 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> > 2009-07-01 16:42:59,398 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
> > 2009-07-01 16:42:59,407 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
> > 2009-07-01 16:42:59,414 ERROR Web [STDERR] :    at
> >
> org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
> > 2009-07-01 16:42:59,423 ERROR Web [STDERR] :    at
> >
> org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
> > 2009-07-01 16:42:59,429 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> > 2009-07-01 16:42:59,435 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> > 2009-07-01 16:42:59,442 ERROR Web [STDERR] :    at
> >
> org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
> > 2009-07-01 16:42:59,451 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> > 2009-07-01 16:42:59,464 ERROR Web [STDERR] :    at
> >
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
> > 2009-07-01 16:42:59,484 ERROR Web [STDERR] :    at
> > org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:437)
> > 2009-07-01 16:42:59,492 ERROR Web [STDERR] :    at
> >
> org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:366)
> > 2009-07-01 16:42:59,500 ERROR Web [STDERR] :    at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
> > 2009-07-01 16:42:59,507 ERROR Web [STDERR] :    at
> > java.lang.Thread.run(Thread.java:619)
> >
> >
> >
> >
> > On Wed, Jul 1, 2009 at 12:41 PM, Jeremy Levy <[email protected]> wrote:
> >
> >> I'm trying this, what do you think?
> >>         if (e == null) {
> >>             log.error("The exception was null, dumping Stack");
> >>             Thread.dumpStack();
> >>         }
> >>
> >>             StackTraceElement[] out = e.getStackTrace();
> >>             StringBuffer sb = new StringBuffer();
> >>
> >>             for (StackTraceElement ex : out) {
> >>                 sb.append(ex.toString() + "\n");
> >>             }
> >>
> >>             if (out.length == 0) {
> >>                 log.error("The exception had a length of 0, dumping
> >> Stack");
> >>                 Thread.dumpStack();
> >>             }
> >>
> >>
> >> What I have seen so far is that e.getStackTrace() has a length of 0, so
> I
> >> added the thread dump...
> >>
> >>  Jeremy
> >>
> >> On Mon, Jun 29, 2009 at 4:26 PM, Igor Vaynberg
> >> <[email protected]>wrote:
> >>
> >>> even if the exception was not being chained it should have still had
> >>> some sort of a stacktrace.
> >>>
> >>> -igor
> >>>
> >>> On Mon, Jun 29, 2009 at 11:39 AM, Martijn
> >>> Reuvers<[email protected]> wrote:
> >>> > Likely the message or stacktrace(s) (the actual cause) is throwing
> the
> >>> > nullpointer, in which case that is all you can see when logging. You
> >>> > might wanna try: log.error("whatever here",e.getCause()), generally
> >>> > the latter is what you're interested in anyway. You might also try:
> >>> >
> >>> >
> >>> >  @Override
> >>> >  protected void logRuntimeException(RuntimeException e) {
> >>> >        //super.logRuntimeException(e); // Turn this one off as
> >>> > somewhere the error seems to occur
> >>> >        log.error("whatever, but NOT the message",e);
> >>> >   }
> >>> >
> >>> > Finally, I'd personally attempt to write it all to a custom file to
> >>> > see if you can get anything useful into it.
> >>> >
> >>> > On Mon, Jun 29, 2009 at 6:49 PM, Igor Vaynberg<
> [email protected]>
> >>> wrote:
> >>> >> log.runtimeexception is already doing log.error(e.getMessage(), e);
> >>> >> and he is still not seeing the stacktrace...
> >>> >>
> >>> >> -igor
> >>> >>
> >>> >> On Mon, Jun 29, 2009 at 9:41 AM, mbrictson<[email protected]>
> wrote:
> >>> >>>
> >>> >>> If you simply call log.error(e), your log will only contain
> >>> e.toString(),
> >>> >>> which does not include the stack trace. You need to use the 2-arg
> >>> version of
> >>> >>> log.error() if you want the full trace.
> >>> >>>
> >>> >>> Try this:
> >>> >>>
> >>> >>> log.error("An uncaught runtime exception occurred", e);
> >>> >>>
> >>> >>>
> >>> >>> jelevy wrote:
> >>> >>>>
> >>> >>>> Igor,
> >>> >>>> Can you give me some direction on how to go about getting the "e".
> >>> >>>>
> >>> >>>> In my own RequestCycle I've done the following:
> >>> >>>>
> >>> >>>>  @Override
> >>> >>>>     protected void logRuntimeException(RuntimeException e) {
> >>> >>>>         super.logRuntimeException(e);
> >>> >>>>         log.error(e);
> >>> >>>>     }
> >>> >>>>
>
>

Reply via email to