This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-10-25
Channels
- # announcements (14)
- # aws (1)
- # babashka (23)
- # beginners (442)
- # calva (50)
- # chlorine-clover (1)
- # cider (32)
- # clojure (124)
- # clojure-europe (35)
- # clojure-france (5)
- # clojure-gamedev (5)
- # clojure-nl (2)
- # clojure-portugal (3)
- # clojure-uk (4)
- # clojurescript (56)
- # conjure (5)
- # cursive (24)
- # datalevin (1)
- # datomic (57)
- # fulcro (35)
- # helix (15)
- # holy-lambda (8)
- # introduce-yourself (1)
- # jobs (5)
- # kaocha (1)
- # lsp (99)
- # malli (10)
- # music (1)
- # off-topic (22)
- # pathom (38)
- # podcasts-discuss (10)
- # polylith (10)
- # reitit (1)
- # releases (1)
- # remote-jobs (4)
- # shadow-cljs (18)
- # spacemacs (6)
- # tools-build (22)
- # vim (66)
- # xtdb (22)
mm interesting I got a double free or corruption
error from clojure-lsp, never seen that one before
using the latest version of clojure-lsp
weirdly I can't even replicate it running the same command inside the same docker container
but it only happens when running in CI
mm no sadly
but strangely it also stopped happening now
yeah probably be ignored, some weird thing happened on the machine that was running it maybe
I noticed that in a project it was only running on cljc files, and I guess it was because :paths
in the deps.edn file was just set to src/cljc.
there are various aliases in the project though so of course also src/clj and src/cljs were in extra-paths
so is clojure-lsp only looking at :paths
?
@andrea.crotti Check here: https://clojure-lsp.io/settings/#source-paths-discovery clojure-lsp has some checks to define which source-paths will be used
mm
If your project is a deps.edn, clojure-lsp will scan the deps.edn file for :paths, :extra-paths and the paths from the specified :source-aliases setting (default #{:dev :test}), unless you specified :source-paths manually.
but it's not really working though
because there is paths
and a few extra-paths
should they be merged together?
How to get the log: http://clojure-lsp.github.io/clojure-lsp
mm yeah weird src/cljs is not picked up
even though it's in extra-paths
there are multiple extra-paths
from what I see it might be just taking the last extra-paths
it finds
instead of merging them together
let me see if I can replicate it with a trivial example
great thanks
ah ok thanks
Hi @ericdallo,
when i trigger a doc pop-up via M-x lsp-ui-doc-glance
the pop-up disappear even when moving the mouse,
so it is not possible to scroll through the documentation. Is there a way to keep the popup open while moving the mouse.
The popup stays in place only if the mouse pointer happen to be already over the popup.
here is the configuration used
(setq lsp-ui-doc-enable nil
lsp-ui-doc-position 'at-point
lsp-ui-doc-include-signature t)
Personally, I don't use lsp-ui-doc, I use eldoc emacs integration via doom-emacs which shows the doc in a separate buffer
@ericdallo GitHub Actions is sometimes giving me JVM fatal errors when running clojure-lsp tests
Maybe you've seen these sometimes too?
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f3f43bf02e4, pid=5768, tid=5836
#
# JRE version: OpenJDK Runtime Environment Temurin-11.0.13+8 (11.0.13+8) (build 11.0.13+8)
# Java VM: OpenJDK 64-Bit Server VM Temurin-11.0.13+8 (11.0.13+8, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [lmdbjava-native-library-341116842821046309.so+0x62e4]
#
# Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/runner/work/rewrite-clj/rewrite-clj/test-libs-work/clojure-lsp-2021.10.20-16.49.47/core.5768)
#
# An error report file with more information is saved as:
# /home/runner/work/rewrite-clj/rewrite-clj/test-libs-work/clojure-lsp-2021.10.20-16.49.47/hs_err_pid5768.log
#
# If you would like to submit a bug report, please visit:
#
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Just assumed it was a JVM bug of some sort. Has happened a few times now so thought I should at least make you aware.@UE21H2HHD how those actions on rewrite-clj works?
Yeah, patches clojure-lsp deps with locally installed rewrite-clj jar built off rewrite-clj master.
But I'm not suspecting rewrite-clj - not much has changed in a long while. More guessing we just hit a JDK bug.
Yeah, really sounds like a jdk corner case issue, maybe try other jdk versions? Clojure-lsp CI test java 8, 11 and 15
Maybe it could be the jdk you are using, maybe try use the same I use on clojure-lsp GH action?
I switched from openjdk to temurin recently. Using temurin JDK 11 for all canary lib testing.
Looking at your workflow, clojure-lsp is still using setup-java@v1... so that means it is using Zulu I think.
I'm guessing there is nothing for us to solve here. Really more just wanted to make you aware.
Meh, Zulu might be fine. It was only setup-java@v2 that started letting you specify the distribution if I remember correctly.
Or who knows, might have something to do with lmdbjava-native-library
which I see in the fatal error report.
Uh, this comes from datalevin for sure, maybe @U0A74MRCJ knows something about it
Ah, that might be the interesting thing! I guess you could try running your test suite in a loop and see if it eventually fails.
Interesting, this is from a compiled lmdb dynamic library, done by lmdbjava, they uses an older version of lmdb, so maybe i should compile my own
lmdbjava-native-library-xxx is from LMDBJava, which is not used in our GraalVM version, we compile our own LMDB (same version of LMDB as JVM one though) in GraalVM version
LMDB is compiled as static library in our graalvm version, but it is against glibc, so something might be different from musl
I htink only linux @U0A74MRCJ, not sure though
ok, then the build script will need to do something different depending on OS, i can give it a try when I get the things off my plate.
I'm a Nix user so the only binary that should work correctly on my machine is a musl static one :)
i would like this to be out in the next major release, because this may introduce breaking changes
the next release is full-text search feature, i have done bulk of the work, needs to optimize here and there
FWIW, I looked up a previous failure on GitHub Actions from a few days ago, looks very similar to the one I reported today: https://github.com/clj-commons/rewrite-clj/runs/3970926620?check_suite_focus=true#step:9:3098 I'm not sure how long these logs are preserved, so you might want to grab copies.
@U0A74MRCJ just curious, did you manage to trigger a reproducible failure?
Thanks! I should bump clojure-lsp soon, but I think only next clojure-lsp release will affect @UE21H2HHD
Nice sleuthing @U0A74MRCJ!
@ericdallo if I bumped into this on CI I expect others will have bumped into it too! After the upgrade, I’ll be sure to let you know if CI fails for me again.
@ericdallo I’ve bumped to the current clojure-lsp for my rewrite-clj canary tests. I’ll letcha know if I see any more JVM crashes on CI.
Here's a link to the ephemeral GitHub Actions output: https://github.com/clj-commons/rewrite-clj/runs/4003213921?check_suite_focus=true#step:9:1555