Skip to content

Bloop libdaemonjvm.server.LockError$ZombieFound when Coursier cache is in an inconsistent state #2899

Open
@kavedaa

Description

@kavedaa

Version(s)

>scala-cli --version
Scala CLI version: 1.3.1
Scala version (default): 3.4.1

Describe the bug

When attempting to compile a .scala file using scala-cli, it fails with Error: bloop.rifle.FailedToStartServerExitCodeException: Server failed with exit code 1

To Reproduce

test.scala:

@main def hello() = println("Hello world")

Run:

scala-cli test.scala

Output:

Starting compilation server
Error: bloop.rifle.FailedToStartServerExitCodeException: Server failed with exit code 1
For more details, please see 'E:\prog\scala\2024-05-09\.scala-build\stacktraces\1715261914-11874568566794901524.log'
Running
  C:\Program Files\scala-cli-x86_64-pc-win32\scala-cli.exe --power bloop output
might give more details.

Log file:

bloop.rifle.FailedToStartServerExitCodeException: Server failed with exit code 1
  bloop.rifle.internal.Operations$.$anonfun$startServer$8(Operations.scala:264)
  bloop.rifle.BloopRifleLogger.$anonfun$runnable$1(BloopRifleLogger.scala:14)
  java.base@17.0.6/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
  java.base@17.0.6/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
  java.base@17.0.6/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
  java.base@17.0.6/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
  java.base@17.0.6/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
  java.base@17.0.6/java.lang.Thread.run(Thread.java:833)
  com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:775)
  com.oracle.svm.core.windows.WindowsPlatformThreads.osThreadStartRoutine(WindowsPlatformThreads.java:178)

Output of scala-cli.exe --power bloop output:

>scala-cli --power bloop output
Bloop server PID: 25616
Ignoring SIGINT
Will truncate output file C:\Users\Knut Arne Vedaa\AppData\Local\ScalaCli\data\bloop\daemon\output every 5 minutes
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Caught libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696, trying again in 3 seconds
Exception in thread "main" java.lang.Exception: libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696
        at bloop.Bloop$.loop$1(Bloop.scala:102)
        at bloop.Bloop$.main(Bloop.scala:114)
        at bloop.Bloop.main(Bloop.scala)
Caused by: libdaemonjvm.server.LockError$ZombieFound: Cannot connect to process 2696
        at libdaemonjvm.server.Lock$.ifProcessRunning$1(Lock.scala:59)
        at libdaemonjvm.server.Lock$.$anonfun$tryAcquire$6(Lock.scala:76)
        at libdaemonjvm.server.Lock$.$anonfun$tryAcquire$6$adapted(Lock.scala:75)
        at scala.Option.flatMap(Option.scala:271)
        at libdaemonjvm.server.Lock$.ifFiles$1(Lock.scala:75)
        at libdaemonjvm.server.Lock$.tryAcquire(Lock.scala:94)
        at bloop.Bloop$.loop$1(Bloop.scala:93)
        ... 2 more
Caused by: java.net.ConnectException: Connection refused: connect
        at java.base/sun.nio.ch.UnixDomainSockets.connect0(Native Method)
        at java.base/sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:148)
        at java.base/sun.nio.ch.UnixDomainSockets.connect(UnixDomainSockets.java:144)
        at java.base/sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:851)
        at libdaemonjvm.internal.Java16SocketHandler$.client(Java16SocketHandler.scala:22)
        at libdaemonjvm.internal.SocketHandler$.client(SocketHandler.scala:18)
        at libdaemonjvm.internal.SocketFile$.connect(SocketFile.scala:23)
        at libdaemonjvm.internal.SocketFile$.canConnect(SocketFile.scala:14)
        at libdaemonjvm.server.Lock$.ifProcessRunning$1(Lock.scala:57)
        ... 8 more

Expected behaviour

That the file is compiled and run.

Metadata

Metadata

Assignees

No one assigned

    Labels

    BloopIssues tied with Bloop integration.bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions