Could not execute statement 'UPDATE ...

  • Affected Version
    WoltLab Suite 5.3

    Hallo zusammen,


    wir haben eine Fehlermeldung im ACP Fehlerlog, weiß jemand, was die zu bedeuten hat?


    Requested URL
    POST /wsc/forum/index.php?ajax-proxy/&t=3202d576903f2baa5cde37654ae252eea407bf46
    Referrer
    https://seelenschreiberei.org/wsc/forum/
    Error Message
    Could not execute statement 'UPDATE wcf1_user user_table, wcf1_session session SET user_table.lastActivityTime = session.lastActivityTime WHERE user_table.userID = session.userID AND session.userID <> 0'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/database/statement/PreparedStatement.class.php (105)
    Stacktrace
    1. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/LastActivityCronjob.class.php (27): wcf\system\database\statement\PreparedStatement->execute(…)
    2. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/CronjobScheduler.class.php (271): wcf\system\cronjob\LastActivityCronjob->execute(…)
    3. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/CronjobScheduler.class.php (71): wcf\system\cronjob\CronjobScheduler->executeCronjob(…)
    4. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/data/cronjob/CronjobAction.class.php (232): wcf\system\cronjob\CronjobScheduler->executeCronjobs(…)
    5. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\cronjob\CronjobAction->executeCronjobs(…)
    6. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXProxyAction.class.php (75): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    7. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXInvokeAction.class.php (94): wcf\action\AJAXProxyAction->invoke(…)
    8. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AbstractAction.class.php (47): wcf\action\AJAXInvokeAction->execute(…)
    9. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXInvokeAction.class.php (61): wcf\action\AbstractAction->__run(…)
    10. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/request/Request.class.php (83): wcf\action\AJAXInvokeAction->__run(…)
    11. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    12. /www/htdocs/w018f428/seelenschreiberei.org/wsc/forum/index.php (9): wcf\system\request\RequestHandler->handle(…)
    Error Message
    SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
    Type
    PDOException
    File (Line)
    /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/database/statement/PreparedStatement.class.php (93)
    Stacktrace
    1. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    2. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/LastActivityCronjob.class.php (27): wcf\system\database\statement\PreparedStatement->execute(…)
    3. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/CronjobScheduler.class.php (271): wcf\system\cronjob\LastActivityCronjob->execute(…)
    4. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/cronjob/CronjobScheduler.class.php (71): wcf\system\cronjob\CronjobScheduler->executeCronjob(…)
    5. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/data/cronjob/CronjobAction.class.php (232): wcf\system\cronjob\CronjobScheduler->executeCronjobs(…)
    6. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/data/AbstractDatabaseObjectAction.class.php (204): wcf\data\cronjob\CronjobAction->executeCronjobs(…)
    7. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXProxyAction.class.php (75): wcf\data\AbstractDatabaseObjectAction->executeAction(…)
    8. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXInvokeAction.class.php (94): wcf\action\AJAXProxyAction->invoke(…)
    9. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AbstractAction.class.php (47): wcf\action\AJAXInvokeAction->execute(…)
    10. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/action/AJAXInvokeAction.class.php (61): wcf\action\AbstractAction->__run(…)
    11. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/request/Request.class.php (83): wcf\action\AJAXInvokeAction->__run(…)
    12. /www/htdocs/w018f428/seelenschreiberei.org/wsc/lib/system/request/RequestHandler.class.php (107): wcf\system\request\Request->execute(…)
    13. /www/htdocs/w018f428/seelenschreiberei.org/wsc/forum/index.php (9): wcf\system\request\RequestHandler->handle(…)
  • Danke Woodmen.


    Hallo,


    in solchen Fällen bitte, möglichst bald nach Auftreten des Fehlers das Ergebnis von SHOW ENGINE InnoDB STATUS ermitteln und sichern. Gerne dann im Rahmen eines TIckets bereitstellen. Generisch und „nachdem es passiert ist“ lassen sich derartige Deadlocks praktisch nicht analysieren.

    Wie funktioniert das denn genau?

    Kann mir das jemand erklären?

    Ist es jetzt schon zu spät dafür und was ist ein Deadlock?

  • Ist es jetzt schon zu spät dafür

    Ja. Das muss eigentlich relativ zeitnah zum Deadlock ausgeführt werden. Stunden später bringt einem die Ausgabe von SHOW ENGINE InnoDB STATUS; dann nichts mehr.

  • Das ist ja nahezu unmöglich, ich befinde mich ja nicht ständig im Fehlerlog.

    Bekomme vom Communitybot ne Konversation, aber die ist auch zeitversetzt.


    Wie funktioniert das mit der Ausgabe, weiß nicht mal, wo ich das genau finde :/

  • Also dann nur SHOW ENGINE InnoDB STATUS; eingeben und gucken, was er ausspuckt? Falls es nochmal vorkommt.

  • Okay, ich abonniere mir mal diesen Thread.

    Ich weiß nur nicht, wie ich das so schnell mitbekommen soll, wenn ein Deadlock Fehler kommt.

  • Grad wieder den Fehler gehabt, er hat mir nach dem Befehl folgendes ausgespuckt


    #1227 - Kein Zugriff. Hierfür wird die Berechtigung PROCESS benötigt

  • Die Deadlocks scheinen sich irgendwie zu häufen. Ich hatte sowas früher nie, in 5.2 fing es dann an, meine ich. Gestern gab es bei mir diesen Fehler:

    Requested URL
    GET /forum/index.php
    Referrer
    https://xxx/forum/
    Error Message
    Could not execute statement 'UPDATE wcf1_session SET sessionID = ? WHERE sessionID = ?'
    Type
    wcf\system\database\exception\DatabaseQueryExecutionException
    File (Line)
    /www/htdocs/xxx/forum/wcf/lib/system/database/statement/PreparedStatement.class.php (105)
    Query Parameter 1
    'eaa167a805c917c06dcc972494e38f0a5c04901f'
    Query Parameter 2
    '1c6aaea66a4ddde5041a8991365b021f72e743e8'
    Stacktrace
    1. /www/htdocs/xxx/forum/wcf/lib/data/DatabaseObjectEditor.class.php (69): wcf\system\database\statement\PreparedStatement->execute(…)
    2. /www/htdocs/xxx/forum/wcf/lib/data/acp/session/ACPSessionEditor.class.php (45): wcf\data\DatabaseObjectEditor->update(…)
    3. /www/htdocs/xxx/forum/wcf/lib/system/session/SessionHandler.class.php (285): wcf\data\acp\session\ACPSessionEditor->update(…)
    4. /www/htdocs/xxx/forum/wcf/lib/system/session/SessionHandler.class.php (254): wcf\system\session\SessionHandler->changeSessionID(…)
    5. /www/htdocs/xxx/forum/wcf/lib/system/session/ACPSessionFactory.class.php (74): wcf\system\session\SessionHandler->initSession(…)
    6. /www/htdocs/xxx/forum/wcf/lib/system/session/ACPSessionFactory.class.php (41): wcf\system\session\ACPSessionFactory->init(…)
    7. /www/htdocs/xxx/forum/wcf/lib/system/WCF.class.php (429): wcf\system\session\ACPSessionFactory->load(…)
    8. /www/htdocs/xxx/forum/wcf/lib/system/WCF.class.php (171): wcf\system\WCF->initSession(…)
    9. /www/htdocs/xxx/forum/wcf/global.php (13): wcf\system\WCF->__construct(…)
    10. /www/htdocs/xxx/forum/global.php (13): require_once(…)
    11. /www/htdocs/xxx/forum/index.php (8): require_once(…)
    Error Message
    SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction
    Type
    PDOException
    File (Line)
    /www/htdocs/xxx/forum/wcf/lib/system/database/statement/PreparedStatement.class.php (93)
    Stacktrace
    1. /www/htdocs/xxx/forum/wcf/lib/system/database/statement/PreparedStatement.class.php (93): PDOStatement->execute(…)
    2. /www/htdocs/xxx/forum/wcf/lib/data/DatabaseObjectEditor.class.php (69): wcf\system\database\statement\PreparedStatement->execute(…)
    3. /www/htdocs/xxx/forum/wcf/lib/data/acp/session/ACPSessionEditor.class.php (45): wcf\data\DatabaseObjectEditor->update(…)
    4. /www/htdocs/xxx/forum/wcf/lib/system/session/SessionHandler.class.php (285): wcf\data\acp\session\ACPSessionEditor->update(…)
    5. /www/htdocs/xxx/forum/wcf/lib/system/session/SessionHandler.class.php (254): wcf\system\session\SessionHandler->changeSessionID(…)
    6. /www/htdocs/xxx/forum/wcf/lib/system/session/ACPSessionFactory.class.php (74): wcf\system\session\SessionHandler->initSession(…)
    7. /www/htdocs/xxx/forum/wcf/lib/system/session/ACPSessionFactory.class.php (41): wcf\system\session\ACPSessionFactory->init(…)
    8. /www/htdocs/xxx/forum/wcf/lib/system/WCF.class.php (429): wcf\system\session\ACPSessionFactory->load(…)
    9. /www/htdocs/xxx/forum/wcf/lib/system/WCF.class.php (171): wcf\system\WCF->initSession(…)
    10. /www/htdocs/xxx/forum/wcf/global.php (13): wcf\system\WCF->__construct(…)
    11. /www/htdocs/xxx/forum/global.php (13): require_once(…)
    12. /www/htdocs/xxx/forum/index.php (8): require_once(…)

    Liebe Grüße
    Susi