bloopoid on gh-pages
Deploy website Deploy website … (compare)
tgodzik on main
Update debug adapter version to… Merge pull request #1733 from t… (compare)
bloopoid on gh-pages
Deploy website Deploy website … (compare)
bloopoid on gh-pages
Deploy website Deploy website … (compare)
tgodzik on github_actions
tgodzik on main
build(deps): bump actions/uploa… Merge pull request #1732 from s… (compare)
tgodzik on github_actions
tgodzik on main
build(deps): bump actions/cache… Merge pull request #1731 from s… (compare)
bloop
is a shell script that's trying to execute .bloop.aux
, as an executable binary.
.so
file.
% 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
@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.
~/.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!
.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
bloop
seems to be an executable jar, that's what can be prepared using coursier
.local
has the correct ownership as well.
+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.
bloop
is a shell script attempting to execute .bloop.aux
, which is not an executable file - it's a shared library object file.
.bloop.aux
being the program https://github.com/scalacenter/bloop/blob/b32fe8c9bb2d6e8fcd1a6b7ca92f6232cf0ddf90/project/ReleaseUtils.scala#L295
coursier/bin/bloop
contain ?
$ readelf -l ~/.local/share/coursier/bin/.bloop.aux
Elf file type is DYN (Shared object file)
Entry point 0x118240
There are 9 program headers, starting at offset 64
Program Headers:
Type Offset VirtAddr PhysAddr
FileSiz MemSiz Flags Align
PHDR 0x0000000000000040 0x0000000000000040 0x0000000000000040
0x00000000000001f8 0x00000000000001f8 R 0x8
INTERP 0x0000000000000238 0x0000000000000238 0x0000000000000238
0x000000000000001c 0x000000000000001c R 0x1
[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
LOAD 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x00000000026afd48 0x00000000026afd48 R E 0x200000
LOAD 0x00000000026b0748 0x00000000028b0748 0x00000000028b0748
0x0000000000006938 0x0000000000006d20 RW 0x200000
DYNAMIC 0x00000000026b3928 0x00000000028b3928 0x00000000028b3928
0x0000000000000250 0x0000000000000250 RW 0x8
NOTE 0x0000000000000254 0x0000000000000254 0x0000000000000254
0x0000000000000044 0x0000000000000044 R 0x4
GNU_EH_FRAME 0x00000000026a98e0 0x00000000026a98e0 0x00000000026a98e0
0x0000000000000fb4 0x0000000000000fb4 R 0x4
GNU_STACK 0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000 0x0000000000000000 RW 0x10
GNU_RELRO 0x00000000026b0748 0x00000000028b0748 0x00000000028b0748
0x00000000000038b8 0x00000000000038b8 R 0x1
Section to Segment mapping:
Segment Sections...
00
01 .interp
02 .interp .note.ABI-tag .note.gnu.build-id .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init .plt .plt.got .text .fini .rodata .svm_heap .eh_frame_hdr .eh_frame
03 .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
04 .dynamic
05 .note.ABI-tag .note.gnu.build-id
06 .eh_frame_hdr
07
08 .init_array .fini_array .data.rel.ro .dynamic .got