#Custom Cube draft sometimes hangs Forge

1 messages · Page 1 of 1 (latest)

golden finch
#

Version: 2.0.09-SNAPSHOT-01.09

Steps to reproduce:

  1. Choose 'Booster Draft' under Sanctioned Formats
  2. Choose 'New Booster Draft Game'
  3. Choose 'Custom Cube'

Before I see the list with cube names, Forge crashes, the overlay with the draft options disappears, and the program hangs in a greyed out state. I have to force shut down the Java process via the Task Manager to close Forge.

Note, this bug doesn't always occur! However, it occurs often, and it feels like I have to force shut down Forge and restart more than half of the time.

I attached forge.log, which contains a couple of stack traces that maybe are related.

PS. I tried removing my custom cube, and other cubes, but that doesn't seem to have any impact on whether the error occurs or not.

golden finch
#

Is no one else running into this problem? It triggers relatively often, whenever I choose Custom Cube in the 'Choose Draft Format' popup.

elfin ether
#

I just tried it and it crashed with the same exception.
But after I restarted I clicked 'Custom Cube' 20-30 times and it did not crash.

elfin ether
#

The issue might be CardEdition.getCardInSet putting stuff into a ListMultimap which is not thread safe.

    at com.google.common.collect.AbstractListMultimap.put(AbstractListMultimap.java:118)
    at forge.card.CardEdition.getCardInSet(CardEdition.java:437)

Maybe the solution is just wrapping it into a SynchronizedListMultimap like the javadoc of Multimaps.newListMultimap suggests.

golden finch
#

Huh. So my laptop is more prone to unsafe threading than yours? Weird!

elfin ether
#

Sorry for the confusion, I did not restart the game between tries and the map is cached, so it can only crash the first time the dialog is opened.

golden finch
#

Ah, so you did encounter the problem again. Glad it's not only me!

elfin ether
honest tendon
#

I am facing this issue as well, this is my first time attempting to try out custom cube after reading a thread about how to create one