Skip to content

500 error at /api/upload #70237

Open
Open
@vorpal-buildbot

Description

@vorpal-buildbot

(MySQLdb.OperationalError) (2006, 'Server has gone away')
[SQL: SELECT match.id AS match_id, match.format_id AS match_format_id, match.comment AS match_comment, match.start_time AS match_start_time, match.end_time AS match_end_time, match.has_unexpected_third_game AS match_has_unexpected_third_game, match.is_league AS match_is_league, match.is_tournament AS match_is_tournament
FROM match
WHERE match.id = %s]
[parameters: (274136734,)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

Reported on logsite by logged_out

OperationalError (MySQLdb.OperationalError) (2006, 'Server has gone away') [SQL: SELECT `match`.id AS match_id, `match`.format_id AS match_format_id, `match`.comment AS match_comment, `match`.start_time AS match_start_time, `match`.end_time AS match_end_time, `match`.has_unexpected_third_game AS match_has_unexpected_third_game, `match`.is_league AS match_is_league, `match`.is_tournament AS match_is_tournament FROM `match` WHERE `match`.id = %s] [parameters: (274136734,)] (Background on this error at: https://sqlalche.me/e/20/e3q8)

Stack Trace:


Python traceback

Traceback (most recent call last):
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1965, in _exec_single_context
    self.dialect.do_execute(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/default.py", line 921, in do_execute
    cursor.execute(statement, parameters)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
MySQLdb.OperationalError: (2006, 'Server has gone away')

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/penny/decksite/.venv/lib/python3.10/site-packages/flask/app.py", line 2190, in wsgi_app
    response = self.full_dispatch_request()
  File "/penny/decksite/.venv/lib/python3.10/site-packages/flask/app.py", line 1486, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/penny/decksite/.venv/lib/python3.10/site-packages/flask_restx/api.py", line 672, in error_router
    return original_handler(e)
  File "/penny/decksite/.venv/lib/python3.10/site-packages/flask/app.py", line 1484, in full_dispatch_request
    rv = self.dispatch_request()
  File "/penny/decksite/.venv/lib/python3.10/site-packages/flask/app.py", line 1469, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
  File "/penny/logsite/./logsite/api.py", line 63, in upload
    importing.import_log(lines.split('\n'), match_id)
  File "/penny/logsite/./logsite/importing.py", line 41, in import_log
    local = import_header(lines, match_id)
  File "/penny/logsite/./logsite/importing.py", line 82, in import_header
    local = match.get_match(match_id)
  File "/penny/logsite/./logsite/data/match.py", line 96, in get_match
    return Match.query.filter_by(id=match_id).one_or_none()
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/orm/query.py", line 2769, in one_or_none
    return self._iter().one_or_none()  # type: ignore
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/orm/query.py", line 2842, in _iter
    result: Union[ScalarResult[_T], Result[_T]] = self.session.execute(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 2262, in execute
    return self._execute_internal(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/orm/session.py", line 2144, in _execute_internal
    result: Result[Any] = compile_state_cls.orm_execute_statement(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/orm/context.py", line 293, in orm_execute_statement
    result = conn.execute(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1412, in execute
    return meth(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/sql/elements.py", line 515, in _execute_on_connection
    return connection._execute_clauseelement(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1635, in _execute_clauseelement
    ret = self._execute_context(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1844, in _execute_context
    return self._exec_single_context(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1984, in _exec_single_context
    self._handle_dbapi_exception(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 2339, in _handle_dbapi_exception
    raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/base.py", line 1965, in _exec_single_context
    self.dialect.do_execute(
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/sqlalchemy/engine/default.py", line 921, in do_execute
    cursor.execute(statement, parameters)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/cursors.py", line 179, in execute
    res = self._query(mogrified_query)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/cursors.py", line 330, in _query
    db.query(q)
  File "/penny/decksite/.venv/lib64/python3.10/site-packages/MySQLdb/connections.py", line 261, in query
    _mysql.connection.query(self, query)
sqlalchemy.exc.OperationalError: (MySQLdb.OperationalError) (2006, 'Server has gone away')
[SQL: SELECT `match`.id AS match_id, `match`.format_id AS match_format_id, `match`.comment AS match_comment, `match`.start_time AS match_start_time, `match`.end_time AS match_end_time, `match`.has_unexpected_third_game AS match_has_unexpected_third_game, `match`.is_league AS match_is_league, `match`.is_tournament AS match_is_tournament 
FROM `match` 
WHERE `match`.id = %s]
[parameters: (274136734,)]
(Background on this error at: https://sqlalche.me/e/20/e3q8)

500 error at /api/upload

Exception_hash: c60c6baaf3974a40514f8d40208804621a4df488

Request Data

Request Method: POST
Path: /api/upload?
Cookies: ImmutableMultiDict([])
Endpoint: upload
View Args: {}
Person: logged_out
Referrer: None
Request Data: {'match_id': '274136734', 'start_time_utc': '1733102871', 'end_time_utc': '1733104004', 'lines': "PennyDreadful\r\nPD League\r\nBuggedCardObserver, LeagueObserver, PennyDreadfulLegality\r\n_oneCurlyBoy,miss_input\r\n\r\n== Game 1 (899602214) ==\r\n[Time] 1733102871\r\n[03:27:52] PDBot has started watching.\r\n[03:27:52] _oneCurlyBoy joined the game.\r\n[League] High Tide by _onecurlyboy (255495) vs Golgari Delirium by miss_input (255541)\r\n[03:27:54] [CHAT] PDBot: [sD] Good luck in your League match!\r\n[03:27:57] _oneCurlyBoy chooses to play first.\r\n[03:27:59] _oneCurlyBoy mulligans to six cards.\r\n[03:28:05] miss_input begins the game with seven cards in hand.\r\n[03:28:06] _oneCurlyBoy mulligans to five cards.\r\n[03:28:13] _oneCurlyBoy puts two cards on the bottom of their library and begins the game with five cards in hand.\r\n[03:28:13] Turn 1: _oneCurlyBoy\r\n[03:28:13] _oneCurlyBoy skips their draw step.\r\n[03:28:15] _oneCurlyBoy plays [Island].\r\n[03:28:20] Turn 1: miss_input\r\n[03:28:29] miss_input plays [Murmuring Bosk].\r\n[03:28:33] miss_input casts [Birds of Paradise].\r\n[03:28:41] Turn 2: _oneCurlyBoy\r\n[03:28:43] _oneCurlyBoy plays [Island].\r\n[03:28:45] _oneCurlyBoy casts [Strategic Planning].\r\n[03:28:50] Turn 2: miss_input\r\n[03:29:00] miss_input plays [Necroblossom Snarl].\r\n[03:29:07] miss_input casts [Six].\r\n[03:29:14] Turn 3: _oneCurlyBoy\r\n[03:29:17] _oneCurlyBoy plays [Island].\r\n[03:29:19] _oneCurlyBoy casts [Pieces of the Puzzle].\r\n[03:29:19] _oneCurlyBoy reveals 5 cards with [Pieces of the Puzzle]: [Strategic Planning], [Strategic Planning], [Island], [Island], and [Island].\r\n[03:29:22] _oneCurlyBoy chooses Strategic Planning and Strategic Planning.\r\n[03:29:36] Turn 3: miss_input\r\n[03:29:39] miss_input plays [Llanowar Wastes].\r\n[03:29:44] miss_input casts [Stalactite Stalker].\r\n[03:29:52] _oneCurlyBoy is being attacked by [Six]\r\n[03:29:52] miss_input puts triggered ability from [Six] onto the stack (Whenever Six attacks, mill three cards. You may put a land card from among them into your hand.).\r\n[03:29:53] miss_input mills [Stalactite Stalker], [Drag to the Roots], and [Hymn to Tourach].\r\n[03:29:53] miss_input chooses  with Six's ability.\r\n[03:30:15] miss_input discards [Forest].\r\n[03:30:15] miss_input casts [Stalactite Stalker] from the graveyard.\r\n[03:30:22] miss_input casts [Stalactite Stalker].\r\n[03:30:33] miss_input casts [Wild Growth] targeting [Llanowar Wastes].\r\n[03:30:35] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:30:35] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:30:35] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:30:36] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:30:38] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:30:38] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:30:39] Turn 4: _oneCurlyBoy\r\n[03:30:42] _oneCurlyBoy plays _oneCurlyBoy.\r\n[03:30:44] _oneCurlyBoy casts miss_input.\r\n[03:30:51] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:30:53] _oneCurlyBoy reveals [High Tide] with [Peer Through Depths].\r\n[03:31:00] Turn 4: miss_input\r\n[03:31:08] _oneCurlyBoy is being attacked by [Stalactite Stalker], [Stalactite Stalker], [Stalactite Stalker], and [Six]\r\n[03:31:09] miss_input puts triggered ability from [Six] onto the stack (Whenever Six attacks, mill three cards. You may put a land card from among them into your hand.).\r\n[03:31:10] miss_input mills [Drag to the Roots], [Birds of Paradise], and [Forest].\r\n[03:31:14] miss_input chooses Forest with Six's ability.\r\n[03:31:26] miss_input plays [Necroblossom Snarl].\r\n[03:31:32] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:31:32] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:31:32] miss_input puts triggered ability from [Stalactite Stalker] onto the stack (At the beginning of your end step, if you descended this turn, put a +1/+1 counter on Stalactite S...).\r\n[03:31:33] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:31:34] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:31:35] miss_input puts a +1/+1 counter on [Stalactite Stalker].\r\n[03:31:36] Turn 5: _oneCurlyBoy\r\n[03:31:40] _oneCurlyBoy casts [High Tide].\r\n[03:31:46] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:31:50] _oneCurlyBoy reveals [High Tide] with [Peer Through Depths].\r\n[03:31:56] _oneCurlyBoy casts [High Tide].\r\n[03:32:00] _oneCurlyBoy casts [Turnabout] targeting _oneCurlyBoy.\r\n[03:32:02] _oneCurlyBoy chooses land for [Turnabout].\r\n[03:32:06] _oneCurlyBoy casts [Strategic Planning].\r\n[03:32:12] _oneCurlyBoy casts [High Tide].\r\n[03:32:23] _oneCurlyBoy casts [Commit] targeting [Stalactite Stalker].\r\n[03:32:23] miss_input puts [Stalactite Stalker] beneath the top 1 cards of their library.\r\n[03:32:34] _oneCurlyBoy casts [Memory] from the graveyard.\r\n[03:32:36] _oneCurlyBoy draws seven cards with [Memory].\r\n[03:32:36] miss_input draws seven cards with [Memory].\r\n[03:32:40] _oneCurlyBoy plays [Island].\r\n[03:32:54] _oneCurlyBoy casts [Mind's Desire].\r\n[03:32:55] _oneCurlyBoy puts triggered ability from [Mind's Desire] onto the stack (Storm (When you cast this spell, copy it for each spell that was cast before it this turn. You m...).\r\n[03:33:14] _oneCurlyBoy casts [Commit] targeting [Wild Growth].\r\n[03:33:15] miss_input puts [Wild Growth] beneath the top 1 cards of their library.\r\n[03:33:23] _oneCurlyBoy casts [Pieces of the Puzzle].\r\n[03:33:24] _oneCurlyBoy reveals 5 cards with [Pieces of the Puzzle]: [Peer Through Depths], [Island], [Pieces of the Puzzle], [Strategic Planning], and [Island].\r\n[03:33:29] _oneCurlyBoy chooses Pieces of the Puzzle and Peer Through Depths.\r\n[03:33:33] _oneCurlyBoy casts [Turnabout] targeting _oneCurlyBoy.\r\n[03:33:34] _oneCurlyBoy chooses land for [Turnabout].\r\n[03:33:41] _oneCurlyBoy casts [Turnabout] targeting _oneCurlyBoy.\r\n[03:33:43] _oneCurlyBoy chooses land for [Turnabout].\r\n[03:33:55] _oneCurlyBoy casts [Sapphire Medallion].\r\n[03:33:57] _oneCurlyBoy casts [High Tide].\r\n[03:34:02] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:34:05] _oneCurlyBoy reveals [Reality Spasm] with [Peer Through Depths].\r\n[03:34:11] _oneCurlyBoy casts [Pieces of the Puzzle].\r\n[03:34:11] _oneCurlyBoy reveals 5 cards with [Pieces of the Puzzle]: [Island], [Island], [Island], [Peer Through Depths], and [Peer Through Depths].\r\n[03:34:15] _oneCurlyBoy chooses Peer Through Depths and Peer Through Depths.\r\n[03:34:17] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:34:20] _oneCurlyBoy reveals [Mind's Desire] with [Peer Through Depths].\r\n[03:34:23] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:34:25] _oneCurlyBoy reveals [Turnabout] with [Peer Through Depths].\r\n[03:34:34] _oneCurlyBoy casts [Dig Through Time].\r\n[03:34:50] _oneCurlyBoy casts [Mind's Desire].\r\n[03:34:51] _oneCurlyBoy puts triggered ability from [Mind's Desire] onto the stack (Storm (When you cast this spell, copy it for each spell that was cast before it this turn. You m...).\r\n[03:35:30] _oneCurlyBoy casts [High Tide].\r\n[03:35:36] _oneCurlyBoy casts [High Tide].\r\n[03:35:42] _oneCurlyBoy casts [Turnabout] targeting _oneCurlyBoy.\r\n[03:35:44] _oneCurlyBoy chooses land for [Turnabout].\r\n[03:35:54] _oneCurlyBoy casts [Granted].\r\n[03:35:59] _oneCurlyBoy chooses Blue Sun's Zenith.\r\n[03:36:29] _oneCurlyBoy casts [Blue Sun's Zenith] targeting miss_input. (X is 59).\r\n[03:36:29] miss_input draws fifty-nine cards with [Blue Sun's Zenith].\r\n[03:36:34] _oneCurlyBoy wins the game.\r\nWinner: _oneCurlyBoy\r\nGame 1 Completed.\r\n== Game 2 (899603040) ==\r\n[Time] 1733103441\r\n[03:37:21] PDBot has started watching.\r\n[03:37:25] miss_input chooses to play first.\r\n[03:37:37] miss_input begins the game with seven cards in hand.\r\n[03:37:39] _oneCurlyBoy begins the game with seven cards in hand.\r\n[03:37:39] Turn 1: miss_input\r\n[03:37:39] miss_input skips their draw step.\r\n[03:37:42] miss_input plays [Murmuring Bosk].\r\n[03:37:46] Turn 1: _oneCurlyBoy\r\n[03:37:48] _oneCurlyBoy plays [Island].\r\n[03:37:52] Turn 2: miss_input\r\n[03:37:57] miss_input plays [Necroblossom Snarl].\r\n[03:38:03] miss_input casts [Agonizing Remorse] targeting _oneCurlyBoy.\r\n[03:38:11] _oneCurlyBoy reveals their hand to [Agonizing Remorse], containing [Dig Through Time], [Island], [Island], [Strategic Planning], [An Offer You Can't Refuse], [Peer Through Depths], and [Island].\r\n[03:38:25] Turn 2: _oneCurlyBoy\r\n[03:38:27] _oneCurlyBoy plays [Island].\r\n[03:38:29] _oneCurlyBoy casts [Strategic Planning].\r\n[03:38:40] Turn 3: miss_input\r\n[03:38:50] miss_input plays [Twilight Mire].\r\n[03:38:58] miss_input casts [Ripples of Undeath].\r\n[03:38:59] [CHAT] PDBot: [sU]Ripples of Undeath[sU] has an avoidable game breaking bug.\nPaying for ripples of undeath while wheel of sun and moon is in play locks the game.\r\nOur data about this bug is out of date.  Please let us know if this card is still bugged (or if it's been fixed).\r\nYou can do so by PM'ing this bot, or by typing `!stillbugged Ripples of Undeath` or `!notbugged Ripples of Undeath`\r\n[03:39:04] Turn 3: _oneCurlyBoy\r\n[03:39:06] _oneCurlyBoy plays [Island].\r\n[03:39:08] _oneCurlyBoy casts [Sapphire Medallion].\r\n[03:39:11] _oneCurlyBoy casts [Strategic Planning].\r\n[03:39:20] Turn 4: miss_input\r\n[03:39:21] miss_input puts triggered ability from [Ripples of Undeath] onto the stack (At the beginning of your first main phase, mill three cards. Then you may pay {1} and 3 life. If y...).\r\n[03:39:25] miss_input mills [Twilight Mire], [Smuggler's Copter], and [Souls of the Lost].\r\n[03:39:43] miss_input chooses Souls of the Lost with Ripples of Undeath's ability.\r\n[03:39:44] miss_input plays [Necroblossom Snarl].\r\n[03:40:01] miss_input discards [Forest].\r\n[03:40:01] miss_input casts [Souls of the Lost].\r\n[03:40:21] Turn 4: _oneCurlyBoy\r\n[03:40:25] _oneCurlyBoy plays [Island].\r\n[03:40:34] Turn 5: miss_input\r\n[03:40:35] miss_input puts triggered ability from [Ripples of Undeath] onto the stack (At the beginning of your first main phase, mill three cards. Then you may pay {1} and 3 life. If y...).\r\n[03:40:43] miss_input mills [Smuggler's Copter], [Argoth, Sanctum of Nature], and [Six].\r\n[03:40:54] miss_input plays [Llanowar Wastes].\r\n[03:41:03] miss_input casts [Hymn to Tourach] targeting _oneCurlyBoy.\r\n[03:41:07] _oneCurlyBoy casts [An Offer You Can't Refuse] targeting [Hymn to Tourach].\r\n[03:41:11] miss_input's [An Offer You Can't Refuse] creates two Treasure Tokens under miss_input's control.\r\n[03:41:23] _oneCurlyBoy is being attacked by [Souls of the Lost]\r\n[03:41:36] miss_input casts [Smuggler's Copter].\r\n[03:41:41] _oneCurlyBoy casts [Peer Through Depths].\r\n[03:41:45] _oneCurlyBoy reveals [High Tide] with [Peer Through Depths].\r\n[03:41:57] _oneCurlyBoy casts [Dig Through Time].\r\n[03:42:20] Turn 5: _oneCurlyBoy\r\n[03:42:23] _oneCurlyBoy plays [Island].\r\n[03:42:25] _oneCurlyBoy casts _oneCurlyBoy.\r\n[03:42:31] _oneCurlyBoy casts [High Tide].\r\n[03:42:37] _oneCurlyBoy casts [Palinchron].\r\n[03:42:38] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:42:50] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:42:57] _oneCurlyBoy casts [Palinchron].\r\n[03:42:58] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:43:09] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:43:13] _oneCurlyBoy casts [Palinchron].\r\n[03:43:14] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:43:27] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:43:37] _oneCurlyBoy casts [Palinchron].\r\n[03:43:38] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:43:50] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:43:54] _oneCurlyBoy casts [Palinchron].\r\n[03:43:54] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:44:06] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:44:11] _oneCurlyBoy casts [Palinchron].\r\n[03:44:11] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:44:23] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:44:30] _oneCurlyBoy casts [Palinchron].\r\n[03:44:31] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:44:38] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:44:44] _oneCurlyBoy casts [Palinchron].\r\n[03:44:44] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:44:53] _oneCurlyBoy activates an ability of [Palinchron] ( Return Palinchron to its owner's hand.).\r\n[03:44:59] _oneCurlyBoy casts [Palinchron].\r\n[03:45:00] _oneCurlyBoy puts triggered ability from [Palinchron] onto the stack (When Palinchron enters, untap up to seven lands.).\r\n[03:45:14] _oneCurlyBoy casts [Mind's Desire].\r\n[03:45:14] _oneCurlyBoy puts triggered ability from [Mind's Desire] onto the stack (Storm (When you cast this spell, copy it for each spell that was cast before it this turn. You m...).\r\n[03:45:48] _oneCurlyBoy casts [Cyclonic Rift] targeting [Smuggler's Copter].\r\n[03:45:49] _oneCurlyBoy returns [Smuggler's Copter] to its owner's hand with [Cyclonic Rift].\r\n[03:45:52] _oneCurlyBoy casts [Suspend] targeting [Souls of the Lost].\r\n[03:45:52] _oneCurlyBoy puts two time counters on [Souls of the Lost].\r\n[03:45:54] _oneCurlyBoy casts [Sapphire Medallion].\r\n[03:46:05] _oneCurlyBoy casts [Turnabout] targeting _oneCurlyBoy.\r\n[03:46:06] _oneCurlyBoy chooses land for [Turnabout].\r\n[03:46:10] _oneCurlyBoy casts [Pieces of the Puzzle].\r\n[03:46:10] _oneCurlyBoy reveals 5 cards with [Pieces of the Puzzle]: [Island], [Island], [Turnabout], [Island], and [Blue Sun's Zenith].\r\n[03:46:16] _oneCurlyBoy chooses Blue Sun's Zenith and Turnabout.\r\n[03:46:40] _oneCurlyBoy casts [Blue Sun's Zenith] targeting miss_input. (X is 50).\r\n[03:46:40] miss_input draws fifty cards with [Blue Sun's Zenith].\r\n[03:46:43] _oneCurlyBoy wins the game.\r\nWinner: _oneCurlyBoy\r\nGame 2 Completed.\r\nMatch Winner: _oneCurlyBoy: 2–0\r\n"}
Host: logs.pennydreadfulmagic.com
Cf-Ray: 953f3a5ba8f84277-SJC
X-Forwarded-For: 198.22.162.92, 172.69.134.232
Cf-Connecting-Ip: 198.22.162.92
Accept-Encoding: gzip, br
X-Forwarded-Proto: https
Content-Type: application/x-www-form-urlencoded
User-Agent: PennyDeadfulBot
Cf-Visitor: {"scheme":"https"}
Cdn-Loop: cloudflare; loops=1
Cf-Ipcountry: US
X-Forwarded-Host: logs.pennydreadfulmagic.com
X-Forwarded-Server: logs.pennydreadfulmagic.com
Content-Length: 19002
Connection: Keep-Alive

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions