Modify

Opened 12 years ago

Closed 11 years ago

Last modified 10 years ago

#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 Gerhard Waldemair, 12 years ago

ich habe das error_reporting für den 1.06er Demoshop auf

error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);

gestellt.

comment:2 by Torsten Riemer, 12 years ago

Danke dir. Jetzt muss der Fehler nur nochmal auftreten. ;-)

comment:3 by Tekin Birdüzen, 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 Gerhard Waldemair, 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 Torsten Riemer, 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 H. H. H., 12 years ago

Wie wurde das Problem gefixt?
Wollte es im Testshop nachstellen, doch da war es schon behoben.

comment:7 by Gerhard Waldemair, 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.

Last edited 12 years ago by Torsten Riemer (previous) (diff)

comment:8 by Torsten Riemer, 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 Simon Heinrich, 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 Torsten Riemer, 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 H. H. H., 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.

Last edited 12 years ago by H. H. H. (previous) (diff)

comment:12 by Torsten Riemer, 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.

Last edited 12 years ago by Torsten Riemer (previous) (diff)

comment:13 by Torsten Riemer, 12 years ago

Ich habe die Änderungen von h-h-h nach Rücksprache mit Gerhard in r5620 in den Trunk übernommen.

Last edited 12 years ago by Torsten Riemer (previous) (diff)

comment:14 by Tekin Birdüzen, 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 H. H. H., 12 years ago

Problem konnte lokal mit xammp PHP Version 5.4.19 nicht nachgestellt werden.

comment:16 by Torsten Riemer, 12 years ago

Gerhard hat das Problem jetzt evtl. mit r5705 behoben.

Ich habe es bereits in r5706 in den trunk übernommen.

Bitte haltet mal die Augen auf, ob der Fehler jetzt nochmal auftritt.

comment:17 by H. H. H., 12 years ago

Wow, wie ist Gerhard darauf gekommen?
Bei mir Funktioniert es jetzt scheinbar ohne Fehler.

Version 0, edited 12 years ago by H. H. H. (next)

comment:18 by Tekin Birdüzen, 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.

Last edited 12 years ago by Tekin Birdüzen (previous) (diff)

comment:19 by Torsten Riemer, 12 years ago

Er hatte für's debugging die Zeile in r5680 gesplittet und somit konnten wir genauer sagen, wo der Fehler liegen könnte. Dadurch hat sich der Fehler in Zeile 62 verlagert und wurde mit r5710 scheinbar korrigiert.

comment:20 by H. H. H., 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 Gerhard Waldemair, 12 years ago

ich habe auf dem Server mal das neueste PHP5.4 compiliert.

Version ist jetzt 5.4.19

comment:22 by H. H. H., 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 Torsten Riemer, 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.

Last edited 12 years ago by Torsten Riemer (previous) (diff)

comment:24 by Tekin Birdüzen, 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 Torsten Riemer, 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.

Last edited 12 years ago by Torsten Riemer (previous) (diff)

comment:26 by Tekin Birdüzen, 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 Gerhard Waldemair, 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:28 by Torsten Riemer, 12 years ago

Bitte schaut nochmal hier: Demoshop geht nicht

comment:29 by Gerhard Waldemair, 12 years ago

Milestone: modified-shop-2.00modified-shop-2.10

comment:30 by Gerhard Waldemair, 11 years ago

Resolution: fixed
Status: newclosed

Der Fehler kann in der 2.00 nicht mehr nachgestellt werden.

comment:31 by Torsten Riemer, 10 years ago

Milestone: modified-shop-2.10modified-shop-2.00
Version: 1.062.0

Modify Ticket

Action
as closed The owner will remain Gerhard Waldemair.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.