Summary: | fstack eats an NPE backtrace | ||
---|---|---|---|
Product: | frysk | Reporter: | Andrew Cagney <cagney> |
Component: | general | Assignee: | Andrew Cagney <cagney> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | P2 | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Host: | Target: | ||
Build: | Last reconfirmed: |
Description
Andrew Cagney
2008-06-12 14:54:28 UTC
commit 531115f2541df6ed1e8a8f16e24c519fb858b209 Author: Andrew Cagney <cagney@toil.yyz.redhat.com> Date: Thu Jun 12 13:28:25 2008 -0400 Provide parent for user and internal exceptions; try. This adds two root exceptions (they both extend RuntimeException): UserException: (I toyed with the name ExternalException also, and better suggestions welcome). This corresponds to an error problem caused by user provided information and hence is likely going to be displayed as an informational message to the user. For instance, the user provided invalid input from the console; or a user supplied file is in some way invalid, or even a data being read from the target's memory (such as a table) is found to be invalid. The key thing is that something exceptional has occured that is external to frysk's control. InternalException: This corresponds to a problem in frysk's code base. For instance, missing or unimplemented code, or a programming error. Java exceptions such as ArrayIndexOutOfBounds can also be considered to fall into this category. If such an exception bubbles up to user level, it will likely want to be displayed as a backtrace. fexe 7208 Exception in thread "main" java.lang.NullPointerException at java.io.File.normalizePath(libgcj.so.8rh) at java.io.File.<init>(libgcj.so.8rh) at frysk.proc.live.LinuxPtraceProc.getExeFile(fexe) at frysk.bindir.fexe$PrintExeEvent.executeLive(fexe) at frysk.util.ProcStopUtil$UtilEvent.execute(fexe) at frysk.event.EventLoop.runEventLoop(fexe) at frysk.event.EventLoop.run(fexe) at frysk.util.ProcStopUtil$1.parsePids(fexe) at frysk.util.CommandlineParser.doParse(fexe) at frysk.util.CommandlineParser.parse(fexe) at frysk.util.ProcStopUtil.execute(fexe) at frysk.bindir.fexe.main(fexe) |