kotlin version: 2.2.20 error message: org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Couldn't transform method node: toNanoHttpdResponse (Lcom/ustadmobile/ihttp/response/IHttpResponse;)Lfi/iki/elonen/NanoHTTPD$Response;: @Lorg/jetbrains/annotations/NotNull;() // invisible // annotable parameter count: 1 (visible) // annotable parameter count: 1 (invisible) @Lorg/jetbrains/annotations/NotNull;() // invisible, parameter 0 L0 ALOAD 0 LDC "" INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkNotNullParameter (Ljava/lang/Object;Ljava/lang/String;)V L1 LINENUMBER 10 L1 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getHeaders ()Lcom/ustadmobile/ihttp/headers/IHttpHeaders; (itf) LDC "content-length" INVOKEINTERFACE com/ustadmobile/ihttp/headers/IHttpHeaders.get (Ljava/lang/String;)Ljava/lang/String; (itf) ASTORE 2 L2 ALOAD 2 IFNULL L3 ALOAD 2 INVOKESTATIC kotlin/text/StringsKt.toLongOrNull (Ljava/lang/String;)Ljava/lang/Long; GOTO L4 L3 NOP ACONST_NULL L4 ASTORE 1 L5 LINENUMBER 12 L5 ALOAD 1 IFNULL L6 L7 LINENUMBER 14 L7 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getResponseCode ()I (itf) INVOKESTATIC fi/iki/elonen/NanoHTTPD$Response$Status.lookup (I)Lfi/iki/elonen/NanoHTTPD$Response$Status; CHECKCAST fi/iki/elonen/NanoHTTPD$Response$IStatus L8 LINENUMBER 15 L8 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getHeaders ()Lcom/ustadmobile/ihttp/headers/IHttpHeaders; (itf) LDC "content-type" INVOKEINTERFACE com/ustadmobile/ihttp/headers/IHttpHeaders.get (Ljava/lang/String;)Ljava/lang/String; (itf) ASTORE 3 L9 ALOAD 3 IFNULL L10 ALOAD 3 GOTO L11 L10 NOP LDC "application/octet-stream" L11 LINENUMBER 16 L11 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.bodyAsSource ()Lkotlinx/io/Source; (itf) ASTORE 3 L12 ALOAD 3 IFNULL L13 ALOAD 3 INVOKESTATIC kotlinx/io/SourcesJvmKt.asInputStream (Lkotlinx/io/Source;)Ljava/io/InputStream; ASTORE 4 L14 ALOAD 4 IFNULL L13 ALOAD 4 GOTO L15 L13 NOP NEW java/io/ByteArrayInputStream DUP ICONST_0 NEWARRAY T_BYTE INVOKESPECIAL java/io/ByteArrayInputStream. ([B)V CHECKCAST java/io/InputStream L15 LINENUMBER 17 L15 ALOAD 1 INVOKEVIRTUAL java/lang/Long.longValue ()J L16 LINENUMBER 13 L16 INVOKESTATIC fi/iki/elonen/NanoHTTPD.newFixedLengthResponse (Lfi/iki/elonen/NanoHTTPD$Response$IStatus;Ljava/lang/String;Ljava/io/InputStream;J)Lfi/iki/elonen/NanoHTTPD$Response; GOTO L17 L6 LINENUMBER 21 L6 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getResponseCode ()I (itf) INVOKESTATIC fi/iki/elonen/NanoHTTPD$Response$Status.lookup (I)Lfi/iki/elonen/NanoHTTPD$Response$Status; CHECKCAST fi/iki/elonen/NanoHTTPD$Response$IStatus L18 LINENUMBER 22 L18 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getHeaders ()Lcom/ustadmobile/ihttp/headers/IHttpHeaders; (itf) LDC "content-type" INVOKEINTERFACE com/ustadmobile/ihttp/headers/IHttpHeaders.get (Ljava/lang/String;)Ljava/lang/String; (itf) ASTORE 3 L19 ALOAD 3 IFNULL L20 ALOAD 3 GOTO L21 L20 NOP LDC "application/octet-stream" L21 LINENUMBER 23 L21 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.bodyAsSource ()Lkotlinx/io/Source; (itf) ASTORE 3 L22 ALOAD 3 IFNULL L23 ALOAD 3 INVOKESTATIC kotlinx/io/SourcesJvmKt.asInputStream (Lkotlinx/io/Source;)Ljava/io/InputStream; ASTORE 4 L24 ALOAD 4 IFNULL L23 ALOAD 4 GOTO L25 L23 NOP NEW java/io/ByteArrayInputStream DUP ICONST_0 NEWARRAY T_BYTE INVOKESPECIAL java/io/ByteArrayInputStream. ([B)V CHECKCAST java/io/InputStream L25 LINENUMBER 20 L25 INVOKESTATIC fi/iki/elonen/NanoHTTPD.newChunkedResponse (Lfi/iki/elonen/NanoHTTPD$Response$IStatus;Ljava/lang/String;Ljava/io/InputStream;)Lfi/iki/elonen/NanoHTTPD$Response; L17 LINENUMBER 12 L17 ASTORE 2 L26 LINENUMBER 27 L26 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getHeaders ()Lcom/ustadmobile/ihttp/headers/IHttpHeaders; (itf) INVOKEINTERFACE com/ustadmobile/ihttp/headers/IHttpHeaders.names ()Ljava/util/Set; (itf) CHECKCAST java/lang/Iterable ASTORE 3 INVOKESTATIC kotlin/jvm/internal/InlineMarker.beforeInlineCall ()V NOP L27 ICONST_0 ISTORE 4 L28 LINENUMBER 43 L28 ALOAD 3 INVOKEINTERFACE java/lang/Iterable.iterator ()Ljava/util/Iterator; (itf) ASTORE 5 L29 ALOAD 5 INVOKEINTERFACE java/util/Iterator.hasNext ()Z (itf) IFEQ L30 ALOAD 5 INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object; (itf) ASTORE 6 L31 ALOAD 6 CHECKCAST java/lang/String ASTORE 7 INVOKESTATIC kotlin/jvm/internal/InlineMarker.beforeInlineCall ()V L32 ICONST_0 ISTORE 8 L33 LINENUMBER 31 L33 ALOAD 0 INVOKEINTERFACE com/ustadmobile/ihttp/response/IHttpResponse.getHeaders ()Lcom/ustadmobile/ihttp/headers/IHttpHeaders; (itf) ALOAD 7 INVOKEINTERFACE com/ustadmobile/ihttp/headers/IHttpHeaders.getAllByName (Ljava/lang/String;)Ljava/util/List; (itf) CHECKCAST java/lang/Iterable ASTORE 9 L34 LINENUMBER 32 L34 NOP L35 ICONST_0 ISTORE 10 L36 LINENUMBER 44 L36 ALOAD 9 ASTORE 11 NEW java/util/ArrayList DUP INVOKESPECIAL java/util/ArrayList. ()V CHECKCAST java/util/Collection ASTORE 12 L37 ICONST_0 ISTORE 13 L38 LINENUMBER 45 L38 ALOAD 11 INVOKEINTERFACE java/lang/Iterable.iterator ()Ljava/util/Iterator; (itf) ASTORE 14 L39 ALOAD 14 INVOKEINTERFACE java/util/Iterator.hasNext ()Z (itf) IFEQ L40 ALOAD 14 INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object; (itf) ASTORE 15 L41 ALOAD 15 CHECKCAST java/lang/String ASTORE 16 L42 ICONST_0 ISTORE 17 L43 LINENUMBER 33 L43 ALOAD 16 LDC "content-type" ICONST_1 INVOKESTATIC kotlin/text/StringsKt.equals (Ljava/lang/String;Ljava/lang/String;Z)Z IFNE L44 L45 LINENUMBER 34 L45 ALOAD 16 LDC "content-length" ICONST_1 INVOKESTATIC kotlin/text/StringsKt.equals (Ljava/lang/String;Ljava/lang/String;Z)Z IFNE L44 ICONST_1 GOTO L46 L44 ICONST_0 L46 GOTO L47 L47 INVOKESTATIC java/lang/Boolean.valueOf (Z)Ljava/lang/Boolean; L48 LINENUMBER 45 L48 CHECKCAST java/lang/Boolean INVOKEVIRTUAL java/lang/Boolean.booleanValue ()Z IFEQ L39 ALOAD 12 ALOAD 15 INVOKEINTERFACE java/util/Collection.add (Ljava/lang/Object;)Z (itf) POP L49 GOTO L39 L40 LINENUMBER 46 L40 ALOAD 12 L50 CHECKCAST java/util/List L51 LINENUMBER 44 L51 GOTO L52 L52 CHECKCAST java/lang/Iterable ASTORE 9 L53 LINENUMBER 35 L53 NOP L54 ICONST_0 ISTORE 10 L55 LINENUMBER 47 L55 ALOAD 9 INVOKEINTERFACE java/lang/Iterable.iterator ()Ljava/util/Iterator; (itf) ASTORE 11 L56 ALOAD 11 INVOKEINTERFACE java/util/Iterator.hasNext ()Z (itf) IFEQ L57 ALOAD 11 INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object; (itf) ASTORE 12 L58 ALOAD 12 CHECKCAST java/lang/String ASTORE 13 L59 ICONST_0 ISTORE 14 L60 LINENUMBER 36 L60 ALOAD 2 ALOAD 7 ALOAD 13 INVOKEVIRTUAL fi/iki/elonen/NanoHTTPD$Response.addHeader (Ljava/lang/String;Ljava/lang/String;)V L61 LINENUMBER 37 L61 GOTO L62 L62 GETSTATIC kotlin/Unit.INSTANCE : Lkotlin/Unit; L63 LINENUMBER 47 L63 POP L64 GOTO L56 L57 LINENUMBER 48 L57 GOTO L65 L65 LINENUMBER 38 L65 NOP GOTO L66 L66 GETSTATIC kotlin/Unit.INSTANCE : Lkotlin/Unit; INVOKESTATIC kotlin/jvm/internal/InlineMarker.afterInlineCall ()V L67 LINENUMBER 43 L67 POP L68 GOTO L29 L30 LINENUMBER 49 L30 NOP GOTO L69 L69 INVOKESTATIC kotlin/jvm/internal/InlineMarker.afterInlineCall ()V L70 LINENUMBER 40 L70 ALOAD 2 INVOKESTATIC kotlin/jvm/internal/Intrinsics.checkNotNull (Ljava/lang/Object;)V ALOAD 2 ARETURN L71 NOP L72 LOCALVARIABLE $i$a$-filter-NanoHttpdResponseAdapterKt$toNanoHttpdResponse$1$1 I L43 L47 17 LOCALVARIABLE it Ljava/lang/String; L42 L47 16 LOCALVARIABLE element$iv$iv Ljava/lang/Object; L41 L49 15 LOCALVARIABLE $i$f$filterTo I L38 L50 13 LOCALVARIABLE $this$filterTo$iv$iv Ljava/lang/Iterable; L37 L50 11 LOCALVARIABLE destination$iv$iv Ljava/util/Collection; L37 L50 12 LOCALVARIABLE $i$f$filter I L36 L52 10 LOCALVARIABLE $this$filter$iv Ljava/lang/Iterable; L35 L52 9 LOCALVARIABLE $i$a$-forEach-NanoHttpdResponseAdapterKt$toNanoHttpdResponse$1$2 I L60 L62 14 LOCALVARIABLE headerVal Ljava/lang/String; L59 L62 13 LOCALVARIABLE element$iv Ljava/lang/Object; L58 L64 12 LOCALVARIABLE $i$f$forEach I L55 L65 10 LOCALVARIABLE $this$forEach$iv Ljava/lang/Iterable; L54 L65 9 LOCALVARIABLE $i$a$-forEach-NanoHttpdResponseAdapterKt$toNanoHttpdResponse$1 I L33 L66 8 LOCALVARIABLE headerName Ljava/lang/String; L32 L66 7 LOCALVARIABLE element$iv Ljava/lang/Object; L31 L68 6 LOCALVARIABLE $i$f$forEach I L28 L69 4 LOCALVARIABLE $this$forEach$iv Ljava/lang/Iterable; L27 L69 3 LOCALVARIABLE contentLength Ljava/lang/Long; L5 L72 1 LOCALVARIABLE response Lfi/iki/elonen/NanoHTTPD$Response; L26 L72 2 LOCALVARIABLE $this$toNanoHttpdResponse Lcom/ustadmobile/ihttp/response/IHttpResponse; L0 L72 0 MAXSTACK = 5 MAXLOCALS = 18 File is unknown The root cause java.lang.OutOfMemoryError was thrown at: unknown at org.jetbrains.kotlin.codegen.TransformationMethodVisitor.visitEnd(TransformationMethodVisitor.kt:89) at org.jetbrains.org.objectweb.asm.MethodVisitor.visitEnd(MethodVisitor.java:796) at org.jetbrains.org.objectweb.asm.tree.MethodNode.accept(MethodNode.java:770) at org.jetbrains.kotlin.backend.jvm.codegen.ClassCodegen.generateMethod(ClassCodegen.kt:470) at org.jetbrains.kotlin.backend.jvm.codegen.ClassCodegen.generate(ClassCodegen.kt:164) at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.generateFile(JvmIrCodegenFactory.kt:446) at org.jetbrains.kotlin.backend.jvm.JvmIrCodegenFactory.invokeCodegen(JvmIrCodegenFactory.kt:413) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.runCodegen$cli(KotlinToJVMBytecodeCompiler.kt:425) at org.jetbrains.kotlin.cli.pipeline.jvm.JvmBackendPipelinePhase.executePhase(JvmBackendPipelinePhase.kt:89) at org.jetbrains.kotlin.cli.pipeline.jvm.JvmBackendPipelinePhase.executePhase(JvmBackendPipelinePhase.kt:27) at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:68) at org.jetbrains.kotlin.cli.pipeline.PipelinePhase.phaseBody(PipelinePhase.kt:58) at org.jetbrains.kotlin.config.phaser.NamedCompilerPhase.invoke(CompilerPhase.kt:102) at org.jetbrains.kotlin.backend.common.phaser.CompositePhase.invoke(PhaseBuilders.kt:22) at org.jetbrains.kotlin.config.phaser.CompilerPhaseKt.invokeToplevel(CompilerPhase.kt:53) at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.runPhasedPipeline(AbstractCliPipeline.kt:109) at org.jetbrains.kotlin.cli.pipeline.AbstractCliPipeline.execute(AbstractCliPipeline.kt:68) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:79) at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecutePhased(K2JVMCompiler.kt:45) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:90) at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.kt:352) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunnerBase.runCompiler(IncrementalJvmCompilerRunnerBase.kt:176) at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunnerBase.runCompiler(IncrementalJvmCompilerRunnerBase.kt:39) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.doCompile(IncrementalCompilerRunner.kt:499) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileImpl(IncrementalCompilerRunner.kt:416) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compileNonIncrementally(IncrementalCompilerRunner.kt:301) at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:128) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.execIncrementalCompiler(CompileServiceImpl.kt:684) at org.jetbrains.kotlin.daemon.CompileServiceImplBase.access$execIncrementalCompiler(CompileServiceImpl.kt:94) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1810) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) at java.base/java.lang.reflect.Method.invoke(Method.java:580) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(AccessController.java:714) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:598) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:844) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:721) at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:720) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1583) Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded