[3.3] [DEV] Sudoku

In diesem Forum können Extension-Autoren ihre Extensions vorstellen, die sich noch im Entwicklungsstatus befinden. Der Einbau in Foren im produktiven Betrieb wird nicht empfohlen.
Benutzeravatar
Rätselfreund
Mitglied
Beiträge: 378
Registriert: 28.09.2008 21:55
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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 :-?
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 3762
Registriert: 15.12.2014 10:19

Re: [3.3] [DEV] Sudoku

Beitrag 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.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1507
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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.
Kein Support über PN!
Benutzeravatar
Rätselfreund
Mitglied
Beiträge: 378
Registriert: 28.09.2008 21:55
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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.
Benutzeravatar
IMC
Mitglied
Beiträge: 1000
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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
  
Gruß, Thorsten

Meine Extensions
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1507
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag von Mike-on-Tour »

Danke an Thorsten, ich schaue mir das morgen mal an.
Kein Support über PN!
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1507
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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.
Kein Support über PN!
Benutzeravatar
Rätselfreund
Mitglied
Beiträge: 378
Registriert: 28.09.2008 21:55
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag von Rätselfreund »

Hört sich vielversprechend an. Wenn das Update fertig ist, probiere ich es aus und gebe eine Rückmeldung :)
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1507
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag 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.
Kein Support über PN!
Benutzeravatar
Rätselfreund
Mitglied
Beiträge: 378
Registriert: 28.09.2008 21:55
Kontaktdaten:

Re: [3.3] [DEV] Sudoku

Beitrag von Rätselfreund »

Ich habe die neue Version installiert und der Fehler tritt nicht mehr auf. Vielen Dank für deine Unterstützung :grin:
Antworten

Zurück zu „Extensions in Entwicklung“