1.1.3 compleDebugKotlin task can't finish


#1

Hello,

When I compile project after adding a kotlin file, the process is stuck at compleDebugKotlin.
It’s like get in a dead loop.

Below is the gradle log with --debug:
23:16:41.048 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: name = “java.rmi.dgc.Lease”, codebase = ""
23:16:41.049 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: name = “java.rmi.dgc.VMID”, codebase = ""
23:16:41.049 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: name = “[B”, codebase = “” 23:16:41.049 [DEBUG] [sun.rmi.loader] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: name = “java.rmi.server.UID”, codebase = ""
23:16:41.050 [DEBUG] [sun.rmi.client.ref] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: free connection (reuse = true)
23:16:41.050 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: reuse connection
23:16:41.050 [DEBUG] [sun.rmi.transport.tcp] RMI RenewClean-[127.0.0.1:17195,org.jetbrains.kotlin.daemon.common.LoopbackNetworkInterface$ClientLoopbackSocketFactory@225e201f]: create reaper
23:16:42.080 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting OS memory status event {Total: 8589934592, Free: 2603266048}
23:16:42.080 [DEBUG] [org.gradle.launcher.daemon.server.health.LowMemoryDaemonExpirationStrategy] Received memory status update: {Total: 8589934592, Free: 2603266048}
23:16:42.080 [DEBUG] [org.gradle.process.internal.health.memory.MemoryManager] Emitting JVM memory status event {Maximum: 1431830528, Committed: 559415296}
23:16:43.863 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] DaemonExpirationPeriodicCheck running
23:16:43.864 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
23:16:43.864 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
23:16:43.864 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
23:16:43.865 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Waiting to acquire shared lock on daemon addresses registry.
23:16:43.865 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Lock acquired on daemon addresses registry.
23:16:43.865 [DEBUG] [org.gradle.cache.internal.DefaultFileLockManager] Releasing lock on daemon addresses registry.
<==-----------> 19% EXECUTING [22m 3s]


#2

Could you please use jstack to capture a thread dump of the compiler process during the hang? Thanks!


#3

jstack_output_file.zip (15.1 KB)

Tks for reply, the jstack output file has been attached


#4

Thanks! The stacktrace shows that the compiler performs a very long type inference procedure. Can you share the code with us, so that we could investigate why it’s taking so long?


#5

this is my project, I built it on mac, window, linux, but the same question.
It was well before I added the code of the last two commit.


#6

Thanks! I’ve reproduced the problem and filed https://youtrack.jetbrains.com/issue/KT-19457 to track it.


#7

Thank you, Maybe it is well if I can move the construct of view out. let me have a try.