OreCruncher / DynamicSurroundings

Dynamic Surroundings mod for Minecraft 1.10.x+
MIT License
120 stars 35 forks source link

JVM crash at boot #40

Closed LemADEC closed 5 years ago

LemADEC commented 7 years ago

Mod Version: DynamicSurroundings-1.7.10-1.0.5.9 Forge Version: 1.7.10-Forge10.13.4.1614-1.7.10 JVM crash logs: https://gist.github.com/LemADEC/f754a33c8653bff4655dfc34a4a7b976

...
Stack: [0x0000000002a30000,0x0000000002b30000],  sp=0x0000000002b2c9e0,  free space=1010k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [OpenAL64.dll+0x11066]
C  [OpenAL64.dll+0x1248f]
C  0x0000000002ce7f54

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.lwjgl.openal.ALC10.nalcCreateContext(JJ)J+0
j  org.lwjgl.openal.ALC10.alcCreateContext(Lorg/lwjgl/openal/ALCdevice;Ljava/nio/IntBuffer;)Lorg/lwjgl/openal/ALCcontext;+8
j  org.lwjgl.openal.AL.init(Ljava/lang/String;IIZZ)V+69
j  org.lwjgl.openal.AL.create(Ljava/lang/String;IIZZ)V+227
j  org.lwjgl.openal.AL.create(Ljava/lang/String;IIZ)V+5
j  org.lwjgl.openal.AL.create()V+6
j  org.blockartistry.mod.DynSurround.client.sound.SoundManager.configureSound()V+18
j  org.blockartistry.mod.DynSurround.proxy.ProxyClient.preInit(Lcpw/mods/fml/common/event/FMLPreInitializationEvent;)V+5
j  org.blockartistry.mod.DynSurround.Module.preInit(Lcpw/mods/fml/common/event/FMLPreInitializationEvent;)V+83
v  ~StubRoutines::call_stub
J 5212  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (0 bytes) @ 0x0000000003340f7f [0x0000000003340f00+0x7f]
J 5211 C1 sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (104 bytes) @ 0x0000000003cf1d14 [0x0000000003cf1920+0x3f4]
J 6011 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00000000038cbc8c [0x00000000038cbb80+0x10c]
J 6010 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x00000000038cc434 [0x00000000038cc040+0x3f4]
j  cpw.mods.fml.common.FMLModContainer.handleModStateEvent(Lcpw/mods/fml/common/event/FMLEvent;)V+68
j  sun.reflect.GeneratedMethodAccessor3.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+40
...

FML logs: https://gist.github.com/LemADEC/6f6b8e467a6a441976b4757e56cecd71

...
[10:08:45] [Client thread/DEBUG] [FML/]: Bar Step: PreInitialization - Dimensional Doors took 0,036s
[10:08:45] [Client thread/TRACE] [DamageIndicatorsMod/DamageIndicatorsMod]: Sending event FMLPreInitializationEvent to mod DamageIndicatorsMod
[10:08:45] [Client thread/TRACE] [DamageIndicatorsMod/DamageIndicatorsMod]: Sent event FMLPreInitializationEvent to mod DamageIndicatorsMod
[10:08:45] [Client thread/DEBUG] [FML/]: Bar Step: PreInitialization - Damage Indicators took 0,014s
[10:08:45] [Client thread/TRACE] [dsurround/dsurround]: Sending event FMLPreInitializationEvent to mod dsurround

Description: Launching the game results in an hard crash of the JVM. Issue is intermittent, could be due to bad multi-threading?

OreCruncher commented 7 years ago

Pretty sure it isn't threading related. Looking at the existing threads the only real active Minecraft thread is "Client" and this is startup. This is something down in the LWJGL code. What Dynamic Surroundings is trying to do is create an OpenAL context because it hasn't been created yet. This context is used to query the underlying sound system to find out how many mono sources (channels) are available for use. Has this always been happening on/off, or did it just start?

LemADEC commented 7 years ago

We've updated the pack recently, it wasn't doing it before with DynamicSurroundings-1.7.10-1.0.5.6.jar

LemADEC commented 7 years ago

When is the game starting OpenAL if a mod doesn't do it?

OreCruncher commented 7 years ago

@LemADEC Thought this is a bit "stale", I just pushed a 1.0.5.12 version for 1.7.10. The initialization sequence changed (because I replace the underlying SoundManager with my own version). I haven't been able to repro the issue being reported here, so I am not sure if what I did will help in this situation.

LemADEC commented 7 years ago

Thanks for the update! I have the issue about once a month on other modpacks, we'll try your updated version in our next modpack.

LemADEC commented 6 years ago

I can confirm the issue is still present with DynamicSurroundings-1.7.10-1.0.5.12:


Stack: [0x00000000029a0000,0x0000000002aa0000],  sp=0x0000000002a9e440,  free space=1017k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  [OpenAL64.dll+0x11066]
C  [OpenAL64.dll+0x1248f]
C  0x0000000002ca7f54

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  org.lwjgl.openal.ALC10.nalcCreateContext(JJ)J+0
j  org.lwjgl.openal.ALC10.alcCreateContext(Lorg/lwjgl/openal/ALCdevice;Ljava/nio/IntBuffer;)Lorg/lwjgl/openal/ALCcontext;+8
j  org.lwjgl.openal.AL.init(Ljava/lang/String;IIZZ)V+69
j  org.lwjgl.openal.AL.create(Ljava/lang/String;IIZZ)V+227
j  org.lwjgl.openal.AL.create(Ljava/lang/String;IIZ)V+5
j  org.lwjgl.openal.AL.create()V+6
j  org.blockartistry.mod.DynSurround.client.sound.SoundManagerReplacement.configureSound()V+18
j  org.blockartistry.mod.DynSurround.client.sound.SoundManagerReplacement.<init>(Lnet/minecraft/client/audio/SoundHandler;Lnet/minecraft/client/settings/GameSettings;)V+18
j  net.minecraft.client.audio.SoundHandler.<init>(Lnet/minecraft/client/resources/IResourceManager;Lnet/minecraft/client/settings/GameSettings;)V+27
j  net.minecraft.client.Minecraft.func_71384_a()V+712
j  net.minecraft.client.Minecraft.func_99999_d()V+6
j  net.minecraft.client.main.Main.main([Ljava/lang/String;)V+1012
v  ~StubRoutines::call_stub
j  sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0
j  sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+100
J 2844 C1 sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (10 bytes) @ 0x00000000036794cc [0x00000000036793c0+0x10c]
J 2843 C1 java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object; (62 bytes) @ 0x0000000003678ef4 [0x0000000003678b00+0x3f4]
j  net.minecraft.launchwrapper.Launch.launch([Ljava/lang/String;)V+661
j  net.minecraft.launchwrapper.Launch.main([Ljava/lang/String;)V+8
v  ~StubRoutines::call_stub
OreCruncher commented 5 years ago

@LemADEC I am wondering if anyone has had this issue with the latest 1.7.10 release?

LemADEC commented 5 years ago

We're running with 1.7.10-1.0.6.2 since April 2018. No report since then.

OreCruncher commented 5 years ago

OK. Going to close the issue out. If it does come back up let me know.