It is currently 18 May 2025, 20:32
   
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 Devilman06 » 23 Feb 2014, 16:35

was mid-game and it popped up random always fatal

OutOfMemoryError | Open
Code: Select all
Forge Version:    1.5.14-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Windows 7 6.1 x86
Java Version:     1.7.0_51 Oracle Corporation

java.lang.OutOfMemoryError: unable to create new native thread
   at java.lang.Thread.start0(Native Method)
   at java.lang.Thread.start(Unknown Source)
   at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:150)
   at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81)
   at forge.gui.toolbox.imaging.FImagePanel.getResampledImage(FImagePanel.java:230)
   at forge.gui.toolbox.imaging.FImagePanel.doQualityPaint(FImagePanel.java:206)
   at forge.gui.toolbox.imaging.FImagePanel.paintComponent(FImagePanel.java:200)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JLayeredPane.paint(Unknown Source)
   at javax.swing.JComponent.paintChildren(Unknown Source)
   at javax.swing.JComponent.paint(Unknown Source)
   at javax.swing.JComponent.paintToOffscreen(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
   at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
   at javax.swing.RepaintManager.paint(Unknown Source)
   at javax.swing.JComponent._paintImmediately(Unknown Source)
   at javax.swing.JComponent.paintImmediately(Unknown Source)
   at javax.swing.RepaintManager$3.run(Unknown Source)
   at javax.swing.RepaintManager$3.run(Unknown Source)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.prePaintDirtyRegions(Unknown Source)
   at javax.swing.RepaintManager.access$1100(Unknown Source)
   at javax.swing.RepaintManager$ProcessingRunnable.run(Unknown Source)
   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)
Devilman06
 
Posts: 127
Joined: 29 Jan 2010, 03:59
Has thanked: 1 time
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby Agetian » 23 Feb 2014, 19:43

r24954: The amount of cards playable from the exile zone (at least when dealing with cards exiled with Nightveil Specter) is not displayed correctly on the "Flashback" icon. For instance, Nightveil Specter might have exiled 2 cards over two turns but the number displayed on the play-with-flashback icon might be 0 or 1.

- Agetian
Agetian
Programmer
 
Posts: 3486
Joined: 14 Mar 2011, 05:58
Has thanked: 683 times
Been thanked: 569 times

Re: Bug Reports (snapshot builds)

Postby xbon » 24 Feb 2014, 22:22

If remove artifacts is not selected, artifacts are removed from generated decks, and vice versa. latest snapshot.


Description: as game was ending. my life hit 0.

ConcurrentModificationException | Open
Code: Select all
Forge Version:    1.5.14-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Windows 8.1 6.3 amd64
Java Version:     1.8.0 Oracle Corporation

java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at com.google.common.collect.AbstractMapBasedMultimap$Itr.next(AbstractMapBasedMultimap.java:1150)
   at forge.game.combat.Combat.getAttackers(Combat.java:191)
   at forge.gui.match.CMatchUI.showCombat(CMatchUI.java:281)
   at forge.control.FControlGameEventHandler$2.run(FControlGameEventHandler.java:78)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
   at java.awt.EventQueue.access$400(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)
xbon
 
Posts: 124
Joined: 04 Jun 2013, 22:52
Has thanked: 18 times
Been thanked: 2 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 27 Feb 2014, 01:16

r24995

Knollspine Invocation appears to be broken. When clicking on it nothing seems to actually happen.

Edit:

Propaganda Crash | Open
Game-5 > java.lang.NullPointerException
at forge.gui.player.HumanPlay.payManaCost(HumanPlay.java:687)
at forge.gui.player.PlayerControllerHuman.payManaCost(PlayerControllerHuman.java:1070)
at forge.game.player.PlayerController.payManaCost(PlayerController.java:226)
at forge.gui.player.HumanPlay.payCostDuringAbilityResolve(HumanPlay.java:635)
at forge.gui.player.PlayerControllerHuman.payManaOptional(PlayerControllerHuman.java:717)
at forge.game.combat.CombatUtil.checkPropagandaEffects(CombatUtil.java:990)
at forge.game.phase.PhaseHandler.declareAttackersTurnBasedAction(PhaseHandler.java:473)


Collective Restraint gives me the above crash when attacking into it. Looks like this may be all Propaganda-like effects, since for some reason it's getting into HumanPlay.payManaCost() with a null SpellAbility which seems like it's completely incompatible with this function. I started adding null checks, but it was basically every step of the function and then got a bit further and it looks like not having an ability here causes bad things with actual payment, so maybe whoever consolidated all this can figure out how to get Propaganda stuff to work.
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 swordshine » 27 Feb 2014, 10:16

When I cast Chord of Calling while controlling no untapped creatures.
Code: Select all
 java.lang.IllegalArgumentException: Min must not be greater than Max
   at forge.gui.input.InputSelectManyBase.<init>(InputSelectManyBase.java:26)
   at forge.gui.input.InputSelectCardsForConvoke.<init>(InputSelectCardsForConvoke.java:29)
   at forge.gui.player.PlayerControllerHuman.chooseCardsForConvoke(PlayerControllerHuman.java:1075)
   at forge.game.mana.ManaCostAdjustment.adjustCostByConvoke(ManaCostAdjustment.java:138)
   at forge.game.mana.ManaCostAdjustment.adjust(ManaCostAdjustment.java:51)
   at forge.gui.player.HumanPlay.payManaCost(HumanPlay.java:707)
   at forge.gui.player.PlayerControllerHuman.payManaCost(PlayerControllerHuman.java:1070)
   at forge.game.player.PlayerController.payManaCost(PlayerController.java:226)
   at forge.game.cost.CostPartMana.payAsDecided(CostPartMana.java:131)
   at forge.game.cost.CostPayment.payCost(CostPayment.java:138)
   at forge.gui.player.HumanPlaySpellAbility.playAbility(HumanPlaySpellAbility.java:94)
   at forge.gui.player.HumanPlay.playSpellAbility(HumanPlay.java:97)
   at forge.gui.player.PlayerControllerHuman.playChosenSpellAbility(PlayerControllerHuman.java:678)
   at forge.game.phase.PhaseHandler.startFirstTurn(PhaseHandler.java:968)
   at forge.game.GameAction.startGame(GameAction.java:1537)
   at forge.game.Match.startGame(Match.java:80)
   at forge.control.FControl$4.run(FControl.java:437)
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
   at java.lang.Thread.run(Thread.java:744)

swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby Sloth » 27 Feb 2014, 13:08

friarsol wrote:
Propaganda Crash | Open
Game-5 > java.lang.NullPointerException
at forge.gui.player.HumanPlay.payManaCost(HumanPlay.java:687)
at forge.gui.player.PlayerControllerHuman.payManaCost(PlayerControllerHuman.java:1070)
at forge.game.player.PlayerController.payManaCost(PlayerController.java:226)
at forge.gui.player.HumanPlay.payCostDuringAbilityResolve(HumanPlay.java:635)
at forge.gui.player.PlayerControllerHuman.payManaOptional(PlayerControllerHuman.java:717)
at forge.game.combat.CombatUtil.checkPropagandaEffects(CombatUtil.java:990)
at forge.game.phase.PhaseHandler.declareAttackersTurnBasedAction(PhaseHandler.java:473)


Collective Restraint gives me the above crash when attacking into it. Looks like this may be all Propaganda-like effects, since for some reason it's getting into HumanPlay.payManaCost() with a null SpellAbility which seems like it's completely incompatible with this function. I started adding null checks, but it was basically every step of the function and then got a bit further and it looks like not having an ability here causes bad things with actual payment, so maybe whoever consolidated all this can figure out how to get Propaganda stuff to work.
Looks like r24885 redirected payCostDuringAbilityResolve to this payManaCost function. So Max is responsible.
User avatar
Sloth
Programmer
 
Posts: 3498
Joined: 23 Jun 2009, 19:40
Has thanked: 125 times
Been thanked: 507 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 05 Mar 2014, 03:55

Sloth wrote:Looks like r24885 redirected payCostDuringAbilityResolve to this payManaCost function. So Max is responsible.
Ok, well, it looks like Max disappeared on us. I've committed a short term fix that passes a dummy SpellAbility in here so there aren't any failed SA checks.
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 Max mtg » 05 Mar 2014, 17:34

Not bad, Sol.
Though I'll insert there an instance of special EmptySa class (it's nested in spellability)
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)

Postby swordshine » 06 Mar 2014, 00:57

Max mtg wrote:Not bad, Sol.
Though I'll insert there an instance of special EmptySa class (it's nested in spellability)
Any idea to fix another related bug (Suppression Field)? http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=13834&start=45#p147332
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Mar 2014, 02:26

r25175

I noticed some weird things going on related with Morph.

Firstly, at the end of my quest match, when looking through the booster I won, all of the cards were just listed as Morph, even though they obviously weren't (especially since it wasn't inside a match.
http://imgur.com/3dbRF31

Secondly, I just stole a Morph creature from my opponent, and there's barely any space to actually flip it in the card detail panel to see what's on the other side. http://imgur.com/KMMLOut Additionally, it doesn't even list the power/toughness anywhere, which is odd.

The AIs Morph creatures display normally.
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 swordshine » 14 Mar 2014, 04:20

@drdev, r25173 broke some effects, my Tezzeret, Agent of Bolas digged 5 cards and they showed Morph in card detail panel. We will release a new beta in a few hours, please revert it if you're not sure how to fix this bug.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

Re: Bug Reports (snapshot builds)

Postby friarsol » 14 Mar 2014, 12:50

I've reverted this change, since as swordshine states, we have a release and there are plenty of reasons why users should be able to see cards (peeking, end of game, etc) that this change needs to consider.
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 drdev » 14 Mar 2014, 13:32

friarsol wrote:I've reverted this change, since as swordshine states, we have a release and there are plenty of reasons why users should be able to see cards (peeking, end of game, etc) that this change needs to consider.
I do apologize for this. I did test main Forge and I thought it was working fine. I just missed some of the cases mentioned.

I think the only bug in my logic was to return false if the card wasn't in a zone. I think if I had returned true there instead, the logic would work as expected. I'll revisit that fix after the release so we have time to iron out any kinks.

It sounds like the logic is flawed in other ways, as canBeShown(player) returning false shouldn't in and of itself imply a Morph creature. Cards can be face down in zones besides the Battlefield, like the Exile zone, and that doesn't mean they're morph cards. Until mobile Forge, we've just never displayed cards in zones besides the Hand and Battlefield, as other zones are shown as simple list box popups.

EDIT: I think I've fixed everything now in r25183, although I did have to use a mini-hack to handle revealed cards. I made it so FControl.mayShowCard returns true if a dialog is open, which handles all those corner cases.

Please help me test this to make sure I didn't miss any corner cases. Thanks.
drdev
Programmer
 
Posts: 1958
Joined: 27 Jul 2013, 02:07
Has thanked: 189 times
Been thanked: 565 times

Re: Bug Reports (snapshot builds)

Postby Madscorpion » 16 Mar 2014, 04:15

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

IllegalArgumentException | Open
Code: Select all
Forge Version:    1.5.14-r25182
Operating System: Windows 7 6.1 amd64
Java Version:     1.7.0_07 Oracle Corporation

java.lang.IllegalArgumentException: W value greater than 100%!
   at forge.gui.framework.RectangleOfDouble.<init>(RectangleOfDouble.java:19)
   at forge.gui.framework.DragCell.updateRoughBounds(DragCell.java:218)
   at forge.gui.framework.SRearrangingUtil.fillGap(SRearrangingUtil.java:348)
   at forge.gui.framework.SRearrangingUtil.endRearrange(SRearrangingUtil.java:290)
   at forge.gui.framework.SRearrangingUtil.access$100(SRearrangingUtil.java:22)
   at forge.gui.framework.SRearrangingUtil$1.mouseReleased(SRearrangingUtil.java:64)
   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)
Hi I am very new to all this but I am a MTG fanatic and I really respect what you all are doing to make Magic easier and more accessible to work with and I understand how this is still a work in progress even tho I think everybody has done a great job of it up until now. I am really impressed with what you all came up with to make this all work and I can't imagine the time and energy put into this project so I won't bullshit you guys and tell you I know anything about codes and what not but I can tell you what happened and that will be the information on the subject your gonna have to process so be ready!

I was trying to make my very first EDH deck in the commander editor tab when I noticed that one of my right window was a bit out of the screen and I was wondering If I was missing any windows to be able to edit more of my commander deck and so I searched for a scroll bar at the bottom of my screen and there was nothing so I tried to stretch my window to check if the page wasn't just sized out and the window's side just stretched with the dragging and window just stretched down the middle and the side never showed. Then after stretching it a lot just to make sure it would not show its side I started to change the positions of my windows so as to make them all vertical and not stretching to the right infinitely and when I got to my last window it all crashed on me and here we are. I tried to full screen it a few times to see if it would just refresh on its own and I tried closing and opening the commander tab again.
I hope this helps because I don't think ill be able to play forge if my tab stays like this. Now I know for sure I'm missing most of my tabs because of it and cant get em back ha ha.
Really like everything else tho, seemed to work just fine!

Oh and uhm I was actualy searching for some kind of Commander zone option in the commander deck editor when I had this whole mess of a problem. I figured I couldn't play my deck because my commander was still just in my 'creature' tab in the current deck window and that I probably had to put him somewhere else and I could not find where that was..
Madscorpion
 
Posts: 1
Joined: 15 Mar 2014, 20:14
Has thanked: 0 time
Been thanked: 0 time

Re: Bug Reports (snapshot builds)

Postby swordshine » 16 Mar 2014, 09:27

@drdev, it seems in developer mode face-down cards can be seen and those cards are not marked "face down" in the card detail panel.
I fixed an old bug about Necropotence and now I'm confused whether the exiled cards are faced-down.
swordshine
 
Posts: 682
Joined: 11 Jul 2010, 02:37
Has thanked: 116 times
Been thanked: 87 times

PreviousNext

Return to Developer's Corner

Who is online

Users browsing this forum: No registered users and 52 guests


Who is online

In total there are 52 users online :: 0 registered, 0 hidden and 52 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 52 guests

Login Form