Page 390 of 487

Re: Bug Reports (snapshot builds)

PostPosted: 16 Dec 2016, 19:43
by Agetian
Kclone wrote:Well he does have a lot of control-gaining abilities in the deck. Slave of bolas, control magic, nicol bolas, dragonlord silumgar. But it has crashed before the AI had mana to cast the abilities. I don't know if that matters? My best guess is actually Slave of Bolas now since I haven't seen AI ever cast it.

EDIT: I think I found where to download the new revisions (so I was a big dummy not looking hard enough)
Ok, there was an issue with Slave of Bolas indeed, it crashed even when looked up in a deck editor. I fixed it (r32713). This should also address your other issue mentioned (with the crash upon a match start).

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 16 Dec 2016, 19:47
by Kclone
Agetian wrote:Ok, there was an issue with Slave of Bolas indeed, it crashed even when looked up in a deck editor. I fixed it (r32713).

- Agetian
Awesome, thanks. I'll try that out when it's up. I did try the r32712 build and it crashed at the start of a match. (ps sorry about the multiple EDITS on last post)

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r32712
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_31 Oracle Corporation

java.lang.NullPointerException
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:236)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:144)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:127)
   at forge.game.ability.AbilityFactory.getAbility(AbilityFactory.java:110)
   at forge.game.card.CardFactoryUtil.addAbilityFactoryAbilities(CardFactoryUtil.java:1932)
   at forge.game.card.CardFactory.readCardFace(CardFactory.java:479)
   at forge.game.card.CardFactory.readCard(CardFactory.java:407)
   at forge.game.card.CardFactory.getCard(CardFactory.java:260)
   at forge.game.card.CardFactory.getCard(CardFactory.java:255)
   at forge.game.card.Card.fromPaperCard(Card.java:6930)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Bug Reports (snapshot builds)

PostPosted: 16 Dec 2016, 19:58
by Kclone
Match starts up fine in r32713. And no crashes yet, thanks for the help!

Re: Bug Reports (snapshot builds)

PostPosted: 16 Dec 2016, 20:01
by Agetian
Kclone wrote:Match starts up fine in r32713. And no crashes yet, thanks for the help!
No problem, glad it works! :)

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 01:04
by Ldcs8T4EAnj8h5ZMD8rf
r32704: Achievement Bug
So I won a game of BFZ Sealed through Felidar Sovereign's alternate win condition and got the Mythic Hellbent Achievement. You can see behind the Player Won overlay in the screenshot that the AI has cards on the field and the player does not. Obviously I had at least Felidar Sovereign on the field as I won through its trigger.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 02:08
by Xitax
I had the same issue when I won with Hedron Alignment. Somehow the library/graveyard/hand/exile is seen as empty when it checks.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 02:22
by stormcat
:r32713
When AI plays Memory Jar, this message shown in log.

Memory Jar - [Couldn't add to stack, failed to target]- ~(Card Text)

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 04:51
by azaleth
Just built monistary and dredge decks to test against ai, but keep getting error when trying to run one AI, other other human:
Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_111 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.SpellAbilityRestriction.checkZoneRestrictions(SpellAbilityRestriction.java:229)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:493)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:477)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.card.CardFactory.copySpellAbility(CardFactory.java:646)
   at forge.game.spellability.SpellAbility.copy(SpellAbility.java:679)
   at forge.game.card.CardFactoryUtil.makeAltCostAbility(CardFactoryUtil.java:3747)
   at forge.game.card.CardFactoryUtil.setupKeywordedAbilities(CardFactoryUtil.java:2538)
   at forge.game.card.CardFactory.buildAbilities(CardFactory.java:350)
   at forge.game.card.CardFactory.getCard(CardFactory.java:257)
   at forge.game.card.CardFactory.getCard(CardFactory.java:249)
   at forge.game.card.Card.fromPaperCard(Card.java:6892)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:02
by Agetian
azaleth wrote:Just built monistary and dredge decks to test against ai, but keep getting error when trying to run one AI, other other human:
Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_111 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.SpellAbilityRestriction.checkZoneRestrictions(SpellAbilityRestriction.java:229)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:493)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:477)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.card.CardFactory.copySpellAbility(CardFactory.java:646)
   at forge.game.spellability.SpellAbility.copy(SpellAbility.java:679)
   at forge.game.card.CardFactoryUtil.makeAltCostAbility(CardFactoryUtil.java:3747)
   at forge.game.card.CardFactoryUtil.setupKeywordedAbilities(CardFactoryUtil.java:2538)
   at forge.game.card.CardFactory.buildAbilities(CardFactory.java:350)
   at forge.game.card.CardFactory.getCard(CardFactory.java:257)
   at forge.game.card.CardFactory.getCard(CardFactory.java:249)
   at forge.game.card.Card.fromPaperCard(Card.java:6892)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Some additional details would be very nice (what card you are trying to play when this happens, in particular). Also, looks like you may not be using the latest snapshot, since the line at which the NPE ensues is a null check inside an if statement, which can't NPE all by itself. Please update to the latest trunk build if possible (if impossible, please at least specify the exact revision number you're using).

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:07
by Agetian
stormcat wrote::r32713
When AI plays Memory Jar, this message shown in log.

Memory Jar - [Couldn't add to stack, failed to target]- ~(Card Text)
This card is marked RemAIDeck, which means the AI currently does not know how to properly activate its ability (and when, too).
All sorts of weird stuff can happen when an AI tries to play a RemAIDeck card (depending on the exact card it can range from suboptimal and random use of the ability [the most usual scenario] to the complete inability to cast or activate the card or failing to specify legal targets and other stuff).

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:08
by azaleth
My apologies. Forge Beta: 10-26-2016 ver 1.5.57.
The moment I click start, the error occurs. The duel does not load. I have attempted each deck against random others, swapping AI / Human decks, etc. This only occurs on my vintage decks.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:10
by azaleth
Agetian wrote:
azaleth wrote:Just built monistary and dredge decks to test against ai, but keep getting error when trying to run one AI, other other human:
Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.58-SNAPSHOT-r-1
Operating System: Windows 7 6.1 x86
Java Version:     1.8.0_111 Oracle Corporation

java.lang.NullPointerException
   at forge.game.spellability.SpellAbilityRestriction.checkZoneRestrictions(SpellAbilityRestriction.java:229)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:493)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.spellability.SpellAbilityRestriction.canPlay(SpellAbilityRestriction.java:477)
   at forge.game.spellability.Spell.canPlay(Spell.java:102)
   at forge.game.spellability.SpellAbilityView.updateCanPlay(SpellAbilityView.java:57)
   at forge.game.spellability.SpellAbility.setActivatingPlayer(SpellAbility.java:311)
   at forge.game.card.CardFactory.copySpellAbility(CardFactory.java:646)
   at forge.game.spellability.SpellAbility.copy(SpellAbility.java:679)
   at forge.game.card.CardFactoryUtil.makeAltCostAbility(CardFactoryUtil.java:3747)
   at forge.game.card.CardFactoryUtil.setupKeywordedAbilities(CardFactoryUtil.java:2538)
   at forge.game.card.CardFactory.buildAbilities(CardFactory.java:350)
   at forge.game.card.CardFactory.getCard(CardFactory.java:257)
   at forge.game.card.CardFactory.getCard(CardFactory.java:249)
   at forge.game.card.Card.fromPaperCard(Card.java:6892)
   at forge.game.Match.preparePlayerLibrary(Match.java:193)
   at forge.game.Match.prepareAllZones(Match.java:257)
   at forge.game.Match.startGame(Match.java:83)
   at forge.match.HostedMatch$2.run(HostedMatch.java:220)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Some additional details would be very nice (what card you are trying to play when this happens, in particular). Also, looks like you may not be using the latest snapshot, since the line at which the NPE ensues is a null check inside an if statement, which can't NPE all by itself. Please update to the latest trunk build if possible (if impossible, please at least specify the exact revision number you're using).

- Agetian
My apologies. Forge Beta: 10-26-2016 ver 1.5.57.
The moment I click start, the error occurs. The duel does not load. I have attempted each deck against random others, swapping AI / Human decks, etc. This only occurs on my vintage decks.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:11
by Agetian
azaleth wrote:My apologies. Forge Beta: 10-26-2016 ver 1.5.57.
The moment I click start, the error occurs. The duel does not load. I have attempted each deck against random others, swapping AI / Human decks, etc. This only occurs on my vintage decks.
Can you then please post a full deck list that crashes for you on load?

Oh, and by the way, for beta reports, please use the appropriate thread in the future: viewtopic.php?f=26&t=19410 This thread is for the bleeding edge SVN build reports. Thanks. :)

- Agetian

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:17
by azaleth
Chris H. wrote:This topic is for reporting bugs found in snapshot builds.

Theoretically, people using snapshots/SVNs should be using the issue tracker http://cardforge.org/bugz if there isn't a specific thread like there usually is for larger features.
`
Our users and testers can report bugs here when using a snapshot build instead of using the issue tracker. Please do not use this topic to report bugs found in a beta release. :)

Your bug report should include the file name of the snapshot build that you were using at the time that the bug was noticed. Example:

forge-1.2.3-20120202.002432-13-osx

or

forge-1.2.3-20120202.002432-13

You do not need to include the archive extension (.tar.bz2).

Your bug report should also include the crash report if one was generated. Please place this crash report inside of a code or spoiler block as it makes it easier to read.

Thank you.
Thank you. Updating to the latest release resolved the issue. ~Cheers.

Re: Bug Reports (snapshot builds)

PostPosted: 17 Dec 2016, 05:28
by Agetian
Ldcs8T4EAnj8h5ZMD8rf wrote:r32704: Achievement Bug
So I won a game of BFZ Sealed through Felidar Sovereign's alternate win condition and got the Mythic Hellbent Achievement. You can see behind the Player Won overlay in the screenshot that the AI has cards on the field and the player does not. Obviously I had at least Felidar Sovereign on the field as I won through its trigger.
Hmm, this is an unusual bug. Only seems to happen with certain alt. win condition cards too (Felidar Sovereign, Hedron Alignment, possibly something else), other stuff works fine (e.g. Door to Nothingness). All the alt. win conditions are checked together in a way that's not really any different between e.g. the Door and the Sovereign. Can't quite understand why this is happening yet (except I have a rough idea that for some reason the check for those particular achievements happens after the game state is already partially changed and the winning player's zones are cleared, but why this is happening is a bit of a mystery for me yet, except unless it's some kind of a weird threading issue?...).

P.S. It looks like it *may* in fact be some kind of a threading issue (a race condition of some sort?) since sometimes when I get those alt. win condition achievements in my testing, the game would sometimes hang (lock up) completely while awarding the achievements to me, and at other times it would work fine.

P.P.S. If anyone good with this type of stuff would be willing to take a look, you'd need to disable the block of code at AchievementCollection.java:39-42 to make the game award achievements when using the dev mode.

EDIT 1: While I haven't yet been able to figure out why the game is registering some alt.win conditions as Hellbent (Mythic), I was able to pinpoint something interesting: removing the requirement to execute the achievement check in the game thread makes the game stop hanging on win for me. Was there a reason this was delegated to the game thread in the first place? :/ And should it stay that way or can we get rid of the game thread call to avoid locking up the game? (This seems to be related to the "locking up" part: viewtopic.php?f=26&t=18982 )

- Agetian