memory corruption meldung in error_log

Apache, Lighttpd, nginx, Cherokee
Anonymous

memory corruption meldung in error_log

Post by Anonymous » 2007-04-19 15:20

Hallo!

In meiner Apache error_log steht ein komischer Eintrag nachdem mein Server crasht:

Code: Select all

*** glibc detected *** /usr/sbin/httpd2-prefork: malloc(): memory corruption: 0x8012ee48 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7c95911]
/lib/libc.so.6[0xb7c9793b]
/lib/libc.so.6(malloc+0x86)[0xb7c99206]
/usr/lib/apache2/mod_php5.so(_emalloc+0x5b)[0xb78fca4b]
/usr/lib/apache2/mod_php5.so(zend_stack_init+0x1c)[0xb7911b5c]
/usr/lib/apache2/mod_php5.so(zend_init_compiler_data_structures+0x12)[0xb7902f82]
/usr/lib/apache2/mod_php5.so(init_compiler+0xb)[0xb79030ab]
/usr/lib/apache2/mod_php5.so(zend_activate+0xb)[0xb791265b]
/usr/lib/apache2/mod_php5.so(php_request_startup+0xc8)[0xb78d6068]
/usr/lib/apache2/mod_php5.so[0xb79889df]
/usr/sbin/httpd2-prefork(ap_run_handler+0x6d)[0x8002f3cd]
/usr/sbin/httpd2-prefork(ap_invoke_handler+0x68)[0x80032c98]
/usr/sbin/httpd2-prefork(ap_internal_redirect+0x84)[0x8003e694]
/usr/lib/apache2-prefork/mod_rewrite.so[0xb75ffc90]
/usr/sbin/httpd2-prefork(ap_run_handler+0x6d)[0x8002f3cd]
/usr/sbin/httpd2-prefork(ap_invoke_handler+0x68)[0x80032c98]
/usr/sbin/httpd2-prefork(ap_process_request+0x1a1)[0x8003e841]
/usr/sbin/httpd2-prefork[0x8003b5f8]
/usr/sbin/httpd2-prefork(ap_run_process_connection+0x6d)[0x80036f9d]
/usr/sbin/httpd2-prefork(ap_process_connection+0x4c)[0x8003709c]
/usr/sbin/httpd2-prefork[0x80042c34]
/usr/sbin/httpd2-prefork[0x80042f41]
/usr/sbin/httpd2-prefork(ap_mpm_run+0x913)[0x80043943]
/usr/sbin/httpd2-prefork(main+0x877)[0x8001acc7]
/lib/libc.so.6(__libc_start_main+0xdc)[0xb7c4787c]
/usr/sbin/httpd2-prefork[0x80019e21]
======= Memory map: ========
Dann steht da noch ellenlang folgendes (ist nur ein Auszug)

Code: Select all

======= Memory map: ========
80000000-8004f000 r-xp 00000000 08:02 48428      /usr/sbin/httpd2-prefork
8004f000-80052000 rw-p 0004e000 08:02 48428      /usr/sbin/httpd2-prefork
80052000-808bb000 rw-p 80052000 00:00 0          [heap]
b2c00000-b2c21000 rw-p b2c00000 00:00 0 
b2c21000-b2d00000 ---p b2c21000 00:00 0 
b2d30000-b2d3a000 r-xp 00000000 08:02 2022       /lib/libgcc_s.so.1
b2d3a000-b2d3b000 rw-p 00009000 08:02 2022       /lib/libgcc_s.so.1
b2d42000-b2d4b000 rw-s 00000000 00:08 8935       /dev/zero (deleted)
b2d4b000-b2d4c000 rw-p b2d4b000 00:00 0 
b2d4c000-b2dcc000 rw-s 00000000 00:08 65537      /SYSV00000000 (deleted)
b2dcc000-b4dcc000 rw-s 00000000 00:08 8931       /dev/zero (deleted)
b4dcc000-b6dcc000 rw-s 00000000 00:08 32768      /SYSV00000000 (deleted)
b6dcc000-b6dd5000 r-xp 00000000 08:02 48035      /usr/lib/php5/extensions/sockets.so
b6dd5000-b6dd6000 rw-p 00009000 08:02 48035      /usr/lib/php5/extensions/sockets.so
b6dd6000-b6de7000 r-xp 00000000 08:02 48034      /usr/lib/php5/extensions/openssl.so
b6de7000-b6de8000 rw-p 00010000 08:02 48034      /usr/lib/php5/extensions/openssl.so
b6de8000-b6de9000 rw-p b6de8000 00:00 0 
b6de9000-b6ef7000 r-xp 00000000 08:02 47999      /usr/lib/libmysqlclient.so.15.0.0
b6ef7000-b6f22000 rw-p 0010e000 08:02 47999      /usr/lib/libmysqlclient.so.15.0.0
b6f22000-b6f2d000 r-xp 00000000 08:02 48031      /usr/lib/php5/extensions/mysql.so
b6f2d000-b6f2e000 rw-p 0000b000 08:02 48031      /usr/lib/php5/extensions/mysql.so
b6f2e000-b6f73000 r-xp 00000000 08:02 47975      /usr/lib/libmhash.so.2.0.0
b6f73000-b6f74000 rw-p 00045000 08:02 47975      /usr/lib/libmhash.so.2.0.0
b6f74000-b6f7a000 r-xp 00000000 08:02 48036      /usr/lib/php5/extensions/zlib.so
b6f7a000-b6f7b000 rw-p 00006000 08:02 48036      /usr/lib/php5/extensions/zlib.so
b6f7b000-b6f80000 r-xp 00000000 08:02 47834      /usr/lib/libltdl.so.3.1.4
b6f80000-b6f81000 rw-p 00005000 08:02 47834      /usr/lib/libltdl.so.3.1.4
b6f81000-b6fac000 r-xp 00000000 08:02 47969      /usr/lib/libmcrypt.so.4.4.7
b6fac000-b6faf000 rw-p 0002a000 08:02 47969      /usr/lib/libmcrypt.so.4.4.7

Ich kann damit echt gar nichts anfangen...ist evtl. der Arbeitsspeicher defekt, oder bin ich komplett auf dem Holzweg?

Danke für alle Tipps.

Grüße

sledge0303
Posts: 695
Joined: 2005-09-16 00:06
Location: Berlin-Reinickendorf

Re: memory corruption meldung in error_log

Post by sledge0303 » 2007-04-19 15:32

Ich hatte damals auch so eine Meldung gehabt, da war nicht der Speicher sondern ein Modul für den Apachen Buggy.
Muss mal nachsehen ob ich mir das mal dokumentiert habe. Ist schon eine Weile her, oder gib mal

Code: Select all

malloc(): memory corruption
als Suchbegriff bei google ein.

HTH

Anonymous

Re: memory corruption meldung in error_log

Post by Anonymous » 2007-04-19 19:07

naja malloc dient anscheinend dazu eben Fehler die beim Beschreiben von Blöcken außerhalb des Speichers entstehen zu protokollieren oder so ähnlich.

captaincrunch
Userprojekt
Userprojekt
Posts: 7066
Joined: 2002-10-09 14:30
Location: Dorsten

Re: memory corruption meldung in error_log

Post by captaincrunch » 2007-04-19 20:55

Mitnichten! malloc(3) lässt sich sehr simpel wie folgt beschreiben:

malloc, calloc, realloc, free, cfree (3) - memory allocation and deallocation

Ist also nichts weiteres als eine systemnahe Funktion der Programmiersprache C, mit dem sich Speicher allozieren und wieder freigeben lässt.
DebianHowTo
echo "[q]sa[ln0=aln256%Pln256/snlbx]sb729901041524823122snlbxq"|dc