[ 
https://issues.apache.org/jira/browse/DRILL-6349?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16679709#comment-16679709
 ] 

ASF GitHub Bot commented on DRILL-6349:
---------------------------------------

vvysotskyi commented on issue #1446: DRILL-6349: Drill JDBC driver fails on 
Java 1.9+ with NoClassDefFoundError: sun/misc/VM
URL: https://github.com/apache/drill/pull/1446#issuecomment-436982612
 
 
   @oleg-zinovev, Drill fails to start on Windows. There are two syntax errors 
in scripts:
   - `rem` should be used for comment, but you have specified `#`: `# Check 
that java is newer than 1.8`.
   - wrong quotes usage in `set DRILL_SHELL_JAVA_OPTS="%DRILL_SHELL_JAVA_OPTS% 
--add-opens java.base/java.lang=ALL-UNNAMED"`. It should be without quotes.
   
   But even when these problems are fixed, Drill fails to start with error:
   ```
   Error: Failure in starting embedded Drillbit: java.lang.RuntimeException: 
ExitCodeException exitCode=-1073741515: (state=,code=0)
   java.sql.SQLException: Failure in starting embedded Drillbit: 
java.lang.RuntimeException: ExitCodeException exitCode=-1073741515:
           at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:139)
           at 
org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:67)
           at 
org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:68)
           at 
org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)
           at org.apache.drill.jdbc.Driver.connect(Driver.java:72)
           at sqlline.DatabaseConnection.connect(DatabaseConnection.java:154)
           at 
sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:202)
           at sqlline.Commands.connect(Commands.java:1165)
           at sqlline.Commands.connect(Commands.java:1055)
           at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.base/java.lang.reflect.Method.invoke(Method.java:566)
           at 
sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:38)
           at sqlline.SqlLine.dispatch(SqlLine.java:643)
           at sqlline.SqlLine.initArgs(SqlLine.java:385)
           at sqlline.SqlLine.begin(SqlLine.java:485)
           at sqlline.SqlLine.start(SqlLine.java:233)
           at sqlline.SqlLine.main(SqlLine.java:175)
   Caused by: java.lang.RuntimeException: ExitCodeException 
exitCode=-1073741515:
           at 
org.apache.drill.exec.store.sys.store.LocalPersistentStore.put(LocalPersistentStore.java:186)
           at 
org.apache.drill.exec.store.sys.CaseInsensitivePersistentStore.put(CaseInsensitivePersistentStore.java:47)
           at 
org.apache.drill.exec.store.StoragePluginsHandlerService.lambda$loadPlugins$1(StoragePluginsHandlerService.java:93)
           at java.base/java.lang.Iterable.forEach(Iterable.java:75)
           at 
org.apache.drill.exec.store.StoragePluginsHandlerService.lambda$loadPlugins$2(StoragePluginsHandlerService.java:93)
           at java.base/java.util.Optional.ifPresent(Optional.java:183)
           at 
org.apache.drill.exec.store.StoragePluginsHandlerService.loadPlugins(StoragePluginsHandlerService.java:93)
           at 
org.apache.drill.exec.store.StoragePluginRegistryImpl.init(StoragePluginRegistryImpl.java:111)
           at org.apache.drill.exec.server.Drillbit.run(Drillbit.java:200)
           at 
org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:130)
           ... 18 more
   Caused by: ExitCodeException exitCode=-1073741515:
           at org.apache.hadoop.util.Shell.runCommand(Shell.java:585)
           at org.apache.hadoop.util.Shell.run(Shell.java:482)
           at 
org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:776)
           at org.apache.hadoop.util.Shell.execCommand(Shell.java:869)
           at org.apache.hadoop.util.Shell.execCommand(Shell.java:852)
           at 
org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:733)
           at 
org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:225)
           at 
org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileOutputStream.<init>(RawLocalFileSystem.java:209)
           at 
org.apache.hadoop.fs.RawLocalFileSystem.createOutputStreamWithMode(RawLocalFileSystem.java:307)
           at 
org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:296)
           at 
org.apache.hadoop.fs.RawLocalFileSystem.create(RawLocalFileSystem.java:328)
           at 
org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSOutputSummer.<init>(ChecksumFileSystem.java:398)
           at 
org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:461)
           at 
org.apache.hadoop.fs.ChecksumFileSystem.create(ChecksumFileSystem.java:440)
           at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:911)
           at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:892)
           at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:789)
           at org.apache.hadoop.fs.FileSystem.create(FileSystem.java:778)
           at 
org.apache.drill.exec.store.dfs.DrillFileSystem.create(DrillFileSystem.java:180)
           at 
org.apache.drill.exec.store.sys.store.LocalPersistentStore.put(LocalPersistentStore.java:183)
           ... 27 more
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


> Drill JDBC driver fails on Java 1.9+ with NoClassDefFoundError: sun/misc/VM
> ---------------------------------------------------------------------------
>
>                 Key: DRILL-6349
>                 URL: https://issues.apache.org/jira/browse/DRILL-6349
>             Project: Apache Drill
>          Issue Type: Bug
>          Components: Client - JDBC
>    Affects Versions: 1.13.0
>         Environment: 16:23 apache-drill-1.13.0$ uname -a
> Darwin bix.local 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar  5 22:24:32 PST 
> 2018; root:xnu-4570.51.1~1/RELEASE_X86_64 x86_64
>  
>            Reporter: Marc Prud'hommeaux
>            Assignee: Oleg Zinoviev
>            Priority: Major
>             Fix For: 1.15.0
>
>
> I'm surprised to be unable to find this issue logged elsewhere, but a quick 
> search yields nothing. Trying to connect with the JDBC driver raises a 
> NoClassDefFoundError for sun.misc.VM, which was removed in Java 9. It is 
> understandable that the full drillbit (or its many dependencies) may have 
> difficult-to-extract dependencies on some sun.misc.* classes, but the JDBC 
> driver should be able to be loaded by any JVM.
>  
> Looking at 
> ./common/src/main/java/org/apache/drill/common/config/DrillConfig.java, it 
> appears that a quick workaround could be to make sun.misc.VM.maxDirectMemory 
> called lazily from the one place that uses it: getMaxDirectMemory()
>  
>  
>  
> {{}}{{16:21 apache-drill-1.13.0$ 
> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk 
> ./bin/drill-localhost }}
> ***Connecting to jdbc:drill:drillbit=localhost*
> WARNING: An illegal reflective access operation has occurred
> WARNING: Illegal reflective access by 
> org.apache.calcite.avatica.com.google.protobuf.UnsafeUtil 
> (file:/Users/marc/Downloads/apache-drill-1.13.0/jars/3rdparty/avatica-1.10.0.jar)
>  to field java.nio.Buffer.address
> WARNING: Please consider reporting this to the maintainers of 
> org.apache.calcite.avatica.com.google.protobuf.UnsafeUtil
> WARNING: Use --illegal-access=warn to enable warnings of further illegal 
> reflective access operations
> WARNING: All illegal access operations will be denied in a future release
> {{java.lang.NoClassDefFoundError: sun/misc/VM}}
> {{  at 
> org.apache.drill.common.config.DrillConfig.<clinit>(DrillConfig.java:49)}}
> {{  at 
> org.apache.drill.jdbc.impl.DrillConnectionImpl.<init>(DrillConnectionImpl.java:155)}}
> {{  at 
> org.apache.drill.jdbc.impl.DrillJdbc41Factory.newDrillConnection(DrillJdbc41Factory.java:73)}}
> {{  at 
> org.apache.drill.jdbc.impl.DrillFactory.newConnection(DrillFactory.java:69)}}
> {{  at 
> org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:138)}}
> {{  at org.apache.drill.jdbc.Driver.connect(Driver.java:72)}}
> {{  at sqlline.DatabaseConnection.connect(DatabaseConnection.java:168)}}
> {{  at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:214)}}
> {{  at sqlline.Commands.connect(Commands.java:1083)}}
> {{  at sqlline.Commands.connect(Commands.java:1015)}}
> {{  at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
> Method)}}
> {{  at 
> java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)}}
> {{  at 
> java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)}}
> {{  at java.base/java.lang.reflect.Method.invoke(Method.java:564)}}
> {{  at 
> sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36)}}
> {{  at sqlline.SqlLine.dispatch(SqlLine.java:742)}}
> {{  at sqlline.SqlLine.initArgs(SqlLine.java:528)}}
> {{  at sqlline.SqlLine.begin(SqlLine.java:596)}}
> {{  at sqlline.SqlLine.start(SqlLine.java:375)}}
> {{  at sqlline.SqlLine.main(SqlLine.java:268)}}
> {{Caused by: java.lang.ClassNotFoundException: sun.misc.VM}}
> {{  at 
> java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)}}
> {{  at 
> java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)}}
> {{  at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)}}
> {{... 20 more}}
> apache drill 1.13.0 
> "just drill it"
> 0: jdbc:drill:drillbit=localhost> 
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to