You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@uima.apache.org by "Marshall Schor (JIRA)" <de...@uima.apache.org> on 2016/01/13 20:48:39 UTC

[jira] [Updated] (UIMA-4743) errors in plain binary cas delta serialization of long values

     [ https://issues.apache.org/jira/browse/UIMA-4743?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marshall Schor updated UIMA-4743:
---------------------------------
    Description: 
(Found by code reading, needs test case) The code for handling long/dbl value modified cells while doing delta serialization appears to have a some copy/paste kinds of errors. The first (line 583) gets the modified addrs, but gets the "short" rather than "long" addrs.  The second (line 587) writes the address of the modified value using a writeShort, which silently fails if the value is > 32767. 

This same kind of error (writing the address as a short) also appears in the handling of modifications of shorts (line 570).

Fixing this will result in writing more bytes to the serialization stream, so the streams won't be "compatible".  Therefore, do some kind of incrementing of versions and serialVersionId values to signal to readers this format change.  Updating this for client/server pairs will require updates at both ends. 

  was:
(Found by code reading, needs test case) The code for handling long/dbl value modified cells while doing delta serialization appears to have a some copy/paste kinds of errors. The first (line 583) gets the modified addrs, but gets the "short" rather than "long" addrs.  The second (line 587) writes the address of the modified value using a writeShort, which silently fails if the value is > 32767. 

This same kind of error (writing the address as a short) also appears in the handling of modifications of shorts (line 570).


> errors in plain binary cas delta serialization of long values
> -------------------------------------------------------------
>
>                 Key: UIMA-4743
>                 URL: https://issues.apache.org/jira/browse/UIMA-4743
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 2.8.1SDK
>            Reporter: Marshall Schor
>             Fix For: 2.8.2SDK
>
>
> (Found by code reading, needs test case) The code for handling long/dbl value modified cells while doing delta serialization appears to have a some copy/paste kinds of errors. The first (line 583) gets the modified addrs, but gets the "short" rather than "long" addrs.  The second (line 587) writes the address of the modified value using a writeShort, which silently fails if the value is > 32767. 
> This same kind of error (writing the address as a short) also appears in the handling of modifications of shorts (line 570).
> Fixing this will result in writing more bytes to the serialization stream, so the streams won't be "compatible".  Therefore, do some kind of incrementing of versions and serialVersionId values to signal to readers this format change.  Updating this for client/server pairs will require updates at both ends. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)