Bug 210297 - java/openjdk8 + jsvc with javaagent: libinstrument.so: Undefined symbol "JLI_ManifestIterate"
Summary: java/openjdk8 + jsvc with javaagent: libinstrument.so: Undefined symbol "JLI_...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Greg Lewis
Depends on:
Reported: 2016-06-15 07:18 UTC by Alex Nordlund
Modified: 2018-03-27 07:12 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (java)


Note You need to log in before you can comment on or make changes to this bug.
Description Alex Nordlund 2016-06-15 07:18:46 UTC
If I add -javaagent:/usr/local/newrelic.jar jsvc fails to start the jvm, errors out with:
/usr/local/openjdk8/jre/lib/amd64/libinstrument.so: Undefined symbol "JLI_ManifestIterate"

If I LD_PRELOAD /usr/local/openjdk8/lib/amd64/jli/libjli.so then it works.

openjdk 1.8.0_92, freebsd 10.2, amd64, newrelic agent 3.29.0
Comment 1 Andrew Smith 2016-09-06 15:00:56 UTC
Could you set JAVA_HOME is set to /usr/local/openjdk8, jsvc defines a set of locations for libjli.so in locations.h but all candidate ones relevant to FreeBSD are relative to $JAVA_HOME.
Comment 2 Andrew Smith 2016-09-26 13:59:18 UTC
Alex, is this still an issue with JAVA_HOME set?
Comment 3 rustamabd 2017-01-08 10:51:29 UTC
Same thing happens to me with a JMX agent.

jsvc -javaagent:/usr/local/etc/jmx/JMXAgent.jar ...

Fails with:

/usr/local/openjdk8/jre/lib/amd64/libinstrument.so: Undefined symbol "JLI_ManifestIterate"

Strangely, it worked fine with openjdk8 8.112.16 (and previous versions), but fails now after upgrading to 8.112.16_2.

Setting JAVA_HOME doesn't help.
Comment 4 Palle Girgensohn freebsd_committer 2017-04-04 21:59:35 UTC
Hi, I was just hit by this as well... It doesn't happen right away though, it happened after running 20 minutes.

Did you find a soultion?

Comment 5 Greg Lewis freebsd_committer 2018-03-04 17:51:20 UTC
It looks like libinstrument.so requires libjli.so but isn't linked with it.
Comment 6 Greg Lewis freebsd_committer 2018-03-04 17:55:43 UTC
In particular, I'd suggest looking at the build logic in


It has some BSD logic in there for libinstrument, but it looks like it isn't being picked up properly.
Comment 7 commit-hook freebsd_committer 2018-03-06 04:41:23 UTC
A commit references this bug:

Author: glewis
Date: Tue Mar  6 04:41:09 UTC 2018
New revision: 463688
URL: https://svnweb.freebsd.org/changeset/ports/463688

  . Link libinstrument.so with iconv and jli as intended.

  PR:		210297

Comment 8 Greg Lewis freebsd_committer 2018-03-06 04:42:24 UTC
I've committed a change which links libinstrument.so with libjli.so as intended.  Let me know if that fixes the problem for you.
Comment 9 Greg Lewis freebsd_committer 2018-03-27 07:12:31 UTC
Please reopen if you have problems.