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 Agetian » 10 Jan 2014, 06:45
r24201: And another, even more serious NPE, during the match, when I either hovered the mouse over the card or clicked it (not sure which) - this one was recurring and the only option I had was to quit the game:
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.9-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.NullPointerException
at forge.gui.toolbox.FSkin.setGraphicsColor(FSkin.java:187)
at forge.gui.toolbox.FPanel.drawBackgroundColor(FPanel.java:261)
at forge.gui.toolbox.FPanel.paintComponent(FPanel.java:236)
at javax.swing.JComponent.paint(JComponent.java:1045)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
at javax.swing.JComponent.paintChildren(JComponent.java:878)
at javax.swing.JComponent.paint(JComponent.java:1054)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5212)
at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1508)
at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1439)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:311)
at javax.swing.RepaintManager.paint(RepaintManager.java:1236)
at javax.swing.JComponent._paintImmediately(JComponent.java:5160)
at javax.swing.JComponent.paintImmediately(JComponent.java:4971)
at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
at javax.swing.RepaintManager$3.run(RepaintManager.java:784)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:784)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:757)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:706)
at javax.swing.RepaintManager.access$1000(RepaintManager.java:62)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1647)
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)
- 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 » 10 Jan 2014, 15:07
Agetian, is this a specific card that's failing?
- 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 » 10 Jan 2014, 18:49
I'm pretty sure that it's a general bug, the stack traces (for both issues I reported above) indicate NPEs in UI-related parts of code (in particular, in FSkin and in some tooltip-related code). There are several reports similar to mine in the newly released 1.5.9 thread that deal with different cards in different modes...drdev wrote:Agetian, is this a specific card that's failing?
- 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 » 10 Jan 2014, 21:27
Do you have specific workflows that reproduce it consistently? Because I haven't seen these before in my testing.Agetian wrote:I'm pretty sure that it's a general bug, the stack traces (for both issues I reported above) indicate NPEs in UI-related parts of code (in particular, in FSkin and in some tooltip-related code). There are several reports similar to mine in the newly released 1.5.9 thread that deal with different cards in different modes...drdev wrote:Agetian, is this a specific card that's failing?
- Agetian
EDIT: I fixed the game play crash in r24207. It would only crash when you clicked on a card that couldn't be played, in the act of trying to make the prompt flash red. So the game's not unplayable, it's just easy to accidentally cause this crash at the moment. Can we release a quick patch?
- 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 » 11 Jan 2014, 02:29
@ drdev: Thanks for working on fixing the bugs! I'll test the new version later today and will tell you if I experience any crashes. By the way, did you manage to reproduce/fix the tooltip bug in the deck editor(s)? I'm trying to figure out a consistent enough way to reproduce it but I can't do it just yet, it seems to randomly crash from time to time (rather rarely) with this NPE when moving in/out/around the edges of the card collection list:
EDIT: Just a wild guess - can this be because under some random circumstances the renderer has already processed the mouse event (e) and then 'e' is fed into another processing request on line 331 in ItemListView.java?...
Will post more details soon if I come up with anything conclusive.
- Agetian
- NullPointerException | Open
- Code: Select all
Forge Version: 1.5.9-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.NullPointerException
at javax.swing.ToolTipManager.initiateToolTip(ToolTipManager.java:444)
at javax.swing.ToolTipManager.mouseEntered(ToolTipManager.java:401)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:299)
at java.awt.AWTEventMulticaster.mouseEntered(AWTEventMulticaster.java:299)
at java.awt.Component.processMouseEvent(Component.java:6514)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at forge.gui.toolbox.itemmanager.views.ItemListView$ItemTable.processMouseEvent(ItemListView.java:331)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.trackMouseEnterExit(Container.java:4620)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4474)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
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.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
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)
- Code: Select all
forge.gui.toolbox.itemmanager.views.ItemListView$ItemTable.processMouseEvent(ItemListView.java:331)
EDIT: Just a wild guess - can this be because under some random circumstances the renderer has already processed the mouse event (e) and then 'e' is fed into another processing request on line 331 in ItemListView.java?...
Will post more details soon if I come up with anything conclusive.
- 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 » 11 Jan 2014, 03:20
I finally figured out how to reproduce the tooltip issue consistently, though it's very convoluted. You have to hover over a cell that shows a tooltip in the final row of a table, then move your mouse over another cell in that row without a tooltip (such as one that has room to display in full), which will display a tiny dot tooltip (annoying bug in and of itself), then move your mouse below the row, then move the mouse back over the same cell. Crash.
It seems to be a bug with Swing that's hard to work around. I'm working on a fix.
EDIT: I ended up taking your idea and just trapping the exception in processMouseEvent (r24208). That prevents the crash, though it still leaves the weird "dot" tooltip issue, though that's certainly more minor.
On that note, is there any way to prevent the behavior where once you get a tooltip for something, if you move the mouse away all other components suddenly display tooltips immediately? I find that behavior really annoying, and if it wasn't for that behavior, you can't get the "dot" tooltip.
Anyway, I'd suggest with these two crashes now fixed we release a patch so people don't continue to hit them for the next couple weeks.
It seems to be a bug with Swing that's hard to work around. I'm working on a fix.
EDIT: I ended up taking your idea and just trapping the exception in processMouseEvent (r24208). That prevents the crash, though it still leaves the weird "dot" tooltip issue, though that's certainly more minor.
On that note, is there any way to prevent the behavior where once you get a tooltip for something, if you move the mouse away all other components suddenly display tooltips immediately? I find that behavior really annoying, and if it wasn't for that behavior, you can't get the "dot" tooltip.
Anyway, I'd suggest with these two crashes now fixed we release a patch so people don't continue to hit them for the next couple weeks.
- 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 » 11 Jan 2014, 08:29
@ drdev: I was wondering about that behavior too (I mean that tooltips appear immediately), it is annoying indeed... Sadly, a quick Google check did not yield any results, but if I find anything relevant I'll PM you. As for the bugs you've fixed, I updated to the latest build and I'm in the process of testing the game - so far so good, hasn't crashed on me yet.
EDIT: Please take a look if any of this may be relevant:
http://stackoverflow.com/questions/1190 ... particular
http://stackoverflow.com/questions/6170 ... -black-dot
- Agetian
EDIT: Please take a look if any of this may be relevant:
http://stackoverflow.com/questions/1190 ... particular
http://stackoverflow.com/questions/6170 ... -black-dot
- Agetian
Last edited by Agetian on 11 Jan 2014, 11:14, edited 3 times in total.
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by Agetian » 11 Jan 2014, 10:52
r24208: I noticed one more way the skinned list boxes misbehave: the titles of some of them (which indicate what exactly you're choosing) are cut short and there's no way to resize the list box to read the rest of the title. Sometimes it's crucial to understanding the effect you're choosing the card for, such as in the case of Telling Time where you're putting one card into your hand, one on the top of the library, and on on the bottom of your library. The following prompt may be somewhat confusing if you forgot the order of effects on the card or are unsure about what exactly the card is querying you about:
- 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 » 11 Jan 2014, 18:30
That wasn't actually an issue with the ListChooser, but rather that the prompt for that dialog wasn't being built properly in DigEffect.Agetian wrote:r24208: I noticed one more way the skinned list boxes misbehave: the titles of some of them (which indicate what exactly you're choosing) are cut short and there's no way to resize the list box to read the rest of the title. Sometimes it's crucial to understanding the effect you're choosing the card for, such as in the case of Telling Time where you're putting one card into your hand, one on the top of the library, and on on the bottom of your library. The following prompt may be somewhat confusing if you forgot the order of effects on the card or are unsure about what exactly the card is querying you about:telling-time.png
- Agetian
I've committed a fix in r24214 for this and other list prompt titles.
- 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 » 11 Jan 2014, 18:57
Thanks for the fixes, drdev!
By the way, if you have some time for it, can you please look into this issue that's affecting the Ante UI: viewtopic.php?f=52&t=8450&start=120#p141814
I don't know if there's anyone better than you at UI coding in the team at the moment to tackle this (it hasn't worked for a long time and in different ways).
- Agetian
By the way, if you have some time for it, can you please look into this issue that's affecting the Ante UI: viewtopic.php?f=52&t=8450&start=120#p141814
I don't know if there's anyone better than you at UI coding in the team at the moment to tackle this (it hasn't worked for a long time and in different ways).
- 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 Max mtg » 12 Jan 2014, 19:37
card Back from the Brink is now broken. Working on it (my plan is set up its cost as two parts, exile from grave first and mana cost to be paid secondly)
Last edited by Max mtg on 14 Jan 2014, 08:11, 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 Agetian » 14 Jan 2014, 05:30
r24250: Got this fatal exception when switching between Quest Deck Editor and a regular Deck Editor and then back to Quest Deck Editor. What's worse, this crash resulted in the "All Decks" tab disappearing from the Deck Editor permanently (even after restarting Forge), which required me to delete editor properties files to reset them.
- Agetian
Description: [describe what you were doing when the crash occurred]
- Agetian
- IllegalArgumentException | Open
- Code: Select all
Forge Version: 1.5.11-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1080)
at java.awt.Container.add(Container.java:998)
at forge.gui.framework.DragCell.addDoc(DragCell.java:280)
at forge.gui.deckeditor.controllers.CEditorQuest.resetUIChanges(CEditorQuest.java:306)
at forge.gui.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:90)
at forge.gui.deckeditor.VDeckEditorUI.onSwitching(VDeckEditorUI.java:50)
at forge.gui.framework.FScreen.onSwitching(FScreen.java:183)
at forge.view.FNavigationBar.canSwitch(FNavigationBar.java:133)
at forge.control.FControl.setCurrentScreen(FControl.java:283)
at forge.control.FControl.setCurrentScreen(FControl.java:275)
at forge.view.FNavigationBar$NavigationTab$1.mousePressed(FNavigationBar.java:398)
at java.awt.Component.processMouseEvent(Component.java:6502)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3312)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
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.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
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)
Description: [describe what you were doing when the crash occurred]
- IllegalArgumentException | Open
- Code: Select all
Forge Version: 1.5.11-SNAPSHOT-r${forge.revision}${forge.specialStatus} (mixed revisions detected; please update from the root directory)
Operating System: Linux 3.8.0-26-generic amd64
Java Version: 1.7.0_25 Oracle Corporation
java.lang.IllegalArgumentException: illegal component position
at java.awt.Container.addImpl(Container.java:1093)
at java.awt.Container.add(Container.java:998)
at forge.gui.framework.DragCell.addDoc(DragCell.java:280)
at forge.gui.deckeditor.controllers.CEditorLimited.resetUIChanges(CEditorLimited.java:196)
at forge.gui.deckeditor.CDeckEditorUI.canSwitchAway(CDeckEditorUI.java:90)
at forge.control.FControl.canExitForge(FControl.java:185)
at forge.control.FControl.exitForge(FControl.java:192)
at forge.control.FControl$1.windowClosing(FControl.java:153)
at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:349)
at java.awt.Window.processWindowEvent(Window.java:2051)
at javax.swing.JFrame.processWindowEvent(JFrame.java:290)
at java.awt.Window.processEvent(Window.java:2009)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
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.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
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)
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Re: Bug Reports (snapshot builds)
by swordshine » 15 Jan 2014, 03:53
Description: r24269 When I killed (Go for the Throat) a new BNG card Hero of Iroas.
- StackOverflowError | Open
- Code: Select all
Forge Version: SVN
Operating System: Windows 7 6.1 x86
Java Version: 1.7.0_25 Oracle Corporation
java.lang.StackOverflowError
at java.lang.String$CaseInsensitiveComparator.compare(String.java:1170)
at java.util.TreeMap.getEntryUsingComparator(TreeMap.java:369)
at java.util.TreeMap.getEntry(TreeMap.java:340)
at java.util.TreeMap.get(TreeMap.java:273)
at com.google.common.collect.AbstractMapBasedMultimap.get(AbstractMapBasedMultimap.java:304)
at com.google.common.collect.AbstractListMultimap.get(AbstractListMultimap.java:66)
at com.google.common.collect.AbstractListMultimap.get(AbstractListMultimap.java:36)
at forge.card.CardDb.tryGetCard(CardDb.java:219)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.java:224)
at forge.card.CardDb.tryGetCard(CardDb.java:178)
at forge.card.CardDb.tryGetCard(CardDb.jav
... (truncated)
- swordshine
- Posts: 682
- Joined: 11 Jul 2010, 02:37
- Has thanked: 116 times
- Been thanked: 87 times
Re: Bug Reports (snapshot builds)
by friarsol » 15 Jan 2014, 04:06
I'm guessing this is because there's no editions file for BNG and the Random Art work that's been happening recently doesn't consider the possibility of having scripts before editions.swordshine wrote:Description: r24269 When I killed (Go for the Throat) a new BNG card Hero of Iroas.
- 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 Agetian » 15 Jan 2014, 05:38
I looked at the relevant code and it does seem like the new parts of tryGetCard are failing here, but I admit I have no idea how exactly they're failing in order to be able to fix it. The first thing that fails in the stack trace is the call to retrieve the card from CardDb.allCardsByName. The other two calls that are in the stack trace are other tryGetCard calls that reference the edition of the card by name (via .getEdition). What are the specifics of working with cards that do not correspond to an edition file? Where do they contain their set information (if they do), and if they do, how do I extract it from there. Contrariwise, if they don't contain any set information and that's why the calls are failing in what seems to be some kind of an endless loop, how do I know about it so I can check for that in advance to avoid the crash? Thanks in advance for assistance, I'll try to fix this ASAP (as soon as I know how)!friarsol wrote:I'm guessing this is because there's no editions file for BNG and the Random Art work that's been happening recently doesn't consider the possibility of having scripts before editions.swordshine wrote:Description: r24269 When I killed (Go for the Throat) a new BNG card Hero of Iroas.
P.S. Also, how can I reproduce this crash [easily enough] without having to switch over to the BNG branch so that I can test some things and see if they help?
P.P.S. Looked at the BNG scripts and it seems like they don't contain any set info inside them, so I guess the code should probably detect the absence of set information (which will indicate the lack of edition file) and work around cases like that gracefully. If my idea is right, I can try tweaking the code, but I'd still need a reliable way to reproduce the crash in order to be able to test effectively.
- Agetian
- Agetian
- Programmer
- Posts: 3486
- Joined: 14 Mar 2011, 05:58
- Has thanked: 683 times
- Been thanked: 569 times
Who is online
Users browsing this forum: No registered users and 55 guests