Java exception: index 65 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef
REQUIRED for all errors and issues:
a) GATK version used: v4.1.2.0
b) Exact command used: BaseRecalibrator c) Entire program log:
The following have been reloaded with a version change:
1) Java/1.8.0_212 => Java/11.0.2
15:26:10.753 INFO NativeLibraryLoader - Loading libgkl_compression.so from jar:file:/beegfs/easybuild/CentOS/7.6.1810/Skylake/software/GATK/4.1.2.0-GCCcore-8.2.0-Java-1.8/gatk-package-4.1.2.0-local.jar!/com/intel/gkl/native/libgkl_compression.so
Oct 27, 2022 3:26:13 PM shaded.cloud_nio.com.google.auth.oauth2.ComputeEngineCredentials runningOnComputeEngine
INFO: Failed to detect whether we are running on Google Compute Engine.
15:26:13.164 INFO BaseRecalibrator - ------------------------------------------------------------
15:26:13.165 INFO BaseRecalibrator - The Genome Analysis Toolkit (GATK) v4.1.2.0
15:26:13.165 INFO BaseRecalibrator - For support and documentation go to https://software.broadinstitute.org/gatk/
15:26:13.166 INFO BaseRecalibrator - Executing as jgarcia@node01 on Linux v3.10.0-957.el7.x86_64 amd64
15:26:13.167 INFO BaseRecalibrator - Java runtime: OpenJDK 64-Bit Server VM v11.0.2+9
15:26:13.168 INFO BaseRecalibrator - Start Date/Time: October 27, 2022 at 3:26:10 PM CEST
15:26:13.168 INFO BaseRecalibrator - ------------------------------------------------------------
15:26:13.169 INFO BaseRecalibrator - ------------------------------------------------------------
15:26:13.195 INFO BaseRecalibrator - HTSJDK Version: 2.19.0
15:26:13.196 INFO BaseRecalibrator - Picard Version: 2.19.0
15:26:13.196 INFO BaseRecalibrator - HTSJDK Defaults.COMPRESSION_LEVEL : 2
15:26:13.197 INFO BaseRecalibrator - HTSJDK Defaults.USE_ASYNC_IO_READ_FOR_SAMTOOLS : false
15:26:13.197 INFO BaseRecalibrator - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_SAMTOOLS : true
15:26:13.198 INFO BaseRecalibrator - HTSJDK Defaults.USE_ASYNC_IO_WRITE_FOR_TRIBBLE : false
15:26:13.198 INFO BaseRecalibrator - Deflater: IntelDeflater
15:26:13.199 INFO BaseRecalibrator - Inflater: IntelInflater
15:26:13.200 INFO BaseRecalibrator - GCS max retries/reopens: 20
15:26:13.200 INFO BaseRecalibrator - Requester pays: disabled
15:26:13.201 INFO BaseRecalibrator - Initializing engine
15:26:13.619 INFO FeatureManager - Using codec VCFCodec to read file file:///home/jgarcia/Grape2/./Initial_variants/Spa1-1a_bqsr_snps.vcf
15:26:13.656 INFO FeatureManager - Using codec VCFCodec to read file file:///home/jgarcia/Grape2/./Initial_variants/Spa1-1a_bqsr_indels.vcf
15:26:13.686 INFO BaseRecalibrator - Done initializing engine
15:26:13.690 INFO BaseRecalibrationEngine - The covariates being used here:
15:26:13.691 INFO BaseRecalibrationEngine - ReadGroupCovariate
15:26:13.692 INFO BaseRecalibrationEngine - QualityScoreCovariate
15:26:13.693 INFO BaseRecalibrationEngine - ContextCovariate
15:26:13.693 INFO BaseRecalibrationEngine - CycleCovariate
15:26:13.707 INFO ProgressMeter - Starting traversal
15:26:13.708 INFO ProgressMeter - Current Locus Elapsed Minutes Reads Processed Reads/Minute
15:26:13.717 INFO BaseRecalibrator - Shutting down engine
[October 27, 2022 at 3:26:13 PM CEST] org.broadinstitute.hellbender.tools.walkers.bqsr.BaseRecalibrator done. Elapsed time: 0.06 minutes.
Runtime.totalMemory()=75169792
Exception in thread "main" java.lang.IncompatibleClassChangeError: Inconsistent constant pool data in classfile for class org/broadinstitute/hellbender/transformers/ReadTransformer. Method lambda$identity$d67512bf$1(Lorg/broadinstitute/hellbender/utils/read/GATKRead;)Lorg/broadinstitute/hellbender/utils/read/GATKRead; at index 65 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef
at org.broadinstitute.hellbender.transformers.ReadTransformer.identity(ReadTransformer.java:30)
at org.broadinstitute.hellbender.engine.GATKTool.makePreReadFilterTransformer(GATKTool.java:345)
at org.broadinstitute.hellbender.engine.GATKTool.getTransformedReadStream(GATKTool.java:374)
at org.broadinstitute.hellbender.engine.ReadWalker.traverse(ReadWalker.java:93)
at org.broadinstitute.hellbender.engine.GATKTool.doWork(GATKTool.java:1039)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.runTool(CommandLineProgram.java:139)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMainPostParseArgs(CommandLineProgram.java:191)
at org.broadinstitute.hellbender.cmdline.CommandLineProgram.instanceMain(CommandLineProgram.java:210)
at org.broadinstitute.hellbender.Main.runCommandLineProgram(Main.java:162)
at org.broadinstitute.hellbender.Main.mainEntry(Main.java:205)
at org.broadinstitute.hellbender.Main.main(Main.java:291)
Using GATK jar /beegfs/easybuild/CentOS/7.6.1810/Skylake/software/GATK/4.1.2.0-GCCcore-8.2.0-Java-1.8/gatk-package-4.1.2.0-local.jar
Running:
java -Dsamjdk.use_async_io_read_samtools=false -Dsamjdk.use_async_io_write_samtools=true -Dsamjdk.use_async_io_write_tribble=false -Dsamjdk.compression_level=2 -jar /beegfs/easybuild/CentOS/7.6.1810/Skylake/software/GATK/4.1.2.0-GCCcore-8.2.0-Java-1.8/gatk-package-4.1.2.0-local.jar BaseRecalibrator -reference ./Reference/Vitis_vinifera.PN40024.v4.dna.toplevel.fa -I ./Dedup_reads/Spa1-1a_sorted_dedup.bam --known-sites ./Initial_variants/Spa1
-1a_bqsr_snps.vcf --known-sites ./Initial_variants/Spa1_
-1a_bqsr_indels.vcf -O ./BQSR/Spa1-1a_recal_data.table
I'm having this Java exception: Exception in thread "main" java.lang.IncompatibleClassChangeError: Inconsistent constant pool data in classfile for class org/broadinstitute/hellbender/transformers/ReadTransformer. Method lambda$identity$d67512bf$1(Lorg/broadinstitute/hellbender/utils/read/GATKRead;)Lorg/broadinstitute/hellbender/utils/read/GATKRead; at index 65 is CONSTANT_MethodRef and should be CONSTANT_InterfaceMethodRef
I've found similar probelms where this bug was caused by the Java version. I'm trying to use Java/1.8.0_212 but it seems that BaseRecalibrator is changing it:
The following have been reloaded with a version change:
1) Java/1.8.0_212 => Java/11.0.2
I'm working on a HPC.
There is a way to prevent BaseRecalibrator from change Java version?
Thanks in advance.
-
Thank you for writing to the GATK forum! We hope that we can help you sort this out.
BQSR, in itself, cannot change the Java version. What appears to be happening is that you are starting GATK on Java 8, and your cluster environment is substituting Java 11 at runtime, causing this error. So the problem is related to your cluster environment.
We suggest you talk to the admin of your cluster and show them this error. Try asking them if there is anything in the cluster setup that could cause the Java version to change like this. You could also try running BQSR using our official Docker image, which would be isolated from the external cluster environment.
I hope this helps! Please let me know if this leads you to success. In the meantime, if any other questions arise, please do not hesitate to reach out.
Best,
Anthony -
We haven't heard from you in a while so we're going to close out this ticket. If you still require assistance, simply respond to this email and we'll be happy to pick up where we left off!
Kind regards,
Anthony
Please sign in to leave a comment.
2 comments