eaccelerator bug: get_defined_constants(true) = Segmentation fault (11)
- Dr.Diesel
- Člen | 53
Ahoj všem, nevěděl jsem přesně, kam topic dát, kdyžtak to přesuňte/smažte pokud je to NetteOT.
Po instalaci eAcceleratoru mi po nějakém čase vždy web padal na blank screen. Vyřešil to sice restart Apache, ale po čase to nastalo zase. Náhodnými nebo následnými restarty Apache se mi to řešit nechtělo, tak jsem dohledával příčinu:
Apache/2.2.16 (Debian) Server
PHP 5.3.6 Dotdeb + Suhosin
eAccelerator 0.9.6.1
Environment.php
...
$list = get_defined_constants(TRUE);
...
Na tomhle to padlo na segfault. Pokud řešíte stejný problém, zkuste tento řádek nahradit:
...
//$list = get_defined_constants(TRUE);
$list = array("user" => get_defined_constants());
...
Vím že to není to samé a že je to nasty hack. Jako fix problému, kdy
server padá na segfaulty a po restartu čekáte kdy to přijde zase, to třeba
někomu poslouží.
Pokud to považujete za nebezpečné, můžete si Core a jiné konstanty
odfiltrovat z toho listu dodatečně. Enjoy.
Report na eaccelerator jsem posílal mailem, co jsem našel na SF, do tracu se mi u nich nedaří zaregistrovat.
Editoval Dr.Diesel (1. 5. 2011 22:31)
- Dr.Diesel
- Člen | 53
Začalo to až po instalaci eacceleratoru. Nechová se to trvale stejně po spuštění apache, ale začne to po několika dnech běhu, což popisovali jako problém u opcache (http://2bits.com/…ge-site.html , + ticket na eaccelerator.net , který se mi teď nedaří najít). Imho by to při zavinění suhosinem nešlo pořád.
- na1k
- Člen | 288
Tento bug se objevil i na hostingu Station.cz, v mém případě na server s19 a výše uvedené řešení funguje.
Příznaky:
- Chyba 324(net::ERR_EMPTY_RESPONSE)
- aplikace padá na Environment::loadConfig()
- log je prázdný
Pravděpodobně to způsobuje Suhosin, protože eAccelerator na Stationu není.
Píšu sem proto, aby bylo lépe dohledatelné :-)
Editoval na1k (25. 8. 2011 1:12)