You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@daffodil.apache.org by "Steve Lawrence (Jira)" <ji...@apache.org> on 2021/02/18 20:54:00 UTC

[jira] [Updated] (DAFFODIL-2266) Daffodil does not validate compatability with pre-compiled parsers

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

Steve Lawrence updated DAFFODIL-2266:
-------------------------------------
    Priority: Minor  (was: Major)

> Daffodil does not validate compatability with pre-compiled parsers
> ------------------------------------------------------------------
>
>                 Key: DAFFODIL-2266
>                 URL: https://issues.apache.org/jira/browse/DAFFODIL-2266
>             Project: Daffodil
>          Issue Type: Bug
>          Components: Middle &quot;End&quot;
>    Affects Versions: 2.5.0
>            Reporter: Brandon Sloane
>            Priority: Minor
>
> In general, we do not claim to support untrusted input as pre-compiled parsers, so not validating pre-compiled parsers is reasonable.
> However, a common mistake users are likely to make is using a parser compiled with a different version of Daffodil. While this is not supported, we do not fail gracefully, instead throwing the below unhandled exception. We should instead detect this case, and issue a user-friendly error indicating the problem.
> {quote}!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!   An unexpected exception occurred. This is a bug!   !!
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
>  Please report this bug and help us fix it:
>   https://daffodil.apache.org/community/#issue-tracker
>  Please include the following exception, the command you
>  ran, and any input, schema, or tdml files used that led
>  to this bug.
> java.io.InvalidClassException: org.apache.daffodil.processors.DataProcessor; local class incompatible: stream classdesc serialVersionUID = 875658728054701677, local class serialVersionUID = 886020291118569922
> 	at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:699)
> 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)
> 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
> 	at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1885)
> 	at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1751)
> 	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2042)
> 	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1573)
> 	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:431)
> 	at org.apache.daffodil.compiler.Compiler.reload(Compiler.scala:293)
> 	at org.apache.daffodil.compiler.Compiler.reload(Compiler.scala:276)
> 	at org.apache.daffodil.Main$.$anonfun$createProcessorFromParser$1(Main.scala:638)
> 	at org.apache.daffodil.util.Timer$.getTimeResult(Timer.scala:76)
> 	at org.apache.daffodil.util.Timer$.getResult(Timer.scala:35)
> 	at org.apache.daffodil.Main$.createProcessorFromParser(Main.scala:638)
> 	at org.apache.daffodil.Main$.run(Main.scala:819)
> 	at org.apache.daffodil.Main$.main(Main.scala:1388)
> 	at org.apache.daffodil.Main.main(Main.scala{quote}



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