magefree / magefree/mage

SERVER - game error

Open
#12,987 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
2.4k
Forks
940
Avg merge
2d 12h
Merged PRs (30d)
160

Description

Error type: SERVER - game error
Client version: 1.4.54-V3 (build: 2024-09-25 12:58)

Game error occurred:

java.lang.NullPointerException
Server version: 1.4.54-V3 (build: 2024-09-25 12:58)
Stack trace:
mage.abilities.TriggeredAbilities.lambda$processingEnd$2(TriggeredAbilities.java:163)
java.util.stream.ReferencePipeline$11$1.accept(ReferencePipeline.java:439)
java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1384)
java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:566)
mage.abilities.TriggeredAbilities.processingEnd(TriggeredAbilities.java:166)
mage.abilities.TriggeredAbilities.checkTriggers(TriggeredAbilities.java:117)
mage.game.GameState.handleEvent(GameState.java:1011)
mage.game.GameImpl.fireEvent(GameImpl.java:3437)
mage.players.PlayerImpl.moveCards(PlayerImpl.java:4949)
mage.players.PlayerImpl.moveCards(PlayerImpl.java:4827)
mage.game.GameImpl.leave(GameImpl.java:3331)
mage.game.GameImpl.checkConcede(GameImpl.java:872)
mage.game.GameImpl.checkConcede(GameImpl.java:861)
mage.player.human.HumanPlayer.waitForResponse(HumanPlayer.java:335)
mage.player.human.HumanPlayer.chooseTarget(HumanPlayer.java:978)
mage.target.common.TargetCardInLibrary.choose(TargetCardInLibrary.java:84)
mage.players.PlayerImpl.searchLibrary(PlayerImpl.java:2936)
mage.players.PlayerImpl.searchLibrary(PlayerImpl.java:2858)
mage.abilities.effects.common.search.SearchLibraryPutOnLibraryEffect.apply(SearchLibraryPutOnLibraryEffect.java:45)
mage.abilities.AbilityImpl.resolveMode(AbilityImpl.java:222)
mage.abilities.AbilityImpl.resolve(AbilityImpl.java:209)
mage.game.stack.Spell.resolve(Spell.java:311)
mage.game.GameImpl.resolve(GameImpl.java:1805)
mage.game.GameImpl.playPriority(GameImpl.java:1728)
mage.game.turn.Step.priority(Step.java:67)
mage.game.turn.Phase.playStep(Phase.java:205)
mage.game.turn.Phase.play(Phase.java:91)
mage.game.turn.Turn.play(Turn.java:137)
mage.game.GameImpl.playTurn(GameImpl.java:1152)
mage.game.GameImpl.play(GameImpl.java:1059)
mage.game.GameImpl.start(GameImpl.java:1035)
mage.server.game.GameWorker.call(GameWorker.java:35)
mage.server.game.GameWorker.call(GameWorker.java:16)
java.util.concurrent.FutureTask.run(FutureTask.java:266)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
java.lang.Thread.run(Thread.java:750)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with mage/abilities/TriggeredAbilities.java at lines 163, 166, and 117, then trace the event path through GameState and GameImpl shown in the stack trace. Reproduce the server game error with the reported versions if possible; done means the NullPointerException no longer occurs in this path and the failure is covered by a regression test.

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
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.