[Bug]: 1.18.2 JEI does not work properly for any users on modded server
ShibeTemple opened this issue · 12 comments
Steps to Reproduce the Bug
- 1.18.2 Client, Forge Version 40.1.25, modlist in below gists
- Join modded server
- Try to view item uses or recipes
- Most do not appear, however, some do. Also, JEI items/blocks list is empty, unless searched.
Expected Behavior
JEI should show the uses and recipes for all items. JEI items & blocks list in the inventory screen should have content.
Actual Behavior
JEI does not show any known recipes or uses. JEI also does not show any blocks or items on the default inventory screen.
Does not affect all uses, for instance, these are the following returned uses for Iron Ingots:
Mod Pack URL (Optional)
No response
Mod Pack Version (Optional)
No response
Extra Notes (Optional)
I understand through reading other issues that this is likely related to a malformed server packet sent to the client. #2828 #2808 #2802 Through the logs, this is observable (as detailed below). However, it is difficult to track down the actual culprit. I have attached both the server and client logs.
Server latest.log: https://gist.github.com/ShibeTemple/aa4475218fbd80250e5ec522f3598e34
Client latest.log: https://gist.github.com/ShibeTemple/eea6dee4b59abc0eaddb1d91d67cb31c
Full mod-list is in the respective logs.
Client log key elements:
1276 [Render thread/ERROR]: Error executing task on Client
net.minecraft.ResourceLocationException: Non [a-z0-9_.-] character in namespace of location: L??d�create:cutting8create:compat/projectvibrantjourneys/cutti
1730 [Render thread/ERROR]: A Screen is opening but JEI hasn't started yet.
Normally, JEI is started after ClientPlayerNetworkEvent.LoggedInEvent, TagsUpdatedEvent, and RecipesUpdatedEvent.
Something has caused one or more of these events to fail, so JEI is starting very late.
Would this be a Create issue then? Even if so, shouldn't there be catch handling for invalid characters that does not entirely break all known recipes?
latest.log
No response
removing this mod from Direwolf20 1.18 mod pack fixed my problem too!
thank you for tracking this issue.
removing this mod from Direwolf20 1.18 mod pack fixed my problem too!
thank you for tracking this issue.
Of course! Glad I was able to pay the time spent forward.
I removed Create: crafts & additions, project: vibrant journeys, FTB: Industrial Contraptions, Mystical Agriculture, Integrated Dungeons, Beyond Earth, and Tinkers Construct, as they were all the problematic mods with errors being printed to the server console. However, with these mods removed, the issue is still present. It is actually even worse. The client will now refuse to connect to the server, with variations of the following error:
This error was similar to what was visible before in the logs but never thrown to the end-user as a fatal error.
It is also important to note that the mod mentioned in the client on-join kick error is random, and changed throughout attempts at removing the problematic mods. It does not seem to be correlated. (It was previously create crafts & additions, mystical aggri., etc. and is now quark.)
Server without any problematic mods latest.log: https://gist.github.com/ShibeTemple/8b4f6b9c4f5edc5811c76d057382b7ea
To prove the above point made: removing quark, the error persists.
[14:09:59] [Netty Client IO #1/INFO]: Connected to a modded server.
[14:09:59] [Netty Client IO #1/WARN]: Packet not registered: ClientboundDisconnectPacket
[14:09:59] [Render thread/INFO]: Reloading pipeline on dimension change: null => OVERWORLD
[14:09:59] [Render thread/INFO]: Creating pipeline for dimension OVERWORLD
[14:09:59] [Render thread/WARN]: [Triforce Patcher] gl_FragColor is not supported yet, please use gl_FragData! Assuming that the shaderpack author intended to use gl_FragData[0]...
[14:09:59] [Render thread/INFO]: Started 4 worker threads
[14:09:59] [Render thread/INFO]: Environment: authHost='https://authserver.mojang.com', accountsHost='https://api.mojang.com', sessionHost='https://sessionserver.mojang.com', servicesHost='https://api.minecraftservices.com', name='PROD'
[14:10:00] [Render thread/INFO]: JEI StartEventObserver received class net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggedInEvent
[14:10:00] [Render thread/INFO]: JEI StartEventObserver transitioning state from DISABLED to ENABLED
[14:10:00] [Render thread/ERROR]: Error executing task on Client
java.util.NoSuchElementException: packet_handler
at io.netty.channel.DefaultChannelPipeline.getContextOrDie(DefaultChannelPipeline.java:1073) ~[netty-all-4.1.68.Final.jar%2326!/:4.1.68.Final]
at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:248) ~[netty-all-4.1.68.Final.jar%2326!/:4.1.68.Final]
at io.netty.channel.DefaultChannelPipeline.addBefore(DefaultChannelPipeline.java:237) ~[netty-all-4.1.68.Final.jar%2326!/:4.1.68.Final]
at net.minecraftforge.network.filters.NetworkFilters.lambda$injectIfNecessary$1(NetworkFilters.java:34) ~[forge-1.18.2-40.1.25-universal.jar%23211!/:?]
at com.google.common.collect.RegularImmutableMap.forEach(RegularImmutableMap.java:196) ~[guava-31.0.1-jre.jar%2328!/:?]
at net.minecraftforge.network.filters.NetworkFilters.injectIfNecessary(NetworkFilters.java:30) ~[forge-1.18.2-40.1.25-universal.jar%23211!/:?]
at net.minecraftforge.network.NetworkHooks.sendMCRegistryPackets(NetworkHooks.java:105) ~[forge-1.18.2-40.1.25-universal.jar%23211!/:?]
at net.minecraft.client.multiplayer.ClientPacketListener.m_5998_(ClientPacketListener.java:375) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.network.protocol.game.ClientboundLoginPacket.m_5797_(ClientboundLoginPacket.java:83) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.network.protocol.game.ClientboundLoginPacket.m_5797_(ClientboundLoginPacket.java:19) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.network.protocol.PacketUtils.m_131356_(PacketUtils.java:22) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:157) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:131) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:116) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.client.Minecraft.m_91383_(Minecraft.java:1013) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.client.Minecraft.m_91374_(Minecraft.java:663) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at net.minecraft.client.main.Main.main(Main.java:205) ~[client-1.18.2-20220404.173914-srg.jar%23207!/:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?]
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
at net.minecraftforge.fml.loading.targets.CommonClientLaunchHandler.lambda$launchService$0(CommonClientLaunchHandler.java:31) ~[fmlloader-1.18.2-40.1.25.jar%2316!/:?]
at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:37) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.Launcher.run(Launcher.java:106) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.Launcher.main(Launcher.java:77) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) [modlauncher-9.1.3.jar%235!/:?]
at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:149) [bootstraplauncher-1.0.0.jar:?]
[14:10:00] [Render thread/INFO]: JEI StartEventObserver received class net.minecraftforge.client.event.ClientPlayerNetworkEvent$LoggedOutEvent
[14:10:00] [Render thread/INFO]: JEI StartEventObserver transitioning state from ENABLED to DISABLED
[14:10:02] [Render thread/INFO]: Stopping worker threads
If this is not JEI, do you know what might be causing this? I am fully stumped
It could be any mod. The error happens when someone has a packet reader that does not read the same amount of data that was written by the corresponding packet writer, and that messes up the whole stream of packets. Keep going until you find what mod you can remove that makes the error actually go away.
@Random832 Any idea what type of mods to try removing? Firing up a server for every one and checking is very demanding without any direction. What type of mods typically would read the packet?
Thanks for tracking down the cause.
What you see here is JEI is desperately trying to continue working even though the recipe sync from the server was broken.
Unfortunately without the recipe sync it doesn't have much to work with so it looks pretty broken.
You had the right strategy here of trying to find what other mod might be involved, it looks like an older version of Oreberries broke the recipe sync packet.