Datenbankupdate - Internal Error

Topics from older beta tests.
Antworten
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Datenbankupdate - Internal Error

Beitrag 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
[Thu Feb 15 07:08:32 2018] [warn] [client IP-Adresse] mod_fcgid: read data timeout in 45 seconds, referer: http://localhost/adm_program/installation/update.php
[Thu Feb 15 07:08:32 2018] [error] [client IP-Adresse] Premature end of script headers: update.php, referer: http://localhost/adm_program/installation/update.php
Gruß Offe
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbankupdate - Internal Error

Beitrag 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).
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbankupdate - Internal Error

Beitrag von XimeX »

Kannst du mir die ganzen Logs vom Update schicken? Ruhig auch per PM
Benutzeravatar
fasse
Administrator
Beiträge: 6063
Registriert: 12. Nov 2005, 16:06

Re: Datenbankupdate - Internal Error

Beitrag 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?
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
Benutzeravatar
fasse
Administrator
Beiträge: 6063
Registriert: 12. Nov 2005, 16:06

Re: Datenbankupdate - Internal Error

Beitrag 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
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
Benutzeravatar
fasse
Administrator
Beiträge: 6063
Registriert: 12. Nov 2005, 16:06

Re: Datenbankupdate - Internal Error

Beitrag 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.
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
XimeX
Developer
Beiträge: 1148
Registriert: 12. Jul 2015, 13:21
Wohnort: Austria

Re: Datenbankupdate - Internal Error

Beitrag 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
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
Benutzeravatar
fasse
Administrator
Beiträge: 6063
Registriert: 12. Nov 2005, 16:06

Re: Datenbankupdate - Internal Error

Beitrag 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
Offe
Beiträge: 568
Registriert: 30. Aug 2007, 17:42

Re: Datenbankupdate - Internal Error

Beitrag 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
Antworten