PHP 5.3.8 a Error 101 (ERR_CONNECTION_RESET)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
uestla
Backer | 796
+
0
-

Pěknou přednoc přeji.

Potýkám se se zvláštním problémem s PHP verze 5.3.8, a sice při požadavku na stránku se vyhodí Chyba 101(net::ERR_CONNECTION_RESET): Připojení bylo resetováno.. Netuším, v čem je problém, nicméně postupným ručním debuggováním (echo 'ahoj'; die();) jsem se probublal k následujícímu stack trace:

  1. Application::run()
  2. Presenter::run()
  3. Presenter::sendTemplate()
  4. Presenter::sendResponse()
  5. TextResponse::send()
  6. FileTemplate::render();
  7. LimitedScope::load();

A na posledním bodě to padá… Bohužel jsem nebyl schopen, které soubory se limitovanou skoupou vkládají.

Nette mám ve verzi 2.0-dev released on 2011-12-23 už na nasazeném projektu, čili upgrade by znamenal rozsáhlejší přepracování (chtěl jsem jen otestovat pro novější verzi PHP a mám tuten problém…).

Tušíte, kde by mohlo být zakopané jádro pudla? Předem děkuji.

hrach
Člen | 1834
+
0
-

Debug/nondebug mod? Nejake addony do debug baru?

jtousek
Člen | 951
+
0
-

Už se to tu řešilo. Pokud se dobře pamatuju, může za to TodoPanel.

EDIT: A příště zkus trochu hledat, bylo to tady před ani ne týdnem.

Editoval jtousek (11. 5. 2012 23:56)

uestla
Backer | 796
+
0
-

Omlouvám se, hledal jsem, ale zjevně špatně.

Nicméně TodoPanel nepoužívám, s ním už jsem obtíže měl, čili jsem si na to dal pozor. Jak jsem psal, chyba nastává až při pokusu vložit soubor se šablonou (vizte uvedený stack trace nahoře).

Je to v debug režimu.

Majkl578
Moderator | 1364
+
0
-

A co k tomu povídá log serveru (Apache)?


Četl jsem příspěvek v tématu, které odkázal jtousek a napadlo mě, jestli tam není souvislost s tím, že exception handler Debuggeru končí tady exekuci scriptu kódem 255, který je ale rezervovaný PHP. Pokud bys dostával stejné info v logu, zkus na zmíněném řádku umazat 255 a nechat pouze exit. Dej vědět, jak to dopadlo.

jtousek
Člen | 951
+
0
-

OK. V tom případě bych zkusil vypnout všechny panely do Debugbaru (myšleno ty které nejsou přímo součástí Nette). Majklův postřeh by také mohl být správný, jen je mi divné, že to v Nette je použité i když by nemělo.

uestla
Backer | 796
+
0
-

Díky za reakce a omlouvám se za pozdní odpověď.

V error logu i v access logu žádný error není (v error.log jsou jen notice o vykonaných příkazech).

Bohužel ani po odstranění 255 jako vraceného kódu se chování nezmění (včetně logování na straně Apache).

Vypnutí všech ne-defaultních DebugBar doplňků bohužel také nepomáhá. Ani celé vypnutí Laděnky.

Už nevím, kde hledat :-(

Editoval uestla (12. 5. 2012 16:10)

uestla
Backer | 796
+
0
-

Děkuji za tip.

Pročetl jsem to. Zkoušel jsem změnit direktivu pcre.recursion_limit, ale marně :(

Apache stále hlásí, že prý Parent: child process exited with status 255 -- Restarting. (a to i po „vyndání“ 255 z kódu Debuggeru).

Jaký nástroj podobný wampu používáte, resp. jakou verzi PHP máte? Setkali jste se někdo s podobným problémem?

jtousek
Člen | 951
+
0
-

Doteď jsem na serveru používal 5.3.3, před cca týdnem jsem aktualizoval na 5.3.13. Server běží na Debianu a používám dotdeb balíčky.

Na localhostu jsem nyní aktualizoval na 5.4.3. WAMP nepoužívám ani nic podobného, Apache, MySQL, PHP i vše ostatní jsem si instaloval ručně.

Na podobný problém jsem u žádné Nette (ani jiné) aplikace nenarazil. Ani na localu ani na serveru.

Zkoušels zjistit kde přesně to padá v tom LimitedScope::load()? Přesněji, padá to opravdu na pcre? Kdysi se mi stalo, že jsem v latte zapomněl na nějakou závorku a celý regulární výraz co řešil šablonu úplně zkolaboval – bílá stránka, log nikde.

Dělá to jen jedna stránka / celý jeden web / všechny aplikace běžící na Nette?