Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why does executing debug in 0.13.7 fail with "Could not find agent library jdwp:transport on the library path"?

Tags:

debugging

sbt

After update from 0.13.6 to 0.13.7 I cannot debug with SBT. It is installed using Homebrew. I tried to reinstall it, brew doctor shows nothing. I did not change/reinstall Java between SBT update.

lgr$ sbt -v -jvm-debug 5005 "project webapp" run
[process_args] java_version = '1.8.0_25'
# Executing command line:
java
-Xms1024m
-Xmx1024m
-XX:ReservedCodeCacheSize=128m
-XX:MaxMetaspaceSize=256m
-agentlib:jdwp:transport=dt_socket,server=y,suspend=n,address=5005
-jar
/usr/local/Cellar/sbt/0.13.7/libexec/sbt-launch.jar
"project webapp"
run

Error occurred during initialization of VM
Could not find agent library jdwp:transport on the library path, with error: dlopen(libjdwp:transport.dylib, 1): image not found

I am unsure whether SBT is missing some library, or brew formula didn't install properly. I will be helpful for any idea how to fix it.

Reinstalled Java, didn't help.

Workaround I downloaded SBT 0.13.6 and it works without problem, so I start to consider this as a sbt bug. Can anyone help to clarify if it is?

like image 506
Leszek Gruchała Avatar asked Nov 28 '14 12:11

Leszek Gruchała


1 Answers

To piggyback on Eugene's answer above, since the fix is in a bash script, it is pretty easy to apply the fix from https://github.com/sbt/sbt-launcher-package/pull/85/files manually. Just edit bin/sbt-launch-lib.bash to have this:

addJava "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=$1"

Instead of this:

addJava "-agentlib:jdwp:transport=dt_socket,server=y,suspend=n,address=$1"

(Mind the : not = between jdwp and transport).

like image 190
Snack Cake Avatar answered Sep 21 '22 11:09

Snack Cake