0 votes
ago in SoSci Survey (dt.) by s304092 (110 points)

Guten Tag,

leider kommt es seit Montag bei meinem Projekt plötzlich zu Fehlermeldungen und unvollständigen Datenspeicherungen. Bei einigen Teilnehmern werden die Daten nicht vollständig oder gar nicht korrekt abgespeichert, obwohl dies zuvor bei ca. 300 Probanden problemlos funktionierte. Des Weiteren ist aufgefallen, dass die Ladezeit die SoSciSurvey benötigt stark angestiegen ist (ca. 5 Sekunden). In der PHP-Codierung lässt sich laut meinem Betreuer kein Fehler finden.

Ich bin sehr unschlüssig und kann mir dies nicht wirklich erklären. Ich bin dankbar für jeden Hinweis auf eine mögliche Ursache. Der Fehlercode der in manchen fällen auftritt lautet:
Fehler im Fragebogen: Trying to access array offset on int
Zeile: 592

Liebe Grüße

1 Answer

0 votes
ago by SoSci Survey (346k points)

Wir haben gesehen, dass es bei einem Projekt auf dem Server seit dem letzten Update vereinzelt zu Störungen kommt. Gut, dass Sie sich melden. Das Problem tritt, nach dem, was wir bisher wissen, vorwiegend bei dem multiLevelDown() auf.

Ihr Hinweis auf die zusätzliche Fehlermeldung bringt uns aber schonmal weiter. Offenbar wurde dort ein Array an die Funktion putList() übergeben. SoSci Survey zeigt dafür nun eine verständliche Fehlermeldung.

Allerdings erklärt das noch nicht, warum es gerde in Ihrem Projekt mitunter zu "Hängern" in der Multi-Level-Struktur kommt. Und vor allem, warum das nur bei einigen Fälle auftritt.

Könnte es sein, dass es sich um Fälle handelt, bei denen die Befragten sehr schnell durch die Seiten geklickt haben (oder dies versuchten)? Ich bei den betroffenen Fälle irgend etwas anders als bei den anderen Fällen?

ago by s304092 (110 points)
Ich habe mehrfach getestet woran es liegen könnte. Dabei habe ich den Fragebogen sehr schnell durchgeklickt (es ging schließlich nur um das Provozieren der Fehlermeldung). Dabei ist es nur in einzelnen Fällen zu einer Fehlermeldung und zu einer fehlerhaften Speicherung der Daten gekommen. Ich konnte bislang keine Ursache ausmachen. Kurzfristig hatte ich unter Verdacht, dass der Fehler bei einem erneuten Laden der Seite auftritt, dies konnte ich durch einen Test jedoch nicht bestätigen.

Ich habe Ihre Nachricht an meinen Betreuer weitergeleitet und warte noch auf eine Antwort, die ich dann hier mit Ihnen teilen würde.

Vielen Dank schonmal für die schnelle Antwort.
ago by SoSci Survey (346k points)
Ich werde auch nochmal nach möglichen Ursachen suchen ... ganz trivial ist es leider nicht, einen Fehler einzugrenzen, der sich nicht systematische replizieren lässt. Für mich zur Einordnung: In wie vielen Interviews (anteilig) trat bei Ihren Tests das Problem auf?
ago by s304092 (110 points)
Vielen Dank! Das mit dem replizieren stimmt natürlich, leider ist es mir bislang auch nicht geglückt. Das einzige was ich festgestellt habe ist, dass die Fehlermeldung an einer bestimmten Stelle im Fragebogen auftritt - falls das irgendwie weiterhilft?
Bezüglich der Anzahl würde ich schätzen, dass es bei 1/5 der Durchläufe auftrat, wobei mein Betreuer kein einziges Mal den Fehler provozieren konnte.
Sollte ich eine Antwort erhalten oder selbst noch zu einer Erkenntnis kommen, melde ich mich!

Vielen Dank für die Unterstützung.

Liebe Grüße
ago by SoSci Survey (346k points)
Wir haben noch ein paar Kleinigkeiten optimiert ... die Logfiles werden zeigen, ob sich etwas geändert hat.

Was noch auffiel: Wenn der Fehler auftritt, dann mehrfach für denselben Fall. Teilweise ein Dutzend mal über 5-10 Minuten. Entweder es verfängt sich nachhaltig etwas oder es hängt mit den Angaben im Interview zusammen und damit, was Ihr Fragebogen daraus macht. Das könnte auch erklären, warum Sie den Fehler provozieren konnten, Ihr Betreuer aber nicht.
ago by s304092 (110 points)
Nochmals vielen Dank!
Ihre Optimierungen scheinen bislang zu funktionieren. Die Ladezeit der Seiten hat sich auch merklich reduziert. Ein endgültiges Urteil kann ich darüber noch nicht fällen, aber die neueren Daten sind zuverlässig gespeichert.  Mein Betreuer bat mich noch, Sie zu fragen, was Sie beim Update am Montag verändert haben und was Sie gestern geändert haben, damit es jetzt wieder funktioniert.
Danke für die schnelle Unterstützung, das war wirklich super hilfreich!
ago by SoSci Survey (346k points)
edited ago by SoSci Survey
Die Frage ist gar nicht so einfach zu beantworten, da muss ich ein wenig ausholen :)

Hintergrund der Änderungen sind die neuen Funktionen für Quotierung und Panel-Anbindung (https://www.soscisurvey.de/help/doku.php/de:survey:quota), welche vielen Anwender:innen das Leben erleichtern werden.

Im Kontext der Implementierung mussten wir einige Änderungen an dem Programmmodul vornehmen, welche die Fälle im Interview verwaltet. Dieses Programmodul ist unter anderem dafür verantwortlich, dass jemand nicht (versehentlichen oder absichtlich) gleichzeitig mehrfach dasselbe laufende Interview öffnet. Natürlich kann man ein Interview parallel in mehreren Browserfenstern öffnen, dabei geht nichts kaputt, aber es geht um die kurze Zeit in welcher ein Interview geöffnet ist, die Daten geladen, die Fragebogen-Seite erstellt und an den Browser übermittelt wird. Dieser kurze Prozess (normalerweise <1 Sekunde) darf nicht mehrfach parallel laufen, weil dabei Daten verloren gehen könnten.

Und genau dieser Kontrollmechanismus hatte in Ihrem Projekt Ärger gemacht. Dort wurde ein Fall markiert als "ich arbeite gerade daran", diese Markierung aber nicht mehr entfernt. Dadurch wartete der nächste Seitenaufruf ... erstmal 5 Sekunden, dann wurde eine Fehlermeldung gezeigt, und wenn man es nochmal versuchte, dann wurde nach ins. 10 Sekunden irgendwann die Sperrung durch eien Timeout aufgehoben. Daher die Wartezeiten.

Ein Grund, warum gerade Ihr Projekt betroffen ist, dürfte die Multi-Level-Struktur sein. Bei der Übergabe zwischen den unterschiedlichen Fällen muss SoSci Survey parallel mit mindestens zwei Fällen jonglieren. Im Prinzip ist das kein Problem. Aus irgendwelchen Gründen aber offenbar in Ihrem Fall schon.

Ich habe gestern nochmal die Mechanik überarbeitet, welche die Sperrung aufhebt. Die Optimierung besteht eigentlich nur darin, dass das Programm zwischenzeitlich Speicher freigeben kann - und eigentlich dürfte dies das Problem nicht lösen. Aber nachdem das Problem auch eigentlich gar nicht auftreten dürfte ... ich freue mich, wenn es in Ihrem Projekt nun wieder verlässlich funktioniert, aber es wäre mir lieber gewesen, könnte ich eine klare Ursache und deren Lösung benennen.

Willkommen im Online-Support von SoSci Survey.

Hier bekommen Sie schnelle und fundierte Antworten von anderen Projektleitern und direkt von SoSci Survey.

→ Eine Frage stellen


Welcome to the SoSci Survey online support.

Simply ask a question to quickly get answers from other professionals, and directly from SoSci Survey.

→ Ask a Question

...