magefree / magefree/mage

Game error on Fire Covenant usage (NullPointerException)

Open
#11,574 1 comment 0 reactions 0 assignees View on GitHub
bug
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;

![shot_231223_173322](https://github.com/magefree/mage/assets/8344157/25d58c71-4b5d-4096-a5a0-c808391791d0)

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.