Seite 6 von 8

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 14:11
von Rätselfreund
Als ich mein erstes Posting in diesem Thread geschrieben hatte, hatte ich nur die klassischen Sudokus ausprobiert. Da ist es weiterhin so, dass der Fehler nur manchmal auftritt. Vielleicht bei jedem 10. Speichern.

Ich habe inzwischen auch noch die Samurai- und Ninja-Sudokus ausprobiert. Dort tritt der Fehler bei jedem Speichern auf! Das ist einerseits natürlich schlecht, erleichtert aber andererseits auch das Testen :grin:

Nach der Deaktivierung aller Extensions außer der Sudoku-Erweiterung trat der Fehler weiterhin bei jedem Speichervorgang bei den Ninja- und Samurai-Sudokus auf. Die anderen Extensions haben also keinen Einfluss auf den Fehler.

Ich probiere in den nächsten Tagen auch noch den Filecheck aus. Da bin ich noch nicht dazu gekommen.

PS: Den Hoster hatte ich schon kontaktiert, damit ich Zugriff auf die Fehlerlogs bekomme. Der Supporter meinte, wenn es keinen Eintrag in den Logs gibt, könnte es daran liegen, dass der Fehler programmseitig abgefangen wird :-?

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 14:20
von LukeWCS
Rätselfreund hat geschrieben: 08.08.2026 14:11 Ich habe inzwischen auch noch die Samurai- und Ninja-Sudokus ausprobiert. Dort tritt der Fehler bei jedem Speichern auf! Das ist einerseits natürlich schlecht, erleichtert aber andererseits auch das Testen :grin:
Richtig, aus Entwickler Sicht ist ein Fehler der konstant auftritt natürlich ideal. :) Deine neueste Info könnte vielleicht weiterhelfen, denn dann muss es ja einen Unterschied im Code geben.
Nach der Deaktivierung aller Extensions außer der Sudoku-Erweiterung trat der Fehler weiterhin bei jedem Speichervorgang bei den Ninja- und Samurai-Sudokus auf. Die anderen Extensions haben also keinen Einfluss auf den Fehler.
Dann wäre das geklärt, aber erstmal muss man ja alle potentiellen Fehlerquellen gezielt eliminieren.

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 15:59
von Mike-on-Tour
Rätselfreund hat geschrieben: 08.08.2026 14:11 Nach der Deaktivierung aller Extensions außer der Sudoku-Erweiterung trat der Fehler weiterhin bei jedem Speichervorgang bei den Ninja- und Samurai-Sudokus auf.
Da fehlt mir jetzt noch eine Info: Werden die Samurai- bzw. Ninja-Spiele gespeichert?

Der Mechanismus des Spiele-Speicherns ist folgender: Der "Speichern"-Button erhält per Javascript den Link zum Ajax-Aufruf des Servers und übermittelt diesem die notwendigen Daten. Der Server verarbeitet diese Daten im PHP-Skript und gibt nach dem Speichern der Spieledaten und dem Löschen des gespeicherten Spieles aus der DB eine auf true gesetzte Variable zurück, die per Javascript ausgewertet wird und bei true den Link zum Laden eines neuen Rätsels des jeweiligen Typs ausführt. Bei false wird eine Fehlermeldung ausgegeben, die darauf hinweist, dass beim Speichern etwas schiefgelaufen ist.

Wenn die Spiele also gespeichert werden, dann scheint beim Ausführen der Umleitung auf ein neues Spiel etwas zu haken, wahrscheinlich irgendwo bei JS, und das würde auch den fehlenden Eintrag im Fehlerlog erklären, weil JS ja lokal auf dem Client ausgeführt wird.

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 17:07
von Rätselfreund
Die Ninja- und Samurai-Spiele werden gespeichert und können danach einwandfrei geladen werden.

Wenn ich speichere, erscheint die Meldung, dass das Spiel gespeichert wurde und jetzt die Weiterleitung erfolgt. Danach erscheint der Fehler 500.

Wenn du dich nicht zum Ausprobieren im Rätselforum anmelden willst, kann ich dir per PN auch einen Link zum Testforum schicken.

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 17:19
von IMC
Ich habe das eben mal auf die schnelle getestet und habe diesen Fehler bekommen:

Code: Alles auswählen

Fatal error: Uncaught TypeError: array_merge(): Argument #1 must be of type array, null given in /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php:625
Stack trace:
#0 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php(625): array_merge(NULL, Array)
#1 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/vendor/symfony/http-kernel/HttpKernel.php(151): mot\sudoku\controller\mot_sudoku_main->handle()
#2 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(phpbb\symfony_request), 1)
#3 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/app.php(35): Symfony\Component\HttpKernel\HttpKernel->handle(Object(phpbb\symfony_request))
#4 {main}
  thrown in /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php on line 625
Edit:
Beim Classic das gleiche, nur andere Zeilennummer

Code: Alles auswählen

Fatal error: Uncaught TypeError: array_merge(): Argument #1 must be of type array, null given in /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php:390
Stack trace:
#0 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php(390): array_merge(NULL, Array)
#1 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/vendor/symfony/http-kernel/HttpKernel.php(151): mot\sudoku\controller\mot_sudoku_main->handle()
#2 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(phpbb\symfony_request), 1)
#3 /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/app.php(35): Symfony\Component\HttpKernel\HttpKernel->handle(Object(phpbb\symfony_request))
#4 {main}
  thrown in /mnt/web205/c1/31/52606231/htdocs/subdomain/powwow_3-3-test/ext/mot/sudoku/controller/mot_sudoku_main.php on line 390
  

Re: [3.3] [DEV] Sudoku

Verfasst: 08.08.2026 22:32
von Mike-on-Tour
Danke an Thorsten, ich schaue mir das morgen mal an.

Re: [3.3] [DEV] Sudoku

Verfasst: 09.08.2026 16:43
von Mike-on-Tour
Ich habe den Fehler gefunden, und die Behebung ist auch nicht schwer, wird trotzdem erst morgen eine neue Version geben.

Ursache:
Die liegt bereits in den Anfängen von Sudoku, als ich die Tabelle MOT_SUDOKU_STATS eingerichtet habe, in die für jeden Benutzer, wenn er das erste Mal Sudoku startet, verschiedene Informationen gespeichert werden. Eine dieser Informationen ist eine Aufstellung der jeweils bereits fertig gespielten Rätsel. Bei der Anlage dieses Datensatzes, der eigentlich ein JSON-codiertes Array ist, habe ich aber einen leeren String in die DB abgespeichert. Beim Dekodieren eines leeren Strings erzeugt json_decode() aber kein leeres Array, sondern setzt die entsprechende Variable auf NULL. Das fiel bisher nicht auf, weil damit keine Array-Operationen durchgeführt wurden.
Wenn jetzt ein Benutzer ohne gelöstes Rätsel ein Spiel speichert, wird er danach auf ein neues Spiel umgeleitet. Dabei werden die bereits gelösten Rätsel aus der DB ausgelesen, um zu vermeiden, dass diese nochmals präsentiert werden. Damit auch die gespeicherten Rätsel nicht nochmals geladen werden, werden die beiden Arrays, die die Id's dieser Rätsel halten, miteinander verbunden (gemerged). Für einen Benutzer, der bis dahin noch keine Rätsel gelöst hat, wird also das fehlerhafte Array (= NULL) der gelösten Rätsel dazu herangezogen und das führt dann zu dem beobachteten Fehler.

Re: [3.3] [DEV] Sudoku

Verfasst: 09.08.2026 21:28
von Rätselfreund
Hört sich vielversprechend an. Wenn das Update fertig ist, probiere ich es aus und gebe eine Rückmeldung :)

Re: [3.3] [DEV] Sudoku

Verfasst: 10.08.2026 12:59
von Mike-on-Tour
Die ver 0.13.1 steht zum Download bereit, der Download-Link im Startbeitrag ist geändert. Diese Version beinhaltet folgende Neuerungen und/oder Änderungen:
  • Behebung eines Bugs in controller/mot_sudoku_main.php, der durch die falsche Nutzung eines leeren Strings als JSON-codiertes Array für die bereits gelösten Rätsel dazu führte, dass bei einem neuen Benutzer (der noch keine gelösten Rätsel hat) nach dem Speichern eines Spieles beim Aufruf eines neuen Rätsels versucht wurde, NULL mit dem Array der gespeicherten Rätsel zu verbinden, was zu einem Fatal Error führte.

Re: [3.3] [DEV] Sudoku

Verfasst: 10.08.2026 14:10
von Rätselfreund
Ich habe die neue Version installiert und der Fehler tritt nicht mehr auf. Vielen Dank für deine Unterstützung :grin: