Firstly, sorry if this is yet another duplicate, I already searched but didn't have any luck.
Anyway, I noticed that the 3D anaglyth colour corruption bug was recently fixed by Mojang, so I decided to test to see whether said fix was effective. Unfortunately I've run into crashes whenever I toggle the 3D anaglyth option in the options menu. Sometimes it will crash the game, sometimes not, and the type of crash that occurs is the game no longer responding. No crash logs get output to the crash-reports folder, I have to look into the launcher to see why Minecraft crashed.
So I look into the launcher and see this (unsure how to format this if it's even possible):
Client> 2013-06-20 15:13:04 [CLIENT] [INFO] Reloading ResourceManager: Default
Client> Error in class 'CodecJOrbis'
Client> Unable to acquire inputstream in method 'initialize'.
Client> ERROR MESSAGE:
Client> minecraft:sound/random/click.ogg
Client> STACK TRACE:
Client> bja.a(SourceFile:44)
Client> bkp.getInputStream(SourceFile:100)
Client> paulscode.sound.codecs.CodecJOrbis.initialize(CodecJOrbis.java:281)
Client> paulscode.sound.libraries.LibraryLWJGLOpenAL.loadSound(LibraryLWJGLOpenAL.java:392)
Client> paulscode.sound.libraries.LibraryLWJGLOpenAL.newSource(LibraryLWJGLOpenAL.java:640)
Client> paulscode.sound.SoundSystem.CommandNewSource(SoundSystem.java:1800)
Client> paulscode.sound.SoundSystem.CommandQueue(SoundSystem.java:2415)
Client> paulscode.sound.CommandThread.run(CommandThread.java:121)
Client>
Client> SoundSystem shutting down...
Client> Error in class 'SoundSystem'
Client> Command thread did not die!
Client> Ignoring errors... continuing clean-up.
Game ended with bad state (exit code -805306369)
It might sound like the game trying to play a corrupted/invalid .ogg file, but this is not the case. No matter how many times I toggle the other options in the options menu, they don't crash the game, plus the toggle sound plays fine for them.
We have to reinitialize the complete soundsystem because internally it caches the sounds' data. It seems there is some sort of race-condition which occurs (maybe only on linux?) some of the times?
Will see if I can force it to wait (eventhough it already should).