Hallo Leute, wir haben gestern erstmalig einen Serverabsturz gehabt. In der Server Error log gab es dazu folgende Meldung(en): (ich habe die Log gekürzt auf die betreffenden Dateien - der Fehler Zeitpunkt (Zeile Datum) zieht sich über ca. 4 Minuten Serveradresse ist entfernt - Einträge beginnen ab Root ERGÄNZUNG: Habe eben mal im Log nachgeschaut vom Shop. Der Fehler trat sekundengenau auf als dem Kunden eine Bestätigungsmail über den Bestellstatus gesendet wurde. ---------------------------------------------------------- [color=red][Thu Apr 19 15:17:13 2012][warn-phpd] mmap cache can’t open[/color] (steht vor jedem Eintrag) [size=85]engine\Enlight\Vendor\Zend\library\Zend\Db\Adapter[b]Pdo\Mysql.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db\Adapter[b]Pdo\Abstract.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db\Adapter[b]Abstract.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db[b]Select.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db[b]Expr.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db\Statement[b]Pdo.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db[b]Statement.php[/b] (pid 2336 th 5232) engine\Enlight\Vendor\Zend\library\Zend\Db\Statement[b]Interface.php[/b] (pid 2336 th 5232) engine\backend[b]ajax\changeOrderState.php[/b] (pid 2336 th 5232) engine\backend\php[b]check.php[/b] (pid 2336 th 5232) shopware.php (pid 2336 th 5232) engine\Shopware[b]Shopware.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Enlight.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Application.php[/b] (pid 2336 th 5232) Application.php (pid 2336 th 5232) config.php (pid 2336 th 5232) engine\Enlight\Enlight[b]Exception.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Hook.php [/b](pid 2336 th 5232) engine\Enlight\Enlight[b]Singleton.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Class.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Loader.php[/b] (pid 2336 th 5232) engine\backend\ajax[b]documents.php[/b] (pid 2336 th 5232) engine\backend\php[b]check.php[/b] (pid 2336 th 5232) config.php (pid 2336 th 5232) engine\backend\php[b]functions.php[/b] (pid 2336 th 5232) engine\backend\ajax[b]documents.php[/b] (pid 2336 th 5232) engine\backend\php[b]check.php[/b] (pid 2336 th 5232) config.php (pid 2336 th 5232) engine\backend\php[b]functions.php[/b] (pid 2336 th 5232) engine\backend\ajax[b]changeOrderState.php[/b] (pid 2336 th 5232) engine\backend\php[b]check.php[/b] (pid 2336 th 5232) config.php (pid 2336 th 5232) engine\backend\php[b]functions.php[/b] (pid 2336 th 5232) shopware.php (pid 2336 th 5232) engine\Shopware[b]Shopware.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Enlight.php[/b] (pid 2336 th 5232) Enlight[b]Application.php[/b] (pid 2336 th 5232) Application.php (pid 2336 th 5232) config.php (pid 2336 th 5232) engine\Enlight\Enlight[b]Exception.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Hook.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Singleton.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Class.php[/b] (pid 2336 th 5232) engine\Enlight\Enlight[b]Loader.php[/b] (pid 2336 th 5232)[/size] [color=red][Thu Apr 19 15:17:29 2012] [warn] (OS 10055) Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war. : winnt_accept: Failed to allocate an accept socket. Temporary resource constraint? Try again.[/color] ------------------------------------------------------------------- Wie gesagt dieser Fehler trat erstmalig auf. Vielleicht kann mir irgend jemand einen Tip geben was dafür verantwortlich sein könnte? Vielen Dank und Grüße Louie
Nach einer Google-Runde werde mir gleich mal selbst antworten und es hier auch posten falls Andere mal ein ähnliches Problem haben: Zunächst: das Problem hat nichts mit Shopware zu tun --------- Unter Windows (apache auf Windowsservern) wird zur Annahme von Client-Anfragen standardmäßig die Winsock2-Funktion AcceptEx() verwendet, die gegenüber dem klassischen BSD-Systemaufruf accept() einen Performancegewinn liefert. Dies kann allerdings zu Inkompatibilitäten mit einigen anderen Programmen führen, zum Beispiel mit VPN-Software oder Antivirus-Programmen. Ein solches Problem kann sich in einer Fehlermeldung wie dieser äußern: An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover. Wenn die Direktive Win32DisableAcceptEx (ohne Wert) in die Konfigurationsdatei (http.conf) gesetzt wird, wird AcceptEx() deaktiviert. Dies gilt bis zu Apache Versionen 2.2 (an 2.4 wird dafür eine andere Komandozeile verwendet) Grüße Louie