Hang while descending stairs
issueid=436 08-26-2011 08:05 AM
Ancient Member
Number of reported issues by Laukku: 56
Hang while descending stairs

When descending stairs, the game didn't respond at all. The screen stayed on the upper level. I probably had visited the lower level earlier, but I'm not entirely sure - I'd been using an altar for a while on a couple levels higher. Cursor became the Windows 7 waiting circle (hourglass cursor). No error message or stack trace.

Might be related to this issue: http://www.adom.de/forums/project.php?issueid=364
Issue Details
Issue Number 436
Project ADOM II (formerly known as JADE)
Category Unknown
Status Duplicate
Priority 1 - Highest
Affected Version Unknown
Fixed Version ADOM II 0.2.4
Users able to reproduce bug 7
Users unable to reproduce bug 0
Assigned Users (none)
Tags (none)




11-12-2011 12:53 PM
The Creator
Fixed for JADE 0.2.1. Please send your real name to creator(at)ancientdomainsofmystery.com for it to be included in the credits. (If you were already asked to do so you can ignore this message. Please include a reference to the bug or RFE you are credited for.)

03-16-2012 12:02 AM
The Creator
Forgot to update the status.

03-16-2012 11:13 AM
Ancient Member
So you posted a message about forgetting to update the status, then... forgot again to update the status? Because this issue is still "unconfirmed".

03-17-2012 04:50 PM
The Creator
Strange status effects here :-)

03-19-2012 09:22 AM
Ancient Member
Awww, this happened to me again in 0.2.3 :-(

I was playing a trollish fighter+barbarian. I did fine in the Caverns of Chaos, found an amulet of life saving, found an ant- and a beehive, and talked to the wizened old man. But when I tried to descend to a new level from D:7 (a maze level BTW), this happened. The character disappeared from the map, but nothing else happened.

03-20-2012 08:18 PM
Junior Member
I had this gamebreaking bug in 0.2.3 too ;( When I descended some stairs, the game didn't respond anymore.

03-20-2012 10:16 PM
Senior Member
Damn just got this message descending the stairs on CoC level 1 :( I guess I'll go study for finals now :(

03-22-2012 01:10 AM
Junior Member
Ditto. Although I've noticed the bug most often when descending to either level 4 or 5 of the CoC, so I suspect that the presence of the Wizened Old Man has something to do with it. This is a reason that we shouldn't have to deal with roguelike perma-death at least until bugs are worked out.

03-22-2012 01:31 AM
Senior Member
Damn got it again, this time it was trying to enter some random dungeon from the world map, and I had just gotten a cloak of invisibility, and a cloak of the spectre and hadn't tried out the spectre one yet because I equipped it and it put me at a negative charisma and appearance so the shop keep and everyone attacked me and I barely got away with my life... but I was really hoping it would give me the ability to walk through walls... That'd be sweet

This should probably be one of the level 1 priority bugs

This petition for a change to Confirmed was accepted
03-22-2012 07:36 PM
Member
Just happened to me as well . . . lost a character that actually managed to survive for a while and was getting to see places.

@ironcash: I believe that I had one of those before, and that they do indeed do what you had hoped.

@everyone: Use the 'Petition for status change to' pull-down menu below to petition to change the status to 'Confirmed.'
 

03-22-2012 08:13 PM
Ancient Member
Quote Originally Posted by adom-admin
Status changed from Fixed to Confirmed
Oh the irony :-) After all the trouble of marking this as Fixed, you had to mark it as Unconfirmed again.

Quote Originally Posted by ironcash
This should probably be one of the level 1 priority bugs
I originally put it as 4 because it seemed rare. Nobody else had mentioned this exact same bug. But now that everybody is complaining about it, it really should be 1...

03-25-2012 11:35 AM
Ancient Member
This bug seems less frequent than in previous versions but I've just gotten it in 0.2.3. I tried to enter a random dungeon, a CPU core hit 100% and the game didn't respond, I had to kill it.

Before killing it, I checked JConsole, I think this is the stack trace of the thread that went into infinite loop:

Code:
Name: Thread-8
State: RUNNABLE
Total blocked: 56.846  Total waited: 56.349

Stack trace: 
java.util.Random.nextInt(Unknown Source)
de.adom.jade.kernel.game.Game.random(SourceFile:466)
de.adom.jade.kernel.SC.random(SourceFile:60)
de.adom.jade.kernel.SC.OED(SourceFile:242)
de.adom.jade.kernel.SC.OED(SourceFile:262)
de.adom.jade.items.list.bracers.BracersOfDefense.<init>(SourceFile:57)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.items.ItemFactory.create(SourceFile:218)
de.adom.jade.items.ItemFactory.create(SourceFile:1)
de.adom.jade.kernel.RarityBasedFactory.createOneOf(SourceFile:391)
de.adom.jade.kernel.SC.newEquipment(SourceFile:135)
de.adom.jade.beings.NPC.equip(SourceFile:239)
de.adom.jade.beings.list.OrcishChieftain.<init>(SourceFile:97)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:345)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.a(SourceFile:60)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.populateImpl(SourceFile:47)
de.adom.jade.world.complexes.locations.populations.AbstractPopulationCreator.populate(SourceFile:109)
de.adom.jade.world.complexes.locations.maps.LocationMap.setPopulationCreator(SourceFile:1632)
de.adom.jade.world.complexes.locations.Location.getMap(SourceFile:274)
de.adom.jade.world.complexes.locations.LocationManager.transferToTargetMapOrTemporaryBufferAndAdjustPosition(SourceFile:178)
de.adom.jade.beings.brains.PCBrain.enterLocation(SourceFile:417)
de.adom.jade.beings.Being.enterLocation(SourceFile:2713)
de.adom.jade.world.complexes.locations.Connection.isEnteredBy(SourceFile:280)
de.adom.jade.beings.Being.doEnterLocation(SourceFile:2617)
de.adom.jade.ui.commands.CommandEnterLocationPreferUp.executeImpl(SourceFile:48)
de.adom.jade.ui.commands.Command.execute(SourceFile:546)
de.adom.jade.beings.brains.PCBrain.doActImpl(SourceFile:152)
de.adom.jade.beings.brains.AbstractBrain.doAct(SourceFile:400)
de.adom.jade.beings.Being.actImpl(SourceFile:777)
de.adom.jade.kernel.actors.AbstractActor.act(SourceFile:58)
de.adom.jade.kernel.actors.ActorReference.act(SourceFile:60)
de.adom.jade.kernel.GameLoop.run(SourceFile:110)
Those bracers of defense, always bringing trouble!

04-01-2012 09:28 AM
Ancient Member
This bug seems to kick in most frequently when entering a new dungeon. It happens to me upon descending deeper, sometimes, too, but seems to happen more rarely.

04-01-2012 08:49 PM
Junior Member
It also happens, when I meet an orc patrol and decided to [f]ight with them. So, it is not related with dungeon generation, rather than entering into new place.... or it is related with monster generation/placement code.

PS! In this game, I decided to avoid dungeons and explore the wilderness...mostly, to avoid this bug. Unfortunately, the bug catch me... and there is no way to avoid this bug in 0.2.3.

I hope, this one gets fixed soon, since this is really annoying bug... my best chars have been ruined because of this nasty bug.

04-01-2012 09:04 PM
Senior Member
We were having a discussion on Facebook, and Thomas said that he is having trouble figuring out exactly what is causing the bug. But then he came up with the idea that it might be a memory thing, from having so many maps generated within a single game might be causing the bug. So hopefully he is able to figure it out soon :)

04-01-2012 09:05 PM
Ancient Member
Judging by the stack trace above and the fact that the core hits 100%, it doesn't look much like a memory bug to me, but more like an infinite loop... I strongly suspect that it's caused by generating bracers of defense, or at least by generating monsters that carry those bracers. Did Thomas check that?

If I get the bug again, I'll dump the stack trace again to see if it's always bracers of defense or it can happen with different items.

04-06-2012 10:19 AM
Ancient Member
I got it again, entering a dungeon from the wilderness... and again, the bracers of defense are there.

Code:
Name: Thread-9
State: RUNNABLE
Total blocked: 26.397  Total waited: 26.233

Stack trace: 
java.util.Random.next(Unknown Source)
java.util.Random.nextInt(Unknown Source)
de.adom.jade.kernel.game.Game.random(SourceFile:466)
de.adom.jade.kernel.SC.random(SourceFile:60)
de.adom.jade.kernel.SC.OED(SourceFile:242)
de.adom.jade.kernel.SC.OED(SourceFile:262)
de.adom.jade.items.list.bracers.BracersOfDefense.<init>(SourceFile:57)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.items.ItemFactory.create(SourceFile:218)
de.adom.jade.items.ItemFactory.create(SourceFile:1)
de.adom.jade.kernel.RarityBasedFactory.createOneOf(SourceFile:391)
de.adom.jade.kernel.SC.newEquipment(SourceFile:135)
de.adom.jade.beings.NPC.equip(SourceFile:239)
de.adom.jade.beings.list.OrcishChieftain.<init>(SourceFile:97)
sun.reflect.GeneratedConstructorAccessor77.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:345)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.a(SourceFile:60)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.populateImpl(SourceFile:47)
de.adom.jade.world.complexes.locations.populations.AbstractPopulationCreator.populate(SourceFile:109)
de.adom.jade.world.complexes.locations.maps.LocationMap.setPopulationCreator(SourceFile:1632)
de.adom.jade.world.complexes.locations.Location.getMap(SourceFile:274)
de.adom.jade.world.complexes.locations.LocationManager.transferToTargetMapOrTemporaryBufferAndAdjustPosition(SourceFile:178)
de.adom.jade.beings.brains.PCBrain.enterLocation(SourceFile:417)
de.adom.jade.beings.Being.enterLocation(SourceFile:2713)
de.adom.jade.world.complexes.locations.Connection.isEnteredBy(SourceFile:280)
de.adom.jade.beings.Being.doEnterLocation(SourceFile:2617)
de.adom.jade.ui.commands.CommandEnterLocationPreferUp.executeImpl(SourceFile:48)
de.adom.jade.ui.commands.Command.execute(SourceFile:546)
de.adom.jade.beings.brains.PCBrain.doActImpl(SourceFile:152)
de.adom.jade.beings.brains.AbstractBrain.doAct(SourceFile:400)
de.adom.jade.beings.Being.actImpl(SourceFile:777)
de.adom.jade.kernel.actors.AbstractActor.act(SourceFile:58)
de.adom.jade.kernel.actors.ActorReference.act(SourceFile:60)
de.adom.jade.kernel.GameLoop.run(SourceFile:110)
In fact, in both these two cases and in the case reported in http://www.adom.de/forums/project.php?issueid=906 the game seems to be generating not only bracers of defense, but in particular an orcish chieftain with bracers of defense...

04-06-2012 10:50 AM
Ancient Member
And again.

Code:
Name: Thread-8
State: RUNNABLE
Total blocked: 53.891  Total waited: 53.638

Stack trace: 
de.adom.jade.kernel.game.Game.random(SourceFile:466)
de.adom.jade.kernel.SC.random(SourceFile:60)
de.adom.jade.kernel.SC.OED(SourceFile:242)
de.adom.jade.kernel.SC.OED(SourceFile:262)
de.adom.jade.items.list.bracers.BracersOfDefense.<init>(SourceFile:57)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.items.ItemFactory.create(SourceFile:218)
de.adom.jade.items.ItemFactory.create(SourceFile:1)
de.adom.jade.kernel.RarityBasedFactory.createOneOf(SourceFile:391)
de.adom.jade.kernel.SC.newEquipment(SourceFile:135)
de.adom.jade.beings.NPC.equip(SourceFile:239)
de.adom.jade.beings.list.OrcishChieftain.<init>(SourceFile:97)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
java.lang.reflect.Constructor.newInstance(Unknown Source)
java.lang.Class.newInstance0(Unknown Source)
java.lang.Class.newInstance(Unknown Source)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:549)
de.adom.jade.kernel.RarityBasedFactory.create(SourceFile:345)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.a(SourceFile:60)
de.adom.jade.world.complexes.locations.populations.DungeonPopulationCreator.populateImpl(SourceFile:47)
de.adom.jade.world.complexes.locations.populations.AbstractPopulationCreator.populate(SourceFile:109)
de.adom.jade.world.complexes.locations.maps.LocationMap.setPopulationCreator(SourceFile:1632)
de.adom.jade.world.complexes.locations.Location.getMap(SourceFile:274)
de.adom.jade.world.complexes.locations.LocationManager.transferToTargetMapOrTemporaryBufferAndAdjustPosition(SourceFile:178)
de.adom.jade.beings.brains.PCBrain.enterLocation(SourceFile:417)
de.adom.jade.beings.Being.enterLocation(SourceFile:2713)
de.adom.jade.world.complexes.locations.Connection.isEnteredBy(SourceFile:280)
de.adom.jade.beings.Being.doEnterLocation(SourceFile:2617)
de.adom.jade.ui.commands.CommandEnterLocationPreferUp.executeImpl(SourceFile:48)
de.adom.jade.ui.commands.Command.execute(SourceFile:546)
de.adom.jade.beings.brains.PCBrain.doActImpl(SourceFile:152)
de.adom.jade.beings.brains.AbstractBrain.doAct(SourceFile:400)
de.adom.jade.beings.Being.actImpl(SourceFile:777)
de.adom.jade.kernel.actors.AbstractActor.act(SourceFile:58)
de.adom.jade.kernel.actors.ActorReference.act(SourceFile:60)
de.adom.jade.kernel.GameLoop.run(SourceFile:110)

04-08-2012 06:12 PM
The Creator
Thanks for providing the stack traces. Actually the problem was a very stupid programming mistake in open-ended die rolls which occurred only _very_ rarely - so I never saw those. It was trivial to fix once the problem was located.

Fixed for ADOM II 0.2.4. Please send your real name to creator(at)ancientdomainsofmystery.com for it to be included in the credits. (If you were already asked to do so you can ignore this message. Please include a reference to the bug or RFE you are credited for.)

04-24-2012 07:32 PM
Junior Member
Thank goodness.

+ Reply