Hmm, looking at that again, it looks just like the dump...

On Mon, Jul 13, 2009 at 8:55 AM, Jeremy Levy <[email protected]> wrote:

> 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);
>> >>> >>>>     }
>> >>> >>>>
>>
>>


-- 
Jeremy Levy

See my location in real-time:
http://seemywhere.com/jeremy

Reply via email to