hadoop-common-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Loughran (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HADOOP-3453) ipc.Client.close() throws NullPointerException
Date Wed, 28 May 2008 12:31:45 GMT

    [ https://issues.apache.org/jira/browse/HADOOP-3453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600453#action_12600453
] 

Steve Loughran commented on HADOOP-3453:
----------------------------------------

I can see the second of these.

The problem is that setupIOStreams tries to clean up 
  try {
       ...
       this.out = new DataOutputStream
            (new BufferedOutputStream(NetUtils.getOutputStream(socket)));
      ...
      } catch (IOException e) {
        markClosed(e);
        close();
      }

but what does close() do? It synchronizes on out, which will be null if the exception happened
before the output stream was created, leading to our friend NPE:
    synchronized (out) {
        // release the resources
        // first thing to do;take the connection out of the connection list
        synchronized (connections) {
          if (connections.get(remoteId) == this) {
            connections.remove(remoteId);
          }
        }


> ipc.Client.close() throws NullPointerException
> ----------------------------------------------
>
>                 Key: HADOOP-3453
>                 URL: https://issues.apache.org/jira/browse/HADOOP-3453
>             Project: Hadoop Core
>          Issue Type: Bug
>          Components: ipc
>            Reporter: Tsz Wo (Nicholas), SZE
>            Assignee: Hairong Kuang
>
> There are two possible cases that Client.close() throws NullPointerException
> - Exception in thread "IPC Client (47) connection to localhost/127.0.0.1:3070 from tsz"
java.lang.NullPointerException
>     at org.apache.hadoop.ipc.Client$Connection.close(Client.java:521)
>     at org.apache.hadoop.ipc.Client$Connection.run(Client.java:434)
> - Exception in thread "Thread-2" java.lang.NullPointerException
>     at org.apache.hadoop.ipc.Client$Connection.close(Client.java:519)
>     at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:317)
>     at org.apache.hadoop.ipc.Client$Connection.access$1700(Client.java:175)
>     at org.apache.hadoop.ipc.Client.getConnection(Client.java:766)
>     at org.apache.hadoop.ipc.Client.call(Client.java:680)
>     at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:216)
>     ...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message