Grasscutters / Grasscutter

A server software reimplementation for a certain anime game.
https://grasscutter.io/
GNU Affero General Public License v3.0
16.2k stars 4.47k forks source link

[Bug] 经过璃月珉林[Liyue Minlin]部分地带带来的卡顿 #2441

Closed Trgeegy closed 10 months ago

Trgeegy commented 10 months ago

Did you look for other closed issues that have the same problem? Yes, but I haven't found it yet

Describe the bug When I passed through some areas of Liyue Minlin, FPS decreased significantly and server latency increased. If you exit the game and enter again at this time, you will be completely unable to enter. Currently, this phenomenon does not exist in other regions. I tested the network connection and disconnection status separately, and the results were the same. It can be teleported when a slight lag is detected, but it will take some time. This was discovered while working on the main storyline of Liyue. I wonder if you have noticed this bug. 我在璃月珉林部分地带经过的时候FPS降低巨大和服务器延迟增加。如果这个时候退出游戏再进入就彻底进不去,目前其他地区还没有这个现象,我分别在网络连接和网路断开的状态测试,都是一样的结果。可以在察觉一点卡顿的时候传送出来,不过要等一段时间。 这是做璃月主线时候发现的,不知道你们有没有发现这个bug。

Which branch did you use? Game version: 4.0.1, But the console shows 4.0.0 Grasscutter version: 1.7.3-cdb0dc560

logs 2023-11-24T22:35:46Z An error occurred while loading group 133220037 in scene 3. org.luaj.vm2.LuaError: script:127 attempt to index ? (a nil value) stack traceback: script:125: in function 'Initialize_Group' script:182: in main chunk [Java]: in ? at org.luaj.vm2.LuaValue.error(Unknown Source) at org.luaj.vm2.LuaValue.indexerror(Unknown Source) at org.luaj.vm2.LuaValue.gettable(Unknown Source) at org.luaj.vm2.LuaValue.get(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.script.LuaScriptEngine$LuajCompiledScript.eval(Unknown Source) at org.luaj.vm2.script.LuaScriptEngine$LuajCompiledScript.eval(Unknown Source) at emu.grasscutter.scripts.ScriptLoader.eval(ScriptLoader.java:127) at emu.grasscutter.scripts.data.SceneGroup.load(SceneGroup.java:108) at emu.grasscutter.game.world.WorldDataSystem.getInvestigationGroup(WorldDataSystem.java:68) at emu.grasscutter.game.world.WorldDataSystem.getInvestigationMonster(WorldDataSystem.java:99) at emu.grasscutter.game.world.WorldDataSystem.lambda$getInvestigationMonstersByCityId$8(WorldDataSystem.java:145) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1185) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1168) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:839) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:1168) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183) at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2149) at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) 2023-11-24T22:35:46Z An error occurred while loading group 133315043 in scene 3. org.luaj.vm2.LuaError: script:248 vm error: java.lang.ArrayIndexOutOfBoundsException: Index 338 out of bounds for length 21 stack traceback: script: in main chunk script:182: in main chunk [Java]: in ? at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.script.LuaScriptEngine$LuajCompiledScript.eval(Unknown Source) at org.luaj.vm2.script.LuaScriptEngine$LuajCompiledScript.eval(Unknown Source) at emu.grasscutter.scripts.ScriptLoader.eval(ScriptLoader.java:127) at emu.grasscutter.scripts.data.SceneGroup.load(SceneGroup.java:108) at emu.grasscutter.game.world.WorldDataSystem.getInvestigationGroup(WorldDataSystem.java:68) at emu.grasscutter.game.world.WorldDataSystem.getInvestigationMonster(WorldDataSystem.java:99) at emu.grasscutter.game.world.WorldDataSystem.lambda$getInvestigationMonstersByCityId$8(WorldDataSystem.java:145) at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1185) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.acceptOnIndex(Int2ObjectOpenHashMap.java:1168) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:839) at it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueSpliterator.forEachRemaining(Int2ObjectOpenHashMap.java:1168) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2183) at java.base/java.util.stream.Nodes$CollectorTask.doLeaf(Nodes.java:2149) at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327) at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:754) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 338 out of bounds for length 21 at org.luaj.vm2.lib.DebugLib.getfuncname(Unknown Source) at org.luaj.vm2.lib.DebugLib$CallStack.auxgetinfo(Unknown Source) at org.luaj.vm2.lib.DebugLib$CallStack.traceback(Unknown Source) at org.luaj.vm2.lib.DebugLib.traceback(Unknown Source) at org.luaj.vm2.LuaClosure.errorHook(Unknown Source) at org.luaj.vm2.LuaClosure.processErrorHooks(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) ... 27 common frames omitted 2023-11-24T22:35:46Z Could not find script at path Scene/3/scene3_group166001112.lua 2023-11-24T22:35:51Z Player 10003 has passed the verification, ip: 127.0.0.1 2023-11-24T22:37:18Z [LUA] call trigger failed in group 133302253 with action_EVENT_GROUP_LOAD,ScriptArgs(param1=133302253, param2=0, param3=0, source_eid=0, target_eid=0, group_id=133302253, source=null, type=29) org.luaj.vm2.LuaError: script:499 attempt to call nil stack traceback: script:499: in function 'LF_SetCurGroupSmokes' script:684: in function [Java]: in ? at org.luaj.vm2.LuaValue.checkmetatag(Unknown Source) at org.luaj.vm2.LuaValue.callmt(Unknown Source) at org.luaj.vm2.LuaValue.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:1004) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:997) at emu.grasscutter.scripts.SceneScriptManager.callTrigger(SceneScriptManager.java:940) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:906) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:886) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$28(SceneScriptManager.java:857) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) 2023-11-24T22:37:18Z Group 133315201 suite 1 not found 2023-11-24T22:37:18Z [LUA] call trigger failed in group 133315142 with action_CheckDeathEntity,ScriptArgs(param1=133315142, param2=0, param3=0, source_eid=0, target_eid=0, group_id=133315142, source=null, type=29) org.luaj.vm2.LuaError: script:244 attempt to call nil stack traceback: script:244: in function [Java]: in ? at org.luaj.vm2.LuaValue.checkmetatag(Unknown Source) at org.luaj.vm2.LuaValue.callmt(Unknown Source) at org.luaj.vm2.LuaValue.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:1004) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:997) at emu.grasscutter.scripts.SceneScriptManager.callTrigger(SceneScriptManager.java:940) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:906) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:886) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$28(SceneScriptManager.java:857) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) 2023-11-24T22:37:18Z [LUA] call trigger failed in group 133302253 with action_EVENT_GROUP_LOAD,ScriptArgs(param1=133302253, param2=0, param3=0, source_eid=0, target_eid=0, group_id=133302253, source=null, type=29) org.luaj.vm2.LuaError: script:684 attempt to call nil stack traceback: script:140: in function script:163: in function 'index' script:267: in function 'LF_SetCurGroupSmokes' script:684: in function [Java]: in ? at org.luaj.vm2.LuaValue.checkmetatag(Unknown Source) at org.luaj.vm2.LuaValue.callmt(Unknown Source) at org.luaj.vm2.LuaValue.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:1004) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:997) at emu.grasscutter.scripts.SceneScriptManager.callTrigger(SceneScriptManager.java:940) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:906) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:886) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$28(SceneScriptManager.java:857) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function 'SetGadgetEnableInteract' script:9: in function 'SetGadgetEnableInteract' script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function 'SetGadgetEnableInteract' script:9: in function 'SetGadgetEnableInteract' script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function 'SetGadgetEnableInteract' script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:4: in function 'GetContextGroupId' script:6: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:4: in function 'SetGadgetEnableInteract' script:9: in function 'SetGadgetState' script:8: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:24Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:4: in function 'SetGadgetEnableInteract' script:9: in function 'SetGadgetState' script:8: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:37:47Z [LUA] call trigger failed in group 133302243 with action_EVENT_GROUP_LOAD,ScriptArgs(param1=133302243, param2=0, param3=0, source_eid=0, target_eid=0, group_id=133302243, source=null, type=29) org.luaj.vm2.LuaError: script:519 attempt to call nil stack traceback: script:519: in function 'LF_SetCurGroupSmokes' script:704: in function [Java]: in ? at org.luaj.vm2.LuaValue.checkmetatag(Unknown Source) at org.luaj.vm2.LuaValue.callmt(Unknown Source) at org.luaj.vm2.LuaValue.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:1004) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:997) at emu.grasscutter.scripts.SceneScriptManager.callTrigger(SceneScriptManager.java:940) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:906) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:886) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$28(SceneScriptManager.java:857) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) 2023-11-24T22:37:47Z [LUA] call trigger failed in group 133302243 with action_EVENT_GROUP_LOAD,ScriptArgs(param1=133302243, param2=0, param3=0, source_eid=0, target_eid=0, group_id=133302243, source=null, type=29) org.luaj.vm2.LuaError: script:704 attempt to call nil stack traceback: script:123: in function 'index' script:702: in function [Java]: in ? at org.luaj.vm2.LuaValue.checkmetatag(Unknown Source) at org.luaj.vm2.LuaValue.callmt(Unknown Source) at org.luaj.vm2.LuaValue.call(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.call(Unknown Source) at emu.grasscutter.scripts.SceneScriptManager.safetyCall(SceneScriptManager.java:1004) at emu.grasscutter.scripts.SceneScriptManager.callScriptFunc(SceneScriptManager.java:997) at emu.grasscutter.scripts.SceneScriptManager.callTrigger(SceneScriptManager.java:940) at emu.grasscutter.scripts.SceneScriptManager.handleEventForTrigger(SceneScriptManager.java:906) at emu.grasscutter.scripts.SceneScriptManager.realCallEvent(SceneScriptManager.java:886) at emu.grasscutter.scripts.SceneScriptManager.lambda$callEvent$28(SceneScriptManager.java:857) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) 2023-11-24T22:38:32Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:38:32Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:38:32Z [LUA] call function failed in gadget 70510012 with OnClientExecuteReq 0 0,0 org.luaj.vm2.LuaError: script:9 vm error: java.lang.NullPointerException stack traceback: script:9: in function [Java]: in ? at org.luaj.vm2.lib.jse.JavaMethod.invokeMethod(Unknown Source) at org.luaj.vm2.lib.jse.JavaMethod.invoke(Unknown Source) at org.luaj.vm2.LuaClosure.execute(Unknown Source) at org.luaj.vm2.LuaClosure.onInvoke(Unknown Source) at org.luaj.vm2.LuaClosure.invoke(Unknown Source) at org.luaj.vm2.LuaValue.invoke(Unknown Source) at emu.grasscutter.scripts.data.controller.EntityController.callControllerScriptFunc(EntityController.java:85) at emu.grasscutter.scripts.data.controller.EntityController.onClientExecuteRequest(EntityController.java:50) at emu.grasscutter.game.ability.actions.ActionExecuteGadgetLua.execute(ActionExecuteGadgetLua.java:20) at emu.grasscutter.game.ability.AbilityManager.lambda$executeAction$1(AbilityManager.java:156) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.lang.NullPointerException: null at java.base/java.util.Objects.requireNonNull(Objects.java:208) at java.base/java.util.Optional.of(Optional.java:113) at emu.grasscutter.scripts.ScriptLib.getSceneScriptManager(ScriptLib.java:57) at emu.grasscutter.scripts.ScriptLib.SetGadgetEnableInteract(ScriptLib.java:1395) at jdk.internal.reflect.GeneratedMethodAccessor30.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) ... 16 common frames omitted 2023-11-24T22:38:53Z [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,} 2023-11-24T22:38:53Z [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,} 2023-11-24T22:38:53Z [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,} 2023-11-24T22:38:53Z [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,} 2023-11-24T22:38:53Z [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,}

Additional context I was deleted by this bug and opened a new archive, but I still have this problem. However, as long as you click the transfer button in advance, you can successfully detach without closing the program when it is not responding. Not very proficient in English My English is translated through software, I hope you can understand. This is my first time posting a question on Github. 我被这个bug弄到删档,重新开了一个存档,仍然有这样的问题。不过,只要提前点击传送按钮,在程序未响应的时候不关闭程序就可以成功脱离。 不太会英语 我英语是通过软件翻译的,但愿你们能看懂。 这是我第一次在Github上面发问题。

Trgeegy commented 10 months ago

具体帧数从60到0 fps rate from 60 to 0

dadaluo commented 10 months ago

这个问题我有遇到过,原因大概是正在进行中的某个任务出问题了。 我当时找到的解决办法是通过Mongdb数据库连接工具比如robo 3T、datagrip等都可以,连接到私服的Mongo数据库,找到grasscutter库中的quests集合,这个就是任务表,找到ownerUid是你的uid,isFinished=false的所有数据,这个就是你未完成的任务列表,然后把这些任务的ownerUid改成别的,再尝试登陆,如果登录成功的话那就是这个原因。 如果真的是以上原因的话,你可以通过二分法依次把这些任务的ownerUid改成你的,然后再尝试登录,这样可以找到哪个任务出问题了。如果你必须做这个任务的话,可以在登录成功后将这个任务的ownerUid改成你的,然后通过GcTools这个工具立即手动将这个人任务完成掉,然后就没事了

Jumping-notes commented 10 months ago

我也遇到了一样的问题。 反复弹出 [LUA] Call improperly implemented RefreshGroup with {group_id:133103157,suite:1,} 我查了下在Data/GadgetSpawns中28704行: {"sceneId":3,"groupId":133103157,"pos":{"x":849.84,"z":1657.71},"spawns":[ {"gadgetId":70900051,"configId":157002,"gadgetState":201,"pos":{"x":847.21,"y":245.17,"z":1656.92},"rot":{"y":329.0}}, {"gadgetId":70900051,"configId":157003,"gadgetState":201,"pos":{"x":851.49,"y":244.89,"z":1656.51},"rot":{"y":59.1}}, {"gadgetId":70900051,"configId":157001,"gadgetState":201,"pos":{"x":850.81,"y":244.58,"z":1659.71},"rot":{"y":330.8}} ]}, 不过只看报错部分不太确定该怎么改。

Jumping-notes commented 10 months ago

我尝试了下,只能在cache/scene3_grid.json中,找到你引发问题的触发组,例如我的就是133103157,找到两个触发位置,前面加上//转备注重启

Trgeegy commented 10 months ago

这个问题我有遇到过,原因大概是正在进行中的某个任务出问题了。 我当时找到的解决办法是通过Mongdb数据库连接工具比如robo 3T、datagrip等都可以,连接到私服的Mongo数据库,找到grasscutter库中的quests集合,这个就是任务表,找到ownerUid是你的uid,isFinished=false的所有数据,这个就是你未完成的任务列表,然后把这些任务的ownerUid改成别的,再尝试登陆,如果登录成功的话那就是这个原因。 如果真的是以上原因的话,你可以通过二分法依次把这些任务的ownerUid改成你的,然后再尝试登录,这样可以找到哪个任务出问题了。如果你必须做这个任务的话,可以在登录成功后将这个任务的ownerUid改成你的,然后通过GcTools这个工具立即手动将这个人任务完成掉,然后就没事了

你给的思路不错,不过我倒是不想重新尝试了,我已经不太想去这个地区了,作者的代码写的不太完善,只能说未来可期

Trgeegy commented 10 months ago

我已经得到我想要的答案了,因此关闭问题,后续不会回答该问题

Sandemons commented 10 months ago

这个问题我有遇到过,原因大概是正在进行中的某个任务出问题了。 我当时找到的解决办法是通过Mongdb数据库连接工具比如robo 3T、datagrip等都可以,连接到私服的Mongo数据库,找到grasscutter库中的quests集合,这个就是任务表,找到ownerUid是你的uid,isFinished=false的所有数据,这个就是你未完成的任务列表,然后把这些任务的ownerUid改成别的,再尝试登陆,如果登录成功的话那就是这个原因。 如果真的是以上原因的话,你可以通过二分法依次把这些任务的ownerUid改成你的,然后再尝试登录,这样可以找到哪个任务出问题了。如果你必须做这个任务的话,可以在登录成功后将这个任务的ownerUid改成你的,然后通过GcTools这个工具立即手动将这个人任务完成掉,然后就没事了

请问你是完成哪个任务才解决这个问题的?

dadaluo commented 10 months ago

这个问题我有遇到过,原因大概是正在进行中的某个任务出问题了。 我当时找到的解决办法是通过Mongdb数据库连接工具比如robo 3T、datagrip等都可以,连接到私服的Mongo数据库,找到grasscutter库中的quests集合,这个就是任务表,找到ownerUid是你的uid,isFinished=false的所有数据,这个就是你未完成的任务列表,然后把这些任务的ownerUid改成别的,再尝试登陆,如果登录成功的话那就是这个原因。 如果真的是以上原因的话,你可以通过二分法依次把这些任务的ownerUid改成你的,然后再尝试登录,这样可以找到哪个任务出问题了。如果你必须做这个任务的话,可以在登录成功后将这个任务的ownerUid改成你的,然后通过GcTools这个工具立即手动将这个人任务完成掉,然后就没事了

请问你是完成哪个任务才解决这个问题的?

这个是很久之前的事情了,遇到了不止一次,具体是哪个任务已经忘了

SlimeYummy commented 9 months ago

In my case, delete ID in error message (such as 133103157) in sesne3_grid.json file can bypass this issue.

February5th commented 9 months ago

In my case, delete ID in error message (such as 133103157) in sesne3_grid.json file can bypass this issue.

saved, thx for the solution

ktrNozomi commented 9 months ago

To save people from the stuck situation, you can type > tp @10001 0 400 0 3 (> is the prompt sign, @10001 is your UID) and enter quickly (struggling with the red error XD), once the client is not stuck, then you can relogin and use quest finish API. Thanks for pointing out the BUG

ktrNozomi commented 9 months ago

In my case, delete ID in error message (such as 133103157) in sesne3_grid.json file can bypass this issue.

Thanks a lot.