You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2018/01/24 21:33:01 UTC
[jira] [Closed] (FLINK-8499) Kryo must not be child-first loaded
[ https://issues.apache.org/jira/browse/FLINK-8499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stephan Ewen closed FLINK-8499.
-------------------------------
> Kryo must not be child-first loaded
> -----------------------------------
>
> Key: FLINK-8499
> URL: https://issues.apache.org/jira/browse/FLINK-8499
> Project: Flink
> Issue Type: Bug
> Components: Core
> Affects Versions: 1.4.0
> Reporter: Stephan Ewen
> Assignee: Stephan Ewen
> Priority: Blocker
> Fix For: 1.5.0, 1.4.1
>
>
> Kryo classes are part of Flink API and hence move between Flink's core (serializers) and the user-application (Avro-Kryo-utils).
> Duplicating the kryo dependency through reversed classloading yields problems. If Kryo is in the user application jar, together with Avro, the following error happens:
> (this seems a semi-bug in the JVM, because this should clearly be a {{ClassCastException}}, not such a cryptic byte code error).
> {code}
> java.lang.VerifyError: Bad type on operand stack
> Exception Details:
> Location:
> org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils.addAvroGenericDataArrayRegistration(Ljava/util/LinkedHashMap;)V @23: invokespecial
> Reason:
> Type 'org/apache/flink/api/java/typeutils/runtime/kryo/Serializers$SpecificInstanceCollectionSerializerForArrayList' (current frame, stack[7]) is not assignable to 'com/esotericsoftware/kryo/Serializer'
> Current Frame:
> bci: @23
> flags: { }
> locals: { 'org/apache/flink/formats/avro/utils/AvroKryoSerializerUtils', 'java/util/LinkedHashMap' }
> stack: { 'java/util/LinkedHashMap', 'java/lang/String', uninitialized 6, uninitialized 6, 'java/lang/Class', uninitialized 12, uninitialized 12, 'org/apache/flink/api/java/typeutils/runtime/kryo/Serializers$SpecificInstanceCollectionSerializerForArrayList' }
> Bytecode:
> 0x0000000: 2b12 05b6 000b bb00 0c59 1205 bb00 0d59
> 0x0000010: bb00 0659 b700 0eb7 000f b700 10b6 0011
> 0x0000020: 57b1
> {code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)