It is currently 18 May 2025, 12:46
   
Text Size

Bug Reports (snapshot builds)

Post MTG Forge Related Programming Questions Here

Moderators: timmermac, Blacksmith, KrazyTheFox, Agetian, friarsol, CCGHQ Admins

Re: Bug Reports (snapshot builds)

Postby friarsol » 30 Apr 2014, 18:22

KrazyTheFox wrote:I've located the cause of the antes not being removed from decks after games, however, the problem is my misunderstanding of the way the game handles removing the cards from the decks. Cards weren't being removed from my deck after games because I had more copies in my collection than were in my deck. The game doesn't remove the card from the deck because there's a "replacement" card available in my collection. Once the number of cards in the collection is equivalent to the number in the deck the card is removed as it should be.

No bug here, moving along to other things.
Ahh.. In this scenario, is the card lost to ante available in subsequent games? Or is it just temporarily gone and restored with a card from your collection at the end of the match?
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 30 Apr 2014, 18:39

friarsol wrote:Ahh.. In this scenario, is the card lost to ante available in subsequent games? Or is it just temporarily gone and restored with a card from your collection at the end of the match?
Running through the logic for the code responsible:

Code: Select all
        this.qa.getCardPool().remove(card, qty);
        if (addToShop) {
            this.qa.getShopList().add(card, qty);
        }

        // remove card being sold from all decks
        final int leftInPool = this.qa.getCardPool().count(card);
        // remove sold cards from all decks:
        for (final Deck deck : this.qc.getMyDecks()) {
            int cntInMain = deck.getMain().count(card);
            int cntInSb = deck.has(DeckSection.Sideboard) ? deck.get(DeckSection.Sideboard).count(card) : 0;
            int nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool;
            if (nToRemoveFromThisDeck <= 0) {
                continue; // this is not the deck you are looking for
            }
            //etc...
            deck.getMain().remove(card, nToRemoveFromThisDeck);
        }
Let's say there's 4 of a card in the collection and 2 of those cards are in the current deck and 0 are in the sideboard.

1 card is removed from the card pool (this.qa.getCardPool().remove(card, qty);), card pool now has 3 of that card.
leftInPool is set to 3 (leftInPool = this.qa.getCardPool().count(card);).
cntInMain is set to 2 (cntInMain = deck.getMain().count(card);).
cntInSb is set to 0.
nToRemoveFromThisDeck is calculated to be ((2 + 0) - 3), or -1 (nToRemoveFromThisDeck = cntInMain + cntInSb - leftInPool;). This indicates that there's 1 more card in the collection than there is in the deck.

Since there's that extra card, the method continues on to the next deck without removing the card (if (nToRemoveFromThisDeck <= 0) { continue; }).

As the card isn't removed from the deck here, it remains available in all subsequent games until the collection is reduced enough to trigger the removal.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 30 Apr 2014, 18:52

KrazyTheFox wrote:As the card isn't removed from the deck here, it remains available in all subsequent games until the collection is reduced enough to trigger the removal.
Oh, by subsequent games I meant actual games. Not subsequent matches.

Start a match:

Game 1: I ante a precious Swamp Mosquito. Devastated by this predicament, I lose. I started this match having 4 in my Main, and 45 in my collection. Obviously my "in collection" number is reduced to 44.

Game 2: I ante a Marsh Viper. On my first turn I cast a Vampiric Tutor, not seeing a Swamp Mosquito in my hand. Are there 3 Swamp Mosquitos in my deck? Or 4? If there are 4 in the same match where I lost the card in the ante then that portion is incorrect, even if the "auto-replace from collection" bits makes sense from a multiple match standpoint.
friarsol
Global Moderator
 
Posts: 7593
Joined: 15 May 2010, 04:20
Has thanked: 243 times
Been thanked: 965 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 30 Apr 2014, 19:05

It works that way for games (and by extension, matches).

If you have 4 cards in your collection and deck and you lose 1 of them as an ante, the card will be removed at the end of the game that you lost it in and won't be available in subsequent games. However, if you have 4 cards in your collection and only 3 in your deck, you still own 3 copies of the card and it won't be removed from your deck (but it will be removed from your collection, leaving you with 3 total cards). If you then lost another one of those cards in the next game, it will be removed from both the deck and collection, as there's only 2 total cards now.

In your example, it gets removed as you'd expect it to be and during the second game, you'll have only 3 of the card in your deck.

I had to work through the code several times to figure out exactly how it works. It's just a little bit confusing. :P
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 30 Apr 2014, 20:40

Just played Shock (that had worked everytime i played it on previous duels on the same snapshot build) on Lionheart Maverick , using KrazyTheFox's snapshot build from there and pressed the OK button :
Image

Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.18-SNAPSHOT-r25691 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ability.PumpAi.pumpAgainstRemoval(PumpAi.java:533)
   at forge.ai.ability.PumpAi.canPlayAI(PumpAi.java:98)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:648)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:635)
   at forge.ai.AiController.chooseSpellAbilyToPlay(AiController.java:1148)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1129)
   at forge.ai.AiController.choooseSpellAbilityToPlay(AiController.java:1080)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:391)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:970)
   at forge.game.GameAction.startGame(GameAction.java:1524)
   at forge.game.Match.startGame(Match.java:80)
   at forge.control.FControl$4.run(FControl.java:436)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
Last edited by Fizanko on 30 Apr 2014, 22:09, edited 1 time in total.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby Fizanko » 30 Apr 2014, 22:09

Similar bug, i just played Midnight Duelist and pressed OK to resolve
Image

Description: [describe what you were doing when the crash occurred]

NullPointerException | Open
Code: Select all
Forge Version:    1.5.18-SNAPSHOT-r25691 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

java.lang.NullPointerException
   at forge.ai.ability.PumpAi.pumpAgainstRemoval(PumpAi.java:533)
   at forge.ai.ability.PumpAi.canPlayAI(PumpAi.java:98)
   at forge.ai.SpellAbilityAi.canPlayAIWithSubs(SpellAbilityAi.java:23)
   at forge.ai.AiController.canPlaySa(AiController.java:648)
   at forge.ai.AiController.canPlayAndPayFor(AiController.java:635)
   at forge.ai.AiController.chooseSpellAbilyToPlay(AiController.java:1148)
   at forge.ai.AiController.getSpellAbilityToPlay(AiController.java:1129)
   at forge.ai.AiController.choooseSpellAbilityToPlay(AiController.java:1080)
   at forge.ai.PlayerControllerAi.chooseSpellAbilityToPlay(PlayerControllerAi.java:391)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:970)
   at forge.game.GameAction.startGame(GameAction.java:1524)
   at forge.game.Match.startGame(Match.java:80)
   at forge.control.FControl$4.run(FControl.java:436)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
   at java.lang.Thread.run(Unknown Source)
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

Re: Bug Reports (snapshot builds)

Postby mark » 04 May 2014, 20:22

The imprint of Panoptic Mirror is broken: it can be tapped and the mana can be paid... and no card may be exiled.
mark
 
Posts: 138
Joined: 28 Dec 2011, 11:32
Has thanked: 6 times
Been thanked: 11 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 04 May 2014, 22:37

It That Betrays doesn't put permanents under my control when my opponent sacrifices them, however the ability does go on the stack.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby swordshine » 05 May 2014, 04:43

KrazyTheFox wrote:It That Betrays doesn't put permanents under my control when my opponent sacrifices them, however the ability does go on the stack.
The timestamp system in this program is very fragile. I attempt to tweak the related code to fix this bug. There might be other bugs of triggered abilities. I'll test all the other cases when I have plenty of time.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby Leviathan » 05 May 2014, 06:16

I'm getting ConcurrentModificationExceptions fairly often (maybe once every 5-10 games on average). I'm using the SVN, and have seen these exceptions with several revisions over the past few days. The stack traces are different every time. Here's the most recent example, from revision 25779:

ConcurrentModificationException | Open
Code: Select all
Forge Version:    SVN
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_17 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(ArrayList.java:819)
   at java.util.ArrayList$Itr.next(ArrayList.java:791)
   at forge.game.card.Card.getLatestPT(Card.java:3924)
   at forge.game.card.Card.getSetPower(Card.java:3893)
   at forge.game.card.Card.getCurrentPower(Card.java:3973)
   at forge.game.card.Card.getUnswitchedPower(Card.java:3989)
   at forge.game.card.Card.getNetAttack(Card.java:4015)
   at forge.view.arcane.CardPanel.setText(CardPanel.java:627)
   at forge.view.arcane.CardPanel.setCard(CardPanel.java:664)
   at forge.view.arcane.PlayArea.updateCard(PlayArea.java:700)
   at forge.view.arcane.PlayArea.updateSingleCard(PlayArea.java:360)
   at forge.screens.match.CMatchUI.updateSingleCard(CMatchUI.java:384)
   at forge.screens.match.CMatchUI.updateCards(CMatchUI.java:376)
   at forge.GuiDesktop.updateCards(GuiDesktop.java:360)
   at forge.control.FControlGameEventHandler$9.run(FControlGameEventHandler.java:225)
   at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
   at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:727)
   at java.awt.EventQueue.access$200(EventQueue.java:103)
   at java.awt.EventQueue$3.run(EventQueue.java:688)
   at java.awt.EventQueue$3.run(EventQueue.java:686)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
   at java.awt.EventQueue.dispatchEvent(EventQueue.java:697)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
   at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
   at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
   at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
I know that something in the 23000's was supposed to fix these, and nobody else is reporting them, so it might be some problem on my end. I can post more stack traces (this happens in several places) if anyone thinks it would help.

Edit: The ConcurrentModificationExceptions have largely gone away. I didn't do anything to fix them, so maybe it was just cosmic rays all along?
Last edited by Leviathan on 06 May 2014, 02:43, edited 1 time in total.
Leviathan
 
Posts: 4
Joined: 29 May 2012, 03:30
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 06 May 2014, 00:57

When attempting to unlock the Starter 2000 set in quest mode:

Edit: This also occurs with the Time Shifted 'set'.

Code: Select all
EDT > java.lang.NullPointerException
   at forge.card.BoosterGenerator.getBoosterPack(BoosterGenerator.java:63)
   at forge.card.UnOpenedProduct.get(UnOpenedProduct.java:61)
   at forge.quest.QuestUtilUnlockSets.doUnlock(QuestUtilUnlockSets.java:189)
   at forge.screens.home.quest.SSubmenuQuestUtil.chooseAndUnlockEdition(SSubmenuQuestUtil.java:290)
   at forge.screens.home.quest.CSubmenuDuels$6.run(CSubmenuDuels.java:50)
   at forge.toolbox.FLabel._doMouseAction(FLabel.java:289)
   at forge.toolbox.FLabel.access$3(FLabel.java:286)
   at forge.toolbox.FLabel$4.onLeftClick(FLabel.java:327)
   at forge.toolbox.FMouseAdapter.mouseReleased(FMouseAdapter.java:245)
   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)
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby timmermac » 07 May 2014, 11:35

I believe this is because no real boosters exist of those sets.
"I just woke up, haven't had coffee, let alone a pee in 7 days, and I find out you stole my ass and made a ...mini-me! Carter, I should be irked currently, yes?" - Jack O'Neill
User avatar
timmermac
Tester
 
Posts: 1512
Joined: 17 May 2010, 20:36
Has thanked: 18 times
Been thanked: 95 times

Re: Bug Reports (snapshot builds)

Postby KrazyTheFox » 07 May 2014, 17:41

timmermac wrote:I believe this is because no real boosters exist of those sets.
IIRC, Starter 1999 and 2000 both had booster packs (though I have no idea how random they actually were). Regardless, they should probably be removed from the quest selection as they prevent progression by filling up the possible unlock slots.
User avatar
KrazyTheFox
Programmer
 
Posts: 725
Joined: 18 Mar 2014, 23:51
Has thanked: 66 times
Been thanked: 226 times

Re: Bug Reports (snapshot builds)

Postby knightowl71 » 07 May 2014, 21:19

Description: Playing a standard 1V1 game with constructed decks. This was game 3. Game continued but creatures and lands did not tap or untap from this point on. The game did recognize if they were tapped such as attacking or getting mana just did not show visually.

ConcurrentModificationException | Open
Code: Select all
Forge Version:    1.5.17-r25620
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_55 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at forge.game.card.Card.getHiddenExtrinsicKeyword(Card.java:4560)
   at forge.game.card.Card.getKeyword(Card.java:4267)
   at forge.game.card.Card.getAmountOfKeyword(Card.java:5131)
   at forge.game.card.Card.getNetAttack(Card.java:3963)
   at forge.view.arcane.CardPanel.setText(CardPanel.java:628)
   at forge.view.arcane.CardPanel.setCard(CardPanel.java:666)
   at forge.view.arcane.PlayArea.updateCard(PlayArea.java:638)
   at forge.view.arcane.PlayArea.updateSingleCard(PlayArea.java:298)
   at forge.screens.match.CMatchUI.updateSingleCard(CMatchUI.java:383)
   at forge.screens.match.CMatchUI.updateCards(CMatchUI.java:375)
   at forge.GuiDesktop.updateCards(GuiDesktop.java:354)
   at forge.control.FControlGameEventHandler$9.run(FControlGameEventHandler.java:218)
   at java.awt.event.InvocationEvent.dispatch(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.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)
knightowl71
 
Posts: 7
Joined: 15 Mar 2014, 21:49
Has thanked: 3 times
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby Fizanko » 07 May 2014, 21:52

Not the first time it happened, i had this sometime in previous version (and reported it here and there and over there )

It's fortunately rare, but when it happens, it's after winning or losing a round (in that case i won it) and pressing Next for starting the next round, instead of doing the next round the game go back to the main menu with that error popping up :

Description: [describe what you were doing when the crash occurred]

UncheckedExecutionException | Open
Code: Select all
Forge Version:    1.5.18-SNAPSHOT-r25752 (mixed revisions detected; please update from the root directory)
Operating System: Windows XP 5.1 x86
Java Version:     1.7.0_10 Oracle Corporation

com.google.common.util.concurrent.UncheckedExecutionException: java.awt.color.CMMException: Invalid image format
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2201)
   at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
   at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
   at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
   at forge.ImageCache.getImage(ImageCache.java:204)
   at forge.ImageCache.getOriginalImage(ImageCache.java:139)
   at forge.ImageCache.scaleImage(ImageCache.java:169)
   at forge.ImageCache.getIcon(ImageCache.java:107)
   at forge.screens.home.quest.PnlEvent.<init>(PnlEvent.java:48)
   at forge.screens.home.quest.CSubmenuDuels.update(CSubmenuDuels.java:121)
   at forge.screens.home.CHomeUI.itemClick(CHomeUI.java:55)
   at forge.screens.home.CHomeUI.selectPrevious(CHomeUI.java:137)
   at forge.screens.home.CHomeUI.initialize(CHomeUI.java:83)
   at forge.control.FControl.setCurrentScreen(FControl.java:304)
   at forge.view.FNavigationBar.closeTab(FNavigationBar.java:159)
   at forge.view.FNavigationBar.closeTab(FNavigationBar.java:147)
   at forge.control.FControl.endCurrentGame(FControl.java:449)
   at forge.screens.match.ControlWinLose.actionOnContinue(ControlWinLose.java:61)
   at forge.screens.match.ControlWinLose$1.actionPerformed(ControlWinLose.java:36)
   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$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)
Caused by: java.awt.color.CMMException: Invalid image format
   at sun.java2d.cmm.kcms.CMM.checkStatus(Unknown Source)
   at sun.java2d.cmm.kcms.CMM.createTransform(Unknown Source)
   at java.awt.image.ColorConvertOp.filter(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.acceptPixels(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readImage(Native Method)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.readInternal(Unknown Source)
   at com.sun.imageio.plugins.jpeg.JPEGImageReader.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at javax.imageio.ImageIO.read(Unknown Source)
   at forge.ImageLoader._findFile(ImageLoader.java:92)
   at forge.ImageLoader.load(ImageLoader.java:56)
   at forge.ImageLoader.load(ImageLoader.java:17)
   at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
   at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
   at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
   ... 55 more
The error mention "Invalid image format" near the beginning of the error message, but as usual after checking the enemy deck (as mine has been played several time already so i'm sure all the images are correct), all the card images appears correctly in there.
probably outdated by now so you should avoid : Innistrad world for Forge (updated 17/11/2014)
Duel Decks for Forge - Forge custom decks (updated 25/10/2014)
User avatar
Fizanko
Tester
 
Posts: 780
Joined: 07 Feb 2014, 11:24
Has thanked: 155 times
Been thanked: 94 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 21 guests


Who is online

In total there are 21 users online :: 0 registered, 0 hidden and 21 guests (based on users active over the past 10 minutes)
Most users ever online was 4143 on 23 Jan 2024, 08:21

Users browsing this forum: No registered users and 21 guests

Login Form