libgdx + netty = краш
Я пытаюсь создать libgdx проект и мне необходим netty, но если я добавляю необходимую зависимость в проект программа крашится. Вот весь код проекта:
public static void main(String[] args) {
Lwjgl3ApplicationConfiguration config = new Lwjgl3ApplicationConfiguration();
config.setForegroundFPS(60);
config.setTitle("hello world");
new Lwjgl3Application(new GameLauncher(), config); // <- краш происходит здесь
}
gradle файл:
plugins {
id 'java'
}
group 'com.example'
version '1.0'
repositories {
mavenCentral()
}
dependencies {
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
implementation "com.badlogicgames.gdx:gdx-backend-lwjgl3:1.12.0"
implementation "com.badlogicgames.gdx:gdx-platform:1.12.0:natives-desktop"
implementation "com.badlogicgames.gdx:gdx:1.12.0"
implementation 'io.netty:netty-all:4.1.90.Final'
}
test {
useJUnitPlatform()
}
Также я заметил что если убрать из зависимостей libgdx и оставить только netty, программа запускается нормально. Так что ошибка возникает при создании Lwjgl3Application только если эти две зависимости используются одновременно. В чем может быть проблема? Кусок из крашлога:
--------------- T H R E A D ---------------
Current thread (0x0000018d93b3ea90): JavaThread "main" [_thread_in_native, id=12792, stack(0x0000004991800000,0x0000004991900000)]
Stack: [0x0000004991800000,0x0000004991900000], sp=0x00000049918fba18, free space=1006k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C [atio6axx.dll+0x1937e0]
Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j org.lwjgl.system.JNI.invokePPPP(IIJJJJ)J+0
j org.lwjgl.glfw.GLFW.nglfwCreateWindow(IIJJJ)J+14
j org.lwjgl.glfw.GLFW.glfwCreateWindow(IILjava/lang/CharSequence;JJ)J+34
j com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createGlfwWindow(Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3ApplicationConfiguration;J)J+340
j com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createWindow(Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3Window;Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3ApplicationConfiguration;J)V+2
j com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.createWindow(Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3ApplicationConfiguration;Lcom/badlogic/gdx/ApplicationListener;J)Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3Window;+23
j com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application.<init>(Lcom/badlogic/gdx/ApplicationListener;Lcom/badlogic/gdx/backends/lwjgl3/Lwjgl3ApplicationConfiguration;)V+243
j Launcher.main([Ljava/lang/String;)V+32
v ~StubRoutines::call_stub
siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), reading address 0xffffffffffffffff
GameLauncher - это полностью пустой класс расширяющий ApplicationAdapter (com.badlogic.gdx.ApplicationAdapter) public class GameLauncher extends ApplicationAdapter { }
Я использую gradle 7.5.1
Источник: Stack Overflow на русском