PennyDreadfulMTG / perf-reports

2 stars 2 forks source link

500 error at /api/upload #42418

Closed vorpal-buildbot closed 5 years ago

vorpal-buildbot commented 5 years ago

(_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '654799928' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (654799928, 212910919, None, "\n[Time] 1544836329\n[12:12:10] PDBot has started watching.\n[12:12:10] Gibble joined the game.\n[12:12:10] spe3 joined the game.\n[League] 4c Counte ... (12067 characters truncated) ... d card, put that card onto the battlefield tapped, then shuffl...).\n[12:25:08] Gibble has conceded from the game.\nWinner: spe3\nGame 1 Completed.\n")] (Background on this error at: http://sqlalche.me/e/gkpj)

Reported on logsite by logged_out

            --------------------------------------------------------------------------------
            Request Method: POST
            Path: /api/upload?
            Cookies: {}
            Endpoint: upload
            View Args: {}
            Person: logged_out
            Referrer: None
            Request Data: {'match_id': '212910919', 'lines': "PennyDreadful\r\nPD League\r\nBuggedCardObserver, LeagueObserver, PennyDreadfulLegality\r\nspe3,Gibble\r\n\r\n== Game 1 (654799928) ==\r\n[Time] 1544836329\r\n[12:12:10] PDBot has started watching.\r\n[12:12:10] Gibble joined the game.\r\n[12:12:10] spe3 joined the game.\r\n[League] 4c Counter Ghazi (16) by spe3 (30133) vs Jeskai Control by gibble (30526)\r\n[12:12:13] [CHAT] PDBot: [sD] Good luck in your League match!\r\n[12:12:17] Gibble chooses to play first.\r\n[12:12:21] Gibble keeps this hand.\r\n[12:12:24] [CHAT] Gibble: hi g lhf\r\n[12:12:36] [CHAT] spe3: gl hf\r\n[12:12:39] spe3 mulligans to 6 cards.\r\n[12:12:42] spe3 keeps this hand.\r\n[12:12:44] spe3 puts 1 card on top of their library.\r\n[12:12:44] Turn 1: Gibble\r\n[12:12:44] Gibble skips their draw step.\r\n[12:12:45] Gibble plays [Mystic Monastery].\r\n[12:12:51] Turn 1: spe3\r\n[12:12:52] spe3 plays [Vivid Grove].\r\n[12:12:55] Turn 2: Gibble\r\n[12:12:57] Gibble plays [Thawing Glaciers].\r\n[12:13:00] Turn 2: spe3\r\n[12:13:02] spe3 plays [Island].\r\n[12:13:06] Turn 3: Gibble\r\n[12:13:08] Gibble plays [Plains].\r\n[12:13:12] Turn 3: spe3\r\n[12:13:14] spe3 plays [Encroaching Wastes].\r\n[12:13:17] spe3 casts [Trail of Evidence].\r\n[12:13:21] Gibble activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:13:29] Gibble puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:13:33] Turn 4: Gibble\r\n[12:13:37] Gibble casts [Banishing Light].\r\n[12:13:39] Gibble puts triggered ability from [Banishing Light] onto the stack targeting [Trail of Evidence] (When Banishing Light enters the battlefield, exile target nonland permanent an opponent controls u...).\r\n[12:13:42] Gibble plays [Thawing Glaciers].\r\n[12:13:46] Turn 4: spe3\r\n[12:13:47] spe3 plays [Opulent Palace].\r\n[12:13:51] Turn 5: Gibble\r\n[12:13:55] Gibble plays [Vivid Meadow].\r\n[12:13:59] Turn 5: spe3\r\n[12:14:00] spe3 plays [Vivid Marsh].\r\n[12:14:07] Gibble activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:14:21] spe3 casts [Sultai Charm] targeting [Banishing Light] (Destroy target artifact or enchantment.).\r\n[12:14:43] Gibble puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:14:45] Turn 6: Gibble\r\n[12:14:59] Gibble plays [Thawing Glaciers].\r\n[12:15:02] Turn 6: spe3\r\n[12:15:07] Turn 7: Gibble\r\n[12:15:16] Gibble plays [Evolving Wilds].\r\n[12:15:23] Gibble activates an ability of [Evolving Wilds] ( Search your library for a basic land card, put it onto the battlefield tapped, then shuffle your ...).\r\n[12:15:32] spe3 casts [Jace's Ingenuity].\r\n[12:15:32] spe3 puts triggered ability from [Trail of Evidence] onto the stack (Whenever you cast an instant or sorcery spell, investigate.).\r\n[12:15:39] Gibble casts [Scatter Arc] targeting [Jace's Ingenuity].\r\n[12:15:41] Gibble draws a card with [Scatter Arc].\r\n[12:15:44] spe3's [Trail of Evidence] creates a Clue token.\r\n[12:15:45] Turn 7: spe3\r\n[12:15:52] Gibble activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:15:56] Gibble puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:15:58] Turn 8: Gibble\r\n[12:16:15] Gibble plays [Thawing Glaciers].\r\n[12:16:21] spe3 activates an ability of [Clue] token ( Draw a card.).\r\n[12:16:22] spe3 draws a card with [Clue] token's ability.\r\n[12:16:29] Gibble discards [Plains].\r\n[12:16:29] Turn 8: spe3\r\n[12:16:31] spe3 plays [Vitu-Ghazi, the City-Tree].\r\n[12:16:39] Gibble casts [Warleader's Helix] targeting spe3.\r\n[12:16:42] Turn 9: Gibble\r\n[12:16:54] Gibble casts [Compulsive Research] targeting Gibble.\r\n[12:16:54] [CHAT] PDBot: [sU]Compulsive Research[sU] has an advantageous bug.\nDredging rather than drawing can let you avoid discarding\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 Compulsive Research` or `!notbugged Compulsive Research`\r\n[12:16:56] Gibble draws three cards with [Compulsive Research].\r\n[12:17:11] Gibble discards [Exile].\r\n[12:17:11] Gibble discards [Burning Oil].\r\n[12:17:19] Gibble plays [Mountain].\r\n[12:17:24] Gibble casts [Faith's Fetters] targeting [Vitu-Ghazi, the City-Tree].\r\n[12:17:31] spe3 casts [Void Shatter] targeting [Faith's Fetters].\r\n[12:17:31] spe3 puts triggered ability from [Trail of Evidence] onto the stack (Whenever you cast an instant or sorcery spell, investigate.).\r\n[12:17:33] spe3's [Trail of Evidence] creates a Clue token.\r\n[12:17:39] spe3 activates an ability of [Clue] token ( Draw a card.).\r\n[12:17:40] spe3 draws a card with [Clue] token's ability.\r\n[12:17:41] Turn 9: spe3\r\n[12:17:43] spe3 plays [Thawing Glaciers].\r\n[12:17:49] Gibble activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:17:52] Gibble puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:17:55] Turn 10: Gibble\r\n[12:17:59] Gibble plays [Urza's Factory].\r\n[12:18:09] spe3 activates an ability of [Encroaching Wastes] targeting [Urza's Factory] ( Destroy target nonbasic land.).\r\n[12:18:17] Gibble activates an ability of [Urza's Factory] ( Create a 2/2 colorless Assembly-Worker artifact creature token.).\r\n[12:18:17] Gibble's [Urza's Factory] creates an Assembly-Worker token.\r\n[12:18:20] Turn 10: spe3\r\n[12:18:25] spe3 casts [Elixir of Immortality].\r\n[12:18:28] spe3 plays [Vitu-Ghazi, the City-Tree].\r\n[12:18:31] spe3 casts [Wretched Banquet] targeting [Assembly-Worker] token.\r\n[12:18:31] spe3 puts triggered ability from [Trail of Evidence] onto the stack (Whenever you cast an instant or sorcery spell, investigate.).\r\n[12:18:34] spe3's [Trail of Evidence] creates a Clue token.\r\n[12:18:41] Turn 11: Gibble\r\n[12:18:44] Gibble plays [Vivid Meadow].\r\n[12:18:47] Gibble casts [Sphere of the Suns].\r\n[12:18:54] spe3 activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:19:02] spe3 activates an ability of [Clue] token ( Draw a card.).\r\n[12:19:03] spe3 draws a card with [Clue] token's ability.\r\n[12:19:05] spe3 puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:19:07] Turn 11: spe3\r\n[12:19:09] spe3 plays [Thawing Glaciers].\r\n[12:19:14] Turn 12: Gibble\r\n[12:19:16] Gibble plays [Thawing Glaciers].\r\n[12:19:25] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:19:26] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:19:29] spe3 activates an ability of [Elixir of Immortality] ( You gain 5 life. Shuffle Elixir of Immortality and your graveyard into their owner's library.).\r\n[12:19:32] Turn 12: spe3\r\n[12:19:35] spe3 plays [Choked Estuary].\r\n[12:19:40] Gibble is being attacked by [Saproling] token.\r\n[12:19:46] spe3 activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:19:52] spe3 puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:19:55] Turn 13: Gibble\r\n[12:20:07] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:20:08] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:20:09] Turn 13: spe3\r\n[12:20:13] spe3 plays [Encroaching Wastes].\r\n[12:20:17] Gibble is being attacked by [Saproling] token and [Saproling] token.\r\n[12:20:26] Gibble activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:20:30] Gibble puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:20:36] Turn 14: Gibble\r\n[12:20:41] Gibble casts [Radiant Flames] (with 3 colors).\r\n[12:20:53] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:20:54] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:20:55] Turn 14: spe3\r\n[12:20:58] spe3 plays [Opulent Palace].\r\n[12:21:03] Gibble is being attacked by [Saproling] token.\r\n[12:21:11] Gibble casts [Warleader's Helix] targeting spe3.\r\n[12:21:15] Turn 15: Gibble\r\n[12:21:20] Gibble plays [Encroaching Wastes].\r\n[12:21:29] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:21:30] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:21:32] Turn 15: spe3\r\n[12:21:34] spe3 plays [Thawing Glaciers].\r\n[12:21:38] Gibble is being attacked by [Saproling] token and [Saproling] token.\r\n[12:21:44] Turn 16: Gibble\r\n[12:22:01] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:22:02] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:22:04] Turn 16: spe3\r\n[12:22:06] spe3 plays [Opulent Palace].\r\n[12:22:10] Gibble is being attacked by [Saproling] token, [Saproling] token, and [Saproling] token.\r\n[12:22:19] Gibble activates an ability of [Encroaching Wastes] targeting [Vitu-Ghazi, the City-Tree] ( Destroy target nonbasic land.).\r\n[12:22:25] Turn 17: Gibble\r\n[12:22:28] Gibble plays [Stone Quarry].\r\n[12:22:36] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:22:37] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:22:39] spe3 activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:22:44] spe3 puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[12:22:47] Turn 17: spe3\r\n[12:22:49] spe3 plays [Thawing Glaciers].\r\n[12:22:52] Gibble is being attacked by [Saproling] token, [Saproling] token, [Saproling] token, and [Saproling] token.\r\n[12:23:00] spe3 discards [Wretched Banquet].\r\n[12:23:00] Turn 18: Gibble\r\n[12:23:05] Gibble casts [Radiant Flames] (with 3 colors).\r\n[12:23:15] spe3 activates an ability of [Vitu-Ghazi, the City-Tree] ( Create a 1/1 green Saproling creature token.).\r\n[12:23:16] spe3's [Vitu-Ghazi, the City-Tree] creates a Saproling token.\r\n[12:23:18] Turn 18: spe3\r\n[12:23:20] spe3 plays [Swamp].\r\n[12:23:24] Gibble is being attacked by [Saproling] token.\r\n[12:23:29] Gibble casts [Burning Oil] from the graveyard targeting [Saproling] token.\r\n[12:23:44] spe3 casts [Trail of Evidence].\r\n[12:23:58] Gibble casts [Scatter to the Winds] targeting [Trail of Evidence].\r\n[12:24:11] spe3 discards [Bile Blight].\r\n[12:24:11] spe3 discards [Moment of Craving].\r\n[12:24:11] spe3 casts [Forbid] with buyback targeting [Scatter to the Winds].\r\n[12:24:11] spe3 puts triggered ability from [Trail of Evidence] onto the stack (Whenever you cast an instant or sorcery spell, investigate.).\r\n[12:24:22] Gibble discards [Thawing Glaciers].\r\n[12:24:22] Gibble discards [Last Breath].\r\n[12:24:22] Gibble casts [Forbid] with buyback targeting [Forbid].\r\n[12:24:28] spe3 casts [Power Sink] targeting [Forbid]. (X is 1).\r\n[12:24:28] spe3 puts triggered ability from [Trail of Evidence] onto the stack (Whenever you cast an instant or sorcery spell, investigate.).\r\n[12:24:30] spe3's [Trail of Evidence] creates a Clue token.\r\n[12:25:06] spe3's [Trail of Evidence] creates a Clue token.\r\n[12:25:07] Turn 19: Gibble\r\n[12:25:07] Gibble plays [Vivid Meadow].\r\n[12:25:08] Gibble casts [Anticipate].\r\n[12:25:08] spe3 activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[12:25:08] Gibble has conceded from the game.\r\nWinner: spe3\r\nGame 1 Completed.\r\n", 'start_time_utc': '1544836329', 'end_time_utc': '1544837108'}
Host: logs.pennydreadfulmagic.com
Accept-Encoding: gzip
Cf-Ipcountry: XX
X-Forwarded-For: 35.205.164.196, 172.69.226.43
Cf-Ray: 48951ececf9ba845-CDG
X-Forwarded-Proto: https
Cf-Visitor: {"scheme":"https"}
Content-Type: application/x-www-form-urlencoded
Cf-Connecting-Ip: 35.205.164.196
X-Forwarded-Host: logs.pennydreadfulmagic.com
X-Forwarded-Server: logs.pennydreadfulmagic.com
Connection: Keep-Alive
Content-Length: 15858

IntegrityError (_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '654799928' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (654799928, 212910919, None, "\n[Time] 1544836329\n[12:12:10] PDBot has started watching.\n[12:12:10] Gibble joined the game.\n[12:12:10] spe3 joined the game.\n[League] 4c Counte ... (12067 characters truncated) ... d card, put that card onto the battlefield tapped, then shuffl...).\n[12:25:08] Gibble has conceded from the game.\nWinner: spe3\nGame 1 Completed.\n")] (Background on this error at: http://sqlalche.me/e/gkpj) Stack Trace:

  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./logsite/api.py", line 26, in upload
    importing.import_log(lines.split('\n'), match_id)
  File "./logsite/importing.py", line 65, in import_log
    game.insert_game(game_id, match_id, '\n'.join(game_lines))
  File "./logsite/data/game.py", line 28, in insert_game
    db.commit()
  File "./logsite/db.py", line 52, in commit
    return DB.session.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/scoping.py", line 153, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 954, in commit
    self.transaction.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 467, in commit
    self._prepare_impl()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
    self.session.flush()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2313, in flush
    self._flush(objects)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2440, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2404, in _flush
    flush_context.execute()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
    rec.execute(self)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 560, in execute
    uow
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 836, in _emit_insert_statements
    execute(statement, multiparams)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 255, in execute
    self.errorhandler(self, exc, value)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
    raise errorvalue
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 252, in execute
    res = self._query(query)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 378, in _query
    db.query(q)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 280, in query
    _mysql.connection.query(self, query)

Exception_hash: 7e9fbf249d4ef9ca89e57bc4dbb3469675c852b8

vorpal-buildbot commented 5 years ago

500 error at /api/upload

(_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '655212320' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (655212320, 213017255, None, "[Time] 1545098278\n[12:57:59] PDBot has started watching.\n[12:58:03] nerdyjoe keeps this hand.\n[12:58:06] lovetapsmtg keeps this hand.\n[12:58:06] ... (9235 characters truncated) ... oined the game.\n[13:12:35] lovetapsmtg has conceded from the game.\nWinner: nerdyjoe\nGame 2 Completed.\n[13:12:40] lovetapsmtg has left the game.\n")] (Background on this error at: http://sqlalche.me/e/gkpj)

Reported on logsite by logged_out

            --------------------------------------------------------------------------------
            Request Method: POST
            Path: /api/upload?
            Cookies: {}
            Endpoint: upload
            View Args: {}
            Person: logged_out
            Referrer: None
            Request Data: {'match_id': '213017255', 'lines': "PennyDreadful\r\nPDM R4 vs lovetapsmtg\r\nTourney, BuggedCardObserver, PennyDreadfulLegality\r\nnerdyjoe,lovetapsmtg\r\n\r\n== Game 1 (655211752) ==\r\n[Time] 1545097955\r\n[12:52:35] PDBot has started watching.\r\n[Gatherling] Event=Penny Dreadful Mondays 10.11\r\n[Gatherling] Round=4\r\n[12:52:42] nerdyjoe chooses to play first.\r\n[12:52:48] nerdyjoe mulligans to 6 cards.\r\n[12:53:11] lovetapsmtg keeps this hand.\r\n[12:53:15] nerdyjoe keeps this hand.\r\n[12:53:18] nerdyjoe puts 1 card on the bottom of their library.\r\n[12:53:18] Turn 1: nerdyjoe\r\n[12:53:25] nerdyjoe skips their draw step.\r\n[12:53:27] nerdyjoe plays [Forest].\r\n[12:53:30] Turn 1: lovetapsmtg\r\n[12:53:33] lovetapsmtg plays [Swamp].\r\n[12:53:38] lovetapsmtg casts [Vampire Cutthroat].\r\n[12:53:42] Turn 2: nerdyjoe\r\n[12:53:46] nerdyjoe plays [Swamp].\r\n[12:53:47] Turn 2: lovetapsmtg\r\n[12:53:49] lovetapsmtg plays [Swamp].\r\n[12:53:53] lovetapsmtg casts [Duty-Bound Dead].\r\n[12:53:59] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[12:53:59] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[12:54:09] Turn 3: nerdyjoe\r\n[12:54:11] nerdyjoe plays [Forest].\r\n[12:54:16] Turn 3: lovetapsmtg\r\n[12:54:18] lovetapsmtg plays [Swamp].\r\n[12:54:23] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[12:54:23] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[12:54:33] lovetapsmtg casts [Sanitarium Skeleton].\r\n[12:54:43] lovetapsmtg casts [Thornbow Archer].\r\n[12:54:48] Turn 4: nerdyjoe\r\n[12:54:55] Turn 4: lovetapsmtg\r\n[12:55:09] nerdyjoe is being attacked by [Thornbow Archer], [Sanitarium Skeleton], and [Vampire Cutthroat].\r\n[12:55:10] lovetapsmtg puts triggered ability from [Thornbow Archer] onto the stack (Whenever Thornbow Archer attacks, each opponent who doesn't control an Elf loses 1 life.).\r\n[12:55:19] lovetapsmtg plays [Swamp].\r\n[12:55:22] lovetapsmtg casts [Vicious Conquistador].\r\n[12:55:25] Turn 5: nerdyjoe\r\n[12:55:32] nerdyjoe casts [Elixir of Immortality].\r\n[12:55:37] nerdyjoe activates an ability of [Elixir of Immortality] ( You gain 5 life. Shuffle Elixir of Immortality and your graveyard into their owner's library.).\r\n[12:55:42] Turn 5: lovetapsmtg\r\n[12:55:49] lovetapsmtg casts [Pilfering Imp].\r\n[12:56:03] nerdyjoe is being attacked by [Vicious Conquistador], [Thornbow Archer], [Sanitarium Skeleton], [Duty-Bound Dead], and [Vampire Cutthroat].\r\n[12:56:06] lovetapsmtg puts triggered ability from [Vicious Conquistador] onto the stack (Whenever Vicious Conquistador attacks, each opponent loses 1 life.).\r\n[12:56:06] lovetapsmtg puts triggered ability from [Thornbow Archer] onto the stack (Whenever Thornbow Archer attacks, each opponent who doesn't control an Elf loses 1 life.).\r\n[12:56:19] Turn 6: nerdyjoe\r\n[12:56:34] nerdyjoe has conceded from the game.\r\nWinner: lovetapsmtg\r\nGame 1 Completed.\r\n== Game 2 (655212320) ==\r\n[Time] 1545098278\r\n[12:57:59] PDBot has started watching.\r\n[12:58:03] nerdyjoe keeps this hand.\r\n[12:58:06] lovetapsmtg keeps this hand.\r\n[12:58:06] Turn 1: nerdyjoe\r\n[12:58:07] nerdyjoe skips their draw step.\r\n[12:58:09] nerdyjoe plays [Opulent Palace].\r\n[12:58:13] Turn 1: lovetapsmtg\r\n[12:58:17] lovetapsmtg plays [Swamp].\r\n[12:58:29] lovetapsmtg casts [Vampire Cutthroat].\r\n[12:58:33] Turn 2: nerdyjoe\r\n[12:58:42] nerdyjoe plays [Choked Estuary].\r\n[12:58:45] Turn 2: lovetapsmtg\r\n[12:59:10] lovetapsmtg plays [Swamp].\r\n[12:59:17] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[12:59:24] lovetapsmtg casts [Pilfering Imp].\r\n[12:59:33] lovetapsmtg casts [Cry of Contrition] targeting nerdyjoe.\r\n[12:59:46] nerdyjoe discards [Island].\r\n[12:59:54] lovetapsmtg puts triggered ability from [Cry of Contrition] onto the stack targeting [Pilfering Imp] (When Cry of Contrition is put into a graveyard after resolving, exile it haunting target creature.).\r\n[13:00:00] nerdyjoe casts [Moment of Craving] targeting [Pilfering Imp].\r\n[13:00:07] lovetapsmtg's Triggered ability from Cry of Contrition is countered because it has no legal targets.\r\n[13:00:10] Turn 3: nerdyjoe\r\n[13:00:13] nerdyjoe plays [Thawing Glaciers].\r\n[13:00:15] Turn 3: lovetapsmtg\r\n[13:00:30] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[13:00:37] lovetapsmtg casts [Pilfering Imp].\r\n[13:00:42] lovetapsmtg casts [Cry of Contrition] targeting nerdyjoe.\r\n[13:00:47] nerdyjoe discards [Bile Blight].\r\n[13:00:53] lovetapsmtg puts triggered ability from [Cry of Contrition] onto the stack targeting [Pilfering Imp] (When Cry of Contrition is put into a graveyard after resolving, exile it haunting target creature.).\r\n[13:00:59] nerdyjoe casts [Moment of Craving] targeting [Pilfering Imp].\r\n[13:01:00] lovetapsmtg's Triggered ability from Cry of Contrition is countered because it has no legal targets.\r\n[13:01:02] Turn 4: nerdyjoe\r\n[13:01:07] nerdyjoe activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[13:01:21] nerdyjoe plays [Island].\r\n[13:01:28] nerdyjoe puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[13:01:31] Turn 4: lovetapsmtg\r\n[13:01:36] lovetapsmtg casts [Duty-Bound Dead].\r\n[13:01:42] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[13:01:42] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[13:01:56] lovetapsmtg casts [Cry of Contrition] targeting nerdyjoe.\r\n[13:02:01] nerdyjoe discards [Wretched Banquet].\r\n[13:02:09] lovetapsmtg puts triggered ability from [Cry of Contrition] onto the stack targeting [Duty-Bound Dead] (When Cry of Contrition is put into a graveyard after resolving, exile it haunting target creature.).\r\n[13:02:15] Turn 5: nerdyjoe\r\n[13:02:19] nerdyjoe plays [Thawing Glaciers].\r\n[13:02:21] Turn 5: lovetapsmtg\r\n[13:02:28] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[13:02:28] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[13:02:45] Turn 6: nerdyjoe\r\n[13:02:53] nerdyjoe plays [Choked Estuary].\r\n[13:02:57] nerdyjoe activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[13:03:07] nerdyjoe puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[13:03:10] Turn 6: lovetapsmtg\r\n[13:03:17] nerdyjoe is being attacked by [Vampire Cutthroat].\r\n[13:03:17] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[13:03:26] Turn 7: nerdyjoe\r\n[13:03:29] nerdyjoe plays [Thawing Glaciers].\r\n[13:03:35] nerdyjoe casts [Curse of Death's Hold] targeting lovetapsmtg.\r\n[13:03:48] Turn 7: lovetapsmtg\r\n[13:03:54] lovetapsmtg casts [Vicious Conquistador].\r\n[13:04:03] Turn 8: nerdyjoe\r\n[13:04:05] nerdyjoe activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[13:04:10] nerdyjoe plays [Forest].\r\n[13:04:18] nerdyjoe puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[13:04:21] Turn 8: lovetapsmtg\r\n[13:04:26] nerdyjoe is being attacked by [Vicious Conquistador].\r\n[13:04:28] lovetapsmtg puts triggered ability from [Vicious Conquistador] onto the stack (Whenever Vicious Conquistador attacks, each opponent loses 1 life.).\r\n[13:04:29] lovetapsmtg puts triggered ability from [Duty-Bound Dead] onto the stack (Exalted).\r\n[13:04:49] nerdyjoe casts [Sultai Charm] targeting [Vicious Conquistador] (Destroy target monocolored creature.).\r\n[13:04:56] lovetapsmtg casts [Supernatural Stamina] targeting [Vicious Conquistador].\r\n[13:05:02] lovetapsmtg puts triggered ability from [Vicious Conquistador] onto the stack (When this creature dies, return it to the battlefield tapped under its owner's control.).\r\n[13:05:08] Turn 9: nerdyjoe\r\n[13:05:13] nerdyjoe casts [Precognition Field].\r\n[13:05:36] nerdyjoe plays [Thawing Glaciers].\r\n[13:05:40] nerdyjoe casts [Wretched Banquet] targeting [Duty-Bound Dead].\r\n[13:05:50] lovetapsmtg puts triggered ability from [Cry of Contrition] onto the stack targeting nerdyjoe (When the creature Cry of Contrition haunts dies, target player discards a card.).\r\n[13:05:58] Turn 9: lovetapsmtg\r\n[13:06:21] nerdyjoe is being attacked by [Vicious Conquistador].\r\n[13:06:21] lovetapsmtg puts triggered ability from [Vicious Conquistador] onto the stack (Whenever Vicious Conquistador attacks, each opponent loses 1 life.).\r\n[13:06:30] lovetapsmtg casts [Thornbow Archer].\r\n[13:06:35] lovetapsmtg casts [Thornbow Archer].\r\n[13:06:43] nerdyjoe activates an ability of [Precognition Field] ( Exile the top card of your library.).\r\n[13:06:57] Turn 10: nerdyjoe\r\n[13:07:03] nerdyjoe casts [Sultai Charm] targeting [Vicious Conquistador] (Destroy target monocolored creature.).\r\n[13:07:17] nerdyjoe plays [Opulent Palace].\r\n[13:07:27] Turn 10: lovetapsmtg\r\n[13:07:29] nerdyjoe activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[13:07:46] nerdyjoe is being attacked by [Thornbow Archer] and [Thornbow Archer].\r\n[13:07:46] lovetapsmtg puts triggered ability from [Thornbow Archer] onto the stack (Whenever Thornbow Archer attacks, each opponent who doesn't control an Elf loses 1 life.).\r\n[13:07:46] lovetapsmtg puts triggered ability from [Thornbow Archer] onto the stack (Whenever Thornbow Archer attacks, each opponent who doesn't control an Elf loses 1 life.).\r\n[13:07:58] nerdyjoe puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[13:08:01] Turn 11: nerdyjoe\r\n[13:08:06] nerdyjoe casts [Consume the Meek].\r\n[13:08:17] nerdyjoe plays [Thawing Glaciers].\r\n[13:08:26] Turn 11: lovetapsmtg\r\n[13:08:31] lovetapsmtg casts [Watchers of the Dead].\r\n[13:08:36] Turn 12: nerdyjoe\r\n[13:08:42] nerdyjoe casts [Wretched Banquet] targeting [Watchers of the Dead].\r\n[13:08:48] nerdyjoe plays [Forest].\r\n[13:08:51] Turn 12: lovetapsmtg\r\n[13:08:58] lovetapsmtg casts [Gatekeeper of Malakir].\r\n[13:09:06] Turn 13: nerdyjoe\r\n[13:09:11] nerdyjoe casts [Wretched Banquet] targeting [Gatekeeper of Malakir].\r\n[13:09:15] nerdyjoe casts [Compulsive Research] targeting nerdyjoe.\r\n[13:09:15] nerdyjoe draws three cards with [Compulsive Research].\r\n[13:09:16] [CHAT] PDBot: [sU]Compulsive Research[sU] has an advantageous bug.\nDredging rather than drawing can let you avoid discarding\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 Compulsive Research` or `!notbugged Compulsive Research`\r\n[13:09:21] nerdyjoe discards [Choked Estuary].\r\n[13:09:26] nerdyjoe casts [Compulsive Research] targeting nerdyjoe.\r\n[13:09:26] nerdyjoe draws three cards with [Compulsive Research].\r\n[13:09:32] nerdyjoe discards [Island].\r\n[13:09:34] nerdyjoe casts [Scrabbling Claws].\r\n[13:09:37] Turn 13: lovetapsmtg\r\n[13:09:42] lovetapsmtg casts [Watchers of the Dead].\r\n[13:09:48] nerdyjoe casts [Void Shatter] targeting [Watchers of the Dead].\r\n[13:09:53] Turn 14: nerdyjoe\r\n[13:09:55] nerdyjoe activates an ability of [Thawing Glaciers] ( Search your library for a basic land card, put that card onto the battlefield tapped, then shuffl...).\r\n[13:10:02] nerdyjoe casts [Cremate] targeting [Watchers of the Dead].\r\n[13:10:03] nerdyjoe draws a card with [Cremate].\r\n[13:10:16] nerdyjoe casts [Anticipate].\r\n[13:10:23] nerdyjoe plays [Urza's Factory].\r\n[13:10:25] nerdyjoe casts [Elixir of Immortality].\r\n[13:10:28] nerdyjoe activates an ability of [Elixir of Immortality] ( You gain 5 life. Shuffle Elixir of Immortality and your graveyard into their owner's library.).\r\n[13:10:32] nerdyjoe puts triggered ability from [Thawing Glaciers] onto the stack (Return Thawing Glaciers to its owner's hand at the beginning of the next cleanup step.).\r\n[13:10:32] Turn 14: lovetapsmtg\r\n[13:11:05] lovetapsmtg has lost connection to the game.\r\n[13:11:35] lovetapsmtg joined the game.\r\n[13:12:35] lovetapsmtg has conceded from the game.\r\nWinner: nerdyjoe\r\nGame 2 Completed.\r\n[13:12:40] lovetapsmtg has left the game.\r\n", 'start_time_utc': '1545097955', 'end_time_utc': '1545099160'}
Host: logs.pennydreadfulmagic.com
Accept-Encoding: gzip
Cf-Ipcountry: XX
X-Forwarded-For: 35.205.164.196, 141.101.99.229
Cf-Ray: 48ae1c6f7aa4346a-LHR
X-Forwarded-Proto: https
Cf-Visitor: {"scheme":"https"}
Content-Type: application/x-www-form-urlencoded
Cf-Connecting-Ip: 35.205.164.196
X-Forwarded-Host: logs.pennydreadfulmagic.com
X-Forwarded-Server: logs.pennydreadfulmagic.com
Connection: Keep-Alive
Content-Length: 15535

IntegrityError (_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '655212320' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (655212320, 213017255, None, "[Time] 1545098278\n[12:57:59] PDBot has started watching.\n[12:58:03] nerdyjoe keeps this hand.\n[12:58:06] lovetapsmtg keeps this hand.\n[12:58:06] ... (9235 characters truncated) ... oined the game.\n[13:12:35] lovetapsmtg has conceded from the game.\nWinner: nerdyjoe\nGame 2 Completed.\n[13:12:40] lovetapsmtg has left the game.\n")] (Background on this error at: http://sqlalche.me/e/gkpj) Stack Trace:

  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./logsite/api.py", line 26, in upload
    importing.import_log(lines.split('\n'), match_id)
  File "./logsite/importing.py", line 65, in import_log
    game.insert_game(game_id, match_id, '\n'.join(game_lines))
  File "./logsite/data/game.py", line 28, in insert_game
    db.commit()
  File "./logsite/db.py", line 52, in commit
    return DB.session.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/scoping.py", line 153, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 954, in commit
    self.transaction.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 467, in commit
    self._prepare_impl()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
    self.session.flush()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2313, in flush
    self._flush(objects)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2440, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2404, in _flush
    flush_context.execute()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
    rec.execute(self)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 560, in execute
    uow
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 836, in _emit_insert_statements
    execute(statement, multiparams)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 255, in execute
    self.errorhandler(self, exc, value)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
    raise errorvalue
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 252, in execute
    res = self._query(query)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 378, in _query
    db.query(q)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 280, in query
    _mysql.connection.query(self, query)

Exception_hash: 7e9fbf249d4ef9ca89e57bc4dbb3469675c852b8

Labels: logsite; IntegrityError

vorpal-buildbot commented 5 years ago

500 error at /api/upload

(_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '655218564' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (655218564, 213018486, None, '[Time] 1545101636\n[13:53:57] PDBot has started watching.\n')] (Background on this error at: http://sqlalche.me/e/gkpj)

Reported on logsite by logged_out

            --------------------------------------------------------------------------------
            Request Method: POST
            Path: /api/upload?
            Cookies: {}
            Endpoint: upload
            View Args: {}
            Person: logged_out
            Referrer: None
            Request Data: {'match_id': '213018486', 'lines': 'PennyDreadful\r\nPDM TOP4 vs mynameiseg\r\nTourney, BuggedCardObserver, PennyDreadfulLegality\r\nRhispin,mynameiseg\r\n\r\n== Game 1 (655216500) ==\r\n[Time] 1545100522\r\n[13:35:23] PDBot has started watching.\r\n[Gatherling] Event=Penny Dreadful Mondays 10.11\r\n[Gatherling] Round=5\r\nWinner: mynameiseg\r\nGame 1 Completed.\r\n== Game 2 (655217492) ==\r\n[Time] 1545101064\r\n[13:44:24] PDBot has started watching.\r\nWinner: Rhispin\r\nGame 2 Completed.\r\n== Game 3 (655218564) ==\r\n[Time] 1545101636\r\n[13:53:57] PDBot has started watching.\r\n', 'start_time_utc': '1545100522', 'end_time_utc': '1545101637'}
Host: logs.pennydreadfulmagic.com
Accept-Encoding: gzip
Cf-Ipcountry: XX
X-Forwarded-For: 35.205.164.196, 141.101.107.134
Cf-Ray: 48ae582c5e7f35b4-LHR
X-Forwarded-Proto: https
Cf-Visitor: {"scheme":"https"}
Content-Type: application/x-www-form-urlencoded
Cf-Connecting-Ip: 35.205.164.196
X-Forwarded-Host: logs.pennydreadfulmagic.com
X-Forwarded-Server: logs.pennydreadfulmagic.com
Connection: Keep-Alive
Content-Length: 806

IntegrityError (_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '655218564' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (655218564, 213018486, None, '[Time] 1545101636\n[13:53:57] PDBot has started watching.\n')] (Background on this error at: http://sqlalche.me/e/gkpj) Stack Trace:

  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./logsite/api.py", line 26, in upload
    importing.import_log(lines.split('\n'), match_id)
  File "./logsite/importing.py", line 65, in import_log
    game.insert_game(game_id, match_id, '\n'.join(game_lines))
  File "./logsite/data/game.py", line 28, in insert_game
    db.commit()
  File "./logsite/db.py", line 52, in commit
    return DB.session.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/scoping.py", line 153, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 954, in commit
    self.transaction.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 467, in commit
    self._prepare_impl()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
    self.session.flush()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2313, in flush
    self._flush(objects)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2440, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2404, in _flush
    flush_context.execute()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
    rec.execute(self)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 560, in execute
    uow
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 836, in _emit_insert_statements
    execute(statement, multiparams)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 255, in execute
    self.errorhandler(self, exc, value)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
    raise errorvalue
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 252, in execute
    res = self._query(query)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 378, in _query
    db.query(q)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 280, in query
    _mysql.connection.query(self, query)

Exception_hash: 7e9fbf249d4ef9ca89e57bc4dbb3469675c852b8

Labels: logsite; IntegrityError

vorpal-buildbot commented 5 years ago

500 error at /api/upload

(_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '659374514' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (659374514, 214051177, None, "[Time] 1547515534\n[12:25:34] PDBot has started watching.\n[12:25:55] memlin chooses to play first.\n[12:25:55] memlin keeps this hand.\n[12:25:55] k ... (2853 characters truncated) ... cards with [Treasure Cruise].\n[12:31:13] memlin has conceded from the game.\nWinner: killa_0909\nGame 2 Completed.\nMatch Winner: killa_0909: 2–0\n")] (Background on this error at: http://sqlalche.me/e/gkpj)

Reported on logsite by logged_out

            --------------------------------------------------------------------------------
            Request Method: POST
            Path: /api/upload?
            Cookies: {}
            Endpoint: upload
            View Args: {}
            Person: logged_out
            Referrer: None
            Request Data: {'match_id': '214051177', 'lines': "PennyDreadful\r\nPDM Round 3 vs killa_0909\r\nTourney, BuggedCardObserver, PennyDreadfulLegality\r\nmemlin,killa_0909\r\n\r\n== Game 1 (659373812) ==\r\n[Time] 1547515177\r\n[12:19:38] PDBot has started watching.\r\n[Gatherling] Event=Penny Dreadful Mondays 10.15\r\n[Gatherling] Round=3\r\n[12:19:46] memlin chooses to play first.\r\n[12:19:50] memlin mulligans to 6 cards.\r\n[12:19:55] killa_0909 keeps this hand.\r\n[12:19:57] memlin keeps this hand.\r\n[12:20:04] memlin puts 1 card on top of their library.\r\n[12:20:04] Turn 1: memlin\r\n[12:20:04] memlin skips their draw step.\r\n[12:20:08] memlin plays [Island].\r\n[12:20:09] Turn 1: killa_0909\r\n[12:20:11] killa_0909 plays [Plains].\r\n[12:20:17] Turn 2: memlin\r\n[12:20:18] memlin plays [Island].\r\n[12:20:21] Turn 2: killa_0909\r\n[12:20:25] killa_0909 plays [Plains].\r\n[12:20:29] killa_0909 casts [Servo Exhibition].\r\n[12:20:34] memlin casts [Anticipate].\r\n[12:20:44] killa_0909's [Servo Exhibition] creates two Servo tokens.\r\n[12:20:47] Turn 3: memlin\r\n[12:20:49] memlin plays [Island].\r\n[12:20:52] Turn 3: killa_0909\r\n[12:20:54] killa_0909 plays [Plains].\r\n[12:21:03] memlin is being attacked by [Servo] token and [Servo] token.\r\n[12:21:11] killa_0909 casts [Watchers of the Dead].\r\n[12:21:19] flac0 has started watching.\r\n[12:21:24] memlin casts [Power Sink] targeting [Watchers of the Dead]. (X is 2).\r\n[12:21:29] Turn 4: memlin\r\n[12:21:31] memlin plays [Island].\r\n[12:21:33] flac0 has stopped watching.\r\n[12:21:37] Turn 4: killa_0909\r\n[12:21:40] killa_0909 plays [Plains].\r\n[12:21:43] killa_0909 casts [Fleetwheel Cruiser].\r\n[12:21:44] [CHAT] PDBot: [sU]Fleetwheel Cruiser[sU] has a graphical bug.\nFleetwheel Cruiser does not correctly display changes in power and toughness with Tempered Steel.\r\n[12:21:54] killa_0909 puts triggered ability from [Fleetwheel Cruiser] onto the stack (When Fleetwheel Cruiser enters the battlefield, it becomes an artifact creature until end of turn.).\r\n[12:22:03] memlin casts [Perilous Voyage] targeting [Servo] token.\r\n[12:22:07] memlin returns [Servo] token to its owner's hand with [Perilous Voyage].\r\n[12:22:14] memlin puts 1 card on the bottom of their library and 1 card on top of their library.\r\n[12:22:29] memlin casts [Perilous Voyage] targeting [Fleetwheel Cruiser].\r\n[12:22:34] memlin returns [Fleetwheel Cruiser] to its owner's hand with [Perilous Voyage].\r\n[12:22:39] memlin is being attacked by [Servo] token.\r\n[12:22:46] Turn 5: memlin\r\n[12:22:48] memlin plays [Island].\r\n[12:22:54] memlin casts [Careful Consideration] (Enhanced) targeting memlin.\r\n[12:22:54] memlin draws four cards with [Careful Consideration].\r\n[12:22:54] [CHAT] PDBot: [sU]Careful Consideration[sU] has an unclassified bug.\nCopy spells that care about being cast during a main phase such as Careful Consideration sometimes do not confer the main phase bonus.\r\n[12:23:11] memlin discards [Power Sink].\r\n[12:23:11] memlin discards [Perilous Voyage].\r\n[12:23:16] Turn 5: killa_0909\r\n[12:23:24] killa_0909 plays [Plains].\r\n[12:23:27] killa_0909 casts [Fleetwheel Cruiser].\r\n[12:23:28] killa_0909 puts triggered ability from [Fleetwheel Cruiser] onto the stack (When Fleetwheel Cruiser enters the battlefield, it becomes an artifact creature until end of turn.).\r\n[12:23:38] memlin is being attacked by [Fleetwheel Cruiser] and [Servo] token.\r\n[12:23:45] killa_0909 casts [Court Homunculus].\r\n[12:23:49] Turn 6: memlin\r\n[12:23:51] memlin plays [Island].\r\n[12:24:04] memlin casts [Treasure Cruise].\r\n[12:24:04] memlin draws three cards with [Treasure Cruise].\r\n[12:24:24] memlin casts [Chromatic Lantern].\r\n[12:24:28] Turn 6: killa_0909\r\n[12:24:32] killa_0909 plays [Foundry of the Consuls].\r\n[12:24:41] killa_0909 casts [Fleetwheel Cruiser].\r\n[12:24:51] memlin casts [Anticipate].\r\n[12:24:59] memlin has conceded from the game.\r\nWinner: killa_0909\r\nGame 1 Completed.\r\n== Game 2 (659374514) ==\r\n[Time] 1547515534\r\n[12:25:34] PDBot has started watching.\r\n[12:25:55] memlin chooses to play first.\r\n[12:25:55] memlin keeps this hand.\r\n[12:25:55] killa_0909 keeps this hand.\r\n[12:25:55] Turn 1: memlin\r\n[12:25:55] memlin skips their draw step.\r\n[12:25:57] memlin plays [Island].\r\n[12:25:57] Turn 1: killa_0909\r\n[12:25:57] killa_0909 plays [Plains].\r\n[12:25:57] killa_0909 casts [Toolcraft Exemplar].\r\n[12:25:57] Turn 2: memlin\r\n[12:25:57] memlin plays [Island].\r\n[12:25:58] Turn 2: killa_0909\r\n[12:26:00] killa_0909 plays [Plains].\r\n[12:26:04] killa_0909 casts [Servo Exhibition].\r\n[12:26:13] memlin casts [Power Sink] targeting [Servo Exhibition]. (X is 1).\r\n[12:26:25] memlin is being attacked by [Toolcraft Exemplar].\r\n[12:26:30] Turn 3: memlin\r\n[12:26:33] memlin plays [Island].\r\n[12:26:38] Turn 3: killa_0909\r\n[12:26:41] killa_0909 plays [Plains].\r\n[12:26:49] killa_0909 casts [Spined Thopter].\r\n[12:26:55] killa_0909 casts [Court Homunculus].\r\n[12:26:57] killa_0909 puts triggered ability from [Toolcraft Exemplar] onto the stack (At the beginning of combat on your turn, if you control an artifact, Toolcraft Exemplar gets +2/+1...).\r\n[12:27:03] memlin casts [Perilous Voyage] targeting [Toolcraft Exemplar].\r\n[12:27:06] memlin returns [Toolcraft Exemplar] to its owner's hand with [Perilous Voyage].\r\n[12:27:13] memlin puts 1 card on the bottom of their library and 1 card on top of their library.\r\n[12:27:16] Turn 4: memlin\r\n[12:27:19] memlin plays [Island].\r\n[12:27:24] memlin casts [Chromatic Lantern].\r\n[12:27:26] Turn 4: killa_0909\r\n[12:27:28] killa_0909 plays [Plains].\r\n[12:27:34] memlin is being attacked by [Court Homunculus] and [Spined Thopter].\r\n[12:27:44] killa_0909 casts [Court Homunculus].\r\n[12:27:49] killa_0909 casts [Toolcraft Exemplar].\r\n[12:27:54] killa_0909 casts [Glint Hawk Idol].\r\n[12:28:01] memlin casts [Anticipate].\r\n[12:28:09] Turn 5: memlin\r\n[12:28:12] memlin plays [Island].\r\n[12:28:40] Turn 5: killa_0909\r\n[12:28:43] killa_0909 plays [Plains].\r\n[12:28:46] killa_0909 casts [Chief of the Foundry].\r\n[12:29:04] killa_0909 puts triggered ability from [Glint Hawk Idol] onto the stack (Whenever another artifact enters the battlefield under your control, you may have Glint Hawk Idol ...).\r\n[12:29:12] killa_0909 puts triggered ability from [Toolcraft Exemplar] onto the stack (At the beginning of combat on your turn, if you control an artifact, Toolcraft Exemplar gets +2/+1...).\r\n[12:29:26] memlin is being attacked by [Glint Hawk Idol], [Toolcraft Exemplar], [Court Homunculus], [Court Homunculus], and [Spined Thopter].\r\n[12:29:41] memlin casts [Vedalken Aethermage].\r\n[12:29:46] No legal targets to choose for [Vedalken Aethermage]'s triggered ability.\r\n[12:29:57] memlin discards [Vedalken Aethermage].\r\n[12:29:57] memlin cycles [Vedalken Aethermage].\r\n[12:30:05] memlin reveals [Realmwright].\r\n[12:30:17] [Vedalken Aethermage] blocks [Toolcraft Exemplar].\r\n[12:30:30] Turn 6: memlin\r\n[12:31:03] memlin casts [Treasure Cruise].\r\n[12:31:07] memlin draws three cards with [Treasure Cruise].\r\n[12:31:13] memlin has conceded from the game.\r\nWinner: killa_0909\r\nGame 2 Completed.\r\nMatch Winner: killa_0909: 2–0\r\n", 'start_time_utc': '1547515177', 'end_time_utc': '1547515873'}
Host: logs.pennydreadfulmagic.com
Accept-Encoding: gzip
Cf-Ipcountry: XX
X-Forwarded-For: 35.205.164.196, 108.162.229.222
Cf-Ray: 499496575957bd6a-CDG
X-Forwarded-Proto: https
Cf-Visitor: {"scheme":"https"}
Content-Type: application/x-www-form-urlencoded
Cf-Connecting-Ip: 35.205.164.196
Cdn-Loop: cloudflare
X-Forwarded-Host: logs.pennydreadfulmagic.com
X-Forwarded-Server: logs.pennydreadfulmagic.com
Connection: Keep-Alive
Content-Length: 9171

IntegrityError (_mysql_exceptions.IntegrityError) (1062, "Duplicate entry '659374514' for key 'PRIMARY'") [SQL: 'INSERT INTO game (id, match_id, winner_id, log) VALUES (%s, %s, %s, %s)'] [parameters: (659374514, 214051177, None, "[Time] 1547515534\n[12:25:34] PDBot has started watching.\n[12:25:55] memlin chooses to play first.\n[12:25:55] memlin keeps this hand.\n[12:25:55] k ... (2853 characters truncated) ... cards with [Treasure Cruise].\n[12:31:13] memlin has conceded from the game.\nWinner: killa_0909\nGame 2 Completed.\nMatch Winner: killa_0909: 2–0\n")] (Background on this error at: http://sqlalche.me/e/gkpj) Stack Trace:

  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2309, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2295, in wsgi_app
    response = self.handle_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/discord/.local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/discord/.local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./logsite/api.py", line 26, in upload
    importing.import_log(lines.split('\n'), match_id)
  File "./logsite/importing.py", line 65, in import_log
    game.insert_game(game_id, match_id, '\n'.join(game_lines))
  File "./logsite/data/game.py", line 28, in insert_game
    db.commit()
  File "./logsite/db.py", line 52, in commit
    return DB.session.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/scoping.py", line 153, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 954, in commit
    self.transaction.commit()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 467, in commit
    self._prepare_impl()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 447, in _prepare_impl
    self.session.flush()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2313, in flush
    self._flush(objects)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2440, in _flush
    transaction.rollback(_capture_exception=True)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 249, in reraise
    raise value
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/session.py", line 2404, in _flush
    flush_context.execute()
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 395, in execute
    rec.execute(self)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/unitofwork.py", line 560, in execute
    uow
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 181, in save_obj
    mapper, table, insert)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/orm/persistence.py", line 836, in _emit_insert_statements
    execute(statement, multiparams)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 948, in execute
    return meth(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/sql/elements.py", line 269, in _execute_on_connection
    return connection._execute_clauseelement(self, multiparams, params)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1060, in _execute_clauseelement
    compiled_sql, distilled_params
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1200, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1413, in _handle_dbapi_exception
    exc_info
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 265, in raise_from_cause
    reraise(type(exception), exception, tb=exc_tb, cause=cause)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 248, in reraise
    raise value.with_traceback(tb)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 1193, in _execute_context
    context)
  File "/home/discord/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 509, in do_execute
    cursor.execute(statement, parameters)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 255, in execute
    self.errorhandler(self, exc, value)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler
    raise errorvalue
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 252, in execute
    res = self._query(query)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/cursors.py", line 378, in _query
    db.query(q)
  File "/home/discord/.local/lib/python3.6/site-packages/MySQLdb/connections.py", line 280, in query
    _mysql.connection.query(self, query)

Exception_hash: 7e9fbf249d4ef9ca89e57bc4dbb3469675c852b8

Labels: logsite; IntegrityError