Game error on Fire Covenant usage (NullPointerException)
- Dominant language
- Java
- Stars
- 2.4k
- Forks
- 940
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 160
Description
Server error with cast [[Fire Covenant]] on stack:
```
java.lang.NullPointerException
at mage.player.human.HumanPlayer.playManaAbilities(HumanPlayer.java:1735)
at mage.player.human.HumanPlayer.playManaHandling(HumanPlayer.java:1591)
at mage.player.human.HumanPlayer.playMana(HumanPlayer.java:1564)
at mage.abilities.costs.mana.ManaCostsImpl.pay(ManaCostsImpl.java:139)
at mage.abilities.AbilityImpl.activate(AbilityImpl.java:389)
at mage.abilities.ActivatedAbilityImpl.activate(ActivatedAbilityImpl.java:212)
at mage.game.stack.Spell.activate(Spell.java:161)
at mage.players.PlayerImpl.cast(PlayerImpl.java:1233)
at mage.players.PlayerImpl.activateAbility(PlayerImpl.java:1551)
at mage.player.human.HumanPlayer.activateAbility(HumanPlayer.java:2330)
at mage.player.human.HumanPlayer.activateAbility(HumanPlayer.java:2351)
at mage.player.human.HumanPlayer.priority(HumanPlayer.java:1381)
at mage.game.GameImpl.playPriority(GameImpl.java:1638)
at mage.game.turn.Step.priority(Step.java:67)
at mage.game.turn.Phase.playStep(Phase.java:204)
at mage.game.turn.Phase.play(Phase.java:90)
at mage.game.turn.Turn.play(Turn.java:137)
at mage.game.GameImpl.playTurn(GameImpl.java:1112)
at mage.game.GameImpl.play(GameImpl.java:1019)
at mage.game.GameImpl.start(GameImpl.java:995)
at mage.server.game.GameWorker.call(GameWorker.java:34)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
```
It can be fixed by null protection code here, but it must be research first:
* Hows to repeat it;
* Why it's null here (ability with empty or wrong sourceId), can be related to errors with miss cards like #11081;

Contributor guide
No contributing guide indexed for this repository
Research direction
Reproduce the server error by casting Fire Covenant, then start at mage/player/human/HumanPlayer.java:1735 and trace the call through playManaHandling and ManaCostsImpl.java:139. Investigate why the ability or sourceId is null or invalid, including the possible relationship to issue #11081. Done means the reproduction and cause are documented and the appropriate regression coverage or fix scope is identified.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- game-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100