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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.