Ticket #225 (closed defect: fixed)
NPE in CopyInheritanceBreakpointManager
| Reported by: | stephan | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | OTDT_1.3.0_M4 |
| Component: | debug | Version: | 1.2.7 |
| Keywords: | Cc: |
Description
I was stepping through a modified version of the flightbonus example, where I placed role FlightBonus.Subscriber in a role file. While stepping worked mostly OK, when the program terminated the following exception was logged:
java.lang.NullPointerException
at org.objectteams.otdt.debug.ui.internal.CopyInheritanceBreakpointManager.deleteCopiedBreakpoints(CopyInheritanceBreakpointManager.java:421)
at org.objectteams.otdt.debug.ui.internal.CopyInheritanceBreakpointManager.breakpointRemoved(CopyInheritanceBreakpointManager.java:395)
at org.eclipse.jdt.internal.debug.core.JDIDebugPlugin$BreakpointNotifier.run(JDIDebugPlugin.java:455)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.jdt.internal.debug.core.JDIDebugPlugin$BreakpointNotifier.notify(JDIDebugPlugin.java:485)
at org.eclipse.jdt.internal.debug.core.JDIDebugPlugin.fireBreakpointRemoved(JDIDebugPlugin.java:379)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.fireRemoved(JavaBreakpoint.java:904)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaBreakpoint.removeFromTarget(JavaBreakpoint.java:646)
at org.eclipse.jdt.internal.debug.core.breakpoints.JavaLineBreakpoint.removeFromTarget(JavaLineBreakpoint.java:177)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.removeAllBreakpoints(JDIDebugTarget.java:1444)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.cleanup(JDIDebugTarget.java:1402)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.terminated(JDIDebugTarget.java:1367)
at org.eclipse.jdt.internal.debug.core.model.JDIDebugTarget.handleVMDeath(JDIDebugTarget.java:926)
at org.eclipse.jdt.internal.debug.core.EventDispatcher.dispatch(EventDispatcher.java:151)
at org.eclipse.jdt.internal.debug.core.EventDispatcher.run(EventDispatcher.java:232)
at java.lang.Thread.run(Thread.java:619)
Initial analysis shows that getClassFilePathFor computes a wrong path for the role file Subscriber, which ended in fbapplication/FlightBonus/Subscriber.class. The final "/" is wrong and should instead read "$__OT__".
This might have prevented some breakpoints from being properly installed. The NPE occurred during cleanup, though.
Change History
Note: See
TracTickets for help on using
tickets.
all news
RSS feed