Infinite loop (or similar) when descending from lvl. 3 to lvl. 4 of the CoC
11-14-2011 11:28 AM
Ancient Member
Number of reported issues by Al-Khwarizmi: 62
Infinite loop (or similar) when descending from lvl. 3 to lvl. 4 of the CoC
When I pressed ">" to descend, the game froze and it was taking a full CPU core.
I hope the following VM thread dump can be useful for debugging (that bracers constructor looks suspicious?):
Code:
Full thread dump Java HotSpot(TM) Client VM (20.1-b02 mixed mode, sharing):
"Thread-15" prio=6 tid=0x3ab8e800 nid=0x3374 runnable [0x3e54e000]
java.lang.Thread.State: RUNNABLE
at java.util.Random.next(Unknown Source)
at java.util.Random.nextInt(Unknown Source)
at de.adom.jade.kernel.game.Game.random(SourceFile:467)
at de.adom.jade.kernel.SC.random(SourceFile:58)
at de.adom.jade.kernel.SC.OED(SourceFile:218)
at de.adom.jade.kernel.SC.OED(SourceFile:238)
at de.adom.jade.items.list.bracers.BracersOfDefense.<init>(SourceFile:57)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:556)
at de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:366)
at de.adom.jade.world.complexes.locations.maps.DungeonMap.placeItems(SourceFile:282)
at de.adom.jade.world.complexes.locations.maps.DungeonMap.digDungeon(SourceFile:103)
at de.adom.jade.world.complexes.locations.maps.DungeonMap.<init>(SourceFile:74)
at de.adom.jade.world.complexes.locations.DungeonLevel.createDungeonMap(SourceFile:122)
at de.adom.jade.world.complexes.locations.DungeonLevel.createMap(SourceFile:111)
at de.adom.jade.world.complexes.locations.Location.getMap(SourceFile:250)
at de.adom.jade.world.complexes.locations.LocationManager.transferToTargetMapOrTemporaryBufferAndAdjustPosition(SourceFile:182)
at de.adom.jade.beings.brains.PCBrain.enterLocation(SourceFile:401)
at de.adom.jade.beings.Being.enterLocation(SourceFile:2396)
at de.adom.jade.beings.Being.doEnterLocation(SourceFile:2341)
at de.adom.jade.ui.commands.CommandEnterLocationPreferUp.executeImpl(SourceFile:48)
at de.adom.jade.ui.commands.Command.execute(SourceFile:510)
at de.adom.jade.beings.brains.PCBrain.doActImpl(SourceFile:142)
at de.adom.jade.beings.brains.AbstractBrain.doAct(SourceFile:398)
at de.adom.jade.beings.Being.actImpl(SourceFile:674)
at de.adom.jade.kernel.actors.AbstractActor.act(SourceFile:58)
at de.adom.jade.kernel.actors.ActorReference.act(SourceFile:60)
at de.adom.jade.kernel.GameLoop.run(SourceFile:111)
"TimerQueue" daemon prio=6 tid=0x3ab8d400 nid=0x1e44 in Object.wait() [0x3f4af000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x15ebd4c8> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-0" prio=6 tid=0x3ab8e000 nid=0x2508 in Object.wait() [0x408cf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at java.awt.EventQueue.getNextEvent(Unknown Source)
- locked <0x145edd98> (a java.awt.EventQueue)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"D3D Screen Updater" daemon prio=8 tid=0x3ab8c800 nid=0x245c in Object.wait() [0x3f68f000]
java.lang.Thread.State: TIMED_WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
- locked <0x146c5390> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"AWT-EventQueue-1" prio=6 tid=0x3ab8c000 nid=0x26b0 waiting on condition [0x3eafe000]
java.lang.Thread.State: RUNNABLE
at com.sun.deploy.util.ConsoleHelper.dumpAllStacksImpl(Native Method)
at com.sun.deploy.util.ConsoleHelper.dumpAllStacks(Unknown Source)
at com.sun.javaws.util.JavawsConsoleController14.dumpAllStacks(Unknown Source)
at com.sun.deploy.util.ConsoleWindow$2.actionPerformed(Unknown Source)
at javax.swing.JComponent$ActionStandin.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.KeyboardManager.fireBinding(Unknown Source)
at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
at javax.swing.JComponent.processKeyBindings(Unknown Source)
at javax.swing.JComponent.processKeyEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.KeyboardFocusManager.redispatchEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.awt.EventQueue$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.awt.EventQueue$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
"AWT-Shutdown" prio=6 tid=0x3ab8b400 nid=0x1e08 in Object.wait() [0x3ea6f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at sun.awt.AWTAutoShutdown.run(Unknown Source)
- locked <0x145e06f0> (a java.lang.Object)
at java.lang.Thread.run(Unknown Source)
"TimerQueue" daemon prio=6 tid=0x3ab8b000 nid=0x1e00 in Object.wait() [0x3f24f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at javax.swing.TimerQueue.run(Unknown Source)
- locked <0x145a2c70> (a javax.swing.TimerQueue)
at java.lang.Thread.run(Unknown Source)
"CacheCleanUpThread" daemon prio=6 tid=0x3ab72800 nid=0x2608 in Object.wait() [0x3ecaf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x145a2c80> (a com.sun.deploy.cache.CleanupThread)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.cache.CleanupThread.run(Unknown Source)
- locked <0x145a2c80> (a com.sun.deploy.cache.CleanupThread)
"CacheMemoryCleanUpThread" daemon prio=6 tid=0x3ab6cc00 nid=0x4ac in Object.wait() [0x3ec1f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x145a2db8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at com.sun.deploy.cache.MemoryCache$LoadedResourceCleanupThread.run(Unknown Source)
"ConsoleWriterThread" daemon prio=6 tid=0x3ab6bc00 nid=0x223c in Object.wait() [0x3eb8f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.ConsoleTraceListener$ConsoleWriterThread.run(Unknown Source)
- locked <0x145a2e48> (a java.lang.Object)
"DestroyJavaVM" prio=6 tid=0x0228b400 nid=0x1cd4 waiting on condition [0x00000000]
java.lang.Thread.State: RUNNABLE
"Javaws Secure Thread" daemon prio=6 tid=0x3aadd000 nid=0x1e20 in Object.wait() [0x3afdf000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x145a3118> (a java.lang.Object)
at java.lang.Object.wait(Object.java:485)
at com.sun.javaws.ui.JavawsSysRun$SecureThread.run(Unknown Source)
- locked <0x145a3118> (a java.lang.Object)
"AWT-Windows" daemon prio=6 tid=0x3aadb800 nid=0x2408 runnable [0x3ae2f000]
java.lang.Thread.State: RUNNABLE
at sun.awt.windows.WToolkit.eventLoop(Native Method)
at sun.awt.windows.WToolkit.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"Java2D Disposer" daemon prio=10 tid=0x3aada800 nid=0x2468 in Object.wait() [0x3aa4f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
- locked <0x145a3200> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
"traceMsgQueueThread" daemon prio=6 tid=0x01d5ec00 nid=0x216c in Object.wait() [0x3a73f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:485)
at com.sun.deploy.util.Trace$TraceMsgQueueChecker.run(Unknown Source)
- locked <0x145a3298> (a java.util.ArrayList)
at java.lan
Trace message truncated for length over 10K