[ https://issues.apache.org/jira/browse/MYFACES-4592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698103#comment-17698103 ]
Volodymyr Siedlecki commented on MYFACES-4592: ---------------------------------------------- Added more stack trace as I've found a good description of what I think is occurring here: https://stackoverflow.com/a/28367602/11402059 > Lambda ClassCastException with Session Persistence > -------------------------------------------------- > > Key: MYFACES-4592 > URL: https://issues.apache.org/jira/browse/MYFACES-4592 > Project: MyFaces Core > Issue Type: Bug > Components: General > Affects Versions: 4.0.0 > Reporter: Volodymyr Siedlecki > Priority: Major > Attachments: flash.zip > > > In our setup, we have session persistence enabled (which serializes session > data), and, in our tests, we've discovered the following problem: > {code:java} > Stack Dump = java.lang.ClassCastException: cannot assign instance of > java.lang.invoke.SerializedLambda to field > org.apache.myfaces.util.lang.LRULinkedHashMap.expiredCallback of type > org.apache.myfaces.util.lang.SerializableConsumer in instance of > org.apache.myfaces.util.l > ang.LRULinkedHashMap > at > java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(Unknown > Source) > at > java.base/java.io.ObjectStreamClass$FieldReflector.checkObjectFieldValueTypes(Unknown > Source) > at > java.base/java.io.ObjectStreamClass.checkObjFieldValueTypes(Unknown Source) > at > java.base/java.io.ObjectInputStream$FieldValues.defaultCheckFieldValues(Unknown > Source) > at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source) > at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown > Source) > at java.base/java.io.ObjectInputStream.readObject0(Unknown Source) > at java.base/java.io.ObjectInputStream$FieldValues.<init>(Unknown > Source) > at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source) > at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown > Source) > at java.base/java.io.ObjectInputStream.readObject0(Unknown Source) > at java.base/java.io.ObjectInputStream$FieldValues.<init>(Unknown > Source) > at java.base/java.io.ObjectInputStream.readSerialData(Unknown Source) > at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown > Source) > at java.base/java.io.ObjectInputStream.readObject0(Unknown Source) > at java.base/java.io.ObjectInputStream.readObject(Unknown Source) > at java.base/java.io.ObjectInputStream.readObject(Unknown Source) > at java.base/java.util.Hashtable.readHashtable(Unknown Source) > at java.base/java.util.Hashtable.readObject(Unknown Source){code} > SerializedLambda JavaDoc: > [https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/invoke/SerializedLambda.html] > > Relevant Code: > [https://github.com/apache/myfaces/blob/myfaces-core-module-4.0.0/impl/src/main/java/org/apache/myfaces/util/lang/SerializableConsumer.java#L25] > [https://github.com/apache/myfaces/blob/myfaces-core-module-4.0.0/impl/src/main/java/org/apache/myfaces/util/lang/LRULinkedHashMap.java#L30] -- This message was sent by Atlassian Jira (v8.20.10#820010)