Jump to content

[41.61] MP Client NullPointerException: Cannot invoke "zombie.audio.BaseSoundEmitter.stopSound(long)" because "this.emitter" is null at IsoStove.doSound line:263


CSSFerret

Recommended Posts

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 by CSSFerret
Link to comment
Share on other sites

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 by dgl
Link to comment
Share on other sites

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

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

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

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 by CSSFerret
new build
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...