giraph-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Pavan Kumar (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (GIRAPH-884) ByteArrayEdges.iterator() throws NPE when no edges are present
Date Tue, 01 Apr 2014 16:11:33 GMT

    [ https://issues.apache.org/jira/browse/GIRAPH-884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13956702#comment-13956702
] 

Pavan Kumar commented on GIRAPH-884:
------------------------------------

Just curious, I wrote this simple program
  public static void main(String[] args) {
    new ByteArrayInputStream(null, 0, 0);
  }

It throws a NPE at line
        this.count = Math.min(offset + length, buf.length);
while is 126.
How come your log shows 120. But sure, this is a bug.

Thanks for fixing it.
+1 from me

> ByteArrayEdges.iterator() throws NPE when no edges are present
> --------------------------------------------------------------
>
>                 Key: GIRAPH-884
>                 URL: https://issues.apache.org/jira/browse/GIRAPH-884
>             Project: Giraph
>          Issue Type: Bug
>            Reporter: Craig Muchinsky
>             Fix For: 1.1.0
>
>         Attachments: GIRAPH-884.patch
>
>
> The ByteArrayEdges.iterator() method throws the following NPE when no edges are present:
> 2014-03-31 14:44:46,273 ERROR org.apache.giraph.utils.LogStacktraceCallable: Execution
of callable failed
> java.lang.NullPointerException
> 	at java.io.ByteArrayInputStream.<init>(ByteArrayInputStream.java:120)
> 	at org.apache.giraph.utils.ExtendedByteArrayDataInput.<init>(ExtendedByteArrayDataInput.java:50)
> 	at org.apache.giraph.conf.ImmutableClassesGiraphConfiguration.createExtendedDataInput(ImmutableClassesGiraphConfiguration.java:1009)
> 	at org.apache.giraph.edge.ByteArrayEdges$ByteArrayEdgeIterator.<init>(ByteArrayEdges.java:141)
> 	at org.apache.giraph.edge.ByteArrayEdges$ByteArrayEdgeIterator.<init>(ByteArrayEdges.java:138)
> 	at org.apache.giraph.edge.ByteArrayEdges.iterator(ByteArrayEdges.java:167)
> Simply checking the edgeCount before constructing a new ByteArrayEdgeIterator solves
the problem. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message