Sonataadminbundle: Memory exhaustion when opening 'ACL Editor' with 128Mo on dev

Created on 4 Jul 2016  路  15Comments  路  Source: sonata-project/SonataAdminBundle

Environment

env = dev

Sonata packages

$ composer show sonata-project/*
sonata-project/admin-bundle              3.3.2  The missing Symfony Admin Generator
sonata-project/block-bundle              3.0.1  Symfony SonataBlockBundle
sonata-project/cache                     1.0.7  Cache library
sonata-project/cache-bundle              2.2.5  This bundle provides caching services
sonata-project/classification-bundle     3.0.0  Symfony SonataClassificationBundle
sonata-project/core-bundle               3.0.3  Symfony SonataCoreBundle
sonata-project/datagrid-bundle           2.2    Symfony SonataDatagridBundle
sonata-project/doctrine-extensions       1.0.2  Doctrine2 behavioral extensions
sonata-project/doctrine-orm-admin-bundle 3.0.4  Symfony Sonata / Integrate Doctrine ORM into the SonataAdminBundle
sonata-project/easy-extends-bundle       2.1.10 Symfony SonataEasyExtendsBundle
sonata-project/exporter                  1.5.0  Lightweight Exporter library
sonata-project/google-authenticator      1.0.2  Library to integrate Google Authenticator into a PHP project
sonata-project/intl-bundle               2.2.4  Symfony SonataIntlBundle
sonata-project/media-bundle              3.0.0  Symfony SonataMediaBundle
sonata-project/notification-bundle       3.0.0  Symfony SonataNotificationBundle
sonata-project/seo-bundle                2.0.2  Symfony SonataSeoBundle
sonata-project/user-bundle               3.0.1  Symfony SonataUserBundle

Symfony packages

$ composer show symfony/*
symfony/monolog-bundle     2.11.1  Symfony MonologBundle
symfony/phpunit-bridge     v2.8.8  Symfony PHPUnit Bridge
symfony/polyfill-apcu      v1.2.0  Symfony polyfill backporting apcu_* functions to lower PHP versions
symfony/polyfill-intl-icu  v1.2.0  Symfony polyfill for intl's ICU-related data and classes
symfony/polyfill-mbstring  v1.2.0  Symfony polyfill for the Mbstring extension
symfony/polyfill-php54     v1.2.0  Symfony polyfill backporting some PHP 5.4+ features to lower PHP versions
symfony/polyfill-php55     v1.2.0  Symfony polyfill backporting some PHP 5.5+ features to lower PHP versions
symfony/polyfill-php56     v1.2.0  Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions
symfony/polyfill-php70     v1.2.0  Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions
symfony/polyfill-util      v1.2.0  Symfony utilities for portability of PHP codes
symfony/security-acl       v2.8.0  Symfony Security Component - ACL (Access Control List)
symfony/swiftmailer-bundle v2.3.11 Symfony SwiftmailerBundle
symfony/symfony            v2.8.8  The Symfony PHP framework

PHP version

$ php -v
PHP 7.0.8 (cli) (built: Jun 22 2016 16:45:35) ( NTS )
Copyright (c) 1997-2016 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies
    with Zend OPcache v7.0.8, Copyright (c) 1999-2016, by Zend Technologies
    with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

Subject

When accessing ACL editor for Admin Class, server returns 500. It seems that the problem is in Memory limit, which is in this situation 128 Mo.

Steps to reproduce

  1. configure sonata to use ACL (exactly as said in documentation)
  2. edit an entitiy and click on 'Edit ACL'

    Expected results

Sonata ACL Editor

Actual results

Server Error 500 (Memory exhaustion)

bug unconfirmed

All 15 comments

Hi. Can you provide a stack trace? It might be useful.

ok, so here is the dev.log... it's all I get
dev.log.txt

it happens after clicking on 'Edit ACL'

Use the symfony profiler to query the corresponding url and get a real stack trace.

the thing is that symfony profiler also stops working. I can't get any traces on this error. :(
that why I said it's a bug... nothing is working after this error

Use the profiler in a page that works. There is a form in it to find the profile you are looking for.

Please also update your issue body according to the GitHub template.

@greg0ire noting is traced! seriously! after entering '{id}/edit' there is no more logging... I even used Profiler to trace stacks! but nothing!

I even used Profiler to trace stacks!

What do you mean by that?

Maybe I was not clear enough:

  1. Do the faulty action. you should not be able to see the stack trace.
  2. Go on a page that works.
  3. Open the profiler.
  4. Click "last 10".
  5. Find the profile.
  6. Find the stack trace in the profile.

Is this what you really mean by "use the profiler to trace stacks"? If yes this is probably a php Fatal error that cannot be recovered from. If yes, check the log of your web server instead of the log of your application.

And also, calm down.

Oh, I'm really sorry, I am calm actually, but I use too much emotions when I write comments :) my bad.

And yes, that was exactly what I did.

So, here is logs, after clicking Edit ACL (I really hope that memory exhaustion is not the reason!)

[05-Jul-2016 15:18:38 Europe/Berlin] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 8192 bytes) in /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php on line 45
[05-Jul-2016 15:18:38 Europe/Berlin] PHP Stack trace:
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   1. {main}() /home/aien/Web/MrAlef/MRA/web/app_dev.php:0
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   2. Symfony\Component\HttpKernel\Kernel->handle() /home/aien/Web/MrAlef/MRA/web/app_dev.php:30
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   3. Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:193
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   4. Symfony\Component\HttpKernel\HttpKernel->handle() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php:69
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   5. Symfony\Component\HttpKernel\HttpKernel->handleRaw() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:64
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   6. call_user_func_array:{/home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144}() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   7. Sonata\AdminBundle\Controller\CRUDController->aclAction() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   8. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/sonata-project/admin-bundle/Controller/CRUDController.php:910
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   9. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1062
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  10. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1062
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  11. Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1059
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  12. Symfony\Component\Form\ResolvedFormType->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:120
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  13. Symfony\Component\Form\Extension\Core\Type\CheckboxType->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/ResolvedFormType.php:209
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  14. array_replace() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php:45
[05-Jul-2016 15:18:38 Europe/Berlin] PHP Fatal error:  Allowed memory size of 134217728 bytes exhausted (tried to allocate 32768 bytes) in /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Debug/Exception/OutOfMemoryException.php on line 1
[05-Jul-2016 15:18:38 Europe/Berlin] PHP Stack trace:
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   1. {main}() /home/aien/Web/MrAlef/MRA/web/app_dev.php:0
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   2. Symfony\Component\HttpKernel\Kernel->handle() /home/aien/Web/MrAlef/MRA/web/app_dev.php:30
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   3. Symfony\Component\HttpKernel\DependencyInjection\ContainerAwareHttpKernel->handle() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/Kernel.php:193
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   4. Symfony\Component\HttpKernel\HttpKernel->handle() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/DependencyInjection/ContainerAwareHttpKernel.php:69
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   5. Symfony\Component\HttpKernel\HttpKernel->handleRaw() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:64
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   6. call_user_func_array:{/home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144}() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   7. Sonata\AdminBundle\Controller\CRUDController->aclAction() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/HttpKernel/HttpKernel.php:144
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   8. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/sonata-project/admin-bundle/Controller/CRUDController.php:910
[05-Jul-2016 15:18:38 Europe/Berlin] PHP   9. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1062
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  10. Symfony\Component\Form\Form->createView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1062
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  11. Symfony\Component\Form\Extension\DataCollector\Proxy\ResolvedTypeDataCollectorProxy->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Form.php:1059
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  12. Symfony\Component\Form\ResolvedFormType->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/DataCollector/Proxy/ResolvedTypeDataCollectorProxy.php:120
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  13. Symfony\Component\Form\Extension\Core\Type\CheckboxType->buildView() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/ResolvedFormType.php:209
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  14. array_replace() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/CheckboxType.php:45
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  15. Symfony\Component\Debug\ErrorHandler::handleFatalError() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:0
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  16. spl_autoload_call() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:642
[05-Jul-2016 15:18:38 Europe/Berlin] PHP  17. Symfony\Component\Debug\DebugClassLoader->loadClass() /home/aien/Web/MrAlef/MRA/vendor/symfony/symfony/src/Symfony/Component/Debug/ErrorHandler.php:642

I really hope that memory exhaustion is not the reason

Of course it is lol! What else could it be? Closing.

LOL... I don't want to believe this!! please say something else... why it is so heavy???

128 Mo is indeed quite big. Should we reopen this @sonata-project/contributors ?

You are on a dev env. 128 Mo is a very high limit for this.

An another issue could be opened if this report a real and precise reason of too much memory consumption (e.g. other thing than "I have a 500 on my application).

@Soullivaneuh sure... I'll report it as soon as I can

Was this page helpful?
0 / 5 - 0 ratings