phergie / phergie-irc-bot-react

IRC bot built on React
BSD 2-Clause "Simplified" License
81 stars 26 forks source link

Queueing events asynchronously appears to cause issues #2

Closed elazar closed 10 years ago

elazar commented 10 years ago

Something like this in an event handler method appears to cause problems:

$this->getResolver()->resolve($hostname)->then(function ($ip) use ($event, $queue, $message) {
  $queue->ircPrivmsg($event->getTargets(), $message . $ip);
});

Possibly because queued events are only processed when another event is sent or received.

Example backtrace:

PHP Fatal error:  Maximum function nesting level of '100' reached, aborting! in /home/wyrihaximus/projects/overlord-gateway-irc/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php on line 33
PHP Stack trace:
PHP   1. {main}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/bin/phergie:0
PHP   2. Phergie\Irc\Bot\React\Bot->run() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/bin/phergie:28
PHP   3. Phergie\Irc\Client\React\Client->run() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:247
PHP   4. React\EventLoop\LibEventLoop->run() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:419
PHP   5. event_base_loop() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/event-loop/React/EventLoop/LibEventLoop.php:215
PHP   6. React\EventLoop\LibEventLoop->React\EventLoop\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/event-loop/React/EventLoop/LibEventLoop.php:215
PHP   7. call_user_func() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/event-loop/React/EventLoop/LibEventLoop.php:39
PHP   8. React\Stream\Stream->handleData() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/event-loop/React/EventLoop/LibEventLoop.php:39
PHP   9. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/stream/React/Stream/Stream.php:118
PHP  10. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  11. React\Stream\Util::React\Stream\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  12. Phergie\Irc\Client\React\ReadStream->write() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/react/stream/React/Stream/Util.php:18
PHP  13. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/ReadStream.php:76
PHP  14. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  15. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  16. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:247
PHP  17. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  18. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  19. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:457
PHP  20. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  21. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  22. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  23. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  24. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  25. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  26. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  27. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  28. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  29. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  30. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  31. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  32. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  33. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  34. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  35. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  36. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  37. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  38. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  39. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  40. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  41. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  42. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  43. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  44. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  45. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  46. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  47. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  48. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  49. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  50. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  51. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  52. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  53. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  54. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  55. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  56. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  57. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  58. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  59. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  60. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  61. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  62. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  63. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  64. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  65. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  66. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  67. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  68. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  69. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  70. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  71. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  72. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  73. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  74. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  75. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  76. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  77. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  78. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  79. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  80. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  81. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  82. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  83. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  84. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  85. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  86. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  87. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  88. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:266
PHP  89. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  90. Phergie\Irc\Bot\React\Bot->Phergie\Irc\Bot\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  91. Phergie\Irc\Bot\React\Bot->processClientEvent() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:463
PHP  92. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  93. Phergie\Irc\Client\React\WriteStream->ircPrivmsg() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-bot-react/src/Bot.php:510
PHP  94. Evenement\EventEmitter->emit() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/WriteStream.php:343
PHP  95. call_user_func_array() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  96. Phergie\Irc\Client\React\Client->Phergie\Irc\Client\React\{closure}() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/evenement/evenement/src/Evenement/EventEmitter.php:70
PHP  97. Monolog\Logger->debug() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/phergie/phergie-irc-client-react/src/Client.php:165
PHP  98. Monolog\Logger->addRecord() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/monolog/monolog/src/Monolog/Logger.php:418
PHP  99. Monolog\Handler\AbstractProcessingHandler->handle() /home/wyrihaximus/projects/overlord-gateway-irc/vendor/monolog/monolog/src/Monolog/Logger.php:239
elazar commented 10 years ago

@wyrihaximus I'm hoping 853c8ae3d8f4093c141c97569cbf905b9a810a6c has resolved this. Can you confirm?

elazar commented 10 years ago

The referenced commit didn't affect the issue; the same stack trace was found. There is a pattern present therein:

{main}() phergie-irc-bot-react/bin/phergie:0
Phergie\Irc\Bot\React\Bot->run() phergie-irc-bot-react/bin/phergie:28
Phergie\Irc\Client\React\Client->run() phergie-irc-bot-react/src/Bot.php:248
React\EventLoop\LibEventLoop->run() phergie-irc-client-react/src/Client.php:465
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:344
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:468

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Evenement\EventEmitter->emit() phergie-irc-client-react/src/Client.php:293
Phergie\Irc\Bot\React\Bot->processClientEvent() phergie-irc-bot-react/src/Bot.php:464
Phergie\Irc\Bot\React\Bot->processOutgoingEvents() phergie-irc-bot-react/src/Bot.php:496

call_user_func_array() phergie-irc-bot-react/src/Bot.php:532
Phergie\Irc\Client\React\WriteStream->ircPrivmsg() phergie-irc-bot-react/src/Bot.php:532
Evenement\EventEmitter->emit() phergie-irc-client-react/src/WriteStream.php:343
Monolog\Logger->debug() phergie-irc-client-react/src/Client.php:192
elazar commented 10 years ago

Test case

Enable this plugin, then issue this command:

!dns nu.nl google.nl xs4all.nl fok.nl blog.wyrihaximus.net wyrihaximus.net wyrimaps.net blog.wyrimaps.net tweakers.net google.com amazon.co.uk eu.battle.net
elazar commented 10 years ago

With one small change to the test case plugin, I was unable to replicate this issue. The command referenced above works without issue.

WyriHaximus commented 10 years ago

So just for reference those are my stack traces and I use xdebug locally during development. xdebug throws a fatal error if the nesting level reaches 100. While PHP itself doesn't have a hard limit I always found it good practice to follow xdebug's limit.

WyriHaximus commented 10 years ago

PHP Version: 5.4.27 Xdebug Version: 2.2.3

elazar commented 10 years ago

I've installed the PHP and Xdebug versions you specified and I still can't replicate this issue. I checked that xdebug.max_nesting_level is not overridden and has the default value of 100. Any other ideas on what might be different between my environment and yours such that you can replicate the issue and I can't? Are you certain that your clones of phergie-irc-bot-react and phergie-irc-client-react are current with HEAD on master?

elazar commented 10 years ago

@WyriHaximus If this is no longer an issue or you have no new information to provide, I'd like to close this in anticipation of a stable release.

WyriHaximus commented 10 years ago

@elazar I don't have new information to provide. Also can't currently reproduce it.

elazar commented 10 years ago

Going to go ahead and call this issue resolved. Feel free to file another if you find you're able to reproduce it later. Thanks for the report.