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 andrewd13 » 31 Jul 2013, 13:57
Another:
Description: Was playing a burn deck (again, random), and had it just die on me. I think I had just clicked the "OK" button to go to the pre-combat main phase. Had 5 Mountain on the field, nothing else.
After this, cards wouldn't show as tapped in the interface (e.g. when attacking, blocking, or tapping for mana), but I finished the game successfully.
Description: Was playing a burn deck (again, random), and had it just die on me. I think I had just clicked the "OK" button to go to the pre-combat main phase. Had 5 Mountain on the field, nothing else.
After this, cards wouldn't show as tapped in the interface (e.g. when attacking, blocking, or tapping for mana), but I finished the game successfully.
- IndexOutOfBoundsException | Open
- Code: Select all
Forge Version: 1.4.4-SNAPSHOT-r22675
Operating System: Mac OS X 10.7.5 x86_64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.rangeCheck(ArrayList.java:604)
at java.util.ArrayList.get(ArrayList.java:382)
at forge.Card.getHiddenExtrinsicKeyword(Card.java:4559)
at forge.Card.getKeyword(Card.java:4267)
at forge.Card.getAmountOfKeyword(Card.java:5109)
at forge.Card.getNetAttack(Card.java:3967)
at forge.view.arcane.CardPanel.setText(CardPanel.java:601)
at forge.view.arcane.CardPanel.setCard(CardPanel.java:639)
at forge.view.arcane.PlayArea.updateCard(PlayArea.java:623)
at forge.view.arcane.PlayArea.updateSingleCard(PlayArea.java:298)
at forge.gui.match.CMatchUI.updateSingleCard(CMatchUI.java:368)
at forge.gui.match.CMatchUI.updateCards(CMatchUI.java:360)
at forge.control.FControlGameEventHandler$9.run(FControlGameEventHandler.java:256)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
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)
- andrewd13
- Posts: 17
- Joined: 29 Jul 2013, 15:43
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by Shoffs » 31 Jul 2013, 17:10
Description: I was there, just finishing the opponent, choosing a land, and all of a sudden, this popped out.
Kiss on the cheek, Shoffs.
Kiss on the cheek, Shoffs.
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.4.3-r22557
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_25 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.game.combat.Combat.getBandOfAttacker(Combat.java:173)
at forge.game.combat.Combat.getBlockers(Combat.java:212)
at forge.gui.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:239)
at forge.gui.match.TargetingOverlay.access$300(TargetingOverlay.java:52)
at forge.gui.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:345)
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$1000(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)
- Shoffs
- Posts: 2
- Joined: 30 Jul 2013, 18:37
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by xbon » 31 Jul 2013, 18:30
one problem could be you're over 150 revisions behind; 1.4.5 is out now, also you're running a stable build, not a snapshot, so you should post in viewtopic.php?f=26&t=11097Shoffs wrote:Description: I was there, just finishing the opponent, choosing a land, and all of a sudden, this popped out.
Kiss on the cheek, Shoffs.
- ConcurrentModificationException | Open
- Code: Select all
Forge Version: 1.4.3-r22557
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_25 Oracle Corporation
java.util.ConcurrentModificationException
at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
at java.util.ArrayList$Itr.next(Unknown Source)
at forge.game.combat.Combat.getBandOfAttacker(Combat.java:173)
at forge.game.combat.Combat.getBlockers(Combat.java:212)
at forge.gui.match.TargetingOverlay.assembleArcs(TargetingOverlay.java:239)
at forge.gui.match.TargetingOverlay.access$300(TargetingOverlay.java:52)
at forge.gui.match.TargetingOverlay$OverlayPanel.paintComponent(TargetingOverlay.java:345)
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$1000(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)
Re: Bug Reports (snapshot builds)
by Agetian » 02 Aug 2013, 05:46
r22741: A very serious issue with the card zoomer: if you use the "mouse wheel click" method of activating the card zoomer (instead of the "mouse wheel scroll" method), accidentally scrolling the mouse wheel up while it's still pressed causes the game to hang in card zoomer mode; the card zoomer doesn't go away automatically when the mouse wheel is released and it doesn't turn off when you scroll the mouse wheel down either. The only way to make it go away is concede via Alt+F4.
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by drdev » 02 Aug 2013, 06:50
I can't reproduce this using the latest source in trunk. Can you try updating your source and recompiling and see if you can still reproduce on your machine? Also, what OS are you on?Agetian wrote:r22741: A very serious issue with the card zoomer: if you use the "mouse wheel click" method of activating the card zoomer (instead of the "mouse wheel scroll" method), accidentally scrolling the mouse wheel up while it's still pressed causes the game to hang in card zoomer mode; the card zoomer doesn't go away automatically when the mouse wheel is released and it doesn't turn off when you scroll the mouse wheel down either. The only way to make it go away is concede via Alt+F4.
- Agetian
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Agetian » 02 Aug 2013, 07:52
I'm using Linux Mint 14 KDE. Definitely still an issue (clean build r22743).drdev wrote:I can't reproduce this using the latest source in trunk. Can you try updating your source and recompiling and see if you can still reproduce on your machine? Also, what OS are you on?Agetian wrote:r22741: A very serious issue with the card zoomer: if you use the "mouse wheel click" method of activating the card zoomer (instead of the "mouse wheel scroll" method), accidentally scrolling the mouse wheel up while it's still pressed causes the game to hang in card zoomer mode; the card zoomer doesn't go away automatically when the mouse wheel is released and it doesn't turn off when you scroll the mouse wheel down either. The only way to make it go away is concede via Alt+F4.
- Agetian
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by drdev » 02 Aug 2013, 07:56
I'm running in Windows and can't reproduce. Can somebody who has Linux access please investigate?Agetian wrote:I'm using Linux Mint 14 KDE. Definitely still an issue (clean build r22743).drdev wrote:I can't reproduce this using the latest source in trunk. Can you try updating your source and recompiling and see if you can still reproduce on your machine? Also, what OS are you on?Agetian wrote:r22741: A very serious issue with the card zoomer: if you use the "mouse wheel click" method of activating the card zoomer (instead of the "mouse wheel scroll" method), accidentally scrolling the mouse wheel up while it's still pressed causes the game to hang in card zoomer mode; the card zoomer doesn't go away automatically when the mouse wheel is released and it doesn't turn off when you scroll the mouse wheel down either. The only way to make it go away is concede via Alt+F4.
- Agetian
- Agetian
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by Agetian » 02 Aug 2013, 08:51
In r22746 I introduced a temporary solution to help alleviate the issue with the card zoomer outlined above - that is, I made it possible to close the "temporary" zoomer with either ESC or with mouse wheel down so that it doesn't hang forever. However, the issue is still there, and this temporary solution has drawbacks - in particular, the next time you try using the "mouse wheel click" zoom mode after you have closed the zoomer using mouse wheel down or ESC once it hung, it doesn't let you do it until you try one more time (because CardPanelContainer.this.zoomed is not correctly reset to 'false' - no idea if it's even possible to reset it from another class, tbh, since it has to be reset from CardZoomer).
If someone knows how to fix this in an optimal way, please do. Not everybody is using M$ stuff, even though I understand that we freedom fans are a minority.
- Agetian
If someone knows how to fix this in an optimal way, please do. Not everybody is using M$ stuff, even though I understand that we freedom fans are a minority.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by spr » 02 Aug 2013, 12:10
How about we go with my original idea - mousewheel to zoom or a button-less option whereby holding the CTRL key (or user-defined key of choice) while mouse pointer is over an image? If you don't have a mouse wheel or a keyboard, tough luck, the non-essential image zoom feature will be unavailable! Just thought I would put that out there...
Cheers,
Steve.

Cheers,
Steve.
Re: Bug Reports (snapshot builds)
by drdev » 02 Aug 2013, 13:08
There's a way to do this without removing middle mouse down support and left/right support. I think I even have an idea how. I'll try it today and let someone on Linux confirm it works. Please don't disable the support in the meantime.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by spr » 02 Aug 2013, 13:39
Just to confirm that I can replicate the issue running Forge r22742 in Linux Zorin 32 running in VirtualBox (using same mouse as in Windows obviously). Actually occurs using middle mouse or double button action. One observation, if I double mouse button and then move mouse while still holding the buttons, then stop moving mouse, then release buttons the zoom stays open on release of buttons. As soon as the mouse is moved the zoom closes. This does not always occur but I can get it to happen once every three or four attempts. This happens in Windows.
Cheers,
Steve
Cheers,
Steve
Re: Bug Reports (snapshot builds)
by Agetian » 02 Aug 2013, 14:20
I actually like the mouse wheel click zoom mode idea, so if it's possible to fix the issue without having to disable the whole thing, it's going to be a good thing. That being said, I'd gladly test any proposed solutions that you commit to the SVN on my Linux system, guys! 
- Agetian

- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by drdev » 02 Aug 2013, 14:20
I'll make sure to fix that issue too when I investigate later.spr wrote:Just to confirm that I can replicate the issue running Forge r22742 in Linux Zorin 32 running in VirtualBox (using same mouse as in Windows obviously). Actually occurs using middle mouse or double button action. One observation, if I double mouse button and then move mouse while still holding the buttons, then stop moving mouse, then release buttons the zoom stays open on release of buttons. As soon as the mouse is moved the zoom closes. This does not always occur but I can get it to happen once every three or four attempts. This happens in Windows.
Cheers,
Steve
Agetian, I prefer and am used to the mouse wheel click to trigger zoom as well, so I'm determined to find a fix that doesn't involve removing it (same with using left and right mouse buttons together). I'll let you know when it's committed so you can test on Linux. Thanks.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Re: Bug Reports (snapshot builds)
by hakuren » 02 Aug 2013, 15:39
Description: [describe what you were doing when the crash occurred]
- NullPointerException | Open
- Code: Select all
Forge Version: 1.4.4-SNAPSHOT-r22675
Operating System: Mac OS X 10.8.4 x86_64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.NullPointerException
- hakuren
- Posts: 3
- Joined: 29 Jul 2013, 12:12
- Has thanked: 0 time
- Been thanked: 0 time
Re: Bug Reports (snapshot builds)
by drdev » 03 Aug 2013, 02:25
So I'm pretty sure I fixed it in r22754 so the card zoomer doesn't get stuck in those cases. I think it had to do with a combination of the fact that mouseReleased would sometimes fire on the overlay rather than the card originally clicked, and that we were relying on a flag maintained on the card container/picture panel instead of just looking at the flag maintained by the zoomer itself. I made it so mouseReleased now calls closeZoomer even if temporary flag set and removed the zoomed flags from CardPanelContainer and CPicture in favor of a new public function isZoomed() on CardZoomer.
Agetian, spr, please confirm that you can no longer get stuck in a Zoomed state on Linux. Thanks.
Agetian, spr, please confirm that you can no longer get stuck in a Zoomed state on Linux. Thanks.
- drdev
- Programmer
- Posts: 1958
- Joined: 27 Jul 2013, 02:07
- Has thanked: 189 times
- Been thanked: 565 times
Who is online
Users browsing this forum: No registered users and 11 guests