Kotlin: [Internal Error] java.lang.NoSuchFieldError: Class com.intellij.openapi.util.io.FileUtil does not have member field 'gnu.trove.TObjectHashingStrategy FILE_HASHING_STRATEGY'
Hi, I am getting this error, any ideas?
Kotlin: [Internal Error] java.lang.NoSuchFieldError: Class com.intellij.openapi.util.io.FileUtil does not have member field 'gnu.trove.TObjectHashingStrategy FILE_HASHING_STRATEGY' at org.jetbrains.kotlin.jps.targets.KotlinJvmModuleBuildTarget.updateChunkMappings(KotlinJvmModuleBuildTarget.kt:362) at org.jetbrains.kotlin.jps.build.KotlinBuilder.doBuild(KotlinBuilder.kt:463) at org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:299) at org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilder.java:1609) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuildersForChunk(IncProjectBuilder.java:1238) at org.jetbrains.jps.incremental.IncProjectBuilder.buildTargetsChunk(IncProjectBuilder.java:1389) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:1203) at org.jetbrains.jps.incremental.IncProjectBuilder.buildChunks(IncProjectBuilder.java:971) at org.jetbrains.jps.incremental.IncProjectBuilder.runBuild(IncProjectBuilder.java:527) at org.jetbrains.jps.incremental.IncProjectBuilder.build(IncProjectBuilder.java:236) at org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:134) at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:387) at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:212) at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:211) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) at java.base/java.lang.Thread.run(Thread.java:1570)
looks like your IDE installation is broken.. try re-installing IntelliJ IDEA ?
Update: has nothing to do with IDE. In pom.xml at https://github.com/al6x/ib_api/blob/0a05a5161616b612228094dbc7dce1374891b6b1/pom.xml#L36-L38
it's pulling org.jetbrains.kotlin version 1.3.72, which is plain incompatible with modern jre..
we need to update org.jetbrains.kotlin 🤔
hans@LAPTOP-O1AO16UE:~/projects/stonks/ib_api$ time ./bin/crun
+ export MAVEN_OPTS=-ea
+ MAVEN_OPTS=-ea
+ mvn -q compile exec:java -Dexec.mainClass=AppKt
java.lang.IllegalAccessError: class com.intellij.util.io.FileChannelUtil (in unnamed module @0x6e43ddd6) cannot access class sun.nio.ch.FileChannelImpl (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x6e43ddd6
at com.intellij.util.io.FileChannelUtil.setupUnInterruptibleHandle(FileChannelUtil.java:26)
at com.intellij.util.io.FileChannelUtil.<clinit>(FileChannelUtil.java:18)
at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext$1.execute(ReadWriteDirectBufferWrapper.java:50)
at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext$1.execute(ReadWriteDirectBufferWrapper.java:42)
at com.intellij.openapi.util.io.FileUtilRt.doIOOperation(FileUtilRt.java:945)
at com.intellij.util.io.ReadWriteDirectBufferWrapper$FileContext.<init>(ReadWriteDirectBufferWrapper.java:42)
at com.intellij.util.io.ReadWriteDirectBufferWrapper.create(ReadWriteDirectBufferWrapper.java:27)
at com.intellij.util.io.DirectBufferWrapper.getBuffer(DirectBufferWrapper.java:24)
at com.intellij.util.io.ReadWriteDirectBufferWrapper.getBuffer(ReadWriteDirectBufferWrapper.java:16)
at com.intellij.util.io.PagedFileStorage$StorageLock.createValue(PagedFileStorage.java:631)
at com.intellij.util.io.PagedFileStorage$StorageLock.get(PagedFileStorage.java:558)
at com.intellij.util.io.PagedFileStorage$StorageLock.access$500(PagedFileStorage.java:466)
at com.intellij.util.io.PagedFileStorage.getBufferWrapper(PagedFileStorage.java:407)
at com.intellij.util.io.PagedFileStorage.getBuffer(PagedFileStorage.java:371)
at com.intellij.util.io.PagedFileStorage.putInt(PagedFileStorage.java:144)
at com.intellij.util.io.ResizeableMappedFile.putInt(ResizeableMappedFile.java:222)
at com.intellij.util.io.PersistentEnumeratorBase.markDirty(PersistentEnumeratorBase.java:597)
at com.intellij.util.io.PersistentEnumeratorBase.<init>(PersistentEnumeratorBase.java:185)
at com.intellij.util.io.PersistentBTreeEnumerator.<init>(PersistentBTreeEnumerator.java:73)
at com.intellij.util.io.PersistentEnumeratorDelegate.<init>(PersistentEnumeratorDelegate.java:47)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:149)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:138)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:129)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:121)
at com.intellij.util.io.PersistentHashMap.<init>(PersistentHashMap.java:114)
at org.jetbrains.kotlin.incremental.storage.CachingLazyStorage.createMap(CachingLazyStorage.kt:106)
at org.jetbrains.kotlin.incremental.storage.CachingLazyStorage.getStorageIfExists(CachingLazyStorage.kt:41)
at org.jetbrains.kotlin.incremental.storage.CachingLazyStorage.getKeys(CachingLazyStorage.kt:58)
at org.jetbrains.kotlin.incremental.snapshots.FileSnapshotMap.compareAndUpdate(FileSnapshotMap.kt:35)
at org.jetbrains.kotlin.incremental.IncrementalCompilerRunner.compile(IncrementalCompilerRunner.kt:83)
at org.jetbrains.kotlin.incremental.IncrementalJvmCompilerRunnerKt.makeIncrementally(IncrementalJvmCompilerRunner.kt:78)
at org.jetbrains.kotlin.maven.K2JVMCompileMojo.runIncrementalCompiler(K2JVMCompileMojo.java:270)
at org.jetbrains.kotlin.maven.K2JVMCompileMojo.execCompiler(K2JVMCompileMojo.java:234)
at org.jetbrains.kotlin.maven.K2JVMCompileMojo.execCompiler(K2JVMCompileMojo.java:55)
at org.jetbrains.kotlin.maven.KotlinCompileMojoBase.execute(KotlinCompileMojoBase.java:209)
at org.jetbrains.kotlin.maven.K2JVMCompileMojo.execute(K2JVMCompileMojo.java:222)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:370)
at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute(MojoExecutor.java:351)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:171)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:163)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:298)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:960)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:283)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:226)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:407)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:348)
[ERROR] Failed to execute goal org.jetbrains.kotlin:kotlin-maven-plugin:1.3.72:compile (compile) on project ib_api: Compilation failure -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
real 0m1.724s
user 0m4.284s
sys 0m0.221s
@srikumarbagaw i think #5 should fix it, you can try manually patching in that pom.xml and run it again
PS, as of writing, ib_api is not compatible with the newest TWS API Java Driver - it must be paired with an old version right now, you can find an old compatible version at https://github.com/al6x/ib_api/issues/2#issuecomment-1475381649 🤔