Official Client: java.util.ConcurrentModificationException

The worst monsters in the Hearthlands warp the fabric of space and time...
xyzzy57
Posts: 200
Joined: Thu Aug 19, 2021 9:41 pm

Official Client: java.util.ConcurrentModificationException

Post by xyzzy57 »

Bugs in the ender client are hitting thick and fast. I once again switched to the official client, and got a *different* crash than the one I saw with ender's client.

I'm still on MacOS. Hopefully my $HOME/.haven/data directory hasn't already re-corrupted itself.

What I did:
- logged in 3 characters in succession, to check which one had the quest requiring a dead beaver.
- It crashed after the *third* of these characters was out of his bed (visible standing near it); I think after I clicked to move him towards where a village mate had told me (on Discord) that they'd left the dead beaver for me.

Here's your exception report:

Code: Select all

java.util.ConcurrentModificationException
	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
	at haven.res.ui.obj.buddy.Info.draw(buddy.cjava:26)
	at haven.PView$ScreenList.draw(PView.java:415)
	at haven.PView.draw(PView.java:341)
	at haven.MapView.draw(MapView.java:1631)
	at haven.Widget.draw(Widget.java:759)
	at haven.Widget.draw(Widget.java:764)
	at haven.GameUI.draw(GameUI.java:1014)
	at haven.Widget.draw(Widget.java:759)
	at haven.Widget.draw(Widget.java:764)
	at haven.RootWidget.draw(RootWidget.java:73)
	at haven.UI.draw(UI.java:373)
	at haven.GLPanel$Loop.display(GLPanel.java:301)
	at haven.GLPanel$Loop.run(GLPanel.java:390)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:833)
For the record, the Ender client crashed with a different stack trace when I tried to login the first of these characters; that crash has multiple reports on the ender client thread.
Last edited by xyzzy57 on Sun Mar 17, 2024 4:01 am, edited 2 times in total.
xyzzy57
Posts: 200
Joined: Thu Aug 19, 2021 9:41 pm

Re: Official Client: java.util.ConcurrentModificationExcepti

Post by xyzzy57 »

Tried again, this time only logging in the third character (the one who needs the beaver ;-() Got a different crash.

I noticed this time that the minimap was blank at the time of the crash, but the main screen looked at least roughly normal.

Code: Select all

java.lang.NullPointerException
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
	at java.base/java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:564)
	at java.base/java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:591)
	at java.base/java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:689)
	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
	at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:765)
	at haven.OCache.ctick(OCache.java:127)
	at haven.Glob.ctick(Glob.java:148)
	at haven.GLPanel$Loop.run(GLPanel.java:366)
	at haven.JOGLPanel.run(JOGLPanel.java:246)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.NullPointerException: Cannot read field "name" because "this.b" is null
	at haven.res.ui.obj.buddy.Buddy.ctick(buddy.cjava:148)
	at haven.Gob.ctick(Gob.java:442)
	at haven.OCache.lambda$ctick$0(OCache.java:121)
	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1625)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509)
	at java.base/java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
	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)
xyzzy57
Posts: 200
Joined: Thu Aug 19, 2021 9:41 pm

Re: Official Client: java.util.ConcurrentModificationExcepti

Post by xyzzy57 »

I restored my saved copy of $HOME/.haven - one only every touched by the official client - and was able to log this character in without a crash.

So this is probably a false alarm - ender is fubared, and fubaring the shared directory.

Will follow up in this thread if I get any more crashes with this never-used-with-ender $HOME/.haven
algam
Posts: 108
Joined: Thu Mar 04, 2010 3:11 pm

Re: Official Client: java.util.ConcurrentModificationExcepti

Post by algam »

Hi xyzzy57,

Do you know of another place on macos where this game keeps data except for $HOME/.haven ?

I am getting the last error "java.lang.NullPointerException: Cannot read field "name" because "this.b" is null" on my main after using Kami client

I am getting the error even when using vanilla, after I have deleted $HOME/.haven

I can log in with an alt from another account but my main keeps getting the same error

I have deleted autohaven.jar, deleted $HOME/.haven, restarted computer, downloaded autohaven.jar again and I am still getting the same error

btw, even if $HOME/.haven was deleted the vanilla client remembered my alt from another account
xyzzy57
Posts: 200
Joined: Thu Aug 19, 2021 9:41 pm

Re: Official Client: java.util.ConcurrentModificationExcepti

Post by xyzzy57 »

algam wrote:Hi xyzzy57,

Do you know of another place on macos where this game keeps data except for $HOME/.haven ?

I am getting the last error "java.lang.NullPointerException: Cannot read field "name" because "this.b" is null" on my main after using Kami client
I haven't discovered any, and the latest crash that caused me to start looking for one is now thought to be a bug in the official client, presumably imported into all the others. See these threads:

viewtopic.php?f=47&t=75730

viewtopic.php?f=47&t=75727

That's a different stack trace, but I suppose the one you hit (and I hit the second time above) could be another real bug in the official client, rather than a data conflict.

Return to “Bugs”