This repository has been archived by the owner on Mar 12, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 27
Fatal error: Maximum function nesting level of '100' reached, aborting! #3
Labels
Comments
@elazar Any steps to reproduce this? |
@WyriHaximus I encountered it while issuing a |
Haven't seen any recent recurrences of this issue. Closing. |
Looks like someone else was able to replicate this. <?php
// ...
ini_set('xdebug.max_nesting_level', 100);
$plugins = [
new \Phergie\Irc\Plugin\React\Pong\Plugin,
new \WyriHaximus\Phergie\Plugin\Dns\Plugin(['enableCommand' => true]),
new \WyriHaximus\Phergie\Plugin\Http\Plugin,
new \Chrismou\Phergie\Plugin\PingPong\Plugin,
new \Phergie\Irc\Plugin\React\Command\Plugin(['prefix' => '!']),
new \Phergie\Irc\Plugin\React\AutoJoin\Plugin(['channels'=>'#tests']),
new \Test\Plugin
];
return array(
'connections' => [$conn],
'plugins' => $plugins
); <?php
// @codingStandardsIgnoreFile
namespace Test;
use Phergie\Irc\Bot\React\AbstractPlugin;
use Phergie\Irc\Bot\React\EventQueueInterface as Queue;
use Phergie\Irc\Plugin\React\Command\CommandEventInterface as Event;
class Plugin extends AbstractPlugin
{
public function getSubscribedEvents()
{
return [
'command.flood' => 'flood'
];
}
public function flood($event, $queue)
{
$limit = $event->getCustomParams()[0];
$channel = $event->getSource();
for ($x = 0; $x <= $limit; $x++) {
$queue->ircPrivmsg($channel, $x);
}
}
}
|
I'm guessing the repetition in the call stack is implying there's a circular use of recursion. If that's the case, we may want to look into implementing the trampoline pattern instead. |
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The repeated sequence appears to start at step 14 in the call stack below and spans 10 steps.
Here's a snippet of a single repetition:
The text was updated successfully, but these errors were encountered: