Maximum function nesting level of ‚100‘ reached, aborting!

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

Zdravím,

laděnka mi neustále vrací Maximum function nesting level of ‚100‘ reached, aborting!. Zkoušel jsem v php.ini změnit nesting level a stále to nepomáhá, jednou už jsem to tuším řešil a to stačilo změnit php.ini.

Děkuji moc za každý tip.

voda
Člen | 561
+
0
-

100 už je hodně, nevoláš tam něco rekurzivně? Ukáže laděnka kde k chybě došlo?

street
Člen | 10
+
0
-

Právě, že jsem nic v téhle části neměnil. Chybu hlásí loader

street
Člen | 10
+
0
-

Neřešil už tohle někdo, v tom projektu mám starší verzi Nette a novou verzi easyphp, dřív mi to fungovalo, tak nevím, kde by mohla být chyba.

David Matějka
Moderator | 6445
+
0
-

jakou verzi nette? kde to hlasi chybu?

trochu se snaz poskytnout vic informaci, jestli chces, aby ti nekdo pomohl…

street
Člen | 10
+
0
-

Verzi mám 2.0.8 a chybu hlásí loader na řádku 3582

__construct(Connection$connection){$this->connection=$connection;$this->setFetchMode(PDO::FETCH_CLASS,'Row',array($this));}function
Michal Vyšinský
Člen | 608
+
0
-

Mě toto dělal xdebug, stačí zvětšit ‚xdebug.max_nesting_level‘ – dal jsem to na 1000 a mám po problémech.

Azathoth
Člen | 495
+
0
-

@street hoď sem celou laděnku, jeden řádek opravdu nepomůže. Ať vidíme, kde přesně je ta rekurze. Nemáš tam cyklické dependencies?

street
Člen | 10
+
0
-
3572:    implode(', ',$vx);}elseif($this->arrayMode==='multi'){foreach($value
3573:    as$k=>$v){$vx[]=$this->formatValue($v);}return'('.implode(', ',$vx).')';}}elseif($value
3574:    instanceof
3575:    DateTime){return$this->driver->formatDateTime($value);}elseif($value
3576:    instanceof
3577:    SqlLiteral){return$value->__toString();}else{$this->remaining[]=$value;return'?';}}}if(class_exists('PDO')){class
3578:    Statement
3579:    extends
3580:    PDOStatement{private$connection;private$time;private$types;protected
3581:    function
3582:    __construct(Connection$connection){$this->connection=$connection;$this->setFetchMode(PDO::FETCH_CLASS,'Row',array($this));}function
3583:    getConnection(){return$this->connection;}function
3584:    execute($params=array()){static$types=array('boolean'=>PDO::PARAM_BOOL,'integer'=>PDO::PARAM_INT,'resource'=>PDO::PARAM_LOB,'NULL'=>PDO::PARAM_NULL);foreach($params
3585:    as$key=>$value){$type=gettype($value);$this->bindValue(is_int($key)?$key+1:$key,$value,isset($types[$type])?$types[$type]:PDO::PARAM_STR);}$time=microtime(TRUE);try{parent::execute();}catch(PDOException$e){$e->queryString=$this->queryString;throw$e;}$this->time=microtime(TRUE)-$time;$this->connection->__call('onQuery',array($this,$params));return$this;}function
3586:    fetchPairs(){return$this->fetchAll(PDO::FETCH_KEY_PAIR);}function

Requests

array(2) ▼ [
   0 => PresenterRequest(7) ▼ {
      method private => "GET" (3)
      flags private => array(1) ▼ {
         secured => FALSE
      }
      name private => "GenerateLink" (12)
      params private => array(1) ▼ {
         action => "default" (7)
      }
      post private => array(0)
      files private => array(0)
      frozen private => TRUE
   }
   1 => PresenterRequest(7) ▼ {
      method private => "FORWARD" (7)
      flags private => array(0)
      name private => "Master" (6)
      params private => array(2) ▼ {
         id => NULL
         action => "default" (7)
      }
      post private => array(0)
      files private => array(0)
      frozen private => TRUE
   }
]

Presenter

MasterPresenter(29) ▼ {
   invalidLinkMode => 2
   onShutdown => NULL
   request private => PresenterRequest(7) ▼ {
      method private => "FORWARD" (7)
      flags private => array(0)
      name private => "Master" (6)
      params private => array(2) ▼ {
         id => NULL
         action => "default" (7)
      }
      post private => array(0)
      files private => array(0)
      frozen private => TRUE
   }
   response private => NULL
   autoCanonicalize => TRUE
   absoluteUrls => FALSE
   globalParams private => array(0)
   globalState private => NULL
   globalStateSinces private => NULL
   action private => "default" (7)
   view private => "default" (7)
   layout private => NULL
   payload private => stdClass(0)
   signalReceiver private => ""
   signal private => NULL
   ajaxMode private => FALSE
   startupCheck private => TRUE
   lastCreatedRequest private => NULL
   lastCreatedRequestFlag private => NULL
   context private => SystemContainer(8) ▼ {
      classes => array(34) ▼ {
         object => FALSE
         icachejournal => "nette.cacheJournal" (18)
         filejournal => "nette.cacheJournal" (18)
         icachestorage => "cacheStorage" (12)
         filestorage => "cacheStorage" (12)
         httprequestfactory => "nette.httpRequestFactory" (24)
         ihttprequest => "httpRequest" (11)
         httprequest => "httpRequest" (11)
         ihttpresponse => "httpResponse" (12)
         httpresponse => "httpResponse" (12)
         httpcontext => "nette.httpContext" (17)
         session => "session" (7)
         iuserstorage => "nette.userStorage" (17)
         userstorage => "nette.userStorage" (17)
         user => "user" (4)
         application => "application" (11)
         ipresenterfactory => "nette.presenterFactory" (22)
         presenterfactory => "nette.presenterFactory" (22)
         irouter => "router" (6)
         imailer => "nette.mailer" (12)
         sendmailmailer => "nette.mailer" (12)
         dinestedaccessor => "nette.database" (14)
         settings => "settings" (8)
         routerfactory => "routerFactory" (13)
         routefilter => "routeFilter" (11)
         iauthenticator => "authenticator" (13)
         authenticator => "authenticator" (13)
         connection => "database" (8)
         pdo => "database" (8)
         prefixconnection => "database" (8)
         freezableobject => "container" (9)
         ifreezable => "container" (9)
         idicontainer => "container" (9)
         dicontainer => "container" (9)
      }
      meta => array(0)
      parameters => array(10) ▼ {
         appDir => "\sh\app" (51)
         wwwDir => "/sh" (47)
         debugMode => TRUE
         productionMode => FALSE
         environment => "development" (11)
         consoleMode => FALSE
         container => array(2) { ... }
         tempDir => "\sh\app/../temp" (59)
         database => array(6) { ... }
         nette => NULL
      }
      params => array(10) ▼ {
         appDir => "\sh\app" (51)
         wwwDir => "/sh" (47)
         debugMode => TRUE
         productionMode => FALSE
         environment => "development" (11)
         consoleMode => FALSE
         container => array(2) { ... }
         tempDir => "\sh\app/../temp" (59)
         database => array(6) { ... }
         nette => NULL
      }
      registry private => array(18) ▼ {
         "nette.httpRequestFactory" => HttpRequestFactory(2) { ... }
         httpRequest => HttpRequest(9) { ... }
         httpResponse => HttpResponse(5) { ... }
         session => Session(4) { ... }
         "nette.presenterFactory" => PresenterFactory(4) { ... }
         routerFactory => RouterFactory(0)
         "nette.cacheJournal" => FileJournal(9) { ... }
         cacheStorage => FileStorage(4) { ... }
         database => PrefixConnection(7) { ... }
         routeFilter => RouteFilter(1) { ... }
         router => RouteList(3) { ... }
         application => Application(14) { ... }
         container => SystemContainer(8) { *RECURSION* }
         settings => Settings(1) { ... }
         nette => DINestedAccessor(3) { ... }
         "nette.templateCacheStorage" => PhpFileStorage(5) { ... }
         "nette.userStorage" => UserStorage(3) { ... }
         user => User(8) { ... }
      }
      factories private => array(0)
      creating private => array(0)
      frozen private => FALSE
   }
   template private => FileTemplate(8) ▼ {
      file private => NULL
      onPrepareFilters => array(1) ▼ [
         0 => Callback(1) { ... }
      ]
      source private => NULL
      params private => array(12) ▼ {
         _control => MasterPresenter(29) { *RECURSION* }
         control => MasterPresenter(29) { *RECURSION* }
         _presenter => MasterPresenter(29) { *RECURSION* }
         presenter => MasterPresenter(29) { *RECURSION* }
         user => User(8) { ... }
         netteHttpResponse => HttpResponse(5) { ... }
         netteCacheStorage => FileStorage(4) { ... }
         baseUrl => "http://localhost/sh" (19)
         baseUri => "http://localhost/sh" (19)
         basePath => "/sh" (3)
         flashes => array(0)
         settings => Settings(1) { ... }
      }
      filters private => array(0)
      helpers private => array(0)
      helperLoaders private => array(1) ▼ [
         0 => Callback(1) { ... }
      ]
      cacheStorage private => PhpFileStorage(5) ▼ {
         hint => NULL
         dir private => "\sh\temp\cache" (58)
         useDirs private => TRUE
         journal private => FileJournal(9) { ... }
         locks private => NULL
      }
   }
   invalidSnippets private => array(0)
   snippetMode => NULL
   params protected => array(2) ▼ {
      id => NULL
      action => "default" (7)
   }
   components private => array(0)
   cloning private => NULL
   parent private => NULL
   name private => "Master" (6)
   monitors private => array(0)
}
David Matějka
Moderator | 6445
+
0
-

zkus pouzit nejnovejsi a neminifikovane 2.0.x

street
Člen | 10
+
0
-

Ahoj, po delší době jsem se k tomuto problému opět dostal a začal pořádně hledat, čím by to mohlo být. Jak psal @voda něco se mi tam volá rekurzivně – jde o generování odkazů v menu tedy volání GenerateLink:. Zvláštní je to, že na serveru v provozu vše normálně funguje a na lokálu fungovalo taky, z toho soudím, že by mohl být problém na mé straně v apache nebo kdesi jinde.

Děkuji.

V šabloně:

 <ul id="mainMenu" class="navigation">
    {foreach $mainMenu as $menuItem}
    <li>
	<a n:href="GenerateLink: $menuItem->id">
	    {$menuItem->label}
	</a>
    </li>
    {/foreach}
</ul>
class GenerateLinkPresenter extends Presenter {

	public function actionDefault($path = '') {
		if($path === '') {
			$this->forward('Master:default',array('id' => ''));
		}
	}
}
Michal Vyšinský
Člen | 608
+
0
-

Máš nainstalovaný xdebug? Mě to dělá xdebug viz. #p144460

street
Člen | 10
+
0
-

Ten nainstalovaný mám, nesting level a všechno možný jsem už zkoušel měnit a nepomáhá to, stačí když z linku smažu GenerateLink: a chybu to nehodí, záhada je právě v tom, že předtím mi to fungovalo a na serveru to funguje, magie. Možná kdybych odinstaloval xdebug, tak by to pomohlo, ale řešení to asi není nejlepší.

street
Člen | 10
+
0
-

Nevíte někdo, kde by mohlo docházet k rekurzi při použití GenerateLink?