java.lang.IllegalArgumentException
In GitLab by @OfEnd on May 14, 2019, 13:47
My console and runtime.txt getting spammed with this:
java.lang.IllegalArgumentException: Equal objects must have equal hashcodes. During rehashing, Trove discovered that the following two objects claim to be equal (as in java.lang.Object.equals()) but their hashCodes (or those calculated by your TObjectHashingStrategy) are not equal.This violates the general contract of java.lang.Object.hashCode(). See bullet point two in that method's documentation. object #1 =class com.eu.habbo.habbohotel.rooms.RoomUnit id= 529430240 hashCode= 529430240 toString= com.eu.habbo.habbohotel.rooms.RoomUnit@1f8e76e0; object #2 =class com.eu.habbo.habbohotel.rooms.RoomUnit id= 529430240 hashCode= 529430240 toString= com.eu.habbo.habbohotel.rooms.RoomUnit@1f8e76e0
[Warning] apparent concurrent modification of the key set. Size before and after rehash() do not match -1 vs 0
hashCode() and/or equals() have inconsistent implementation
Key set lost entries, now got 1 instead of -1. This can manifest itself as an apparent duplicate key.Inserting same object twice, rehashing bug. Object= com.eu.habbo.habbohotel.rooms.RoomUnit@1f8e76e0
at gnu.trove.impl.hash.TObjectHash.buildObjectContractViolation(TObjectHash.java:464)
at gnu.trove.impl.hash.TObjectHash.throwObjectContractViolation(TObjectHash.java:448)
at gnu.trove.set.hash.THashSet.rehash(THashSet.java:172)
at gnu.trove.impl.hash.THash.compact(THash.java:201)
at gnu.trove.impl.hash.THash.removeAt(THash.java:272)
at gnu.trove.impl.hash.TObjectHash.removeAt(TObjectHash.java:104)
at gnu.trove.set.hash.THashSet.remove(THashSet.java:246)
at com.eu.habbo.habbohotel.rooms.RoomTile.removeUnit(RoomTile.java:224)
at com.eu.habbo.habbohotel.rooms.RoomUnit.setCurrentLocation(RoomUnit.java:576)
at com.eu.habbo.threading.runnables.RoomUnitTeleport.run(RoomUnitTeleport.java:52)
at com.eu.habbo.threading.ThreadPooling$1.run(ThreadPooling.java:61)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
and:
java.lang.IllegalStateException: No free or removed slots available. Key set full?!!
at gnu.trove.impl.hash.TObjectHash.insertKeyRehash(TObjectHash.java:358)
at gnu.trove.impl.hash.TObjectHash.insertKey(TObjectHash.java:294)
at gnu.trove.set.hash.THashSet.add(THashSet.java:106)
at com.eu.habbo.habbohotel.rooms.RoomTile.addUnit(RoomTile.java:218)
at com.eu.habbo.habbohotel.rooms.RoomUnit.setCurrentLocation(RoomUnit.java:579)
at com.eu.habbo.threading.runnables.RoomUnitTeleport.run(RoomUnitTeleport.java:52)
at com.eu.habbo.threading.ThreadPooling$1.run(ThreadPooling.java:61)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:748)
As result a lot of people were lagging and finally disconnecting. and got also some java.lang.NullPointerException