2011-01-06 5 views
4

Dieser Fehler gemäß den Protokollen wird durch ein 5 Jahre altes Perl-Skript verursacht, das lediglich Daten von MySQL über eine einfache SQL-Auswahl ergreift und anzeigt.Warum beklagt Apache, dass CGI.pm in Zeile 4001 aufgrund eines Speicherwechsels in Panik geraten ist?

Es läuft auf meiner dev-Maschine, die MBP mit 8 GB RAM ist, die den Vorrat Apache läuft.

Nach einer Weile, einmal oder zweimal im Monat, erhalte ich die folgenden Fehler ohne ersichtlichen Grund:

Panik: Speicherpackung bei /System/Library/Perl/5.10.0/CGI.pm Linie 4001.

Apache weigert sich, das Skript erneut auszuführen, und nur ein Neustart des Betriebssystems würde Apache zum Einlenken bringen. Das Betriebssystem sagt, dass es 3 GB freien Speicher gibt, wenn es passiert, also ist es kein Problem mit wenig Speicher. Glücklicherweise geschieht dies nicht auf dem Debian 5-Produktionsserver.

Was ist eine Speicherfolie? Und was verursacht es?

+5

'perldoc perldiag' besagt, dass" panic: memory wrap "bedeutet" Etwas hat versucht, mehr Speicher zuzuweisen als möglich ". Ein bisschen Googeln deutet darauf hin, dass dies kein CGI.pm-Problem ist, sondern ein gelegentliches Problem mit Perl 5.10 und OSX. –

+1

@mu - Dein Kommentar sollte IMO eine Antwort sein. – Nifle

+0

Ich stimme Nifle völlig zu. @mu du Kommentar ist die Antwort. – GeneQ

Antwort

2

Ich traf diesen Fehler auch in einem etwas anderen Umstand. PerlMonks, wie eh und je, hat mich nur gerettet wahrscheinlich Tage Arbeit:

http://www.perlmonks.org/?node_id=823389

das Problem in den Weg osx Bindungen liegt andere Ressourcen. ein einfacher Schlaf wird die OS Zeit geben zu schließen und öffnen. Neustart oder anmutige gehen in Konflikt.

apachectl stop 
sleep 2 
apachectl start 
+0

Versuchte es. Funktioniert! – GeneQ

0

mu ist die Antwort zu kurz, die leider als Kommentar gepostet. :

perldiag sagt, dass "panic: memory wrap" bedeutet "Etwas versucht, mehr Speicher zuzuweisen als möglich". Ein bisschen Googeln deutet darauf hin, dass dies kein CGI.pm-Problem ist, sondern ein gelegentliches Problem mit Perl 5.10 und OSX.

1

Das ist spät, aber die von MacPorts verteilt perl dieses Problem nicht hat, wenn das eine Option.

Verwandte Themen