Showstopper fix for IZ 142889 (NPE in CND debugger)
Gordon Prieur <[email protected]>
| Newsgroups | gmane.comp.java.netbeans.reviewers |
|---|---|
| Message-ID | <[email protected]> |
Description of the bug (including IZ #):
IZ 142889 NullPointerException at
org.netbeans.modules.cnd.debugger.gdb.proxy.GdbProxyEngine$CommandInfo.access$100
When fast stepping through C/C++ programs while showing lots of
watches, users got
NPE and ConcurrentModificationExceptions
Impact assessment i.e. why it is a showstopper?
When this problem gets triggered the debug session is hosed and must
be killed and restarted.
Risk assessment i.e. why is it safe?
Part of the fix synchronizes the GdbProxyEngine.sendCommand()
method. This method
can be called from several threads and sends a gdb command to the
debugger engine. By
synchronizing it we ensure the sending of the command is not
interrupted by the sending
of another command.
The 2nd part of this fix is to synchronize a LinkedList. The list
gets added to by the
sendCommand method referenced above. The list items get removed (one
at a time)
in a single thread.
CND QA has verified this fix for safety as have 3 cnd developers.
Confirmation of peer code review and QE verification of fix
Reviewed by Thomas Preisler
Changeset info (for reviewing diffs)
http://hg.netbeans.org/main?cmd=changeset;node=13de38c43b7b
http://hg.netbeans.org/main/rev/50918f805a9a