[
https://issues.apache.org/jira/browse/ZOOKEEPER-1750?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Helen Hastings updated ZOOKEEPER-1750:
--------------------------------------
Description:
The socket is closed and the variable "sock" is set to null for normal reasons,
but the toString method is called before "sock" can be set again, producing a
NullPointer.
Stack trace:
2013-08-29 01:49:19,991 6277 [CommitProcWorkThread-3] WARN
org.apache.zookeeper.server.WorkerService - Unexpected exception
java.lang.NullPointerException
at org.apach.zookeeper.server.NIOServerCnxn.toString(NIOServerCnxn.java:961)
at java.lang.String.valueOf(String.java:2854)
at java.lang.StringBuilder.append(StringBuilder.java:128)
at
org.apache.zookeeper.server.NIOServerCnxn.process(NIOServerCnxn.java:1104)
at
org.apache.zookeeper.server.WatchManager.triggerWatch(WatchManager.java:120)
at
org.apache.zookeeper.server.WatchManager.triggerWatch(WatchManager.java:92)
at org.apache.zookeeper.server.DataTree.createNode(DataTree.java:544)
at org.apache.zookeeper.server.DataTree.processTxn(DataTree.java:805)
at org.apache.zookeeper.server.ZKDatabase.processTxn(ZKDatabase.java:319)
at
org.apache.zookeeper.server.ZooKeeperServer.processTxn(ZooKeeperServer.java:967)
at
org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:115)
at
org.apache.zookeeper.server.quorum.Leader$ToBeAppliedRequestProcessor.processRequest(Leader.java:859)
at
org.apache.zookeeper.server.quorum.CommitProcessor$CommitWorkRequest.doWork(CommitProcessor.java:271)
at
org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:152)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
Summary: Race condition producing NPE in NIOServerCnxn.toString (was:
Race condition producing NPE in NIOServerCnxn.to)
> Race condition producing NPE in NIOServerCnxn.toString
> ------------------------------------------------------
>
> Key: ZOOKEEPER-1750
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1750
> Project: ZooKeeper
> Issue Type: Bug
> Components: server
> Affects Versions: 3.5.0
> Reporter: Helen Hastings
> Priority: Minor
> Fix For: 3.5.0
>
>
> The socket is closed and the variable "sock" is set to null for normal
> reasons, but the toString method is called before "sock" can be set again,
> producing a NullPointer.
> Stack trace:
> 2013-08-29 01:49:19,991 6277 [CommitProcWorkThread-3] WARN
> org.apache.zookeeper.server.WorkerService - Unexpected exception
> java.lang.NullPointerException
> at
> org.apach.zookeeper.server.NIOServerCnxn.toString(NIOServerCnxn.java:961)
> at java.lang.String.valueOf(String.java:2854)
> at java.lang.StringBuilder.append(StringBuilder.java:128)
> at
> org.apache.zookeeper.server.NIOServerCnxn.process(NIOServerCnxn.java:1104)
> at
> org.apache.zookeeper.server.WatchManager.triggerWatch(WatchManager.java:120)
> at
> org.apache.zookeeper.server.WatchManager.triggerWatch(WatchManager.java:92)
> at org.apache.zookeeper.server.DataTree.createNode(DataTree.java:544)
> at org.apache.zookeeper.server.DataTree.processTxn(DataTree.java:805)
> at org.apache.zookeeper.server.ZKDatabase.processTxn(ZKDatabase.java:319)
> at
> org.apache.zookeeper.server.ZooKeeperServer.processTxn(ZooKeeperServer.java:967)
> at
> org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:115)
> at
> org.apache.zookeeper.server.quorum.Leader$ToBeAppliedRequestProcessor.processRequest(Leader.java:859)
> at
> org.apache.zookeeper.server.quorum.CommitProcessor$CommitWorkRequest.doWork(CommitProcessor.java:271)
> at
> org.apache.zookeeper.server.WorkerService$ScheduledWorkRequest.run(WorkerService.java:152)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at java.lang.Thread.run(Thread.java:722)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira