Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NullPointerException in MagicSourceManaActivation.canProduce #685

Closed
itandetnik opened this issue Feb 8, 2016 · 9 comments
Closed

NullPointerException in MagicSourceManaActivation.canProduce #685

itandetnik opened this issue Feb 8, 2016 · 9 comments

Comments

@itandetnik
Copy link

Mararena 1.70 just crashed right after completing mulligan phase. Crash log:

CRASH REPORT FOR MAGARENA THREAD Thread[pool-9-thread-7,5,main]
CREATED ON 2016/02/08 09:36:57
MAGARENA VERSION 1.70, JRE 1.8.0_31, OS Windows 7_6.1 x86
================================
Used Memory: 88M
Free Memory: 159M
Total Memory: 247M
Max Memory: 494M
================================
-Xms256m
-Xmx512m
-Xverify:none


Turn : 1  Phase : Untap  Step : Begin  Player : Computer  Score : 230
0] Player : Igor  Life : 20  Delayed : Total=0
   - Hand : Kitchen Finks
   - Hand : True Conviction
   - Hand : Graypelt Refuge
   - Hand : Temple Garden
   - Hand : Plains
1] Player : Computer  Life : 20  Delayed : Total=0
   - Hand : Blazing Specter
   - Hand : Liliana's Caress
   - Hand : Sign in Blood
   - Hand : Mountain
Stack : 0
1. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ShuffleCardsIntoLibraryAction = 0
5. ShiftCardAction = 0
6. RemoveCardAction (Plains) = -375
7. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
8. ShiftCardAction = 0
9. RemoveCardAction (Loxodon Warhammer) = -450
10. MoveCardAction (Loxodon Warhammer,OwnersHand,TopOfOwnersLibrary) = 0
11. ShiftCardAction = 0
12. RemoveCardAction (Razorverge Thicket) = -513
13. MoveCardAction (Razorverge Thicket,OwnersHand,TopOfOwnersLibrary) = 0
14. ShiftCardAction = 0
15. RemoveCardAction (Temple Garden) = -513
16. MoveCardAction (Temple Garden,OwnersHand,TopOfOwnersLibrary) = 0
17. ShiftCardAction = 0
18. RemoveCardAction (Forest) = -412
19. MoveCardAction (Forest,OwnersHand,TopOfOwnersLibrary) = 0
20. ShiftCardAction = 0
21. RemoveCardAction (Chastise) = -561
22. MoveCardAction (Chastise,OwnersHand,TopOfOwnersLibrary) = 0
23. ShiftCardAction = 0
24. RemoveCardAction (Armadillo Cloak) = -395
25. MoveCardAction (Armadillo Cloak,OwnersHand,TopOfOwnersLibrary) = 0
26. ShuffleLibraryAction = 0
27. DrawAction = 2439
28. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
29. ExecuteFirstEventAction = 0
30. ShuffleCardsIntoLibraryAction = 0
31. ShiftCardAction = 0
32. RemoveCardAction (Dragonskull Summit) = 495
33. MoveCardAction (Dragonskull Summit,OwnersHand,TopOfOwnersLibrary) = 0
34. ShiftCardAction = 0
35. RemoveCardAction (Dread) = 424
36. MoveCardAction (Dread,OwnersHand,TopOfOwnersLibrary) = 0
37. ShiftCardAction = 0
38. RemoveCardAction (Blood Crypt) = 512
39. MoveCardAction (Blood Crypt,OwnersHand,TopOfOwnersLibrary) = 0
40. ShiftCardAction = 0
41. RemoveCardAction (Blightning) = 357
42. MoveCardAction (Blightning,OwnersHand,TopOfOwnersLibrary) = 0
43. ShiftCardAction = 0
44. RemoveCardAction (Lavaborn Muse) = 320
45. MoveCardAction (Lavaborn Muse,OwnersHand,TopOfOwnersLibrary) = 0
46. ShiftCardAction = 0
47. RemoveCardAction (Liliana's Caress) = 414
48. MoveCardAction (Liliana's Caress,OwnersHand,TopOfOwnersLibrary) = 0
49. ShiftCardAction = 0
50. RemoveCardAction (Guul Draz Specter) = 346
51. MoveCardAction (Guul Draz Specter,OwnersHand,TopOfOwnersLibrary) = 0
52. ShuffleLibraryAction = 0
53. DrawAction = -2526
54. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
55. ExecuteFirstEventAction = 0
56. ShuffleCardsIntoLibraryAction = 0
57. ShiftCardAction = 0
58. RemoveCardAction (Forest) = -412
59. MoveCardAction (Forest,OwnersHand,TopOfOwnersLibrary) = 0
60. ShiftCardAction = 0
61. RemoveCardAction (Graypelt Refuge) = -450
62. MoveCardAction (Graypelt Refuge,OwnersHand,TopOfOwnersLibrary) = 0
63. ShiftCardAction = 0
64. RemoveCardAction (Plains) = -375
65. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
66. ShiftCardAction = 0
67. RemoveCardAction (Forest) = -412
68. MoveCardAction (Forest,OwnersHand,TopOfOwnersLibrary) = 0
69. ShiftCardAction = 0
70. RemoveCardAction (Plains) = -375
71. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
72. ShiftCardAction = 0
73. RemoveCardAction (Baneslayer Angel) = -415
74. MoveCardAction (Baneslayer Angel,OwnersHand,TopOfOwnersLibrary) = 0
75. ShuffleLibraryAction = 0
76. DrawAction = 2120
77. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
78. ExecuteFirstEventAction = 0
79. ShuffleCardsIntoLibraryAction = 0
80. ShiftCardAction = 0
81. RemoveCardAction (Dragonskull Summit) = 495
82. MoveCardAction (Dragonskull Summit,OwnersHand,TopOfOwnersLibrary) = 0
83. ShiftCardAction = 0
84. RemoveCardAction (Sword of Body and Mind) = 476
85. MoveCardAction (Sword of Body and Mind,OwnersHand,TopOfOwnersLibrary) = 0
86. ShiftCardAction = 0
87. RemoveCardAction (Blightning) = 357
88. MoveCardAction (Blightning,OwnersHand,TopOfOwnersLibrary) = 0
89. ShiftCardAction = 0
90. RemoveCardAction (Sign in Blood) = 340
91. MoveCardAction (Sign in Blood,OwnersHand,TopOfOwnersLibrary) = 0
92. ShiftCardAction = 0
93. RemoveCardAction (Blood Crypt) = 512
94. MoveCardAction (Blood Crypt,OwnersHand,TopOfOwnersLibrary) = 0
95. ShiftCardAction = 0
96. RemoveCardAction (Guul Draz Specter) = 346
97. MoveCardAction (Guul Draz Specter,OwnersHand,TopOfOwnersLibrary) = 0
98. ShuffleLibraryAction = 0
99. DrawAction = -2228
100. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
101. ExecuteFirstEventAction = 0
102. ExecuteFirstEventAction = 0
103. ShuffleCardsIntoLibraryAction = 0
104. ShiftCardAction = 0
105. RemoveCardAction (Mountain) = 375
106. MoveCardAction (Mountain,OwnersHand,TopOfOwnersLibrary) = 0
107. ShiftCardAction = 0
108. RemoveCardAction (Phyrexian Arena) = 486
109. MoveCardAction (Phyrexian Arena,OwnersHand,TopOfOwnersLibrary) = 0
110. ShiftCardAction = 0
111. RemoveCardAction (Lavaborn Muse) = 320
112. MoveCardAction (Lavaborn Muse,OwnersHand,TopOfOwnersLibrary) = 0
113. ShiftCardAction = 0
114. RemoveCardAction (Damnation) = 552
115. MoveCardAction (Damnation,OwnersHand,TopOfOwnersLibrary) = 0
116. ShiftCardAction = 0
117. RemoveCardAction (Dragonskull Summit) = 495
118. MoveCardAction (Dragonskull Summit,OwnersHand,TopOfOwnersLibrary) = 0
119. ShuffleLibraryAction = 0
120. DrawAction = -1539
121. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
122. ExecuteFirstEventAction = 0
123. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
124. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
125. ExecuteFirstEventAction = 0
126. ScryAction = 0
Score = 230

Exception from controller.runGame: null
java.lang.NullPointerException
    at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:90)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
    at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
    at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
    at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
    at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
    at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
    at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
    at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:86)
    at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:103)
    at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:439)
    at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
    at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
    at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
    at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)


@melvinzhang
Copy link
Contributor

Thanks for the report! Just realized that the report is missing out on the AI used, I've added it to future reports.

In this game, which AI were you playing against? I tried to replicate in 3769c54 but no luck replicating the crash. If you encounter further crashes, please update here.

@itandetnik
Copy link
Author

Monte Carlo tree search (cheat), level: 8, extra life: 0. Hope this helps.

@itandetnik
Copy link
Author

Just got a similar crash in 1.71, in case it helps:

CRASH REPORT FOR MAGARENA THREAD Thread[pool-4-thread-3,5,main]
CREATED ON 2016/04/15 10:13:22
MAGARENA VERSION 1.71, JRE 1.8.0_31, OS Windows 7_6.1 x86
================================
Used Memory: 124M
Free Memory: 122M
Total Memory: 247M
Max Memory: 494M
================================
-Xms256m
-Xmx512m
-Xverify:none


Turn : 1  Phase : Untap  Step : Begin  Player : Igor  AI : monte carlo tree search (cheat)  Score : 1354
0] Player : Igor  Life : 20  Delayed : Total=0
   - Hand : Swamp
   - Hand : Marsh Casualties
   - Hand : Liliana's Specter
   - Hand : Wurmcoil Engine
   - Hand : Doom Blade
   - Hand : Swamp
   - Hand : Grasp of Darkness
   - Library : Stupor
   - Library : Stupor
   - Library : Drana, Kalastria Bloodchief
   - Library : Hypnotic Specter
   - Library : Wurmcoil Engine
   - Library : Grasp of Darkness
   - Library : Swamp
1] Player : Computer  Life : 20  Delayed : Total=0
   - Hand : Venser, Shaper Savant
   - Hand : Plains
   - Hand : Parallax Wave
   - Hand : Reality Acid
   - Library : Master Splicer
   - Library : Master Splicer
   - Library : Venser, the Sojourner
   - Library : Glacial Fortress
   - Library : Island
   - Library : Parallax Tide
   - Library : Supreme Verdict
Stack : 0
1. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ExecuteFirstEventAction = 0
5. ShuffleCardsIntoLibraryAction = 0
6. ShiftCardAction = 0
7. RemoveCardAction (Hallowed Fountain) = 513
8. MoveCardAction (Hallowed Fountain,OwnersHand,TopOfOwnersLibrary) = 0
9. ShiftCardAction = 0
10. RemoveCardAction (Hallowed Fountain) = 513
11. MoveCardAction (Hallowed Fountain,OwnersHand,TopOfOwnersLibrary) = 0
12. ShiftCardAction = 0
13. RemoveCardAction (Reality Acid) = 383
14. MoveCardAction (Reality Acid,OwnersHand,TopOfOwnersLibrary) = 0
15. ShiftCardAction = 0
16. RemoveCardAction (Reality Acid) = 383
17. MoveCardAction (Reality Acid,OwnersHand,TopOfOwnersLibrary) = 0
18. ShiftCardAction = 0
19. RemoveCardAction (Nephalia Smuggler) = 298
20. MoveCardAction (Nephalia Smuggler,OwnersHand,TopOfOwnersLibrary) = 0
21. ShiftCardAction = 0
22. RemoveCardAction (Conjurer's Closet) = 372
23. MoveCardAction (Conjurer's Closet,OwnersHand,TopOfOwnersLibrary) = 0
24. ShiftCardAction = 0
25. RemoveCardAction (Parallax Tide) = 414
26. MoveCardAction (Parallax Tide,OwnersHand,TopOfOwnersLibrary) = 0
27. ShuffleLibraryAction = 0
28. DrawAction = -2424
29. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
30. ExecuteFirstEventAction = 0
31. ShuffleCardsIntoLibraryAction = 0
32. ShiftCardAction = 0
33. RemoveCardAction (Oblivion Ring) = 540
34. MoveCardAction (Oblivion Ring,OwnersHand,TopOfOwnersLibrary) = 0
35. ShiftCardAction = 0
36. RemoveCardAction (Hallowed Fountain) = 513
37. MoveCardAction (Hallowed Fountain,OwnersHand,TopOfOwnersLibrary) = 0
38. ShiftCardAction = 0
39. RemoveCardAction (Master Splicer) = 275
40. MoveCardAction (Master Splicer,OwnersHand,TopOfOwnersLibrary) = 0
41. ShiftCardAction = 0
42. RemoveCardAction (Sensor Splicer) = 182
43. MoveCardAction (Sensor Splicer,OwnersHand,TopOfOwnersLibrary) = 0
44. ShiftCardAction = 0
45. RemoveCardAction (Parallax Tide) = 414
46. MoveCardAction (Parallax Tide,OwnersHand,TopOfOwnersLibrary) = 0
47. ShiftCardAction = 0
48. RemoveCardAction (Glacial Fortress) = 500
49. MoveCardAction (Glacial Fortress,OwnersHand,TopOfOwnersLibrary) = 0
50. ShuffleLibraryAction = 0
51. DrawAction = -1625
52. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
53. ExecuteFirstEventAction = 0
54. ShuffleCardsIntoLibraryAction = 0
55. ShiftCardAction = 0
56. RemoveCardAction (Island) = 375
57. MoveCardAction (Island,OwnersHand,TopOfOwnersLibrary) = 0
58. ShiftCardAction = 0
59. RemoveCardAction (Conjurer's Closet) = 372
60. MoveCardAction (Conjurer's Closet,OwnersHand,TopOfOwnersLibrary) = 0
61. ShiftCardAction = 0
62. RemoveCardAction (Niblis of the Mist) = 183
63. MoveCardAction (Niblis of the Mist,OwnersHand,TopOfOwnersLibrary) = 0
64. ShiftCardAction = 0
65. RemoveCardAction (Sensor Splicer) = 182
66. MoveCardAction (Sensor Splicer,OwnersHand,TopOfOwnersLibrary) = 0
67. ShiftCardAction = 0
68. RemoveCardAction (Hallowed Fountain) = 513
69. MoveCardAction (Hallowed Fountain,OwnersHand,TopOfOwnersLibrary) = 0
70. ShuffleLibraryAction = 0
71. DrawAction = -1522
72. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
73. ExecuteFirstEventAction = 0
74. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
Score = 1354

Exception from controller.runGame: null
java.lang.NullPointerException
    at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:90)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:90)
    at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
    at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
    at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
    at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
    at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
    at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
    at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
    at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:86)
    at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:103)
    at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:439)
    at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
    at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
    at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
    at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

@melvinzhang
Copy link
Contributor

A crash log from CI

CRASH REPORT FOR MAGARENA THREAD Thread[pool-10-thread-11,5,main]
CREATED ON 2016/07/06 03:26:26
MAGARENA VERSION 1.75, JRE 1.8.0_40, OS Linux_3.13.0-91-generic amd64
================================
Used Memory: 100M
Free Memory: 216M
Total Memory: 317M
Max Memory: 455M
================================
-Xms256M
-Xmx512M
-Xverify:none
-Dcom.sun.management.jmxremote
-Dmagarena.dir=/home/ubuntu/magarena/release
-Ddebug=false
-DdevMode=false
-Dgame.log=1467775514.log
-Djava.awt.headless=true


Turn : 3  Phase : Cleanup  Step : NextPhase  Player : MCTS  AI : monte carlo tree search  Score : 880
0] Player : MMABC  Life : 10  Delayed : Total=0
   - Hand : Island
   - Hand : Greenhilt Trainee
   - Hand : Honden of Seeing Winds
   - Hand : Mind's Eye
   - Hand : Ohran Viper
   - Hand : Descendant of Masumaro
   - Library : Breeding Pool
   - Library : Island
   - Library : Forest
   - Library : Spiketail Drake
   - Library : Gaea's Bounty
   - Library : Forest
   - Library : Predator's Rapport
   - Permanent : Forest  Tapped  Summoned
   - Permanent : Scuzzback Scrapper  Power : 1  Toughness : 1  Damage : 0  Summoned
1] Player : MCTS  Life : 10  Delayed : Total=0
   - Hand : Swamp
   - Hand : Swamp
   - Hand : Kalastria Healer
   - Hand : Heart Sliver
   - Hand : Saberclaw Golem
   - Hand : Gangrenous Zombies
   - Hand : Swamp
   - Hand : Ichor Slick
   - Library : Awaken the Ancient
   - Library : Mountain
   - Library : Phobian Phantasm
   - Library : Bola Warrior
   - Library : Swamp
   - Library : Kragma Butcher
   - Library : Badlands
Stack : 0
1. AddEventAction (EVENT: NONE MMABC may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE MCTS may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ExecuteFirstEventAction = 0
5. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
6. ExecuteFirstEventAction = 0
7. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
8. ExecuteFirstEventAction = 0
9. AddEventAction (EVENT: NONE  Declare attackers.) = 0
10. ExecuteFirstEventAction = 0
11. DeclareAttackersAction = 0
12. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
13. ExecuteFirstEventAction = 0
14. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
15. ExecuteFirstEventAction = 0
16. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
17. ExecuteFirstEventAction = 0
18. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
19. ExecuteFirstEventAction = 0
20. ReturnExiledAction = 0
21. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
22. ExecuteFirstEventAction = 0
23. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
24. ExecuteFirstEventAction = 0
25. CleanupTurnTriggersAction = 0
26. CleanupPlayerAction = 0
27. CleanupPlayerAction = 0
28. CleanupTurnStaticsAction = 0
29. DrawAction = 330
30. AddEventAction (EVENT: NONE  ...) = 0
31. ExecuteFirstEventAction = 0
32. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
33. ExecuteFirstEventAction = 0
34. AddEventAction (EVENT: Forest Play <Forest~1000036>. ) = 0
35. ExecuteFirstEventAction = 0
36. RemoveCardAction (Forest) = -412
37. PlayCardAction = 0
38. AddEventAction (EVENT: Forest Put <Forest~1000036> onto the battlefield. ) = 0
39. ExecuteFirstEventAction = 0
40. PlayCardFromStackAction (Forest) = 716
41. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
42. ExecuteFirstEventAction = 0
43. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
44. ExecuteFirstEventAction = 0
45. AddEventAction (EVENT: NONE  Declare attackers.) = 0
46. ExecuteFirstEventAction = 0
47. DeclareAttackersAction = 0
48. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
49. ExecuteFirstEventAction = 0
50. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
51. ExecuteFirstEventAction = 0
52. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
53. ExecuteFirstEventAction = 0
54. AddEventAction (EVENT: Scuzzback Scrapper Pay {R/G}$. Choose how to pay the mana cost.) = 0
55. AddEventAction (EVENT: Scuzzback Scrapper Play <Scuzzback Scrapper~1000020>. ) = 0
56. ExecuteFirstEventAction = 0
57. TapAction (Forest) = -5
58. ExecuteFirstEventAction = 0
59. RemoveCardAction (Scuzzback Scrapper) = -330
60. PutItemOnStackAction (MagicCardOnStack,Scuzzback Scrapper) = -1
61. AddEventAction (EVENT: Scuzzback Scrapper  ) = 0
62. ExecuteFirstEventAction = 0
63. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
64. ExecuteFirstEventAction = 0
65. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
66. ExecuteFirstEventAction = 0
67. StackResolveAction = 0
68. PlayCardFromStackAction (Scuzzback Scrapper) = 854
69. ChangeStateAction = 0
70. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
71. ExecuteFirstEventAction = 0
72. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
73. ExecuteFirstEventAction = 0
74. ReturnExiledAction = 0
75. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
76. ExecuteFirstEventAction = 0
77. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
78. ExecuteFirstEventAction = 0
79. CleanupTurnTriggersAction = 0
80. CleanupPlayerAction = 0
81. CleanupPermanentAction = 0
82. CleanupPermanentAction = 0
83. CleanupPlayerAction = 0
84. CleanupTurnStaticsAction = 0
85. DrawAction = -271
86. AddEventAction (EVENT: NONE  ...) = 0
87. ExecuteFirstEventAction = 0
88. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
89. ExecuteFirstEventAction = 0
90. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
91. ExecuteFirstEventAction = 0
92. AddEventAction (EVENT: NONE  Declare attackers.) = 0
93. ExecuteFirstEventAction = 0
94. DeclareAttackersAction = 0
95. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
96. ExecuteFirstEventAction = 0
97. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
98. ExecuteFirstEventAction = 0
99. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
100. ExecuteFirstEventAction = 0
101. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
102. ExecuteFirstEventAction = 0
103. ReturnExiledAction = 0
104. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
105. ExecuteFirstEventAction = 0
106. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
107. ExecuteFirstEventAction = 0
108. AddEventAction (EVENT: NONE MCTS discards a card$. Choose a card from your hand.) = 0
109. CleanupTurnTriggersAction = 0
110. CleanupPlayerAction = 0
111. CleanupPermanentAction = 0
112. CleanupPermanentAction = 0
113. CleanupPlayerAction = 0
114. CleanupTurnStaticsAction = 0
Score = 881

Exception from controller.runGame: null
java.lang.NullPointerException
    at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
    at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
    at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
    at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
    at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
    at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
    at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
    at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:86)
    at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:103)
    at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:443)
    at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
    at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
    at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
    at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)

@itandetnik
Copy link
Author

And another crash, this time with 1.75

CRASH REPORT FOR MAGARENA THREAD Thread[pool-53-thread-4,5,main]
CREATED ON 2016/08/11 10:37:38
MAGARENA VERSION 1.75, JRE 1.8.0_31, OS Windows 7_6.1 x86
================================
Used Memory: 143M
Free Memory: 117M
Total Memory: 261M
Max Memory: 494M
================================
-Xms256m
-Xmx512m
-Xverify:none


Turn : 1  Phase : FirstMain  Step : ActivePlayer  Player : Computer  AI : monte carlo tree search (cheat)  Score : -405
0] Player : Igor  Life : 20  Delayed : Total=0
   - Hand : Plains
   - Hand : Luminarch Ascension
   - Hand : Luminarch Ascension
   - Hand : Spirit Link
   - Hand : Battlegrace Angel
   - Hand : Plains
   - Library : Ethereal Haze
   - Library : Plains
   - Library : Ethereal Haze
   - Library : Pacifism
   - Library : Magus of the Moat
   - Library : Plains
   - Library : Plains
1] Player : Computer  Life : 20  Delayed : Total=0
   - Hand : Bitterblossom
   - Hand : Fume Spitter
   - Hand : Blackcleave Cliffs
   - Hand : Fume Spitter
   - Hand : Swamp
   - Hand : Swamp
   - Hand : Terminate
   - Library : Lightning Bolt
   - Library : Blood Crypt
   - Library : Terminate
   - Library : Bitterblossom
   - Library : Swamp
   - Library : Lightning Bolt
   - Library : Lightning Bolt
Stack : 0
1. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ShuffleCardsIntoLibraryAction = 0
5. ShiftCardAction = 0
6. RemoveCardAction (Magus of the Moat) = -371
7. MoveCardAction (Magus of the Moat,OwnersHand,TopOfOwnersLibrary) = 0
8. ShiftCardAction = 0
9. RemoveCardAction (Gideon's Lawkeeper) = -409
10. MoveCardAction (Gideon's Lawkeeper,OwnersHand,TopOfOwnersLibrary) = 0
11. ShiftCardAction = 0
12. RemoveCardAction (Luminarch Ascension) = -461
13. MoveCardAction (Luminarch Ascension,OwnersHand,TopOfOwnersLibrary) = 0
14. ShiftCardAction = 0
15. RemoveCardAction (Battlegrace Angel) = -369
16. MoveCardAction (Battlegrace Angel,OwnersHand,TopOfOwnersLibrary) = 0
17. ShiftCardAction = 0
18. RemoveCardAction (Luminarch Ascension) = -461
19. MoveCardAction (Luminarch Ascension,OwnersHand,TopOfOwnersLibrary) = 0
20. ShiftCardAction = 0
21. RemoveCardAction (Plains) = -375
22. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
23. ShiftCardAction = 0
24. RemoveCardAction (Spirit Link) = -442
25. MoveCardAction (Spirit Link,OwnersHand,TopOfOwnersLibrary) = 0
26. ShuffleLibraryAction = 0
27. DrawAction = 2483
28. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
29. ExecuteFirstEventAction = 0
30. ExecuteFirstEventAction = 0
31. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
32. ExecuteFirstEventAction = 0
33. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
34. ExecuteFirstEventAction = 0
35. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
36. ExecuteFirstEventAction = 0
37. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
Score = -405

Exception from controller.runGame: null
java.lang.NullPointerException
    at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
    at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
    at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
    at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
    at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
    at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
    at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
    at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:97)
    at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:114)
    at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:443)
    at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
    at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
    at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
    at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

@melvinzhang
Copy link
Contributor

reported by Huggybaby on forum:

CRASH REPORT FOR MAGARENA THREAD Thread[pool-8-thread-3,5,main]
CREATED ON 2016/09/03 21:15:22
MAGARENA VERSION 1.76, JRE 1.8.0_101, OS Windows 10_10.0 x86
================================
Used Memory: 142M
Free Memory: 104M
Total Memory: 247M
Max Memory: 494M
================================
-Xms256m
-Xmx512m
-Xverify:none


Turn : 1  Phase : Untap  Step : Begin  Player : Monty Carlo  AI : monte carlo tree search  Score : -336
0] Player : YoNow  Life : 20  Delayed : Total=0
   - Hand : Akrasan Squire
   - Hand : Hero of Bladehold
   - Hand : Plains
   - Hand : Plains
   - Hand : Plains
   - Hand : Vulshok Morningstar
   - Library : Wall of Reverence
   - Library : Plains
   - Library : Plains
   - Library : Plains
   - Library : Promise of Bunrei
   - Library : Captain of the Watch
   - Library : Glorious Anthem
1] Player : Monty Carlo  Life : 20  Delayed : Total=0
   - Hand : Gatekeeper of Malakir
   - Hand : Swamp
   - Hand : Dark Favor
   - Hand : Drudge Skeletons
   - Hand : Swamp
   - Hand : Onyx Mage
   - Library : Grasp of Darkness
   - Library : Swamp
   - Library : Disentomb
   - Library : Deathmark
   - Library : Vampiric Link
   - Library : Swamp
   - Library : Cruel Edict
Stack : 0
1. AddEventAction (EVENT: NONE YoNow may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE Monty Carlo may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ShuffleCardsIntoLibraryAction = 0
5. ShiftCardAction = 0
6. RemoveCardAction (Chastise) = -561
7. MoveCardAction (Chastise,OwnersHand,TopOfOwnersLibrary) = 0
8. ShiftCardAction = 0
9. RemoveCardAction (Chastise) = -561
10. MoveCardAction (Chastise,OwnersHand,TopOfOwnersLibrary) = 0
11. ShiftCardAction = 0
12. RemoveCardAction (Glorious Anthem) = -460
13. MoveCardAction (Glorious Anthem,OwnersHand,TopOfOwnersLibrary) = 0
14. ShiftCardAction = 0
15. RemoveCardAction (Guardian Seraph) = -420
16. MoveCardAction (Guardian Seraph,OwnersHand,TopOfOwnersLibrary) = 0
17. ShiftCardAction = 0
18. RemoveCardAction (Hero of Bladehold) = -416
19. MoveCardAction (Hero of Bladehold,OwnersHand,TopOfOwnersLibrary) = 0
20. ShiftCardAction = 0
21. RemoveCardAction (Plains) = -375
22. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
23. ShiftCardAction = 0
24. RemoveCardAction (Plains) = -375
25. MoveCardAction (Plains,OwnersHand,TopOfOwnersLibrary) = 0
26. ShuffleLibraryAction = 0
27. DrawAction = 2238
28. AddEventAction (EVENT: NONE YoNow may$ take a mulligan. ) = 0
29. ExecuteFirstEventAction = 0
30. ShuffleCardsIntoLibraryAction = 0
31. ShiftCardAction = 0
32. RemoveCardAction (Swamp) = 375
33. MoveCardAction (Swamp,OwnersHand,TopOfOwnersLibrary) = 0
34. ShiftCardAction = 0
35. RemoveCardAction (Swamp) = 375
36. MoveCardAction (Swamp,OwnersHand,TopOfOwnersLibrary) = 0
37. ShiftCardAction = 0
38. RemoveCardAction (Black Knight) = 427
39. MoveCardAction (Black Knight,OwnersHand,TopOfOwnersLibrary) = 0
40. ShiftCardAction = 0
41. RemoveCardAction (Swamp) = 375
42. MoveCardAction (Swamp,OwnersHand,TopOfOwnersLibrary) = 0
43. ShiftCardAction = 0
44. RemoveCardAction (Disfigure) = 522
45. MoveCardAction (Disfigure,OwnersHand,TopOfOwnersLibrary) = 0
46. ShiftCardAction = 0
47. RemoveCardAction (Weakness) = 326
48. MoveCardAction (Weakness,OwnersHand,TopOfOwnersLibrary) = 0
49. ShiftCardAction = 0
50. RemoveCardAction (Swamp) = 375
51. MoveCardAction (Swamp,OwnersHand,TopOfOwnersLibrary) = 0
52. ShuffleLibraryAction = 0
53. DrawAction = -2181
54. AddEventAction (EVENT: NONE Monty Carlo may$ take a mulligan. ) = 0
55. ExecuteFirstEventAction = 0
56. ExecuteFirstEventAction = 0
57. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
58. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
59. ExecuteFirstEventAction = 0
Score = -336

Exception from controller.runGame: null
java.lang.NullPointerException
    at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
    at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
    at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
    at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
    at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
    at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
    at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
    at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
    at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:97)
    at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:114)
    at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:443)
    at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
    at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
    at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
    at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

@melvinzhang melvinzhang added the bug label Sep 4, 2016
@itandetnik
Copy link
Author

Got a crash with 1.79

CRASH REPORT FOR MAGARENA THREAD Thread[pool-7-thread-4,5,main]
CREATED ON 2016/12/11 08:40:24
MAGARENA VERSION 1.79, JRE 1.8.0_31, OS Windows 7_6.1 x86
================================
Used Memory: 154M
Free Memory: 93M
Total Memory: 247M
Max Memory: 494M
================================
-Xms256m
-Xmx512m
-Xverify:none


Turn : 1  Phase : FirstMain  Step : ActivePlayer  Player : Computer  AI : monte carlo tree search (cheat)  Score : -282
0] Player : Igor  Life : 20  Delayed : Total=0
   - Hand : Soul Warden
   - Hand : Plains
   - Hand : Gather the Townsfolk
   - Hand : Midnight Haunting
   - Hand : Martial Coup
   - Hand : Ajani's Pridemate
   - Library : Lotus Petal
   - Library : Lotus Petal
   - Library : Suture Priest
   - Library : Godless Shrine
   - Library : Godless Shrine
   - Library : Midnight Haunting
   - Library : Swords to Plowshares
1] Player : Computer  Life : 20  Delayed : Total=0
   - Hand : Bogardan Firefiend
   - Hand : Bloodrock Cyclops
   - Hand : Kamahl, Pit Fighter
   - Hand : Phyrexian Vault
   - Hand : Mountain
   - Hand : Mountain
   - Hand : Mountain
   - Library : Mountain
   - Library : Lightning Elemental
   - Library : Raging Goblin
   - Library : Mountain
   - Library : Mountain
   - Library : Mountain
   - Library : Incinerate
Stack : 0
1. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
2. AddEventAction (EVENT: NONE Computer may$ take a mulligan. ) = 0
3. ExecuteFirstEventAction = 0
4. ShuffleCardsIntoLibraryAction = 0
5. ShiftCardAction = 0
6. RemoveCardAction (Soul Warden) = -358
7. MoveCardAction (Soul Warden,OwnersHand,TopOfOwnersLibrary) = 0
8. ShiftCardAction = 0
9. RemoveCardAction (Suture Priest) = -358
10. MoveCardAction (Suture Priest,OwnersHand,TopOfOwnersLibrary) = 0
11. ShiftCardAction = 0
12. RemoveCardAction (Soul's Attendant) = -425
13. MoveCardAction (Soul's Attendant,OwnersHand,TopOfOwnersLibrary) = 0
14. ShiftCardAction = 0
15. RemoveCardAction (Soul's Attendant) = -425
16. MoveCardAction (Soul's Attendant,OwnersHand,TopOfOwnersLibrary) = 0
17. ShiftCardAction = 0
18. RemoveCardAction (Serra Ascendant) = -416
19. MoveCardAction (Serra Ascendant,OwnersHand,TopOfOwnersLibrary) = 0
20. ShiftCardAction = 0
21. RemoveCardAction (Honor of the Pure) = -395
22. MoveCardAction (Honor of the Pure,OwnersHand,TopOfOwnersLibrary) = 0
23. ShiftCardAction = 0
24. RemoveCardAction (Serra Ascendant) = -416
25. MoveCardAction (Serra Ascendant,OwnersHand,TopOfOwnersLibrary) = 0
26. ShuffleLibraryAction = 0
27. DrawAction = 2511
28. AddEventAction (EVENT: NONE Igor may$ take a mulligan. ) = 0
29. ExecuteFirstEventAction = 0
30. ExecuteFirstEventAction = 0
31. AddEventAction (EVENT: NONE  Move this card from the top of the library to the bottom?) = 0
32. ExecuteFirstEventAction = 0
33. ScryAction = 0
34. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
35. ExecuteFirstEventAction = 0
36. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
37. ExecuteFirstEventAction = 0
38. AddEventAction (EVENT: NONE  Play a card or ability.) = 0
Score = -282

Exception from controller.runGame: null
java.lang.NullPointerException
	at magic.model.event.MagicSourceManaActivation.canProduce(MagicSourceManaActivation.java:51)
	at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:62)
	at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:90)
	at magic.model.choice.MagicPayManaCostResultBuilder.build(MagicPayManaCostResultBuilder.java:127)
	at magic.model.choice.MagicPayManaCostResultBuilder.hasResults(MagicPayManaCostResultBuilder.java:157)
	at magic.model.condition.MagicManaCostCondition.accept(MagicManaCostCondition.java:28)
	at magic.model.event.MagicPayManaCostEvent.isSatisfied(MagicPayManaCostEvent.java:47)
	at magic.model.event.MagicActivation.canPlay(MagicActivation.java:108)
	at magic.model.event.MagicSourceActivation.canPlay(MagicSourceActivation.java:26)
	at magic.model.choice.MagicPlayChoice.addValidChoices(MagicPlayChoice.java:78)
	at magic.model.choice.MagicPlayChoice.getArtificialOptions(MagicPlayChoice.java:68)
	at magic.model.choice.MagicChoice.getArtificialChoiceResults(MagicChoice.java:97)
	at magic.model.choice.MagicChoice.getSimulationChoiceResult(MagicChoice.java:114)
	at magic.model.event.MagicEvent.getSimulationChoiceResult(MagicEvent.java:443)
	at magic.ai.MCTSAI.runSimulation(MCTSAI.java:483)
	at magic.ai.MCTSAI.randomPlay(MCTSAI.java:446)
	at magic.ai.MCTSAI.access$000(MCTSAI.java:65)
	at magic.ai.MCTSAI$2.run(MCTSAI.java:188)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

@lodici
Copy link
Member

lodici commented Jan 11, 2017

This seems very similar to #696 as it is based around MagicPayManaCostResultBuilder. @melvinzhang do you think your recent fix has covered this as well?

@melvinzhang
Copy link
Contributor

It is the same, the key is MagicManaCostCondition.java:28 which some lines ago calls cost.getBuilderCost() which could returns a partially constructed object. This is the stack trace with asserts disabled, which is the normal case for the launcher bundled with the zip.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants