0 votes
in SoSci Survey (dt.) by s106317 (150 points)

Guten Abend,

wir haben ein längsschnittliches Projekt mit mehreren Messzeitpunkten am laufen, wobei die Einladungen zum nächsten Messzeitpunkt mit einem double opt-in Item versendet werden. Als ich mir gerade nochmals die Codierung der Mails anschauen wollte, kam folgende Meldung:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /var/www/s2survey/html/inc/BasicObject.php on line 764

Wissen Sie was dies bedeutet beziehungsweise wie es behoben werden kann?

Und können SIe mir sagen, ob dennoch aktuell die Mails wie geplant versendet werden können?

Herzlichen Dank und freundliche Grüße!

by s106317 (150 points)
Alles klar. Ich bin mir gerade nicht sicher, was mit den FOR-Schleifen gemeint ist. Den Code für die Mails kann man im Fragebogen t4 einsehen. Hätten sie womöglich kurz Zeit, sich das anzuschauen. Vielleicht können Sie dann abschätzen, ob es ein Problem für das Projekt ist oder ob man es nicht weiter beachten muss. Das würde eine große Hilfe sein!

Vielen Dank schonmal.

1 Answer

0 votes
by SoSci Survey (330k points)

Diese Meldung tritt auf, wenn die maximal pro Aufruf erlaubte Speichergröße von 256 MB überschritten wird - bei Seriemails sollte das eigentlich nicht passieren... Es scheint auch so, dass das nur bei Ihrer Serienmail auftritt, zumindest finde ich den Fehler aktuell in keinem anderen Projekt.

Ich sehe mir das gleich einmal in der Datenbank an. Derweilen empfehle ich, die Serienmail noch nicht zu versenden. Es ist durchaus möglich, dass der Fehler den erfolgreichen Versand verhindert.

Update: Ich finde in den Serienmails selbst keine offensichtliche Ursache für das Problem. Könnten Sie mir bitte kurz mitteilen, bei welcher Serienmail spezifisch das Problem auftritt? Reicht es schon, die Serienmail zum Bearbeiten zu öffnen oder müssen Sie in der Serienmail etwas spezifisches anklicken? Und wäre es Ihnen ggf. recht, dass ich einen Administrator-Login für das Befragungsprojekt anlege und mir das Problem einmal direkt ansehe?

by s106317 (150 points)
Der Error kommt, sobal dich probiere auf den Reiter "Serienmails" am linken Bildschirmrand zu klicken. Also betrifft es tatsächlich alle.

Gerne können Sie einen Admin-Login anlegen! Danke für Ihre Hilfe.
by SoSci Survey (330k points)
Es scheint, als hätten Sie in Ihrem Befragungsprojekt ca. 150.000 Einzelversendungen geplant. Vermutlich mittels mailSchedule(). Das ist ein bisschen zu viel :)
by SoSci Survey (330k points)
Für die Anzeige der Serienmail-Übersicht werden nun max. 30.000 Versandtermine geladen. Dadurch funktioniert die Anzeige wieder - aber geplante Versandtermine für die letzten Serienmails werden nur angezeigt, wenn man dort auf den Briefumschlag klickt.
by s106317 (150 points)
Danke für die schnelle Hilfe! Allerdings stelle ich mir jetzt die Frage, woher diese enormen Zahlen kommen.
Es sind inzwischen ca 2.100 Versuchspersonen die für jeden Messzeitpunkt (insgesamt 3 weitere) eine Einladungsmail sowie jeweils zwei Erinnerungsmails bekommen --> also pro Person 3*3 Mails. Wie kommen denn dann diese riesen Zahlen zustande? Haben Sie da eine Idee?
by SoSci Survey (330k points)
Meine Vermutung ist, dass Sie das mailSchedule() auf einer Seite eingebunden haben, die mehrfach aufgerufen wird. Für jeden Aufruf wird ein Versand vermerkt.

Das ist prinzipiell kein Problem, weil SoSci Survey beim zweiten Versandtermin bemerkt, dass die E-Mail schon an die Adresse verschickt wurde - und sie dann eben nicht erneut versendet. Aber im Hintergrund werden eben fleißig Versand-Zeitpunkte eingetragen.

Ebenfalls denkbar, dass sie eine FOR-Schleife programmiert haben, die nicht genau das tut was sie soll.
by s106317 (150 points)
Alles klar. Ich bin mir gerade nicht sicher, was mit den FOR-Schleifen gemeint ist. Den Code für die Mails kann man im Fragebogen t4 einsehen. Hätten sie womöglich kurz Zeit, sich das anzuschauen. Vielleicht können Sie dann abschätzen, ob es ein Problem für das Projekt ist oder ob man es nicht weiter beachten muss. Das würde eine große Hilfe sein!

Vielen Dank schonmal
by SoSci Survey (330k points)
Ich bin aus dem Projekt schon lang wieder raus :) Aber posten Sie Ihren PHP-Code gerne hier, dann werfe ich einen Blick darauf.
by s106317 (150 points)
Hier der Code:

mailSchedule(false, 1, strtotime('+3 month'));
mailSchedule(false, 2, strtotime('+6 months'));
mailSchedule(false, 3, strtotime('+9 months'));
mailSchedule(false, 4, strtotime('+3 month +1 day'), array(
  'status' => 'incomplete'));
mailSchedule(false, 5, strtotime('+3 month +2 days'), array(
  'status' => 'incomplete'));
mailSchedule(false, 6, strtotime('+6 month +1 day'), array(
  'status' => 'incomplete'));
mailSchedule(false, 7, strtotime('+6 month +2 days'), array(
  'status' => 'incomplete'));
mailSchedule(false, 8, strtotime('+9 month +1 day'), array(
  'status' => 'incomplete'));
mailSchedule(false, 9, strtotime('+9 month +2 days'), array(
  'status' => 'incomplete'));
by SoSci Survey (330k points)
Auf welcher Seite steht dieser PHP-Code denn? Kann es sein, dass diese Seite mehrfach geladen wird? Ich möchte auch nicht ausschließen, dass ein einzelner Teilnehmer die Seite ganz oft geladen hat...
by s106317 (150 points)
Wir haben einen separaten FB dazu innerhalb des Projekts angelegt, welcher lediglich aus dieser einen Seite besteht. D.h. nachdem der Baseline Fragbeogen ausgefüllt wurde, bekommt die Person eine Mail mit einem Link zu diesem separaten Fragebogen und muss dort einen Link bestätigen. Uns werden allerdings nur 1200 Klicks auf diesen Fragebogen angezeigt, weshalb ich mir diese hohen Mailzahlen nicht erklären kann.
by SoSci Survey (330k points)
Aaaaalso ... die meisten Befragten haben ganz brav 6 Einträge, ein paar einzelne haben 12 davon. Das sind jene, die vielleicht F5 gedrückt oder den Link zweimal aufgerufen haben.

Und dann ist da ein Adresseintrag, der 143424 Einträge hat. Also die Seite 23904-mal aufgerufen. Scheint mir entweder böswillige Absicht zu sein oder ein technischer Fehler (Browser lädt die Seite immer wieder in einer Schleife).

Kurzum: Möchten Sie den Adresseintrag löschen oder soll ich die Versandeinträge (außer den ersten 6) aus der Datenbank entfernen?
by s106317 (150 points)
Das wäre super, wenn man diesen einen Adresseintrag entfernen könnte. Können Sie das tun oder müsste ich das machen? Falls ja, wie würde dies funktionieren?

Danke für Ihre tolle Hilfe! :)
by SoSci Survey (330k points)
Folgender Link führt Sie direkt zum Adresseintrag:
https://www.soscisurvey.de/admin/index.php?o=panel&a=receiver.edit&id=29216997

Ich kann allerdings nicht versprechen, ob Sie den Eintrag aufrufen können ohne dass wieder ein Speicherfehler auftritt :)

Falls das passiert, sagen Sie Bescheid, dann lösche ich das direkt in der Datenbank.
by s106317 (150 points)
Vielen Dank!

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

...