[foreign] NPE when trying to lookup a symbol in the default library when no libraries are loaded
Sundararajan Athijegannathan
sundararajan.athijegannathan at oracle.com
Wed Sep 12 18:08:11 UTC 2018
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)
fwiw, the "default library" is a pseudo Library that searches all
symbols in the process.
-Sundar
On 12/09/18, 11:15 PM, Jorn Vernee wrote:
> Sundararajan Athijegannathan schreef op 2018-09-12 19:41:
>> I tried the following on Mac.
>>
>> $ jshell
>>
>> | Welcome to JShell -- Version 12-internal
>> | For an introduction type: /help intro
>>
>> jshell> import java.foreign.*;
>>
>> jshell> Libraries.getDefaultLibrary().lookup("");
>> | Exception java.lang.NoSuchMethodException: Cannot find symbol in
>> library <default>
>> | at ClassLoader$NativeLibrary.lookup (ClassLoader.java:2428)
>> | at (#2:1)
>>
>>
>> I got the NSME as expected. It seems either it is Windows specific or
>> perhaps not the latest panama build [just guessing]
>>
>> Thanks,
>> -Sundar
>
> In jshell I'm also seeing an NSME, so I guess jshell is loading a
> native library.
>
> I'm just compiling a file with the code to repro in the main, and
> getting and NPE.
>
> Jorn
More information about the panama-dev
mailing list