[
https://issues.apache.org/jira/browse/DAFFODIL-2728?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Dave Thompson closed DAFFODIL-2728.
-----------------------------------
Verified the specified commit (commit 5d314ab58b03bd9161c858436e4ae0391bcbae21)
is included in the latest pull from the daffodil repository.
Verified, via review, changes identified in the commit comment were
implemented.
Verified the affected daffodil subproject sbt test suites executed successfully.
Verified the nightly test suite executes successfully with no unexpected
failures.
> Missing layer plugin causes abort "this is a bug"
> -------------------------------------------------
>
> Key: DAFFODIL-2728
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2728
> Project: Daffodil
> Issue Type: Bug
> Components: Back End
> Affects Versions: 3.4.0
> Reporter: Mike Beckerle
> Assignee: Mike McGann
> Priority: Major
> Fix For: 3.6.0
>
>
> If you pre-compile a schema to a binary file, then try to parse data with it,
> without setting up the DAFFODIL_CLASSPATH to provide access to a layer
> plugin, you get an abort during deserialization (i.e., reload) of the stored
> parser.
> The workaround is of course just setup the DAFFODIL_CLASSPATH for running the
> CLI the same as when the parser was compiled and saved.
> {code:java}
> !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !! 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.lang.ClassCastException: cannot assign instance of
> scala.collection.immutable.HashMap$SerializationProxy to field
> org.apache.daffodil.processors.parsers.ChoiceDispatchCombinatorParserBase.dispatchBranchKeyMap
> of type scala.collection.immutable.Map in instance of
> org.apache.daffodil.processors.parsers.ChoiceDispatchCombinatorParser
> at
> java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2227)
> at
> java.base/java.io.ObjectStreamClass$FieldReflector.checkObjectFieldValueTypes(ObjectStreamClass.java:2191)
> at
> java.base/java.io.ObjectStreamClass.checkObjFieldValueTypes(ObjectStreamClass.java:1478)
> at
> java.base/java.io.ObjectInputStream$FieldValues.defaultCheckFieldValues(ObjectInputStream.java:2657)
> at
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2471)
> at
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2242)
> at
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1742)
> at
> java.base/java.io.ObjectInputStream$FieldValues.<init>(ObjectInputStream.java:2584)
> at
> java.base/java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:2442)
> at
> java.base/java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:2242)
> at
> java.base/java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1742)
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)