CSSFerret Posted December 15, 2021 Share Posted December 15, 2021 (edited) While reading in Riverside Gigamart, my client disconnected me from the (Linux, dedicated) server with the following error: ERROR: General , 1639533357104> 451,285,570> ExceptionLogger.logException> Exception thrown java.lang.NullPointerException: Cannot invoke "zombie.audio.BaseSoundEmitter.stopSound(long)" because "this.emitter" is null at IsoStove.doSound line:263. ERROR: General , 1639533357105> 451,285,570> DebugLogStream.printException> Stack trace: java.lang.NullPointerException: Cannot invoke "zombie.audio.BaseSoundEmitter.stopSound(long)" because "this.emitter" is null at zombie.iso.objects.IsoStove.doSound(IsoStove.java:263) at zombie.iso.objects.IsoStove.setActivated(IsoStove.java:400) at zombie.iso.objects.IsoStove.update(IsoStove.java:104) at zombie.iso.IsoCell.ProcessIsoObject(IsoCell.java:2918) at zombie.iso.IsoCell.updateInternal(IsoCell.java:5714) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.iso.IsoCell.update(IsoCell.java:5664) at zombie.iso.IsoWorld.updateInternal(IsoWorld.java:3334) at zombie.util.lambda.Invokers$Params1$CallbackStackItem.run(Invokers.java:37) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.core.profiling.AbstractPerformanceProfileProbe.lambda$invokeAndMeasure$0(AbstractPerformanceProfileProbe.java:83) at zombie.util.lambda.Stacks$Params3$CallbackStackItem.invoke(Stacks.java:230) at zombie.util.lambda.Stacks$GenericStack.invokeAndRelease(Stacks.java:26) at zombie.util.Lambda.capture(Lambda.java:130) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:81) at zombie.iso.IsoWorld.update(IsoWorld.java:3262) at zombie.gameStates.IngameState.updateInternal(IngameState.java:1666) at zombie.gameStates.IngameState.update(IngameState.java:1367) at zombie.gameStates.GameStateMachine.update(GameStateMachine.java:101) at zombie.GameWindow.logic(GameWindow.java:290) at zombie.core.profiling.AbstractPerformanceProfileProbe.invokeAndMeasure(AbstractPerformanceProfileProbe.java:71) at zombie.GameWindow.frameStep(GameWindow.java:746) at zombie.GameWindow.run_ez(GameWindow.java:662) at zombie.GameWindow.mainThread(GameWindow.java:476) at java.base/java.lang.Thread.run(Unknown Source) Server mods: Mods=ManySpawns;PassiveSkillsFix;MinimalDisplayBars;LitSortOGSN;LitSortOGSN_rice;LitSortOGSN_readOnePage WorkshopItems=1911132112;1095092125;2004998206;2071347174 Logging back in showed my character had been rolled back to the previous login state (lost roughly an hour). Edited December 15, 2021 by CSSFerret gamesdude109 1 Link to comment Share on other sites More sharing options...
xXDob3rManXx Posted December 15, 2021 Share Posted December 15, 2021 On our server, there are 7 of us and the same thing happens to us and we don't have any mods installed. It makes us roll back to our character. CSSFerret and gamesdude109 2 Link to comment Share on other sites More sharing options...
dgl Posted December 16, 2021 Share Posted December 16, 2021 (edited) I fixed this by decompiling IsoStove class and fixing the call sites. I think the root cause is when stove gets moved away from other players when they are offline. The symptom is player disconnect happening consistently after 2 minutes since they join the server. I recompiled the class and distributed it to players which fixed the issue. I can attach recompiled class too but it might be violating the forum rules 184c184 < if (this.soundInstance != -1L) { --- > if (this.soundInstance != -1L && this.emitter != null) { 196c196,198 < this.emitter.stopSound(this.soundInstance); --- > if (this.emitter != null) { > this.emitter.stopSound(this.soundInstance); > } 206c208 < if (this.soundInstance != -1L) { --- > if (this.soundInstance != -1L && this.emitter != null) { 214c216,218 < this.emitter.stopSound(this.soundInstance); --- > if (this.emitter != null) { > this.emitter.stopSound(this.soundInstance); > } Edited December 16, 2021 by dgl CSSFerret 1 Link to comment Share on other sites More sharing options...
Drevarius Posted December 16, 2021 Share Posted December 16, 2021 I am having the exact same issue as everyone here with the IsoStove error effectively booting everyone off my server within a few minutes of connecting to it. I'd love to get your IsoStove file @dgl, since my attempts to decompile and recompile with changes have led only to compiler errors. Link to comment Share on other sites More sharing options...
Drevarius Posted December 16, 2021 Share Posted December 16, 2021 I tried the fix that dgl put together and it resolved my issues - should try and address it officially sometime soon, I'm sure plenty of multiplayer servers will run into this issue (which basically halts the ability to play on that server until resolved) eventually as players start getting deeper into demolishing stoves and other objects in unexpected states. Link to comment Share on other sites More sharing options...
gamesdude109 Posted December 17, 2021 Share Posted December 17, 2021 Ran into the exact same error ERROR: General , 1639705071203> 371,290,377> ExceptionLogger.logException> Exception thrown java.lang.NullPointerException: Cannot invoke "zombie.audio.BaseSoundEmitter.stopSound(long)" because "this.emitter" is null at IsoStove.doSound line:263. ERROR: General , 1639705071204> 371,290,378> DebugLogStream.printException> Stack trace: java.lang.NullPointerException: Cannot invoke "zombie.audio.BaseSoundEmitter.stopSound(long)" because "this.emitter" is null at zombie.iso.objects.IsoStove.doSound(IsoStove.java:263) . On a server with four, and three of us are constantly crashing due to that error. Got everyone to upload their console.txts to me and it's that same BaseSoundEmitter (around day 6-7 of surviving) Mods=SkillRecoveryJournal WorkshopItems=2503622437; Link to comment Share on other sites More sharing options...
B1ssycan Posted December 17, 2021 Share Posted December 17, 2021 Can anybody help explain in more detail how to make the changes as I've managed to decompile the class but am not able to recompile it Purry 1 Link to comment Share on other sites More sharing options...
CSSFerret Posted December 17, 2021 Author Share Posted December 17, 2021 (edited) Still occurring after today's updates. Occurred roughly 4 minutes after client logon. Client buildid: 7877700 Server buildid: 7878670 EDIT: Looks like 41.63 just dropped; will try and report back. Edited December 17, 2021 by CSSFerret new build Link to comment Share on other sites More sharing options...
CSSFerret Posted December 17, 2021 Author Share Posted December 17, 2021 Looks like this one is resolved on the latest (so far at least). Tested 41.63: Client buildid: 7904505 Server buildid: 7904510 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now