Apache stürzt in sekundentakt ab

Apache, Lighttpd, nginx, Cherokee
acronis
Posts: 49
Joined: 2005-06-17 06:41

Apache stürzt in sekundentakt ab

Post by acronis » 2009-09-04 21:25

Hallo Leute,

in letzter Zeit habe ich ein Problem mit Apache. Ich habe ein wbb board am Laufen und ich bekomme ständig Fehlermeldungen im Browser, dass die Verbindung zurückgesetzt wurde. Andere Leute berichteten mir, dass sporadisch die index.php zum Download angeboten wird.

In dem Apache error_log habe ich folgendes gefunden:

Code: Select all

Fri Sep 04 21:19:06 2009] [notice] child pid 18232 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:09 2009] [notice] child pid 18260 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:11 2009] [notice] child pid 18288 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:27 2009] [notice] child pid 18344 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:30 2009] [notice] child pid 18316 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:32 2009] [notice] child pid 18379 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:35 2009] [notice] child pid 18408 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:48 2009] [notice] child pid 18467 exit signal Segmentation fault (11)
[Fri Sep 04 21:19:51 2009] [notice] child pid 18439 exit signal Segmentation fault (11)


Ist das normal? Wie kann ich herausfinden, welches Script das auslöst. Oder liegt das an was anderem?
Vielen Dank für eure Antworten im Voraus.

papabaer
Userprojekt
Userprojekt
Posts: 170
Joined: 2009-05-14 17:40
Location: Halle (Saale)

Re: Apache stürzt in sekundentakt ab

Post by papabaer » 2009-09-05 02:41

Ein Segmentation fault schaffst du mit nem PHP-Script nicht, weil das selbst keine Pointer im RAM hat. Also entweder der Apache oder PHP selbst, was da abraucht. Wenn das von nem PHP-Script selbst durchkommt, dann hast du ne dicke Sicherheitslücke im PHP-Interpreter selbst.

Hast du PHP bzw. Apache (oder irgend eine Erweiterung) selbst compiliert? Das System auf nem aktuellem Stand?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache stürzt in sekundentakt ab

Post by Joe User » 2009-09-05 09:29

Was PapaBaer Dir sagen will ist: Apache oder eines seiner Module (es muss nicht mod_php sein) ist richtig kaputt und muss durch eine aktualisierte und funktionierende Version ersetzt werden.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

acronis
Posts: 49
Joined: 2005-06-17 06:41

Re: Apache stürzt in sekundentakt ab

Post by acronis » 2009-09-05 10:02

Danke für euere Antworten.

Ich benutze gentoo und das System ist auf dem neuesten Stand. Ich habe jetzt ein neues wbb aufgesetzt und alte Daten, wie User und Beiträge importiert. Siehe da, der Apache stürzt nicht mehr ab. Sobald ich aber wieder das alte wbb online stelle, dann stürzt Apache wieder ab. Also ich kann jetzt schonmal sagen, dass irgendwas am alten wbb bzw. an den plugins fürs wbb faul ist.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache stürzt in sekundentakt ab

Post by Joe User » 2009-09-05 11:32

Gut, dann ist es eine PHP-Extension welche bei Dir nur von einem der WBB-Plugins genutzt wird.

Code: Select all

emerge --info
emerge -pv php
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

acronis
Posts: 49
Joined: 2005-06-17 06:41

Re: Apache stürzt in sekundentakt ab

Post by acronis » 2009-09-05 11:52

Code: Select all

Portage 2.1.6.13 (hardened/linux/x86/2008.0, gcc-3.4.6-vanilla, glibc-2.9_p20081201-r2, 2.6.29-hardened i686)
=================================================================
System uname: Linux-2.6.29-hardened-i686-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_5600+-with-gentoo-1.12.11.1
Timestamp of tree: Wed, 02 Sep 2009 08:00:21 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p39
dev-java/java-config: 1.3.7-r1, 2.1.9
dev-lang/python:     2.4.4-r6, 2.5.4-r3, 2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe -msse3"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=k8 -O2 -pipe -msse3"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://de-mirror.org/distro/gentoo/ http://ftp.snt.utwente.nl/pub/os/linux/gentoo http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
LDFLAGS="-Wl,-O1"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="acl apache2 ares bcmath berkdb bzip2 bzlib calendar caps cdb cgi cli cracklib crypt ctype curl curlwrappers dbase dri encode expat fastcgi ffmpeg filter ftp gd gdbm gif glibc-omitfp gmp hardened hardenedphp hash hub iconv idn imagemagick imap inifile isdnlog ithreads java javascript jpeg latin1 libq++ libwww logrotate loop-aes maildir mbox md5sum memlimit mhash mime ming mmap mmx mode-forceclamav mpeg mudflap mysql ncurses nls noauthcram nptl nptlonly pam pam-mysql passthru pcre perl php pic png posix pppd python readline received reflection sasl session simplexml sni sockets source spamassassin spell spl sqlite sse sse2 ssl suexec svg symlink sysfs tcl tcpd threads tiff tokenizer truetype ucs2 udev unicode urandom vhosts x86 xattr xml xmlrpc xorg xsl zeo zip zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1    emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m    maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 imstt intel    mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage    siliconmotion sis sisusb tdfx tga trident tseng v4l vesa vga via vmware    voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS

Code: Select all

[ebuild   R   ] dev-lang/php-5.2.10  USE="apache2 bcmath berkdb bzip2 calendar cdb cgi cli crypt ctype curl curlwrappers dbase filter ftp gd gdbm gmp hash iconv imap inifile mhash mysql ncurses nls pcre pic posix readline reflection session simplexml sockets spell spl sqlite ssl threads tokenizer truetype unicode xml xmlrpc xsl zip zlib -adabas -birdstep -cjk -concurrentmodphp -db2 -dbmaker -debug -discard-path -doc -empress -empress-bcs -esoob -exif -fastbuild -fdftk -firebird -flatfile -force-cgi-redirect -frontbase -gd-external -interbase -iodbc -ipv6 (-java-external) -json -kerberos -kolab -ldap -ldap-sasl -libedit -mcve -msql -mssql -mysqli -oci8 -oci8-instant-client -odbc -pcntl -pdo -postgres -qdbm -recode -sapdb -sharedext -sharedmem -snmp -soap -solid -suhosin -sybase -sybase-ct -sysvipc -tidy -wddx -xmlreader -xmlwriter -xpm -yaz" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB


Ich sollte das hier reinkopieren, richtig?

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Apache stürzt in sekundentakt ab

Post by oxygen » 2009-09-05 12:18

Vermutlich wird es ein Problem mit einer Libary oder einer PECL Extension geben. Falls du PECL Extensions installiert hast (kannst du z.B. mit ls /etc/php/apache2-php5/ext-active/) nachschauen, solltest du diese zu erst neu kompilieren: z.B. emerge -1 dev-php5/pecl-fileinfo. Ansonsten wäre es schwer rauszufinden welche der dutzenden Libaries die PHP benutzt, das Problem verursacht. Da ist ein emerge -e php am einfachsten. Dauert aber halt lang.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache stürzt in sekundentakt ab

Post by Joe User » 2009-09-05 14:38

Diese USE-Flags braucht kein Mensch für ein Hosting-PHP:

Code: Select all

cdb dbase inifile ncurses readline spell threads

Davon sind ncurses und readline mit sehr hoher Wahrscheinlichkeit schuld an Deinem Problem und wenn Du dann noch Apache mit MPM Prefork einsetzt, dann hat threads dem Ganzen den endgültigen Todesstoss verpasst...


Klicke mal auf den Link in meiner Signatur und lies Dir das mal komplett durch...

Edit: msse3 in den C(XX)FLAGS ist auch böse.
Edit2: Deine systemweiten USE-Flags sind ja der Horror für einen Server und gcc-vanilla für ein Hardened-System ungeeignet...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

papabaer
Userprojekt
Userprojekt
Posts: 170
Joined: 2009-05-14 17:40
Location: Halle (Saale)

Re: Apache stürzt in sekundentakt ab

Post by papabaer » 2009-09-05 15:51

Bei gentoo kommt sowas häufig bei nem Update vor. Wenn es ein Update für eine Bibliothek gibt, eine andere Anwendung aber gegen diese Bibliothek gelinkt wurde, erfährt diese nichts vom Update und funzt nicht mehr sauber. Das kann man sehr einfach heile machen.

Code: Select all

emerge -avNDu world
emerge gentoolkit
revdep-rebuild


revdep-rebuild sollte anzeigen, dass etwas im Bereich apache oder php eine "broken dependency" hat und das entsprechende Packet neu bauen.

Du solltest das auf jeden Fall ganz machen, auch wenn deine PHP-Anwendung jetzt sauber läuft, weil man einen solchen Fehler unter Umständen ausnutzen kann, um in dein System einzubrechen.

EDIT: Joe Users Einwände solltest du zusätzlich auf jeden Fall auch beachten. Da gentoo alles selbst baut, kann eine falsche Zusammensetzung der Komponenten auch n arg instabiles System erzeugen. Und das will man auf nem Server definitiv nicht.

acronis
Posts: 49
Joined: 2005-06-17 06:41

Re: Apache stürzt in sekundentakt ab

Post by acronis » 2009-09-05 17:07

Danke für eure Antworten. Warum sollte ncurses und readline schuld daran sein? Wie kommst du darauf?

threads benötige ich für den mpm-worker. dbase inifile und spell könnten tatsächlich unnötig sein.
Warum sollte msse3 böse sein? Ich habe zu gcc-vanilla gewechselt, da ich einige Probleme mit dem normalen gehabt habe. Mein ganzes System ist mit vanilla kompiliert worden.
revdep-rebuild führe ich nach jedem Update durch.

Joe User du meinst also ich soll apache und php ohne den von dir oben gezeigten USEflags kompilieren?

acronis
Posts: 49
Joined: 2005-06-17 06:41

Re: Apache stürzt in sekundentakt ab

Post by acronis » 2009-09-09 22:50

Code: Select all

Sep  9 21:58:39 server apache2[11907]: segfault at a ip 4b10fe64 sp 58b68fe0 error 4 in eaccelerator.so[4b108000+1b000]
Sep  9 21:58:39 server grsec: From 91.62.111.54: signal 11 sent to /usr/sbin/apache2[apache2:11907] uid/euid:81/81 gid/egid:81/81, parent /usr/sbin/apache2[apache2:6881] uid/euid:0/0 gid/egid:0/0


Ich habe den Übeltäter gefunden. Mal schaun, ob es noch zu Ausfällen kommt.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache stürzt in sekundentakt ab

Post by Joe User » 2009-09-10 00:24

Acronis wrote:Danke für eure Antworten. Warum sollte ncurses und readline schuld daran sein? Wie kommst du darauf?

Beide Extensions sind nicht threadsafe und zudem nur im CLI nutzbar, verursachen aber im Modul und (F)CGI diverse Bugs...

Acronis wrote:threads benötige ich für den mpm-worker.

Was spricht gegen FCGI? Benötigt kein threads und ist nahezu gleich performant wie das Modul.

Acronis wrote:Warum sollte msse3 böse sein?

Weil es zu Runtime-Bugs führen kann und somit auf einem Server nix verloren hat.

Acronis wrote:Ich habe zu gcc-vanilla gewechselt, da ich einige Probleme mit dem normalen gehabt habe.

Welche Probleme genau? Solange man safe C(XX)FLAGS verwendet, ist lediglich grub beim hardened-toolchain problematisch.

Acronis wrote:Joe User du meinst also ich soll apache und php ohne den von dir oben gezeigten USEflags kompilieren?

Wie gesagt, sieh Dir mein HowTo in meiner Signatur an, dort findest Du alle notwendigen Flags für ein Server-Setup.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Apache stürzt in sekundentakt ab

Post by Joe User » 2009-09-10 00:27

Acronis wrote:

Code: Select all

Sep  9 21:58:39 server apache2[11907]: segfault at a ip 4b10fe64 sp 58b68fe0 error 4 in eaccelerator.so[4b108000+1b000]
Sep  9 21:58:39 server grsec: From 91.62.111.54: signal 11 sent to /usr/sbin/apache2[apache2:11907] uid/euid:81/81 gid/egid:81/81, parent /usr/sbin/apache2[apache2:6881] uid/euid:0/0 gid/egid:0/0


Ich habe den Übeltäter gefunden. Mal schaun, ob es noch zu Ausfällen kommt.

eaccelerator ist ohnehin keine Hilfe (mehr), nimm xcache oder pecl-apc, oder am Besten gar keinen, soviel Performance bringen sie auch nicht mehr...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.