Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Jul 02 14:35
    keynmol synchronize #1749
  • Jul 02 14:19
    keynmol synchronize #1749
  • Jul 02 14:05
    keynmol synchronize #1749
  • Jul 02 14:03
    keynmol synchronize #1749
  • Jul 02 12:15
    keynmol synchronize #1749
  • Jul 02 12:02
    keynmol synchronize #1749
  • Jul 02 10:52
    ckipp01 edited #1750
  • Jul 02 10:49
    keynmol synchronize #1749
  • Jul 02 10:48
    ckipp01 edited #1750
  • Jul 02 10:46
    ckipp01 opened #1750
  • Jul 02 10:46

    ckipp01 on captureCode

    feat: capture diagnostic code f… (compare)

  • Jul 02 10:08
    keynmol synchronize #1749
  • Jul 01 16:31
    keynmol synchronize #1749
  • Jul 01 16:24
    keynmol synchronize #1749
  • Jul 01 13:50

    bloopoid on gh-pages

    Deploy website Deploy website … (compare)

  • Jul 01 13:49
    tgodzik commented #1748
  • Jul 01 12:40

    bloopoid on gh-pages

    Deploy website Deploy website … (compare)

  • Jul 01 12:30
    tgodzik closed #1747
  • Jul 01 12:30

    tgodzik on main

    Fix resolution of test-jar arti… (compare)

  • Jul 01 12:27
    tgodzik labeled #1748
Tomasz Godzik
@tgodzik
for bloop-jvm could you try installing newest snpashot version? 1.4.8-88-a707e8ba
not sure whether it's an issue that I maybe fixed
scala version is not relevant here, Bloop uses a certain version underneath, but that should not be problematic to the user
however, we do shade a lot, so maybe soemthing broke again
coming back to the fist issue, it looks like maybe it wasn't properly installed?
/home/steve/.local/share/coursier/bin/bloop: line 4: /home/steve/.local/share/coursier/bin/.bloop.aux: No such file or directory.
I get that downloaded when installing Bloop via cs install bloop - maybe it's an old coursier version or you could try downloading again?
Siddhant Sanyam
@siddhant3s
@tgodzik, What do you mean by native image related? Is the bloop cli, in fact a native image?
I'm using a JAR file BTW, to run bloop.
Steve Jones
@sjfloat
@tgodzik isn't coursier the recommended install method? cs install bloop is exactly what I'm doing.
Tomasz Godzik
@tgodzik
@siddhant3s bloop cli is a native image that's correct
@sjfloat it is the recommended option, but usually it should add the .bloop.aux file
Tomasz Godzik
@tgodzik
I just confirmed that cs install bloop should set up two files, any idea why .bloop.aux might be missing?
Steve Jones
@sjfloat
To be clear, it's not missing.
The problem is that bloop is a shell script that's trying to execute .bloop.aux, as an executable binary.
But it's not, it's a shared library. It would need to be linked to an executable to be run that way.
It's an ELF file, but it's of the type that would typically be a .so file.
The error is from the shell script, and it's a bit spurious. The file exists, it's just not an executable file.
Steve Jones
@sjfloat
The problem with bloop-jvm is an entirely different matter. I don't know what's up with that one.
Steve Jones
@sjfloat
OK, something changed as of today.
Now when I install, it appears to be a 'pie executable', which is still not a standalone executable.
Siddhant Sanyam
@siddhant3s
@tgodzik but Just to be clear, I don't use the native image. I use the JAR file.
Siddhant Sanyam
@siddhant3s
I'm not able to run bloop from coursier bootstrap:
% cs  bootstrap bloop  -o bloop -f --standalone
% ./bloop server
Attempting a connection to the server...
Resolving ch.epfl.scala:bloop-frontend_2.12:1.4.8...
Exception in thread "main" bloop.shaded.coursier.util.Task$WrappedException: java.lang.NoClassDefFoundError: scala/collection/compat/immutable/LazyList$
    at bloop.shaded.coursier.util.Task$.wrap(Task.scala:88)
    at bloop.shaded.coursier.util.Task$.$anonfun$flatMap$2(Task.scala:14)
    at scala.concurrent.Future.$anonfun$flatMap$1(Future.scala:307)
    at scala.concurrent.impl.Promise.$anonfun$transformWith$1(Promise.scala:41)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
Caused by: java.lang.NoClassDefFoundError: scala/collection/compat/immutable/LazyList$
    at bloop.shaded.coursier.core.ResolutionProcess$.uniqueModules$1(ResolutionProcess.scala:416)
    at bloop.shaded.coursier.core.ResolutionProcess$.fetchAll(ResolutionProcess.scala:423)
    at bloop.shaded.coursier.core.ResolutionProcess.run(ResolutionProcess.scala:28)
    at bloop.shaded.coursier.Resolve$.runProcess(Resolve.scala:303)
    at bloop.shaded.coursier.Resolve.run$1(Resolve.scala:110)
    at bloop.shaded.coursier.Resolve.ioWithConflicts0(Resolve.scala:160)
    at bloop.shaded.coursier.Resolve.$anonfun$ioWithConflicts$1(Resolve.scala:171)
    at bloop.shaded.coursier.util.Task$.$anonfun$flatMap$extension$1(Task.scala:14)
    at bloop.shaded.coursier.util.Task$.$anonfun$flatMap$extension$1$adapted(Task.scala:14)
    at bloop.shaded.coursier.util.Task$.wrap(Task.scala:84)
    ... 9 more
Caused by: java.lang.ClassNotFoundException: scala.collection.compat.immutable.LazyList$
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 19 more
Siddhant Sanyam
@siddhant3s
Found this in the issue: scalacenter/bloop#1463
This was fixed by @tgodzik in tgodzik/bloop@d8ece55
But it never got released. When do we plan to have the next release of Bloop? It seems the last one was in February
Siddhant Sanyam
@siddhant3s
Is nailgun involved in bloop at all? If so, is the way CLI communicate to bloop server as following:
./bloop.jar compile blah will actually first connect to a nailgun server? And that server will then connect to the actual bloop server?
Siddhant Sanyam
@siddhant3s
Or is it the case that the bloop server implements the Nailgun protocol. And the bloopgun (which is the CLI) directly contacts the bloop server using the Nailgun protocol
Steve Jones
@sjfloat
That's the same trouble I have when trying bloop-jvm
Siddhant Sanyam
@siddhant3s
@sjfloat , how do you get bloop-jvm?
Siddhant Sanyam
@siddhant3s

@tgodzik About the nailgun issue. You were right. The retcode is originating from the Nailgun client. I tried running it with --nailgun-verbose. I found the java command which starts the Nailgun server. So I tried manually starting the bloop.Server class. This was basically java -Xss4m -XX:MaxInlineLevel=20 -XX:+UseParallelGC -classpath <a long path> bloop.Server. When I did that, and issued a bloop compile ... command from another shell, I get Nailgun raised unhandled exception.

Unable to load nailgun-version.properties.
NGServer [UNKNOWN] started on address localhost/127.0.0.1 port 8212.
Nail raised unhandled exception
Nail raised unhandled exception
Nail raised unhandled exception
Nail raised unhandled exception

Now I'm trying to find out how can I have the bloop server print the unhandled exception.

Steve Jones
@sjfloat
I installed it with coursier.
Siddhant Sanyam
@siddhant3s
@tgodzik So, using jdb I set a breakpoint on the place where the exception was originating and found that the issue was that on some of our machines, ~/.local/ was being owned by the root. Hence Bloop was throwing a PermissionError. Which was getting gulped by the try-catch here. Making that directory writable, fixed it!
Tomasz Godzik
@tgodzik
@siddhant3s glad you figured it out! We should try print this under verbose for sure
though I thought logging there should print it
weird
@sjfloat I seem to have .bloop.aux set as an executable, so maybe try adding chmod +x to it? It does work for me, so I am pretty sure it should work ok
btw. what is your coursier version? maybe it's an older version that is not setting the executable flag?
btw. bloop seems to be an executable jar, that's what can be prepared using coursier
Siddhant Sanyam
@siddhant3s
I thought that too! LOG.info("Nail raised unhandled exception", t) would print the error but it didn't.
Steve Jones
@sjfloat
@siddhant3s it's not enough to set the executable permissions. They are set appropriately. The file itself is not an executable.
And my .local has the correct ownership as well.
IOW, setting +x only determines the permissions of the file. It doesn't fundamentally change the type of file it is. And .bloop.aux is not an executable file, it's a shared object.
The problem is that bloop is a shell script attempting to execute .bloop.aux, which is not an executable file - it's a shared library object file.
Steve Jones
@sjfloat
It's not enough to compile source to an object, it must be linked to be executable.
Tomasz Godzik
@tgodzik
Sure, but this seems to work normally and it seems that notes point to .bloop.aux being the program https://github.com/scalacenter/bloop/blob/b32fe8c9bb2d6e8fcd1a6b7ca92f6232cf0ddf90/project/ReleaseUtils.scala#L295
I haven't worked on that part myself unfortunately, so I am just guessing
maybe you could try using the binaries from the page :https://github.com/scalacenter/bloop/releases/tag/v1.4.8
Tomasz Godzik
@tgodzik
but anyway, bloop should be able to use .bloop.aux and that's what is normally happening
I don't think it matters that it is a shared library object, since it does work normally
what does coursier/bin/bloop contain ?