Bug Reports (snapshot builds)
Post MTG Forge Related Programming Questions Here
Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins
Re: Bug Reports (snapshot builds)
by Xitax » 15 Apr 2013, 01:32
To help with bug reports, is there a way to quickly output a gamestate file? Or even better, put it into the crash report?
Re: Bug Reports (snapshot builds)
by natem75 » 15 Apr 2013, 14:11
Description: Whenever I try to go to any game variants such as planechase and archenemy I get this message
- NullPointerException | Open
- Code: Select all
Forge Version: 1.3.13-SNAPSHOT-r20997
Operating System: Windows 7 6.1 amd64
Java Version: 1.7.0_17 Oracle Corporation
java.lang.NullPointerException
at forge.gui.match.VMatchUI.populate(VMatchUI.java:115)
at forge.control.FControl.changeState(FControl.java:217)
at forge.game.MatchController.startRound(MatchController.java:169)
at forge.gui.home.variant.CSubmenuArchenemy$8.doInBackground(CSubmenuArchenemy.java:243)
at javax.swing.SwingWorker$1.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at javax.swing.SwingWorker.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
- natem75
- Posts: 1
- Joined: 15 Apr 2013, 14:06
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Max mtg » 15 Apr 2013, 15:02
@natem75, probably match.xml was corrupted.
Delete the file in your forge profile.
@all, looks like we should add there some buttons to reset match.xml and editor.xml - it will be easier than explain each time which file user should delete.
Delete the file in your forge profile.
@all, looks like we should add there some buttons to reset match.xml and editor.xml - it will be easier than explain each time which file user should delete.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Diogenes » 16 Apr 2013, 15:22
Momentary Blink has some very strange behavior. I'm not versed in scripting, but I can't find anything in there that would explain the following (is there perhaps some vestigial hardcoding from before it was scriptable?) [Edit: Nvm - it's entirely explainable by poor scripting.]
First, the characteristics of any creature it returns to the battlefields cannot be altered. The creature cannot take damage, be enchanted or equipped, and will not receive static bonuses. Also, the returned card is not a new object and retains some information (if the target of Momentary Blink had damage marked on it, that damage will never clear from its returned version - nor will summoning sickness.)
I first noticed this when the AI blinked its Platinum Angel in a Plane Chase match. I tested for a bit in the same match, and something else odd happened that I haven't been able to reproduce. I blinked an enchanted creature, and when the Momentary Blink went on the stack, an actual Disenchant appeared above it targeting the aura (mousing over the event on the stack showed a Disenchant with an actual card ID.)
Edit: This is why I shouldn't test/post right before going to bed. A human opponent would never cast a Disenchant in response to a Momentary Blink, but it's entirely possible the AI did. Its random deck was in white, and I wasn't paying any attention to it.
On a semi-related note, it would be great for testing if the scroll-down lists for "add a card to hand" and "add a card to play" were easier to navigate, and if it were easier to add multiples of the card you're looking for. Using a larger window or creating alphabetical sub-folders would be an instant and huge improvement. Often when I need a lot of cards to repeat a test several times, half my time or more is spent scrolling in those menues.
First, the characteristics of any creature it returns to the battlefields cannot be altered. The creature cannot take damage, be enchanted or equipped, and will not receive static bonuses. Also, the returned card is not a new object and retains some information (if the target of Momentary Blink had damage marked on it, that damage will never clear from its returned version - nor will summoning sickness.)
Edit: This is why I shouldn't test/post right before going to bed. A human opponent would never cast a Disenchant in response to a Momentary Blink, but it's entirely possible the AI did. Its random deck was in white, and I wasn't paying any attention to it.
On a semi-related note, it would be great for testing if the scroll-down lists for "add a card to hand" and "add a card to play" were easier to navigate, and if it were easier to add multiples of the card you're looking for. Using a larger window or creating alphabetical sub-folders would be an instant and huge improvement. Often when I need a lot of cards to repeat a test several times, half my time or more is spent scrolling in those menues.
Last edited by Diogenes on 16 Apr 2013, 15:48, edited 3 times in total.
Re: Bug Reports (snapshot builds)
by Max mtg » 16 Apr 2013, 15:23
Is Cloudshift working properly?
These lists are not intended to be scrolled =) Start typying the card named to quickly get into the needed area. Recent cards history and add multiple cards at once would be great, I agree. Wish someone could do that.
These lists are not intended to be scrolled =) Start typying the card named to quickly get into the needed area. Recent cards history and add multiple cards at once would be great, I agree. Wish someone could do that.
Last edited by Max mtg on 16 Apr 2013, 15:26, edited 1 time in total.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Diogenes » 16 Apr 2013, 15:26
Cloudshift, Restoration Angel, and Liberate work correctly but they will not exile or 'reset' a creature brought back by Momentary Blink. Ghostway works correctly and will exile and reset a creature affected by Momentary Blink.Max mtg wrote:Is Cloudshift working properly?
These lists are not intended to be scrolled =) Start typying the card named to quickly get into the needed area.
Also, typing makes the whole process... usable. I'm displeased with myself right now.
Last edited by Diogenes on 16 Apr 2013, 15:35, edited 1 time in total.
Re: Bug Reports (snapshot builds)
by Max mtg » 16 Apr 2013, 15:28
Need only one different spell to check - it could be either Momentary Blink wrongly scripted or the whole system that does not work.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by Diogenes » 16 Apr 2013, 15:40
Bumping since I edited in my answer rather than replying.
Cloudshift, Restoration Angel, and Liberate work correctly but they will not exile or 'reset' a creature brought back by Momentary Blink. Ghostway works correctly and will exile and reset a creature affected by Momentary Blink.
Edit: Ignore the bit about the Disenchant. It threw me for a loop, but it's possible the AI cast it in response to the Momentary Blink and I failed to wrap my head around the AI's sometimes mysterious ways.
Cloudshift, Restoration Angel, and Liberate work correctly but they will not exile or 'reset' a creature brought back by Momentary Blink. Ghostway works correctly and will exile and reset a creature affected by Momentary Blink.
Edit: Ignore the bit about the Disenchant. It threw me for a loop, but it's possible the AI cast it in response to the Momentary Blink and I failed to wrap my head around the AI's sometimes mysterious ways.
Re: Bug Reports (snapshot builds)
by friarsol » 16 Apr 2013, 16:32
Why not just use game state files? It's much simpler that way.Diogenes wrote:On a semi-related note, it would be great for testing if the scroll-down lists for "add a card to hand" and "add a card to play" were easier to navigate, and if it were easier to add multiples of the card you're looking for. Using a larger window or creating alphabetical sub-folders would be an instant and huge improvement. Often when I need a lot of cards to repeat a test several times, half my time or more is spent scrolling in those menues.
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Symphonic » 16 Apr 2013, 19:37
Had a crash when trying to attack with my Servant of Nefarox after having played Moltensteel Dragon. The opponent had Tel-Jilad Archers and Jagged-Scar Archers at their side.
- | Open
- Description: [describe what you were doing when the crash occurred]
[spoiler=NullPointerException]- Code: Select all
Forge Version: 1.3.13-SNAPSHOT-r20997
Operating System: Windows 7 6.1 amd64
Java Version: 1.6.0_24 Sun Microsystems Inc.
java.lang.NullPointerException
at forge.gui.match.views.VLog.updateConsole(VLog.java:116)
at forge.gui.match.controllers.CLog.update(CLog.java:41)
at forge.gui.match.controllers.CLog.update(CLog.java:49)
at java.util.Observable.notifyObservers(Unknown Source)
at java.util.Observable.notifyObservers(Unknown Source)
at forge.util.MyObservable.updateObservers(MyObservable.java:38)
at forge.GameLog.add(GameLog.java:61)
at forge.game.zone.MagicStack.add(MagicStack.java:351)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:1057)
at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntryAll(MagicStack.java:997)
at forge.game.phase.PhaseHandler.setPriority(PhaseHandler.java:159)
at forge.game.phase.PhaseHandler.resetPriority(PhaseHandler.java:172)
at forge.game.phase.PhaseHandler.handleBeginPhase(PhaseHandler.java:407)
at forge.gui.InputProxy$1.run(InputProxy.java:66)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Re: Bug Reports (snapshot builds)
by Max mtg » 16 Apr 2013, 19:57
Hi, Symphonic!
That exception has been dealt with in r21013. But thanks for reporting anyway!
If you'd like to get a newer build, find updates in that folder:
http://cardforge.org/releases/snapshots ... -SNAPSHOT/
(aim for files ending with tar.bz2)
That exception has been dealt with in r21013. But thanks for reporting anyway!
If you'd like to get a newer build, find updates in that folder:
http://cardforge.org/releases/snapshots ... -SNAPSHOT/
(aim for files ending with tar.bz2)
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by xdaft » 16 Apr 2013, 22:31
- Code: Select all
Description: [describe what you were doing when the crash occurred]
[spoiler=NullPointerException][code]
Forge Version: 1.3.13-SNAPSHOT-r21030
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_17 Oracle Corporation
java.lang.NullPointerException
at forge.deck.DeckFormat.getDeckConformanceProblem(DeckFormat.java:122)
at forge.gui.home.sanctioned.CSubmenuConstructed.startGame(CSubmenuConstructed.java:100)
at forge.gui.home.sanctioned.CSubmenuConstructed.access$3(CSubmenuConstructed.java:97)
at forge.gui.home.sanctioned.CSubmenuConstructed$2.actionPerformed(CSubmenuConstructed.java:57)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(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.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(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$200(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$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)
[/code][/spoiler]
Re: Bug Reports (snapshot builds)
by friarsol » 17 Apr 2013, 03:01
I just noticed two issues.
When only one creature is declared a blocker the Blocking symbol isn't drawn (when 2 creatures were blocking they were).
I lost a Thawing Glaciers during the second game of an ante match, but it was still in my deck in the third game (and I used it several times in that game).
When only one creature is declared a blocker the Blocking symbol isn't drawn (when 2 creatures were blocking they were).
I lost a Thawing Glaciers during the second game of an ante match, but it was still in my deck in the third game (and I used it several times in that game).
- friarsol
- Global Moderator
- Posts: 7593
- Joined: 15 May 2010, 04:20
- Has thanked: 243 times
- Been thanked: 965 times
Re: Bug Reports (snapshot builds)
by Max mtg » 17 Apr 2013, 04:54
@Xitax, I could not reproduce that. How did you 'chose the AI to have random colored deck'? If I leave alone Random 1 and Random 2 highlighted on AI's panel, everything works. As I switch to 'Custom user deck' a deck is already pre-selected and no exception could happen.
@Sol, These bugs seem non-urgent and unrelated to my latest changes, so I'd focus on other areas.
@Sol, These bugs seem non-urgent and unrelated to my latest changes, so I'd focus on other areas.
Single class for single responsibility.
- Max mtg
- Programmer
- Posts: 1997
- Joined: 02 Jul 2011, 14:26
- Has thanked: 173 times
- Been thanked: 334 times
Re: Bug Reports (snapshot builds)
by moomarc » 17 Apr 2013, 08:20
Why scroll through the lists when you can just start typing the name of the card you want? Being able to add multiples would be handy though. Otherwise game state files are the way to go (as Sol pointed out)Diogenes wrote:On a semi-related note, it would be great for testing if the scroll-down lists for "add a card to hand" and "add a card to play" were easier to navigate, and if it were easier to add multiples of the card you're looking for. Using a larger window or creating alphabetical sub-folders would be an instant and huge improvement. Often when I need a lot of cards to repeat a test several times, half my time or more is spent scrolling in those menues.
-Marc
-
moomarc - Pixel Commander
- Posts: 2091
- Joined: 04 Jun 2010, 15:22
- Location: Johannesburg, South Africa
- Has thanked: 371 times
- Been thanked: 372 times
Who is online
Users browsing this forum: No registered users and 20 guests