Nach Update: "Einträge anzeigen" leer

Deutschsprachiges Forum für Diskussionen und Fragen zu MantisBT

Moderators: Developer, Contributor

wechti130167
Posts: 11
Joined: 07 Jul 2017, 08:27

Re: Nach Update: "Einträge anzeigen" leer

Post by wechti130167 »

Okay, habe jetzt ein komplett frisches Mantis installiert. Tadaaa, funktioniert!

Verwende ich nun jedoch die Datenbank vom alten Mantis (hab versucht einfach die andere DB zu verwenden, als auch die Daten in die Neue importieren), klappts wieder nicht mehr.
Es funktionieren nicht: Übersicht, Einträge anzeigen und Änderungsprotokoll.
Die dazugehörigen Fehlermeldungen sind:
Übersicht:

Code: Select all

Fatal error: Uncaught TypeError: Argument 1 passed to columns_remove_invalid() must be of the type array, null given, called in C:\xampp\htdocs\mantisbt\core\custom_function_api.php on line 309 and defined in C:\xampp\htdocs\mantisbt\core\columns_api.php:491 Stack trace: #0 C:\xampp\htdocs\mantisbt\core\custom_function_api.php(309): columns_remove_invalid(NULL, Array) #1 C:\xampp\htdocs\mantisbt\core\helper_api.php(469): custom_function_default_get_columns_to_view(1, NULL) #2 C:\xampp\htdocs\mantisbt\core\helper_api.php(504): helper_call_custom_function('get_columns_to_...', Array) #3 C:\xampp\htdocs\mantisbt\core\filter_api.php(3417): helper_get_columns_to_view(1) #4 C:\xampp\htdocs\mantisbt\core\filter_api.php(1059): filter_get_visible_sort_properties_array(Array) #5 C:\xampp\htdocs\mantisbt\core\filter_api.php(2339): filter_get_query_sort_data(Array, NULL, Array) #6 C:\xampp\htdocs\mantisbt\core\filter_api.php(1216): filter_get_bug_rows_query_clauses(Array, NULL, NULL, NULL) #7 C:\xampp\htdocs\mantisbt\my_view_inc.php( in C:\xampp\htdocs\mantisbt\core\columns_api.php on line 491
Einträge anzeigen:

Code: Select all

Fatal error: Uncaught TypeError: Argument 1 passed to columns_remove_invalid() must be of the type array, null given, called in C:\xampp\htdocs\mantisbt\core\custom_function_api.php on line 309 and defined in C:\xampp\htdocs\mantisbt\core\columns_api.php:491 Stack trace: #0 C:\xampp\htdocs\mantisbt\core\custom_function_api.php(309): columns_remove_invalid(NULL, Array) #1 C:\xampp\htdocs\mantisbt\core\helper_api.php(469): custom_function_default_get_columns_to_view(1, NULL) #2 C:\xampp\htdocs\mantisbt\core\helper_api.php(504): helper_call_custom_function('get_columns_to_...', Array) #3 C:\xampp\htdocs\mantisbt\core\filter_api.php(3417): helper_get_columns_to_view(1) #4 C:\xampp\htdocs\mantisbt\core\filter_api.php(1059): filter_get_visible_sort_properties_array(Array) #5 C:\xampp\htdocs\mantisbt\core\filter_api.php(2339): filter_get_query_sort_data(Array, true, Array) #6 C:\xampp\htdocs\mantisbt\core\filter_api.php(1216): filter_get_bug_rows_query_clauses(Array, NULL, NULL, true) #7 C:\xampp\htdocs\mantisbt\view_all_bug_pag in C:\xampp\htdocs\mantisbt\core\columns_api.php on line 491
Änderungsprotokoll:

Code: Select all

SYSTEM WARNING
'date() expects parameter 2 to be integer, string given' in 'C:\xampp\htdocs\mantisbt\changelog_page.php' line 88
Bitte benutzen Sie die „Zurück“-Taste Ihres Browsers, um auf die vorhergehende Seite zurückzukehren. Dort können Sie den hier angezeigten Eintrag korrigieren oder eine andere Aktion ausführen. Über das Menü können Sie auch direkt zu einer anderen Aktion wechseln.

Beim Anblick dieser ist mir aufgefallen, dass ich die Frage
atrol wrote:Handelt es sich um ein originales MantisBt 2.5.1, oder wurden Änderungen am Sourcecode durchgeführt?
nicht gänzlich richtig beantwortet habe..
Ich hatte die selben Fehler auch schon zuvor und habe sie behoben: Ich habe an den zwei besagten Stellen die Variable, wo das Problem auftritt, passend dem geforderten Datentyp gecastet.
[Also (array)$t_columns und (int)$t_release_timestamp]

Tue ich dies, funktionieren die Übersicht und das Änderungsprotokoll wieder, unter Einträge anzeigen tritt wieder der Fehler auf, wegen dem ich hier bin..


Dementsprechend müsste es, in meinen Augen, entweder an meinen Änderungen im Sourcecode liegen(meine php-Kenntnisse beschränken sich größtenteils auf stackoverflow ^^), oder aber an irgendwelchen Daten der alten Datenbank.
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Nach Update: "Einträge anzeigen" leer

Post by atrol »

Wenn man mit der Datenbank einer alten Mantis Version startet und eine neue Mantis Version verwenden will, muss man die Datenbank mittels Skript upgraden https://www.mantisbt.org/docs/master/en ... ll.upgrade
Please use Search before posting and read the Manual
wechti130167
Posts: 11
Joined: 07 Jul 2017, 08:27

Re: Nach Update: "Einträge anzeigen" leer

Post by wechti130167 »

Das Upgrade wurde anhand dieses Upgrade-Guides vorgenommen.
Demnach löst das mein Problem leider auch nicht.

Das install.php - Script wird erfolgreich, ohne Fehler, ausgeführt.
MantisProblemScreen.png
MantisProblemScreen.png (57.93 KiB) Viewed 6949 times
wechti130167
Posts: 11
Joined: 07 Jul 2017, 08:27

Re: Nach Update: "Einträge anzeigen" leer

Post by wechti130167 »

Ich habe das Problem nun endlich gelöst!

Ich bin nochmal ganz zurück zum Start und habe das neue Mantis zusätzlich zum alten in htdocs kopiert, wobei beide (habe das config-file kopiert) auf dieselbe Datenbank zugegriffen haben.
Dann habe ich die Installation gestartet und festgestellt, dass der Fehler auch beim alten Mantis auftritt, nachdem ich auf Install/Upgrade Database geklickt habe (wie später erwähnt, wirft das sogar einen Fehler, welchen ich jedoch scheinbar überwunden habe, wohl wegen der fehlenden Config, keine Ahnung :roll: :wink:).
Somit war klar, hier scheitert es.

Ich hab dann einen mysqldump erstellt, das alte Mantis aus htdocs herausgenommen, abermals neu begonnen, und diesmal den mysqldump in eine neue Datenbank geladen. Meine custom files hineinkopiert, und dann die Installation gestartet. Diesmal ist bei Install/Upgrade Database beim letzten Punkt ein Fehler aufgetreten: Unserialize() error at offset 0 of 39 Bytes in install_helper_functions_api.php at line 657.
Flott mal die Fehlerstelle aufgesucht steht dort folgender Code:

Code: Select all

$t_config = unserialize( $value );
		if( $t_config === false ) {
			return 1; # Fatal: invalid data found in config table
		}
Da da etwas von config table steht, hab ich mir diese Tabelle am SQL Server mal angeschaut und bemerkt, dass die Einträge unterschiedlich codiert aussahen.. Nachdem ich den Syntax für serialize/unserialize ergoogelt habe, habe ich den ersten abweichenden Wert umgeschrieben und siehe da, selbe Fehlermeldung, aber für eine andere (längere) Zeichenkette: den nächsten Eintrag.
Besser spät als nie, da das händische umcodieren recht mühselig ist, bin ich dahintergekommen, dass diese json-codiert sind.. 8O :lol:
Also hab ich den Code folgendermaßen abgewandelt:

Code: Select all

$t_config = unserialize( $value );
		if( $t_config === false ) {
			$t_config = json_decode( $value );
			if( $t_config === false ) {
				return 1; # Fatal: invalid data found in config table
			}
		}
And that's it! :wink:

Somit funktioniert Mantis jetzt endlich wieder.

Danke für die Hilfe und Bemühungen :)
...und hoffentlich muss nie wieder jemand so viel Zeit für so ne Kleinigkeit vergeuden xD

LG Martin
atrol
Site Admin
Posts: 8366
Joined: 26 Mar 2008, 21:37
Location: Germany

Re: Nach Update: "Einträge anzeigen" leer

Post by atrol »

Danke für die Rückmeldung.
Das erklärt das Problem, ich wundere mich allerdings, da der hier genannte Zustand eigentlich nie auftreten dürfte.
Da da etwas von config table steht, hab ich mir diese Tabelle am SQL Server mal angeschaut und bemerkt, dass die Einträge unterschiedlich codiert aussahen.
Kann ich mir irgendwie nicht erklären, dass vor dem Upgrade bereits Einträge im JSON Format vorhanden sind.
Vielleicht wurde auf dieser Datenbank mal versehentlich zu einem früheren Zeitpunkt bereits mit einer neueren Mantis Version gearbeitet.
Please use Search before posting and read the Manual
Post Reply