#106 closed Bug/Fehler (fixed)
Seit den letzten Changesets teilweise weisse Seite nach Login
| Reported by: | Torsten Riemer | Owned by: | Gerhard Waldemair |
|---|---|---|---|
| Priority: | hoch | Milestone: | modified-shop-2.0.0.0 |
| Component: | Shop | Version: | 2.0.0.0 |
| Keywords: | Cc: | ||
| Blocked By: | Blocking: |
Description
Ich weiss nicht genau, ob es mit den Änderungen für die Umbenennung des "/admin/" Ordners zu tun hat oder mit der Einführung der "paths.php" oder mit der Session-Überarbeitung. Jedenfalls erhalte ich nach Login öfters eine weisse Seite.
Es wäre vielleicht für die nächste Zeit nicht verkehrt das "error_reporting" in den Demoshops dauerhaft zu aktivieren, damit ich die Fehlermeldung weitergeben kann.
Attachments (0)
Change History (31)
comment:1 by , 12 years ago
comment:3 by , 12 years ago
Ich finde zur Entwicklung sollte das & ~E_NOTICE entfernt werden, denn auch Notices können die Funktion beeinträchtigen. In der Goldversion kann dies dann wieder rein um sicherzustellen das schlecht programmierte Module nicht Störungen verursachen.
comment:4 by , 12 years ago
So, habe das error_reporting umgestellt.
Hier meine Fehlermeldung. Diese habe ich aber früher schon erhalten, also nicht erst seit der Änderungen am Sessionhandling.
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3575275257 bytes) in /......./tags/modified-1.06/inc/xtc_href_link.inc.php on line 61
Was also verursacht hier über 3GB Speicher:
if (defined('SID') && xtc_not_null(SID)) {
comment:5 by , 12 years ago
Jupp, konnte ich jetzt auch mehrfach verfolgen, wobei es bei mir nicht gleich 3GB waren. ;-)
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 685866745 bytes) in /var/www/clients/client1/web71/web/tags/modified-1.06/inc/xtc_href_link.inc.php on line 61
comment:6 by , 12 years ago
Wie wurde das Problem gefixt?
Wollte es im Testshop nachstellen, doch da war es schon behoben.
comment:7 by , 12 years ago
noch nicht gelöst. Das Problem ist nicht immer nachstellbar. Ich konnte es mehrfach nachstellen indem ich Browsercache, Cookies, Temporäre Files, etc gelöscht hatte. Shop aufgerufen und angemeldet.
Ich habe schon den Verdacht, dass es mit dem 5 minütlichen SVN Update Intervall zu tun hat.
comment:8 by , 12 years ago
Um es noch interessanter zu machen hatte ich auch teilweise einen 500er über die .htaccess (ErrorDocument 500 /sitemap.html?error=500) bzw sitemap.html:
Fehler 500: Beim Server gab es einen internen Fehler.
comment:9 by , 12 years ago
ZenCart hat wohl das gleiche Problem mit den Sessions, siehe
http://www.zen-cart.com/showthread.php?207435-php-5-4-fatal-error-Allowed-memory-size-of-83886080-bytes-exhausted
Sie tippen auf eine Endlosschleife, wenn ich das richtig verstanden habe...
comment:10 by , 12 years ago
Franky schrieb mir dazu gerade, dass er einen Fehler in der "/inc/xtc_href_link.inc.php" in Z.56 vermutet:
while ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) {
$link = substr($link, 0, -1);
}
sollte sein:
if ( (substr($link, -1) == '&') || (substr($link, -1) == '?') ) {
$link = substr($link, 0, -1);
}
Wenn dem so ist, dann haben wir hier den Speicher-Killer gefunden.
Analog auch in der "/inc/xtc_href_link_from_admin.inc.php".
comment:11 by , 12 years ago
$link = rtrim($link, '&?'); würde hier auch ausreichen und hat noch den selben Effekt welchen das while haben sollte(alle entsprechenden Zeichen am Ende entfernen).
Wobei an der Stelle dieser Code eigentlich nicht benötigt wird, wenn die Parameter sauber übergeben werden.
comment:12 by , 12 years ago
Ich konnte den Fehler übrigens eben auch im Demoshop 1.06 rev 4642 nachvollziehen. Zuerst erhielt ich wieder:
Fehler 500: Beim Server gab es einen internen Fehler.
und beim reload der Seite dann:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3210280697 bytes) in /var/www/clients/client1/web71/web/tags/modified-1.06/inc/xtc_href_link.inc.php on line 62
Nachtrag: Bitte die Changesets r5614 & r5615 von h-h-h genau prüfen und hier diskutieren.
comment:13 by , 12 years ago
Ich habe die Änderungen von h-h-h nun in r5620 in den Trunk übernommen.
comment:14 by , 12 years ago
Das kann aber nicht die Lösung des Fehlers sein, denn in einer Schleife würde jedes Mal ein kleines Stückchen RAM reserviert werden und nicht auf einen Schlag mehr als 3GiB. Die Zahl bei der Reservierung ist jenseits von Gut und Böse.
comment:15 by , 12 years ago
Problem konnte lokal mit xammp PHP Version 5.4.19 nicht nachgestellt werden.
comment:16 by , 12 years ago
comment:17 by , 12 years ago
Wow, wie ist Gerhard darauf gekommen?
Bei mir funktioniert es jetzt scheinbar ohne Fehler.
comment:18 by , 12 years ago
Gerhard hatte ein längeres Telefonat mit mir wo wir das Thema besprachen und ich Ideen hatte wie man die "böse Stelle" am besten lokalisieren kann. ;) Komisch nur das wir beide davon ausgingen, dass defined das Problem erzeugt und nicht der Funktionsaufruf.
Es ist aber wohl Fakt, das es ein Memory Leak von PHP 5.4 ist. Denke mal es wird in den kommenden Versionen von PHP behoben.
comment:19 by , 12 years ago
comment:20 by , 12 years ago
Fehler ist noch vorhanden gewesen:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 3601280761 bytes) in /var/www/clients/client1/web71/web/tags/modified-1.06-dev/inc/xtc_href_link.inc.php on line 59
Habe es jetzt mal mit constant('SID') != '' statt SID != '' versucht um das Problem zu umgehen. Bin gespannt ob es den Memory Leak jetzt noch gibt. ( r5717 )
comment:21 by , 12 years ago
ich habe auf dem Server mal das neueste PHP5.4 compiliert.
Version ist jetzt 5.4.19
comment:22 by , 12 years ago
hattest du vorher geprüft, ob der Fehler noch vorhanden ist?
Hatte nach der Änderung den Memory Leak nicht mehr nachstellen können, schien mir so als ob constant('SID') die Lösung ist.
comment:23 by , 12 years ago
Gerhard hat wieder die alte Version 5.4.4 aktiviert, damit wir schauen können, ob der Fehler durch constant() behoben ist.
comment:24 by , 12 years ago
Es könnte dieser Bug gewesen sein, der in Version 5.4.16 behoben wurde:
- Fixed bug #64660 (Segfault on memory exhaustion within function definition).
Netterweise ist die Beschreibung dieses Bugs auf private gesetzt und man kann es nicht einsehen.
comment:25 by , 12 years ago
Gerade aktuell wieder erhalten:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1199922937 bytes) in /var/www/clients/client1/web71/web/tags/modified-1.06/inc/xtc_href_link.inc.php on line 62
Also der Fix mit constant() hat das Problem auch nicht lösen können.
comment:26 by , 12 years ago
Mit der alten oder neuen PHP Version? Wenn es die alte ist und der Fehler wie von mir geschrieben in 5.4.16 behoben wurde im Core können wir eh nicht viel dagegen tun.
comment:27 by , 12 years ago
es ist seit heute 9 Uhr wieder PHP Version 5.4.4-14+deb7u4, also das original aus der Debian Wheezy Distri in Verwendung.
comment:29 by , 12 years ago
| Milestone: | modified-shop-2.00 → modified-shop-2.10 |
|---|
comment:30 by , 11 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Der Fehler kann in der 2.00 nicht mehr nachgestellt werden.
comment:31 by , 10 years ago
| Milestone: | modified-shop-2.10 → modified-shop-2.00 |
|---|---|
| Version: | 1.06 → 2.0 |

ich habe das error_reporting für den 1.06er Demoshop auf
error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
gestellt.