Simple Voice Chat

Simple Voice Chat

36M Downloads

Game crashes on alt+tab with NVIDIA GPU

mjwells2002 opened this issue ยท 2 comments

commented

This is a documentation issue to note a rare crash thats happening for a small amount of users, and is currently unsolveable from the mod

Bug description

For some users the game will crash if some unknown conditions are met when using sodium, voicechat and an nvidia gpu

not much is known about why it crashes, but the issue seems to be caused by the nvidia drivers,

Potential workaround

setting the following setting to prefer native solves the crash for some users, but not everyone has the minecraft profile to configure this setting in

image

the crash will look like the following

---------------  T H R E A D  ---------------

Current thread (0x000002047b10ad40):  JavaThread "VoiceChatConnectionThread" daemon [_thread_in_native, id=10824, stack(0x000000fabbb50000,0x000000fabbc50000) (1024K)]

Stack: [0x000000fabbb50000,0x000000fabbc50000],  sp=0x000000fabbc4ee78,  free space=1019k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
C  0x00007ff8b1cc0ec4

Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
j  sun.nio.ch.DatagramChannelImpl.receive0(Ljava/io/FileDescriptor;JIJZ)I+0 [email protected]
j  sun.nio.ch.DatagramChannelImpl.receiveIntoNativeBuffer(Ljava/nio/ByteBuffer;IIZ)I+35 [email protected]
j  sun.nio.ch.DatagramChannelImpl.receive(Ljava/nio/ByteBuffer;Z)I+65 [email protected]
j  sun.nio.ch.DatagramChannelImpl.tryBlockingReceive(ZIJ)Ljava/nio/ByteBuffer;+18 [email protected]
j  sun.nio.ch.DatagramChannelImpl.blockingReceive(Ljava/net/DatagramPacket;J)V+142 [email protected]
j  sun.nio.ch.DatagramSocketAdaptor.receive(Ljava/net/DatagramPacket;)V+16 [email protected]
j  java.net.DatagramSocket.receive(Ljava/net/DatagramPacket;)V+5 [email protected]
j  de.maxhenkel.voicechat.plugins.impl.VoicechatSocketBase.read(Ljava/net/DatagramSocket;)Lde/maxhenkel/voicechat/plugins/impl/RawUdpPacketImpl;+19
j  de.maxhenkel.voicechat.plugins.impl.ClientVoicechatSocketImpl.read()Lde/maxhenkel/voicechat/api/RawUdpPacket;+22
j  de.maxhenkel.voicechat.voice.client.ClientVoicechatConnection.run()V+11
v  ~StubRoutines::call_stub 0x00000204639d100d

siginfo: EXCEPTION_ACCESS_VIOLATION (0xc0000005), data execution prevention violation at address 0x00007ff8b1cc0ec4

Attempted fixes

we have attempted to fix this issue by replacing the normal datagram socket with a new implentation provided by a native libary, this crashed in the exact same way

this issue seems to be unsolveable

Additional info required

anyone who can reproduce this issue and has the ability and knowledge to help debug exactly what is going wrong, should comment on this thread with any additonmal data they may have, as currently neither of us are able to reproduce this issue, from all collected logs, this issue seems unsolveable

Also please report your OS version, nvidia driver version, sodium version and voicechat version on this thread if you run into this problem driver version, sodium version and voicechat version on this thread if you run into this problem

commented

I should note that having the minecraft.exe profile is not necessary to reproduce because the default setting on that profile is to use the global setting.
image

On the Global tab, the default is Auto but of course we dont know what that means. I suspect Auto might use DXGI on Optimus laptops. But in my case I dont get the crash until I change it to DXGI, or I can change it to Native and its fine again.