Seite 1 von 1
Datenbankupdate - Internal Error
Verfasst: 15. Feb 2018, 08:11
von Offe
beim Update von meiner Testinstallation 3.1.2 auf 3.3.0-Beta1 erscheint während dem Aktualisieren der Datenbank "Error 500 - Internal Server Error". Im Errorlog von Apache ist folgender Eintrag vorhanden
Gruß Offe
Re: Datenbankupdate - Internal Error
Verfasst: 15. Feb 2018, 10:57
von XimeX
Hast du den Debug Modus an und mal in die Logs geschaut was so der letzte Logeintrag ist? 45 Sekunden kommt mir seltsam vor weil wir diesen Wert nirgends setzen. Eigentlich setzen wir für den Update Prozess 300 Sekunden (5min).
Re: Datenbankupdate - Internal Error
Verfasst: 15. Feb 2018, 21:31
von Offe
Mit aktiviertem Debug-Modus ist im Apache Errorlog folgende Meldung zu sehen:
[Thu Feb 15 20:17:52 2018] [warn] [client IP-Addresse] mod_fcgid: stderr: [2018-02-15 20:17:48.971160] Admidio.CRITICAL: PDOException: SQLSTATE[HY000]: General error: 1005 Can't create table 'tabellenname.#sql-76be_25e' (errno: 121) {"file":"/var/www/adm_program/system/classes/Database.php","line":738,"class":"Database","function":"queryPrepared"}, referer:
https://localhost/adm_program/installation/update.php
im Logfile von Admidio finden sich noch weitere Einträge
[2018-02-15 20:18:13.194969] Admidio.CRITICAL: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'idx_adm_mem_rol_usr_id'; check that column/key exists {"file":"/var/www/adm_program/system/classes/Database.php","line":738,"class":"Database","function":"queryPrepared"}
[2018-02-15 20:18:13.199994] Admidio.CRITICAL: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'ak_rol_usr_id'; check that column/key exists {"file":"/var/www/adm_program/system/classes/Database.php","line":738,"class":"Database","function":"queryPrepared"}
[2018-02-15 20:18:13.204675] Admidio.CRITICAL: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'idx_adm_msc_part_id'; check that column/key exists {"file":"/var/www/adm_program/system/classes/Database.php","line":738,"class":"Database","function":"queryPrepared"}
Ähnliches für idx_adm_session_id, idx_adm_prf_org_id_name, idx_adm_usf_name_intern, idx_adm_usd_usr_usf_id, idx_adm_usr_login_name
Das Statement davor heißt bespielweise
[2018-02-15 20:18:18.916050] Admidio.INFO: SQL: ALTER TABLE adm_preferences DROP INDEX idx_adm_prf_org_id_name, ADD INDEX adm_idx_prf_org_id_name (prf_org_id, prf_name) {"file":"/var/www/vhosts/adm_program/system/classes/Database.php","line":720,"class":"Database","function":"queryPrepared"}
Gruß Offe
Re: Datenbankupdate - Internal Error
Verfasst: 15. Feb 2018, 23:31
von XimeX
Kannst du mir die ganzen Logs vom Update schicken? Ruhig auch per PM
Re: Datenbankupdate - Internal Error
Verfasst: 16. Feb 2018, 00:07
von fasse
Die Index-Geschichten sind soweit ok. Hier versuchen wir einen Index zu löschen, der bei dir nicht existiert. Dieser Fehler wird dann beim Update auch ignoriert.
Interessant ist der 1. Fehler mit "Can't create table". Da wird wohl ein Index nicht angelegt.
Bricht das Update bei dir ab?
Re: Datenbankupdate - Internal Error
Verfasst: 16. Feb 2018, 08:30
von Offe
Ich habe das Logfile per Email an webmaster geschickt, da über PM leider keine Anhänge zu verschicken gehen. Ist dies so gewollt?
MIr ist gestern, als ich die Sache nochmal nachgestellt aufgefallen, dass während des Updates der gemeldete Error 500 mit den Fehlern im Logfile kommt, wenn man aber nun einen Refresh der Seite macht, erscheint die Meldung Update erfolgreich.
Leider ist das Update nicht so erfolgreich, denn gleich auf der Anmeldeseite wird man von einigen Fehlern begrüßt, die mit dem Menüaufbau zu tun haben. Man sieht auch nur die Eingabefelder von Benutzername und Passwort, alle Menüpunkte sind weg:
Code: Alles auswählen
Fatal error: Uncaught exception 'AdmException' with message 'BAC_FILE_NAME_INVALID' in /var/www/adm_program/system/string.php:301 Stack trace: #0 /var/www/adm_program/system/classes/Menu.php(68): admStrIsValidFileName('/icons/home.png', true) #1 /var/www/adm_program/system/classes/Menu.php(94): Menu->buildItem('overview', '/adm_program/in...', '\xC3\x9Cbersicht', '/icons/home.png', '') #2 /var/www/adm_themes/modern/my_body_bottom.php(22): Menu->addItem('overview', '/adm_program/in...', '\xC3\x9Cbersicht', '/icons/home.png') #3 /var/www/adm_program/system/classes/HtmlPage.php(402): require('/var/www/vhosts...') #4 /var/www/adm_program/system/classes/HtmlPage.php(530): HtmlPage->getFileContent('my_body_bottom....') #5 /var/www/adm_program/system/classes/HtmlPage. in /var/www/adm_program/system/string.php on line 301
Die Datei my_body_bottom.php habe ich entsprechend ausgetaucht, der Fehler besteht weiterhin. Wenn dieser Schritt aber auf Grund des Neubaus des Menüs so wichtig ist, sollte man dies auch in die Ankündigung schreiben, dass hier noch Anpassungen notwendig sind, gerade wenn man nicht das Standad-Theme nutzt.
Viele Grüße
Offe
Re: Datenbankupdate - Internal Error
Verfasst: 18. Feb 2018, 18:33
von fasse
Hallo Offe,
ich weiß nicht, ob du noch mit Ximex an dem Problem dran bist. Falls nicht, lade doch bitte mal die aktuelle 3.3er Version hier herunter:
https://github.com/Admidio/admidio/tree/v3.3
Damit dann bitte noch einmal das Update ausprobieren. Wir haben jetzt die Ausgabe im Log geändert. Wenn der Fehler in der Datenbank ok ist, wird jetzt kein kritischer Fehler mehr ausgegeben. Außerdem wurde die Laufzeit des Scripts jetzt besser gesetzt.
Mit der neuen Logdatei sollte es dann besser möglich sein, den problematischen Schritt zu finden.
Bitte die Logdatei vor dem Update löschen, dann Update durchführen und direkt danach die Logdatei per Email schicken.
Viele Grüße
Fasse
Re: Datenbankupdate - Internal Error
Verfasst: 18. Feb 2018, 19:46
von Offe
Hallo fasse,
ich habe dir soeben das Logfile per Mail geschickt. Bitte bei Bedarf auch an Ximex weiterleiten, .ich habe seit meinem letzten Betrag keinen weiteren Kontakt zu ihm gehabt.
So wie ich das sehe ich der Fehler im Updateschritt 330:
Code: Alles auswählen
[2018-02-18 18:36:19.190203] Admidio.INFO: UPDATE: Execute update step Nr: 330 {"file":"/var/www/adm_program/system/classes/ComponentUpdate.php","line":183,"class":"ComponentUpdate","function":"executeStep"}
[2018-02-18 18:36:19.190419] Admidio.INFO: SQL: ALTER TABLE adm_roles DROP COLUMN rol_inventory {"file":"/var/www/adm_program/system/classes/Database.php","line":720,"class":"Database","function":"queryPrepared"}
[2018-02-18 18:36:19.190947] Admidio.CRITICAL: PDOException: SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'rol_inventory'; check that column/key exists {"file":"/var/www/adm_program/system/classes/Database.php","line":738,"class":"Database","function":"queryPrepared"}
[2018-02-18 18:36:19.191487] Admidio.CRITICAL: 00000: | {"file":"/var/www/adm_program/system/classes/Database.php","line":890,"class":"Database","function":"showError"}
Gruß Offe
Re: Datenbankupdate - Internal Error
Verfasst: 18. Feb 2018, 20:09
von fasse
Hallo Offe,
kannst du mal in der Datenbank der Version 3.1 nachschauen ob in der Tabelle adm_roles die Spalte rol_inventory vorhanden ist. Das scheint bei dir nicht der Fall zu sein. Bei unseren Datenbanken war diese immer da, so dass unsere Tests nie auf einen Fehler gelaufen sind.
Bitte prüfe bei dieser Gelegenheit auch, ob bei dir die Tabellen adm_invent_fields, adm_invent_data und adm_invent existieren, das sind nämlich die nächsten Schritte im Update.
Gruß Fasse
ps: ggf. kann dein Tabellenpräfix anders sein, dann fangen die Tabellen natürlich nciht mit adm an.
Re: Datenbankupdate - Internal Error
Verfasst: 19. Feb 2018, 00:38
von Offe
Hi fasse,
irgendwas ist beim Erzeugen der Testumgebung vorhin scheinbar schief gegangen. Die Tabellen und Spalten sind in der Datenbank vorhanden.
Habe nun mehrere Tests durchgeführt: Diese führten nun allle immer zum beschriebenen Fehler:
viewtopic.php?f=11&t=7735#p27359
Das dazugehörige Log habe ich vorhin nochmal zugesendet.
Gruß Offe
Re: Datenbankupdate - Internal Error
Verfasst: 19. Feb 2018, 01:22
von XimeX
Kannst du die Tests aber trotzdem nochmals mit der aktuellsten Version durchführen? Siehe den Link von Fasse. Und bitte das neue Logfile wieder schicken
Re: Datenbankupdate - Internal Error
Verfasst: 19. Feb 2018, 07:56
von Offe
Die letzten Tests habe ich jeweils mit der aktuellen Version durchgeführt. Das Logfile sollte nun auch bei dir angekommen sein.
Danke und Gruß
Offe
Re: Datenbankupdate - Internal Error
Verfasst: 25. Feb 2018, 13:14
von Offe
Ich konnte das Update nun durchführen, in dem ich zunächst von 3.2.12 auf 3.2.14 geupdatet habe, bevor ich das Update auf 3.3.0 gestartet habe.
Das Update werde bei den nächsten Versionen nochmals testen, ich hoffe mit dem Schritt auf 3.2.14 wird es nun weiterhin sauber laufen.
Gruß Offe
Re: Datenbankupdate - Internal Error
Verfasst: 25. Feb 2018, 14:02
von fasse
Hallo Offe,
ein Update von 3.2.12 auf 3.3 sollte dennoch direkt funktionieren, kannst du mir trotzdem ein Log zur Verfügung stellen, möchte das Problem gerne finden.
Viele Grüße
Fasse
Re: Datenbankupdate - Internal Error
Verfasst: 26. Feb 2018, 21:57
von Offe
Mit dem aktuellen Stand aus dem 3.3 Branch auf Github funktioniert nun auch das Update von 3.2.12 auf 3.3.0
Gruß Offe