Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

StackOverflowError in avro SpecificDatumWriter #2349

Open
heuermh opened this issue Nov 29, 2021 · 1 comment
Open

StackOverflowError in avro SpecificDatumWriter #2349

heuermh opened this issue Nov 29, 2021 · 1 comment

Comments

@heuermh
Copy link
Member

heuermh commented Nov 29, 2021

$ spark-submit --version
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.2.0
      /_/

Using Scala version 2.12.15, OpenJDK 64-Bit Server VM, 11.0.12

...
  at org.bdgenomics.adam.util.ReferenceMap$.apply(ReferenceMap.scala:108)
  at org.bdgenomics.adam.ds.ADAMContext.loadReferenceFile(ADAMContext.scala:3510)
  ... 49 elided
Caused by: java.lang.StackOverflowError
  at org.apache.avro.specific.SpecificDatumWriter.writeField(SpecificDatumWriter.java:98)
  at org.apache.avro.generic.GenericDatumWriter.writeRecord(GenericDatumWriter.java:210)
  at org.apache.avro.specific.SpecificDatumWriter.writeRecord(SpecificDatumWriter.java:83)
  at org.apache.avro.generic.GenericDatumWriter.writeWithoutConversion(GenericDatumWriter.java:131)
  at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:83)
  at org.apache.avro.generic.GenericDatumWriter.write(GenericDatumWriter.java:73)
  at org.bdgenomics.adam.serialization.AvroSerializer.write(ADAMKryoRegistrator.scala:53)
  at org.bdgenomics.adam.serialization.AvroSerializer.write(ADAMKryoRegistrator.scala:42)
  at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575)
  at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:79)
  at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:508)
  at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575)
  at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:79)
  at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:508)
  at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575)
@heuermh
Copy link
Member Author

heuermh commented Dec 1, 2021

Also happens on EMR with ADAM 0.36.0 release and Spark 3.1.2

$ adam-submit --version

       e        888~-_         e            e    e
      d8b       888   \       d8b          d8b  d8b
     /Y88b      888    |     /Y88b        d888bdY88b
    /  Y88b     888    |    /  Y88b      / Y88Y Y888b
   /____Y88b    888   /    /____Y88b    /   YY   Y888b
  /      Y88b   888_-~    /      Y88b  /          Y888b

ADAM version: 0.36.0
Built for: Apache Spark 3.1.2, Scala 2.12.10, and Hadoop 3.2.1

$ adam-shell \
  --master yarn \
  --driver-memory 32g \
  --executor-memory 16g \
  --conf spark.driver.cores=12 \
  --conf spark.executor.cores=4

Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 3.1.2-amzn-1
      /_/

Using Scala version 2.12.10 (OpenJDK 64-Bit Server VM, Java 1.8.0_312)

...

scala> val ref = sc.loadReferenceFile("references/Homo_sapiens/NCBI/build37.2/Sequence/WholeGenomeFasta/genome.fa", 10000L)
21/12/01 21:06:00 WARN TaskSetManager: Lost task 13.0 in stage 5.0 (TID 131)
(ip-172-31-23-99.ec2.internal executor 6): java.lang.StackOverflowError
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.put(IdentityObjectIntMap.java:92)
	at com.esotericsoftware.kryo.util.MapReferenceResolver.addWrittenObject(MapReferenceResolver.java:41)
	at com.esotericsoftware.kryo.Kryo.writeReferenceOrNull(Kryo.java:681)
	at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:570)
	at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:79)
	at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:508)
	at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:575)
	at com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:79)
	at com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:508)
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant