Dynamic Surroundings

Dynamic Surroundings

51M Downloads

[1.16.4] OpenAL fatal error prevents world sounds if enhanced processing is on

Efimero opened this issue ยท 18 comments

commented

Mod Version:

4.0.3.8

Forge Version:

36.0.1
36.0.13

Link to client log:

https://gist.github.com/Efimero/5313bd5f9b60af9323e78d64f0d3ec87

[01Feb2021 12:37:44.776] [Sound engine/FATAL] [net.minecraft.util.concurrent.ThreadTaskExecutor/]: Error executing task on Sound executor
java.lang.IllegalStateException: OpenAL Error: Invalid Value [LowPassFilterSlot EXTEfx.AL_AUXILIARY_SEND_FILTER]
	at org.orecruncher.sndctrl.audio.handlers.SoundFXProcessor.validate(SoundFXProcessor.java:309) ~[dsurround:1.16.4-4.0.3.8]
	at org.orecruncher.sndctrl.audio.handlers.SoundFXProcessor.validate(SoundFXProcessor.java:294) ~[dsurround:1.16.4-4.0.3.8]
	at org.orecruncher.sndctrl.audio.handlers.effects.Slot.check(Slot.java:65) ~[dsurround:1.16.4-4.0.3.8]
	at org.orecruncher.sndctrl.audio.handlers.effects.LowPassFilterSlot.apply(LowPassFilterSlot.java:64) ~[dsurround:1.16.4-4.0.3.8]
	at org.orecruncher.sndctrl.audio.handlers.SourceContext.tick(SourceContext.java:148) ~[dsurround:1.16.4-4.0.3.8]
	at org.orecruncher.sndctrl.audio.handlers.SoundFXProcessor.tick(SoundFXProcessor.java:196) ~[dsurround:1.16.4-4.0.3.8]
	at net.minecraft.client.audio.SoundSource.handler$zzd000$onPlay(SourceFile:563) ~[?:?]
	at net.minecraft.client.audio.SoundSource.func_216438_c(SourceFile) ~[?:?]
	at net.minecraft.client.audio.SoundEngine.lambda$null$5(SoundEngine.java:342) ~[?:?]
	at net.minecraft.client.audio.ChannelManager$Entry.func_217890_b(SourceFile:34) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213166_h(ThreadTaskExecutor.java:172) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213168_p(ThreadTaskExecutor.java:134) ~[?:?]
	at net.minecraft.util.concurrent.ThreadTaskExecutor.func_213161_c(ThreadTaskExecutor.java:150) ~[?:?]
	at net.minecraft.client.audio.SoundEngineExecutor.func_213178_c(SourceFile:42) ~[?:?]
	at java.lang.Thread.run(Thread.java:834) [?:?]

Description:

When advanced processing is on, no sound will play in-game, except for UI sounds, which means anything that could be culled errors and fails. Since this is on a thread executor, it seems like you're doing some operation that is not thread-safe. Disabling advanced sound processing makes it work as expected. Checked both versions of forge, same result. This may be a future change affecting the way you do things or a bug in forge. Good luck.

commented

The thread in question is the actual sound engine thread that Minecraft has. Its the thread that does the manipulation of OpenAL. I think this is something different. What mods are in the pack?

commented

It may be possible. OpenAL is not liking the values that are being passed in. I don't know how OpenAL is wired into Debian. What I am wondering is if the libraries that are dropped are current.

EDIT: Can you uninstall DS and try Sound Filters?

commented

Sound Filters works fine even paired with Dynamic Surroundings (with effects off) it does what it should.

commented

Tested it only with Dynamic Surroundings installed and the result was the same. Maybe it's specific to linux? I'm on Debian sid.

commented

This is a head scratcher. This says:

[01Feb2021 12:45:03.742] [Render thread/INFO] [SoundControl/SoundUtils]: Enhanced sounds are enabled.  Will perform sound engine reconfiguration.

that the EXTEfx extension is available. I am going to have to do some digging.

commented

And it's not system-dependent, because it uses the jars in the libraries folder, so even libopenal.so is provided. Can you even reproduce it?

commented

I don't have a Debian setup. I run windows. Do you have a link to the distro you are using? I should be able to get it up and running in virtual box or something.

commented

One more question - which launcher do you use? I haven't run MC client on a non-Windows system before and I need all the training wheels I can get. :D

commented

Oh, just the vanilla launcher, I've never used the fancy ones =P

commented

just mainstream Debian 10 from the sid (nightly) branch

commented

What I did:

  • Windows 10 w/Virtual Box
  • Debian 10 - whatever I got from clicking the download button the main page.
  • Installed MC launcher.
  • Installed Forge (36.0.14 IIRC).
  • Dropped DS into the mods folder.
  • Fired it up.
  • It was very slow, but I did not get any errors that you are describing. Because it was VirtualBox I couldn't really move around the environment (mouse capture troubles), but things appeared OK.

EDIT: The mod version I was using was more current than published, but I can't imaging the changes it has would resolve this issue. Not sure what to make of it.

commented

you'd need to run something like this in a linux terminal before it's in the sid version

echo "deb http://ftp.fr.debian.org/debian/ unstable main contrib non-free" | sudo tee -a /etc/apt/sources.list
sudo apt update
sudo apt dist-upgrade --auto-remove

otherwise you're still on the long term support version, not the nightlies

commented

OK - I will update later today. If it does break it would appear that it would be something in the nightly rather than something in the mod. I have been scratching my head about this a bit and the error does not make sense in the particular context. It could be complaining about that it doesn't know anything about low pass filters, which would be wrong since it claims it supports that function, or it could be complaining about the values that are being supplied for the low pass filter, which again would be wrong since these values are clamped to the bounds specified by the library.

commented

This is the JAR I used when testing. In terms of sound manipulation I changed logging/error checking so that it would occur whenever the mod interacts with OpenAL. For example, it will check after setting each of the two gain values for low pass and then the assignment to the sound. (Prior there would be only 1 check after doing all 3 operations.)
https://github.com/OreCruncher/DynamicSurroundings2/releases/tag/1.16.4-4.0.3.9B

commented

I am baffled. It's not like I actually fixed anything. I'll take it as a win, but it bugs me not to have an answer.

commented

I checked and .8 fails where .9 works, so whatever the difference is, fixed it...

commented

This jar works as it should. I think you fixed it.

commented

Pushed 4.0.3.9 to CurseForge.