Jump to content
CSSFerret

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

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

Share this post


Link to post
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

Share this post


Link to post
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.

 

 

Share this post


Link to post
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.

Share this post


Link to post
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;
 

Share this post


Link to post
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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...