[foreign] NPE when trying to lookup a symbol in the default library when no libraries are loaded
Jorn Vernee
jbvernee at xs4all.nl
Wed Sep 12 18:25:04 UTC 2018
Sundararajan Athijegannathan schreef op 2018-09-12 20:08:
> I don't think it is jshell vs. compiled java program. It must be
> something else - because simplest main code does not reproduce NPE for
> me.
>
> import java.foreign.*;
>
> public class Main {
> public static void main(String[] args) throws Exception {
> Libraries.getDefaultLibrary().lookup("");
> }
> }
>
> java Main
> Exception in thread "main" java.lang.NoSuchMethodException: Cannot
> find symbol in library <default>
> at
> java.base/java.lang.ClassLoader$NativeLibrary.lookup(ClassLoader.java:2428)
> at Main.main(Main.java:5)
Ok, then I don't know. Btw, I am using the latest panama build minus the
last 2 change sets from today, but also with Maurizio's callbacks RFR
applied [1] (It might that then?).
> fwiw, the "default library" is a pseudo Library that searches all
> symbols in the process.
Ok good to know! I thought as much, but couldn't find where the
libraries were being searched in the source code. I'm just finding a
call to dlsym or GetProcAddress for the call to NativeLibrary.findEntry
. Is the defaultLibrary field being patched over by the VM? Can you
point me in the right direction?
Thanks,
Jorn
> -Sundar
[1] :
http://mail.openjdk.java.net/pipermail/panama-dev/2018-August/002565.html
More information about the panama-dev
mailing list