[horde] PHP7 : Memory eater bug? -> infinite recursion, getting closer :)
Michael J Rubinsky
mrubinsk at horde.org
Fri Feb 17 05:59:30 UTC 2017
Quoting Torben Dannhauer <torben at dannhauer.info>:
> Zitat von Torben Dannhauer <torben at dannhauer.info>:
>
>> Hi,
>>
>>
>>
>> Yesterday I discovered a lot of errors thrown by PHP7 due to my memory
>> limit.
>>
>>
>>
>> I get lots of errors like this:
>>
>> <snip>
>>
>> [13-Feb-2017 09:57:35 Europe/Berlin] PHP Fatal error: Allowed memory size
>> of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in
>> /var/www/torben/web/ssl-dannhauer.de/horde/mnemo/lib/Mnemo.php on line 537
>>
>> [13-Feb-2017 09:57:35 Europe/Berlin] PHP Fatal error: Allowed memory size
>> of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in
>> /usr/share/php/Horde/ErrorHandler.php on line 193
>>
>> [13-Feb-2017 09:58:08 Europe/Berlin] PHP Fatal error: Allowed memory size
>> of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in
>> /var/www/torben/web/ssl-dannhauer.de/horde/mnemo/lib/Mnemo.php on line 537
>>
>> [13-Feb-2017 09:58:08 Europe/Berlin] PHP Fatal error: Allowed memory size
>> of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in
>> /usr/share/php/Horde/ErrorHandler.php on line 193
>>
>> <snap>
>>
>>
>>
>> It doesn't matter whether my limit is configured as 512M, 2G or 3G. Anyway,
>> a limit exceed in that order of memory is very likely to be a bug.
>>
>> Unfortunatly I do not have a clue how to start debugging here. The System
>> itself shows of course only the processes, not the memory consumption of
>> every running script.
>>
>>
>>
>> Any hints whjere to start?
>>
>>
>>
>> Many thanks,
>>
>> Torben
>>
>
>
>
> I'm getting closer to the problem.
>
> I installed xdebug to dive deeper into the issue and discovered that
> the error does not longer occur as long als xdebug is loaded into PHP.
> Screening the tons of logs produced by xdebug, I sawthat xedebug
> cancels the execution due to the max_nesting level. So the error
> still DOES occur, but is catched by xdebug and announced in the
> loggs with different message.
> Here is the full log, it indicates an endless recursion in mnemo -
> whit fits perfect to the picture of this issue:
>
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP Fatal error: Maximum
> function nesting level of '256' reached, aborting! in
> /usr/share/php/Horde/ErrorHandler.php on line 193
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP Stack trace:
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 1. {main}()
> <webroot>/horde/rpc.php:0
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 2.
> Horde_Rpc_ActiveSync->getResponse() <webroot>/horde/rpc.php:160
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 3.
> Horde_ActiveSync->handleRequest()
> /usr/share/php/Horde/Rpc/ActiveSync.php:143
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 4.
> Horde_ActiveSync_Request_Base->handle()
> /usr/share/php/Horde/ActiveSync.php:834
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 5.
> Horde_ActiveSync_Request_Ping->_handle()
> /usr/share/php/Horde/ActiveSync/Request/Base.php:253
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 6.
> Horde_ActiveSync_Collections->pollForChanges()
> /usr/share/php/Horde/ActiveSync/Request/Ping.php:222
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 7.
> Horde_ActiveSync_Collections->getCollectionChangeCount()
> /usr/share/php/Horde/ActiveSync/Collections.php:1222
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 8.
> Horde_ActiveSync_Collections->getCollectionChanges()
> /usr/share/php/Horde/ActiveSync/Collections.php:1417
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 9.
> Horde_ActiveSync_State_Base->getChanges()
> /usr/share/php/Horde/ActiveSync/Collections.php:1401
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 10.
> Horde_Core_ActiveSync_Driver->getServerChanges()
> /usr/share/php/Horde/ActiveSync/State/Base.php:437
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 11.
> Horde_Core_ActiveSync_Connector->getChanges()
> /usr/share/php/Horde/Core/ActiveSync/Driver.php:1112
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 12.
> Horde_Registry_Caller->getChangesByModSeq()
> /usr/share/php/Horde/Core/ActiveSync/Connector.php:1098
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 13.
> Horde_Registry_Caller->__call()
> /usr/share/php/Horde/Core/ActiveSync/Connector.php:1098
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 14. Horde_Registry->call()
> /usr/share/php/Horde/Registry/Caller.php:41
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 15.
> Horde_Registry->callByPackage() /usr/share/php/Horde/Registry.php:1088
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 16.
> Mnemo_Api->getChangesByModSeq() /usr/share/php/Horde/Registry.php:1131
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 17.
> Mnemo_Api->getChanges() <webroot>/horde/mnemo/lib/Api.php:135
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 18. Mnemo_Api->listBy()
> <webroot>/horde/mnemo/lib/Api.php:117
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 19. Mnemo_Api->listBy()
> <webroot>/horde/mnemo/lib/Api.php:158
> [.... and so on...]
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 252. Mnemo_Api->listBy()
> <webroot>/horde/mnemo/lib/Api.php:158
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 253. Mnemo_Api->listBy()
> <webroot>/horde/mnemo/lib/Api.php:158
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 254.
> Mnemo::getSyncNotepads() <webroot>/horde/mnemo/lib/Api.php:155
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 255.
> Horde_Prefs->getValue() <webroot>/horde/mnemo/lib/Mnemo.php:538
> [16-Feb-2017 13:20:50 Europe/Berlin] PHP 256.
> Horde_Prefs->_getScope() /usr/share/php/Horde/Prefs.php:289
>
> I'm happy to get any hint what might be the reason. I assume
> something to do with PHP7 ;)
Can you see what Mnemo::getSyncNotepads(); returns? Easiest way would
be to use admin->phpshell from within horde, be sure to choose the
Mnemo scope from the drop down menu.
> Thanks,
> Torben
>
>
>
>
>
>
>
> --
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/
> To unsubscribe, mail: horde-unsubscribe at lists.horde.org
--
mike
The Horde Project
http://www.horde.org
https://www.facebook.com/hordeproject
https://www.twitter.com/hordeproject
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 3282 bytes
Desc: S/MIME Signature
URL: <https://lists.horde.org/archives/horde/attachments/20170217/d8008198/attachment.bin>
More information about the horde
mailing list