You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Litchy Soong (Jira)" <ji...@apache.org> on 2020/11/11 08:33:00 UTC

[jira] [Created] (ARROW-10555) Java API get negative messageLength

Litchy Soong created ARROW-10555:
------------------------------------

             Summary: Java API get negative messageLength
                 Key: ARROW-10555
                 URL: https://issues.apache.org/jira/browse/ARROW-10555
             Project: Apache Arrow
          Issue Type: Bug
    Affects Versions: 1.0.1
            Reporter: Litchy Soong


when I call  ArrowStreamReader.vectorSchemaRoot(),  

{{: (-520103681 < 0)                                                                                                                 2020-11-09 07:09:07,033 ERROR com.intel.analytics.zoo.serving.PreProcessing                 - Error stack trace java.base/java.nio.
Buffer.createCapacityException(Buffer.java:256)                                                                                    java.base/java.nio.ByteBuffer.allocate(ByteBuffer.java:347)                                                                        
com.intel.analytics.zoo.shaded.arrow.vector.ipc.message.MessageSerializer.readMessage(MessageSerializer.java:692)                  com.intel.analytics.zoo.shaded.arrow.vector.ipc.message.MessageChannelReader.readNext(MessageChannelReader.java:57)                
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowStreamReader.readSchema(ArrowStreamReader.java:164)                           com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.initialize(ArrowReader.java:170)                                       
com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.ensureInitialized(ArrowReader.java:161)}}

{{com.intel.analytics.zoo.shaded.arrow.vector.ipc.ArrowReader.getVectorSchemaRoot(ArrowReader.java:63)}}

{{}}

{{}}

{{The messageLength is negative, code is in MessageSerializer.java}}

{{}}

messageLength = MessageSerializer.bytesToInt(buffer.array());{{}}

{{}}

{{}}

{{and error is raised in }}

{{}}

ByteBuffer messageBuffer = ByteBuffer.allocate(messageLength);{{}}

{{}}

I tried to use minimal reproduce code to reproduce the error but I could not reproduce it. So *any ideas that when can it get negative messageLength*?  This error occurs occasionally in my program.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)