HammerLib

HammerLib

46M Downloads

[1.12.2] Crash on startup

Closed this issue ยท 4 comments

commented

I'm trying to port a 1.12.2 modpack to use Cleanroom / Java 21, and I get this crash every time on startup:

[11:19:44] [Client thread/INFO] [Hammer Core [ASM]]: Transforming net.minecraft.client.renderer.entity.RenderManager (bzf)...
[11:19:44] [Client thread/INFO] [Hammer Core [ASM]]:   -Patched renderEntity!
[11:19:44] [Client thread/INFO] [Hammer Core [ASM]]: Transforming net.minecraft.client.renderer.ChunkRenderContainer (bun)...
[11:19:44] [Client thread/INFO] [Hammer Core [ASM]]:   -Patched preRenderChunk!
[11:19:44] [Client thread/INFO] [FML]: Applying holder lookups
[11:19:44] [Client thread/INFO] [FML]: Holder lookups applied
[11:19:44] [Client thread/INFO] [HammerLib]: Created Ender Field GLSL Shader.
[11:19:44] [Client thread/INFO] [HammerLib]: Reloading 1 variable shader programs.
FATAL ERROR in native method: Thread[#1,Client thread,5,main]: No context is current or a function that is not available in the current context was called. The JVM will abort execution.
	at org.lwjgl.opengl.GL31C.nglGetActiveUniformName(Native Method)
	at org.lwjgl.opengl.GL31C.glGetActiveUniformName(GL31C.java:491)
	at org.lwjgl.opengl.GL20.glGetActiveUniform(GL20.java:156)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram.collectUniforms(VariableShaderProgram.java:202)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram.createProgram(VariableShaderProgram.java:177)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram.onReload(VariableShaderProgram.java:218)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram$$Lambda/0x0000007001742238.accept(Unknown Source)
	at java.util.ArrayList.forEach([email protected]/ArrayList.java:1596)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram.lambda$reload$6(VariableShaderProgram.java:347)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram$$Lambda/0x00000070017467a8.run(Unknown Source)
	at java.util.concurrent.Executors$RunnableAdapter.call([email protected]/Executors.java:572)
	at net.minecraft.client.Minecraft.func_152343_a(Minecraft.java:3137)
	at net.minecraft.client.Minecraft.func_152344_a(Minecraft.java:3159)
	at com.zeitheron.hammercore.client.utils.gl.shading.VariableShaderProgram.reload(VariableShaderProgram.java:343)
	at com.zeitheron.hammercore.proxy.RenderProxy_Client.init(RenderProxy_Client.java:302)
	at com.zeitheron.hammercore.HammerCore.init(HammerCore.java:274)
	at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual([email protected]/DirectMethodHandle$Holder)
	at java.lang.invoke.LambdaForm$MH/0x0000007001112400.invoke([email protected]/LambdaForm$MH)
	at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:154)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
	at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
	at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:639)
	at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual([email protected]/DirectMethodHandle$Holder)
	at java.lang.invoke.LambdaForm$MH/0x0000007001112400.invoke([email protected]/LambdaForm$MH)
	at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:154)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
	at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:84)
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:141)
	- locked <0x0000000408dfc630> (a com.google.common.eventbus.Subscriber$SynchronizedSubscriber)
	at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:70)
	at com.google.common.eventbus.Subscriber$$Lambda/0x000000700150bff0.run(Unknown Source)
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67)
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:112)
	at com.google.common.eventbus.EventBus.post(EventBus.java:262)
	at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:317)
	at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:295)
	at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual([email protected]/DirectMethodHandle$Holder)
	at java.lang.invoke.LambdaForm$MH/0x0000007001112400.invoke([email protected]/LambdaForm$MH)
	at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:154)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
	at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
	at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:84)
	at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:141)
	- locked <0x0000000407eb0810> (a com.google.common.eventbus.Subscriber$SynchronizedSubscriber)
	at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:70)
	at com.google.common.eventbus.Subscriber$$Lambda/0x000000700150bff0.run(Unknown Source)
	at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:30)
	at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:67)
	at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:112)
	at com.google.common.eventbus.EventBus.post(EventBus.java:262)
	at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:231)
	at net.minecraftforge.fml.common.Loader.initializeMods(Loader.java:754)
	at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:338)
	at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:535)
	at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:378)
	at net.minecraft.client.main.Main.main(SourceFile:123)
	at java.lang.invoke.LambdaForm$DMH/0x0000007001004000.invokeStatic([email protected]/LambdaForm$DMH)
	at java.lang.invoke.LambdaForm$MH/0x0000007001248800.invoke([email protected]/LambdaForm$MH)
	at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:154)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
	at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
	at top.outlands.foundation.LaunchHandler.launch(LaunchHandler.java:121)
	at java.lang.invoke.DirectMethodHandle$Holder.invokeVirtual([email protected]/DirectMethodHandle$Holder)
	at java.lang.invoke.LambdaForm$MH/0x0000007001112400.invoke([email protected]/LambdaForm$MH)
	at java.lang.invoke.Invokers$Holder.invokeExact_MT([email protected]/Invokers$Holder)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invokeImpl([email protected]/DirectMethodHandleAccessor.java:154)
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke([email protected]/DirectMethodHandleAccessor.java:103)
	at java.lang.reflect.Method.invoke([email protected]/Method.java:580)
	at top.outlands.foundation.boot.Foundation.main(Foundation.java:41)

Mod list:

  • Cleanroom 0.3.4-alpha
  • HammerLib 12.2.58

I also tried this with Fugue 0.18.6 and Scalar Legacy 1.0.0 and get the same error.

I would've preferred to submit a PR, but I'm unable to build this library on my machine.

commented

So how exactly is this supposed to be fixed, if the OpenGL context is supposed to exist on the main thread, yet it's just outright not present?

commented

Additionally, HammerLib is confirmed to work with Cleanroom 0.2.3-alpha + Fugue 0.15.9

commented

Getting the same error. Can you just wait to use the context until later? Not familiar with this mod but it seems every other mod doesn't do this

commented

GL context must be present by the time init phase happens due to the game window. I do not know why it's not there, but this is a breaking change on Cleanroom's behalf.