Immersive Portals

Immersive Portals

5M Downloads

Client lighting values and rendering occasionally bug out.

Moleculor opened this issue ยท 20 comments

commented

First noticed this in Forge, but replicated both in Forge and Fabric. Essentially, stuff like this happens occasionally:

2021-01-12_10 44 13

2021-01-12_09 57 06

Please note the Client light level as compared to the Server light level. Especially when walking in light in this video:

https://youtu.be/g7BwniLR1Dk

Despite standing in visibly lit areas, client light level is still listed as 0, as well as listed as 0 in the buggily-lit areas.

This is in a 'clean' instance with just Minecraft 1.16.4, Fabric API 0.28.4 (I was told by Minecraft Player on Discord to not use anything higher than this), Immersive Portals v0.60 for Fabric, and REI.

-- System Details --
Details:
	Minecraft Version: 1.16.4
	Minecraft Version ID: 1.16.4
	Operating System: Windows 10 (amd64) version 10.0
	Java Version: 14.0.2, AdoptOpenJDK
	Java VM Version: OpenJDK 64-Bit Server VM (mixed mode, sharing), AdoptOpenJDK
	Memory: 4741178608 bytes (4521 MB) / 6442450944 bytes (6144 MB) up to 6442450944 bytes (6144 MB)
	CPUs: 8
	JVM Flags: 10 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx6144m -Xms6144m -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -XX:+UseG1GC -XX:+UnlockExperimentalVMOptions -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M
	Fabric Mods: 
		autoconfig1u: Auto Config v1 Updated 3.3.1
		cloth-basic-math: Cloth Basic Math 0.5.1
		cloth-client-events-v0: Cloth Client Events v0 1.4.5
		cloth-config2: Cloth Config v4 4.8.3
		fabric: Fabric API 0.28.4+1.16
		fabric-api-base: Fabric API Base 0.2.0+ab87788d3a
		fabric-biome-api-v1: Fabric Biome API (v1) 3.1.0+2e23b97c3a
		fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.4+6a2618f53a
		fabric-command-api-v1: Fabric Command API (v1) 1.0.9+6a2618f53a
		fabric-commands-v0: Fabric Commands (v0) 0.2.0+6a2618f53a
		fabric-containers-v0: Fabric Containers (v0) 0.1.9+a03e98793a
		fabric-content-registries-v0: Fabric Content Registries (v0) 0.2.0+e77439c73a
		fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.1.2+b7f9825d3a
		fabric-dimensions-v1: fabric-dimensions-v1 2.0.1+9a6c75813a
		fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.4.1+6a2618f53a
		fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.0+6a2618f53a
		fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.3+a4467d2a3a
		fabric-item-api-v1: Fabric Item API (v1) 1.2.0+6a2618f53a
		fabric-item-groups-v0: Fabric Item Groups (v0) 0.2.1+6a2618f53a
		fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.1+730711c63a
		fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.0+6a2618f53a
		fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 1.2.0+ffb68a873a
		fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.0.1+6a2618f53a
		fabric-mining-levels-v0: Fabric Mining Levels (v0) 0.1.2+6a2618f53a
		fabric-models-v0: Fabric Models (v0) 0.1.1+6a2618f53a
		fabric-networking-api-v1: Fabric Networking API (v1) 1.0.0+4358fbc63a
		fabric-networking-blockentity-v0: Fabric Networking Block Entity (v0) 0.2.7+a03e98793a
		fabric-networking-v0: Fabric Networking (v0) 0.3.1+2a4333d33a
		fabric-object-builder-api-v1: Fabric Object Builder API (v1) 1.9.2+6a2618f53a
		fabric-object-builders-v0: Fabric Object Builders (v0) 0.7.1+6a2618f53a
		fabric-particles-v1: fabric-particles-v1 0.2.2+6a2618f53a
		fabric-registry-sync-v0: Fabric Registry Sync (v0) 0.7.3+be155ae23a
		fabric-renderer-api-v1: Fabric Renderer API (v1) 0.3.3+6a2618f53a
		fabric-renderer-indigo: Fabric Renderer - Indigo 0.4.3+6a2618f53a
		fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 2.2.0+6a2618f53a
		fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.1.4+6a2618f53a
		fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 0.1.12+6a2618f53a
		fabric-rendering-v0: Fabric Rendering (v0) 1.1.1+6a2618f53a
		fabric-rendering-v1: Fabric Rendering (v1) 1.4.0+6a2618f53a
		fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.4.0+552549d53a
		fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.1.0+6a2618f53a
		fabric-structure-api-v1: Fabric Structure API (v1) 1.1.1+f1d8af063a
		fabric-tag-extensions-v0: Fabric Tag Extensions (v0) 1.1.0+e77439c73a
		fabric-textures-v0: Fabric Textures (v0) 1.0.5+6a2618f53a
		fabric-tool-attribute-api-v1: Fabric Tool Attribute API (v1) 1.2.5+6a2618f53a
		fabricloader: Fabric Loader 0.11.0
		imm_ptl_core: Immersive Portals Core 0.60
		immersive_portals: Immersive Portals 0.60
		java: OpenJDK 64-Bit Server VM 14
		minecraft: Minecraft 1.16.4
		modmenu: Mod Menu 1.14.6+build.31
		roughlyenoughitems: Roughly Enough Items 5.8.10
		roughlyenoughitems-api: REI (API) 5.8.10
		roughlyenoughitems-default-plugin: REI (Default Plugin) 5.8.10
		roughlyenoughitems-runtime: REI (Runtime) 5.8.10
	Launched Version: 1.16.4
	Backend library: LWJGL version 3.2.2 build 10
	Backend API: GeForce RTX 2070/PCIe/SSE2 GL version 4.6.0 NVIDIA 461.09, NVIDIA Corporation
	GL Caps: Using framebuffer using OpenGL 3.0
	Using VBOs: Yes
	Is Modded: Definitely; Client brand changed to 'fabric'
	Type: Client (map_client.txt)
	Graphics mode: fancy
	Resource Packs: Fabric Mods
	Current Language: English (US)
	CPU: 8x Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz

As near as I can tell (and this is probably no more than a vaguely educated guess), it seems to be tied to rapidly turning to face the portal before or as you're stepping through it.

latest - turning fast.log

During my many attempts at replication, I got the vague sense that this might only occur if the portal was near a northern chunk border, but that could be dumb luck.

commented

I cannot reproduce this issue.

Try to use the command /immersive_portals_debug smooth_unload_disable and then can you reproduce this?

commented

The command /immersive_portals_debug smooth_unload_disable was unknown, so I'm guessing you may have meant whatever command it was that I found that was similar to that. So I ran /immersive_portals_debug smooth_chunk_unload_disable. Hopefully that was the command you wanted me to run?

latest - Debug Smooth Disable.log

https://youtu.be/aa9WnL-iry8

commented

If you put a torch in the wrong light area, will the light around it become normal?

commented

If it does not, it probably means that the client light data of that section is not enabled.

commented

Do you get this issue in this version? https://github.com/qouteall/ImmersivePortalsMod/releases/tag/v0.61-1.16

If the issue still exists, try to place a torch in the wrong light area, will the light around it become normal?

commented

https://youtu.be/rKEIiCcm7CE

As you can see, the light immediately around the torch becomes normal, both when placing the torch and breaking it, but other areas within the same chunk that are not increased by the torch's light remain broken.

And this is with the linked version 0.61.

commented

Upload the world. Maybe I can reproduce it in that world

commented

immersive-portals-0.62-mc1.16.4-fabric.zip

Try to use this version to reproduce the issue and upload the log. You don't need to show video this time.
After reproducing the bug, disable the last server side configuration "increase loading range gradually" and check whether the bug manifests with that that config disabled

commented

In Fabric with 0.62, bug reproduced: latest - Lighting 0.62 Fabric.log

Changing graduallyIncreaseLoadingRange to false to test again.

commented

After flipping that config, reproducing the bug resulted in the most stunning reproduction of the bug yet.

2021-01-14_23 31 14

So I know you said I didn't need video, but this video has a bit of an interesting thing: Placing torches would sometimes repair the lighting for where it was placed, but not always. Included for demonstrative purposes. I skip the reproduction process and go mostly straight to the broken lighting. The first half is more interesting than the last.

https://youtu.be/ibRjlxrlw4s

latest 0.62 after config change.log

commented

The log does not say any error, it's weird.

commented

Since you weren't getting anything useful in the Fabric log, I decided I'd try the Forge build you provided to see if that did anything different. The linked issue above shows the result of that attempt.

commented

debug.log

Recreation of the issue in Forge with IPv0.13.

I don't see anything useful, but maybe you will.

commented

immersive-portals-0.64-mc1.16.4-fabric.zip

Here is a new version to test.

  1. Check can you reproduce the bug in that version
  2. If you still can reproduce, then quit to main menu, enter the world, use command /immersive_portals_debug light_logging_enable
  3. Reproduce again and upload the log.
commented

After turning the chunk visibility update interval shorter, I can reproduce this issue now.

commented

Probably fixed https://github.com/qouteall/ImmersivePortalsMod/releases/tag/v0.65-1.16

It's because that, if a chunk unloads the client light system will mark its section positions as to-be-removed, but it will actually be removed during the light update. However if the player is not in overworld and no portal to overworld is being rendered the overworld lighting will not be updated. When the overworld chunk get reloaded that sections' positions are still marked removed so the lighting data get wrongly removed. I made it to always update the light regardless of portal rendering.

commented

I'm struggling to reproduce the bug in 0.65. I don't promise that means it's fixed, since it'd usually take me a few tries to reproduce it and maybe I'm just unlucky, but you might have killed the bug.

commented

It's deemed fixed.