Update auf 5.4.4 brach nach 18% ab

  • Betroffene Version
    WoltLab Suite 5.4

    Bei meinen heutigen Update auf 5.4.4. brach das automatische Update bei 18 % ab und spukte diese Fehlermeldung (Spoiler) aus.

    Jetzt komme ich weder in ACP, noch kann ich mich im Forum registrieren. Wenn ich alle Cookies lösche erhalte ich zwar wieder die Startseite des Forums, will ich mich anmelden, erhalte ich die selbe Fehlermeldung.

    Ich bin mir sicher nichts falsch gemacht zu haben, bin genauso vorgegangen wie es im ACP beschrieben wurde. Habe nach Updates gesucht, gefunden und installiert.

    Was ist hier schief gelaufen?

    Fehlermeldung

    System Information

    • PHP Version:

      7.4.22

    • WoltLab Suite Core:

      5.4.4

    • Peak Memory Usage:

      6.646/368 MiB

    • Request URI:

      GET /

    • Referrer:

      https://xxxxx.de/

    • User Agent:

      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0


    Original Error

    • Error Type:

      PDOException

    • Error Message:

      SQLSTATE[42S22]: Column not found: 1054 Unknown column 'type' in 'field list'

    • Error Code:

      42S22

    • File:

      */lib/system/database/Database.class.php (328)

    • Template Context:

    • Stack Trace:

      • #0 */lib/system/database/Database.class.php (328):
      • PDO->prepare('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ? -- \'/\'')
      • #1 */lib/data/user/UserProfile.class.php (228):
      • wcf\system\database\Database->prepareStatement('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?')
      • #2 */lib/system/user/UserProfileHandler.class.php (46):
      • wcf\data\user\UserProfile->getIgnoredUsers()
      • #3 */forum/lib/data/thread/ViewableThread.class.php (416):
      • wcf\system\user\UserProfileHandler->__call('getIgnoredUsers', [ ])
      • #4 */forum/lib/system/page/handler/UnreadThreadListPageHandler.class.php (29):
      • wbb\data\thread\ViewableThread::getUnreadThreads()
      • #5 */lib/data/menu/item/MenuItem.class.php (143):
      • wbb\system\page\handler\UnreadThreadListPageHandler->isVisible(null)
      • #6 */lib/data/menu/item/MenuItemNodeTree.class.php (143):
      • wcf\data\menu\item\MenuItem->isVisible()
      • #7 */lib/data/menu/item/MenuItemNodeTree.class.php (155):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(12, wcf\data\menu\item\MenuItemNode)
      • #8 */lib/data/menu/item/MenuItemNodeTree.class.php (106):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(null, wcf\data\menu\item\MenuItemNode)
      • #9 */lib/data/menu/Menu.class.php (122):
      • wcf\data\menu\item\MenuItemNodeTree->__construct(1, wcf\data\menu\item\MenuItemList)
      • #10 */lib/data/menu/Menu.class.php (71):
      • wcf\data\menu\Menu->getMenuItemNodeTree()
      • #11 */lib/data/box/Box.class.php (332):
      • wcf\data\menu\Menu->hasContent()
      • #12 */lib/data/box/Box.class.php (311):
      • wcf\data\box\Box->hasContent()
      • #13 */templates/compiled/0_wcf_1_cms.php (770):
      • wcf\data\box\Box->render()
      • #14 */lib/system/template/TemplateEngine.class.php (346):
      • include('[error_during_sanitization]')
      • #15 */lib/page/AbstractPage.class.php (371):
      • wcf\system\template\TemplateEngine->display('cms', 'wcf')
      • #16 */lib/page/AbstractPage.class.php (122):
      • wcf\page\AbstractPage->show()
      • #17 */lib/system/request/Request.class.php (89):
      • wcf\page\AbstractPage->__run()
      • #18 */lib/system/request/RequestHandler.class.php (119):
      • wcf\system\request\Request->execute()
      • #19 */index.php (11):
      • wcf\system\request\RequestHandler->handle('wcf')

    Final Error

    • Error Type:

      wcf\system\database\exception\DatabaseQueryException

    • Error Message:

      Could not prepare statement 'SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?'

    • Error Code:

      42S22

    • File:

      */lib/system/database/Database.class.php (333)

    • Template Context:

    • Stack Trace:

      • #0 */lib/data/user/UserProfile.class.php (228):
      • wcf\system\database\Database->prepareStatement('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?')
      • #1 */lib/system/user/UserProfileHandler.class.php (46):
      • wcf\data\user\UserProfile->getIgnoredUsers()
      • #2 */forum/lib/data/thread/ViewableThread.class.php (416):
      • wcf\system\user\UserProfileHandler->__call('getIgnoredUsers', [ ])
      • #3 */forum/lib/system/page/handler/UnreadThreadListPageHandler.class.php (29):
      • wbb\data\thread\ViewableThread::getUnreadThreads()
      • #4 */lib/data/menu/item/MenuItem.class.php (143):
      • wbb\system\page\handler\UnreadThreadListPageHandler->isVisible(null)
      • #5 */lib/data/menu/item/MenuItemNodeTree.class.php (143):
      • wcf\data\menu\item\MenuItem->isVisible()
      • #6 */lib/data/menu/item/MenuItemNodeTree.class.php (155):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(12, wcf\data\menu\item\MenuItemNode)
      • #7 */lib/data/menu/item/MenuItemNodeTree.class.php (106):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(null, wcf\data\menu\item\MenuItemNode)
      • #8 */lib/data/menu/Menu.class.php (122):
      • wcf\data\menu\item\MenuItemNodeTree->__construct(1, wcf\data\menu\item\MenuItemList)
      • #9 */lib/data/menu/Menu.class.php (71):
      • wcf\data\menu\Menu->getMenuItemNodeTree()
      • #10 */lib/data/box/Box.class.php (332):
      • wcf\data\menu\Menu->hasContent()
      • #11 */lib/data/box/Box.class.php (311):
      • wcf\data\box\Box->hasContent()
      • #12 */templates/compiled/0_wcf_1_cms.php (770):
      • wcf\data\box\Box->render()
      • #13 */lib/system/template/TemplateEngine.class.php (346):
      • include('[error_during_sanitization]')
      • #14 */lib/page/AbstractPage.class.php (371):
      • wcf\system\template\TemplateEngine->display('cms', 'wcf')
      • #15 */lib/page/AbstractPage.class.php (122):
      • wcf\page\AbstractPage->show()
      • #16 */lib/system/request/Request.class.php (89):
      • wcf\page\AbstractPage->__run()
      • #17 */lib/system/request/RequestHandler.class.php (119):
      • wcf\system\request\Request->execute()
      • #18 */index.php (11):
      • wcf\system\request\RequestHandler->handle('wcf')

    LG


    Jailhouse

    Einmal editiert, zuletzt von Jailhouse (23. August 2021 um 02:42)

  • Das habe ich schon in der letzten Nacht ausprobiert und nichts geholfen. Auch das leeren der Datenbanktabellen wcf1_package_installation_queue und wcf1_package_update führte nicht zum Erfolg.

    Es wird wohl auf eine Neuinstallation hinauslaufen.

    LG


    Jailhouse

  • War das Forum während dem Versuch denn im Wartungsmodus bzw. bist du sicher, dass niemand auf das Frontend zugreifen konnte?

    Optimalerweise sperrst du die komplette Seite für alle außer deine eigene IP-Adresse.

  • War das Forum während dem Versuch denn im Wartungsmodus

    Ja und das zu100%

    Das mach ich schon seit Jahren. Updates mache ich immer nur Nachts, kündige das im Forum an und schalte das Forum in den Wartungsmodus.

    Ich habe sonst nie größere Probleme bei updaten gehabt.

    bist du sicher, dass niemand auf das Frontend zugreifen konnte?

    Wie soll ich mir da sicher sein ? Bin doch im Backend und sehe während des Updateverlauf auch nicht nach. Wieso auch?

    LG


    Jailhouse

  • Ich frage, weil die Fehlermeldung aus dem Frontend stammt und mit dem Upgrade primär erst mal nichts zu tun haben dürfte, außer, dass es sein kann, dass ein Aufruf dazwischen funkt und Datensätze verändert.

    Wie soll ich mir da sicher sein?

    Einfach alles per Webserver aussperren, dann kommt keine Anfrage zu PHP durch. Ähnlich macht es WoltLab hier bei größeren Upgrades auch - das ist dann die bekannte blaue Seite mit der Statusinfo.

    Welche Fehlermeldung bekommst du den derzeit angezeigt?

    Interessanter wären Upgrade-Log und die Fehlermeldung während dem Upgrade. :P

  • Wie soll ich mir da sicher sein ? Bin doch im Backend und sehe während des Updateverlauf auch nicht nach. Wieso auch?

    Wie bereits von Mysterycode genannt, sperrt man im Idealfall den Zugriff auf die Seite und kann daher auch nicht in der Unwissenheit verharren, ob jemand noch auf das Frontend zugegriffen hat oder nicht. Der Zugriff ist dann, logischerweise, nicht möglich.

  • Dann wurde das Backup unvollständig wiederhergestellt

    Also komme ich um eine Neuinstallation wohl nicht herum. Eine Datenbanksicherung vor dem Update habe ich ja gemacht.

    Einfach alles per Webserver aussperren, dann kommt keine Anfrage zu PHP durch.

    und wie sperre ich alles per Webserver aus?

    Sorry für die dämliche Frage, bin leider etwas übernächtig

    LG


    Jailhouse

  • Kommst du den in dein ACP, wenn du es manuell aufrufst, indem du an deine URL /acp/ anhängst?

    Nein, da erhalte ich auch eine Fehlermeldung, siehe Spoiler

    Spoiler anzeigen


    Was ist passiert?

    Leider ist es bei der Verarbeitung zu einem Fehler gekommen und die Ausführung wurde abgebrochen. Falls möglich, leiten Sie bitte den oben stehenden Fehlercode an den Administrator weiter.

    Administratoren können die vollständige Fehlermeldung mit Hilfe dieses Codes in der Administrationsoberfläche unter „Protokoll » Fehler“ einsehen. Zusätzlich wurden die Informationen in die Protokolldatei */log/2021-08-23.txt geschrieben und können beispielsweise mit Hilfe eines FTP-Programms abgerufen werden.

    Hinweis: Der Fehlercode wird zufällig generiert, erlaubt keinen Rückschluss auf die Ursache und ist daher für Dritte nutzlos.

    System Information


    Original Error

    • Error Type:

      PDOException

    • Error Message:

      SQLSTATE[42S22]: Column not found: 1054 Unknown column 'type' in 'field list'

    • Error Code:

      42S22

    • File:

      */lib/system/database/Database.class.php (328)

    • Template Context:

    • Stack Trace:

      • #0 */lib/system/database/Database.class.php (328):
      • PDO->prepare('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ? -- \'/acp/\'')
      • #1 */lib/data/user/UserProfile.class.php (228):
      • wcf\system\database\Database->prepareStatement('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?')
      • #2 */lib/system/user/UserProfileHandler.class.php (46):
      • wcf\data\user\UserProfile->getIgnoredUsers()
      • #3 */forum/lib/data/thread/ViewableThread.class.php (416):
      • wcf\system\user\UserProfileHandler->__call('getIgnoredUsers', [ ])
      • #4 */forum/lib/system/page/handler/UnreadThreadListPageHandler.class.php (29):
      • wbb\data\thread\ViewableThread::getUnreadThreads()
      • #5 */lib/data/menu/item/MenuItem.class.php (143):
      • wbb\system\page\handler\UnreadThreadListPageHandler->isVisible(null)
      • #6 */lib/data/menu/item/MenuItemNodeTree.class.php (143):
      • wcf\data\menu\item\MenuItem->isVisible()
      • #7 */lib/data/menu/item/MenuItemNodeTree.class.php (155):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(12, wcf\data\menu\item\MenuItemNode)
      • #8 */lib/data/menu/item/MenuItemNodeTree.class.php (106):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(null, wcf\data\menu\item\MenuItemNode)
      • #9 */lib/data/menu/Menu.class.php (122):
      • wcf\data\menu\item\MenuItemNodeTree->__construct(1, wcf\data\menu\item\MenuItemList)
      • #10 */lib/data/menu/Menu.class.php (61):
      • wcf\data\menu\Menu->getMenuItemNodeTree()
      • #11 */acp/templates/compiled/0_wcf_1_index.php (453):
      • wcf\data\menu\Menu->getMenuItemNodeList()
      • #12 */lib/system/template/TemplateEngine.class.php (346):
      • include('[error_during_sanitization]')
      • #13 */lib/page/AbstractPage.class.php (371):
      • wcf\system\template\TemplateEngine->display('index', 'wcf')
      • #14 */lib/acp/page/IndexPage.class.php (226):
      • wcf\page\AbstractPage->show()
      • #15 */lib/page/AbstractPage.class.php (122):
      • wcf\acp\page\IndexPage->show()
      • #16 */lib/system/request/Request.class.php (89):
      • wcf\page\AbstractPage->__run()
      • #17 */lib/system/request/RequestHandler.class.php (119):
      • wcf\system\request\Request->execute()
      • #18 */acp/index.php (11):
      • wcf\system\request\RequestHandler->handle('wcf', true)

    Final Error

    • Error Type:

      wcf\system\database\exception\DatabaseQueryException

    • Error Message:

      Could not prepare statement 'SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?'

    • Error Code:

      42S22

    • File:

      */lib/system/database/Database.class.php (333)

    • Template Context:

    • Stack Trace:

      • #0 */lib/data/user/UserProfile.class.php (228):
      • wcf\system\database\Database->prepareStatement('SELECT ignoreUserID, type FROM wcf1_user_ignore WHERE userID = ?')
      • #1 */lib/system/user/UserProfileHandler.class.php (46):
      • wcf\data\user\UserProfile->getIgnoredUsers()
      • #2 */forum/lib/data/thread/ViewableThread.class.php (416):
      • wcf\system\user\UserProfileHandler->__call('getIgnoredUsers', [ ])
      • #3 */forum/lib/system/page/handler/UnreadThreadListPageHandler.class.php (29):
      • wbb\data\thread\ViewableThread::getUnreadThreads()
      • #4 */lib/data/menu/item/MenuItem.class.php (143):
      • wbb\system\page\handler\UnreadThreadListPageHandler->isVisible(null)
      • #5 */lib/data/menu/item/MenuItemNodeTree.class.php (143):
      • wcf\data\menu\item\MenuItem->isVisible()
      • #6 */lib/data/menu/item/MenuItemNodeTree.class.php (155):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(12, wcf\data\menu\item\MenuItemNode)
      • #7 */lib/data/menu/item/MenuItemNodeTree.class.php (106):
      • wcf\data\menu\item\MenuItemNodeTree->generateNodeTree(null, wcf\data\menu\item\MenuItemNode)
      • #8 */lib/data/menu/Menu.class.php (122):
      • wcf\data\menu\item\MenuItemNodeTree->__construct(1, wcf\data\menu\item\MenuItemList)
      • #9 */lib/data/menu/Menu.class.php (61):
      • wcf\data\menu\Menu->getMenuItemNodeTree()
      • #10 */acp/templates/compiled/0_wcf_1_index.php (453):
      • wcf\data\menu\Menu->getMenuItemNodeList()
      • #11 */lib/system/template/TemplateEngine.class.php (346):
      • include('[error_during_sanitization]')
      • #12 */lib/page/AbstractPage.class.php (371):
      • wcf\system\template\TemplateEngine->display('index', 'wcf')
      • #13 */lib/acp/page/IndexPage.class.php (226):
      • wcf\page\AbstractPage->show()
      • #14 */lib/page/AbstractPage.class.php (122):
      • wcf\acp\page\IndexPage->show()
      • #15 */lib/system/request/Request.class.php (89):
      • wcf\page\AbstractPage->__run()
      • #16 */lib/system/request/RequestHandler.class.php (119):
      • wcf\system\request\Request->execute()
      • #17 */acp/index.php (11):
      • wcf\system\request\RequestHandler->handle('wcf', true)

    LG


    Jailhouse

    • Offizieller Beitrag

    Wenn keine passende Sicherung des Dateisystems existiert, dann kommst du um eine Neuinstallation mit Import nicht drum herum:

    Migration - WoltLab Suite Handbuch

    An dieser Stelle möchte ich auch auf unsere WoltLab Cloud verweisen. Dort kümmern wir uns um die korrekte Durchführung von Upgrades und stellen sicher, dass zuverlässig Datensicherungen erstellt werden. Wir können die defekte Installation mit dem Importer übernehmen. Melde dich gerne per Ticket oder E-Mail an woltlab@woltlab.com um Details zu klären.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!