Page 4 of 5

Crash on import deck in Sealed Deck Editor

PostPosted: 29 Oct 2017, 18:33
by hidalgo
Hi! I found that Forge supports Ctrl+C on card list in List View mode.
I tried to make use of it by copying 90 cards from boosters in Sealed Deck Editor to my deck building application (Mtgdb.Gui)
After I've finished buiding the deck, I tried to import the result using Import in Forge Deck Edtior.

Unfortunately in Sealed Deck mode Forge does not support import and crashes.

Reproduced in versions 1.6.3-r-1, 1.6.4-r-1

Steps to reproduce:
  • Start creating deck in Sealed Deck format: Home -> Sanctioned Formats -> Sealed Deck -> Build New Sealed Deck
  • In Sealed Deck Editor: Import -> Paste -> Import Deck -> Replace
    import-sealed-deck-crash.jpg
    clicking replace leads to crash

    Pasted deck | Open
    2 Shadowstorm Vizier
    1 Horror of the Broken Lands
    1 Archfiend of Ifnir
    1 Seeker of Insight
    1 Bone Picker
    1 Grim Strider
    1 Pitiless Vizier
    1 Dread Wanderer
    1 Djeru's Resolve
    1 Renewed Faith
    1 Winged Shepherd
    1 Shimmerscale Drake
    1 River Serpent
    1 Censor
    2 Wander in Death
    1 Shadow of the Grave
    1 Cartouche of Solidarity
    1 Cartouche of Knowledge
    1 Compulsory Rest
    1 Splendid Agony
    1 Illusory Wrappings
    1 Luxa River Shrine
    2 Evolving Wilds
    4 Plains
    5 Island
    5 Swamp

    The pasted cards were successfully recognized, they match those in Sideboard available for Sealed deck building.
  • Result:
    ClassCastException | Open
    Code: Select all
    Forge Version:    1.6.4-r-1
    Operating System: Windows 7 6.1 amd64
    Java Version:     1.8.0_141 Oracle Corporation

    java.lang.ClassCastException: forge.deck.Deck cannot be cast to forge.deck.DeckGroup
       at forge.screens.deckeditor.controllers.CEditorLimited.getSelectedDeck(CEditorLimited.java:113)
       at forge.screens.deckeditor.controllers.CEditorLimited.resetTables(CEditorLimited.java:166)
       at forge.screens.deckeditor.controllers.DeckController.setModel(DeckController.java:89)
       at forge.screens.deckeditor.controllers.DeckController.setModel(DeckController.java:84)
       at forge.screens.deckeditor.DeckImport$2.actionPerformed(DeckImport.java:150)
       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.AWTEventMulticaster.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$500(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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.pumpEventsForFilter(Unknown Source)
       at java.awt.WaitDispatchSupport$2.run(Unknown Source)
       at java.awt.WaitDispatchSupport$4.run(Unknown Source)
       at java.awt.WaitDispatchSupport$4.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       at java.awt.WaitDispatchSupport.enter(Unknown Source)
       at java.awt.Dialog.show(Unknown Source)
       at java.awt.Component.show(Unknown Source)
       at java.awt.Component.setVisible(Unknown Source)
       at java.awt.Window.setVisible(Unknown Source)
       at java.awt.Dialog.setVisible(Unknown Source)
       at forge.view.FDialog.setVisible(FDialog.java:201)
       at forge.screens.deckeditor.controllers.CCurrentDeck.importDeck(CCurrentDeck.java:127)
       at forge.screens.deckeditor.controllers.CCurrentDeck.access$400(CCurrentDeck.java:32)
       at forge.screens.deckeditor.controllers.CCurrentDeck$7.run(CCurrentDeck.java:104)
       at forge.toolbox.FLabel._doMouseAction(FLabel.java:314)
       at forge.toolbox.FLabel.access$1300(FLabel.java:55)
       at forge.toolbox.FLabel$6.onLeftClick(FLabel.java:352)
       at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:246)
       at java.awt.AWTEventMulticaster.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$500(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$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
       at java.security.ProtectionDomain$JavaSecurityAccessImpl.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$JavaSecurityAccessImpl.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)

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 30 Oct 2017, 00:54
by Alico
Found more odd bugs with Planechase. There seems to be an extended issue in multiplayer planechase when a player dies while planar actions are on the stack. Shouldn't the game exile all of the dead player's stack? The particular planes I noticed it with this time were Takenumma and Orochi Colony. It happened two ways. The first time, the player who had just died blocked with a bunch of things to at least try and save themselves. The things that died added a card draw to the stack because of Takenumma. After they died, the stack refused to progress beyond that point.

The second time was actually odder than the first. The first AI was at lethal damage with a platinum angel out. He swung all out, including the angle. The opponent blocked as much as they could, including the platinum angel, which died. Because of Orochi Colony, the attacking player (who died in the process) was trying to search for a land, but could not, so the stack refused to resolve.

The Planechase bug where planes stick around after planeswalking away is still around, but I still can't accurately reproduce it. Can you guys add a button to the dev tab to exile a plane? It would help tremendously in fixing this issue, at least as a temporary patch.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 02 Nov 2017, 11:18
by ceo991
Hello i am using Forge on android. It works very well except for planechase ,it doesn't allow me to roll the planar die. Only AI can roll the die. There is one more issue, on windows i can't extract the files .It gives an error saying "Winzip was able to extract only part of the file,because it contains invalid or missing data." So i can't open it on windows. Please help.Thank you so much.Have a nice day.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 04 Nov 2017, 08:34
by vagrant87
Hi, Jötun Grunt seems bugged, it will always put only two cards from a graveyard in the botton of a library despite the number of Age counters on it. For example if it has 3 Age counters it will put 2 cards from a graveyard to the library and not 6. I tested this in many games. Thanks :D

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 05 Nov 2017, 15:34
by rkaiser
Lovisa Coldeyes doesn't apply the effect in Bloodmad Vampire.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 05 Nov 2017, 21:11
by lazylockie
AI is activating Wandering Fumarole switch power and toughness ability like 10 times on each step

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 05 Nov 2017, 21:47
by Ldcs8T4EAnj8h5ZMD8rf
Creatures are dealing combat damage after a resolved Maze of Ith ability targeting the creature in question. This is not happening consistently.

Example 1: Attacked by Liliana, Heretical Healer and Faerie Rogue token from Bitterblossom; Maze of Ith on Liliana; still took 3 damage
Example 2: Attacked by 3 Faerie Rogue tokens and a 2/2 Zombie token; Maze of Ith on Zombie; only took 3 damage

This may be just a minor malfunction with my application.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 06 Nov 2017, 12:45
by shteev
Description: [describe what you were doing when the crash occurred]

ArithmeticException | Open
Code: Select all
Forge Version:    1.6.4-r-1
Operating System: Windows 10 10.0 x86
Java Version:     1.8.0_151 Oracle Corporation

java.lang.ArithmeticException: / by zero
   at forge.ai.ability.CountersPutAi.doTriggerAINoCost(CountersPutAi.java:757)
   at forge.ai.SpellAbilityAi.doTriggerNoCostWithSubs(SpellAbilityAi.java:172)
   at forge.ai.SpellAbilityAi.doTriggerAI(SpellAbilityAi.java:167)
   at forge.ai.AiController.doTrigger(AiController.java:1350)
   at forge.ai.PlayerControllerAi.prepareSingleSa(PlayerControllerAi.java:752)
   at forge.ai.PlayerControllerAi.orderAndPlaySimultaneousSa(PlayerControllerAi.java:740)
   at forge.game.zone.MagicStack.chooseOrderOfSimultaneousStackEntry(MagicStack.java:829)
   at forge.game.zone.MagicStack.addAllTriggeredAbilitiesToStack(MagicStack.java:797)
   at forge.game.phase.PhaseHandler.checkStateBasedEffects(PhaseHandler.java:1033)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:940)
   at forge.game.GameAction.startGame(GameAction.java:1572)
   at forge.game.Match.startGame(Match.java:87)
   at forge.match.HostedMatch$2.run(HostedMatch.java:225)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
AI sacrificed Jugan, the Rising Star with a Bubbling Cauldron; Jugan was the only creature that he had in play.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 08 Nov 2017, 15:02
by Mrs Non-Gorilla
The "if you do" clause on Garruk, the Veil-Cursed's -1 ability doesn't seem to be doing anything. I just played a game where the AI activated it with a single token in play, I sacrificed an Engineered Explosives with the ability on the stack to kill the token, and it managed to search up a creature anyway.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 08 Nov 2017, 20:00
by correioalternativo
Transmute Artifact: if you do not pay {X} the searched artifact does not go to graveyard, it goes to top of the library.

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 12 Nov 2017, 06:00
by Nekoatl
I believe I've narrowed down the Thespian's Stage / Vesuva bug to a problem with the Thespian's Stage card, as Progenitor Mimic also failed to correctly copy the copy ability from Thespian's Stage after it copied Glimmerpost. Furthermore, having a freshly played Thespian's Stage copy itself twice produced odd results: first, creating one too many copies of the copy ability, and then apparently removing all copiable values from the now nameless and typeless permanent (screenshot).

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 14 Nov 2017, 10:06
by oksaolryt
java.util.zip.ZipException: Not in GZIP format this here is the error that I keep on getting. Running forge ver 1.6.4 and on Win10 OS

I wonder what's wrong

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 16 Nov 2017, 13:29
by jonas
Athreos, God of Passage triggered ability causes AI to crash.
In planar conquest, you can import a deck from clipboard. That 1) deletes the commander and 2) allows you to import any deck regardless of colors. Please give us a button to reset the deck in case that happens.

BTW, great job!

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 16 Nov 2017, 16:16
by decanus
Description: Starting the application

NullPointerException | Open
Code: Select all
Forge Version:    1.6.4-r-1
Operating System: Windows 7 6.1 amd64
Java Version:     1.8.0_144 Oracle Corporation

java.lang.NullPointerException
   at forge.toolbox.FSkin.setImage(FSkin.java:1440)
   at forge.toolbox.FSkin.loadFull(FSkin.java:1207)
   at forge.control.FControl.initialize(FControl.java:219)
   at forge.view.Main.main(Main.java:51)

Re: Forge Release 09/29/2017 ver 1.6.4

PostPosted: 22 Nov 2017, 17:58
by Pux
While simulating matches I got this in forge.log:

ComputerUtil : payManaCost() cost was not paid for Forlorn Pseudamma. Didn't find what to pay for {1}
AI failed to play Forlorn Pseudamma (10).

(Nothing printed after that)

After that error forge used almost 100% of my CPU, so I had to kill it.