IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

Allowed memory exhausted pour le test 3.6 jour 11


Sujet :

Symfony PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut Allowed memory exhausted pour le test 3.6 jour 11
    bonjour à tous, quand j'execute le test fonctionnel de la journée 11, arrive au test 3.6, j'ai un message d'erreur de memoire dépassé.
    Quelqu'un a une idée comment je peut debugger ce test ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 8192 bytes) in /home/mu8639/web/sfprojects/jobeet/apps/frontend/modules/job/templates/showSuccess.php on line 1
     
    Call Stack:
        0.0002      60052   1. {main}() /home/mu8639/web/sfprojects/jobeet/symfony:0
        0.0040     321692   2. include('/lib/vendor/symfony/lib/command/cli.php') /home/mu8639/web/sfprojects/jobeet/symfony:14
        0.1744    6316816   3. sfSymfonyCommandApplication->run() /lib/vendor/symfony/lib/command/cli.php:20
        0.1784    6337188   4. sfTask->runFromCLI() /lib/vendor/symfony/lib/command/sfSymfonyCommandApplication.class.php:76
        0.1786    6337188   5. sfBaseTask->doRun() /lib/vendor/symfony/lib/task/sfTask.class.php:97
        0.1946    6916732   6. sfTestFunctionalTask->execute() /lib/vendor/symfony/lib/task/sfBaseTask.class.php:68
        0.1974    7002424   7. include('/home/mu8639/web/sfprojects/jobeet/test/functional/frontend/jobActionsTest.php') /lib/vendor/symfony/lib/task/test/sfTestFunctionalTask.class.php:89
        4.4488   31890348   8. JobeetTestFunctional->createJob() /home/mu8639/web/sfprojects/jobeet/test/functional/frontend/jobActionsTest.php:156
        4.7191   33221292   9. JobeetTestFunctional->followRedirect() /home/mu8639/web/sfprojects/jobeet/lib/test/JobeetTestFunctional.class.php:52
        4.7191   33221292  10. sfTestFunctionalBase->__call() /lib/vendor/symfony/lib/test/sfTestFunctionalBase.class.php:0
        4.7191   33221292  11. call_user_func_array() /lib/vendor/symfony/lib/test/sfTestFunctionalBase.class.php:433
        4.7192   33221292  12. sfBrowserBase->followRedirect() /lib/vendor/symfony/lib/test/sfTestFunctionalBase.class.php:0
        4.7192   33221292  13. sfBrowserBase->get() /lib/vendor/symfony/lib/util/sfBrowserBase.class.php:543
        4.7192   33221292  14. sfBrowserBase->call() /lib/vendor/symfony/lib/util/sfBrowserBase.class.php:189
        4.7195   33221312  15. sfBrowser->doCall() /lib/vendor/symfony/lib/util/sfBrowserBase.class.php:323
        4.7315   33444408  16. sfFrontWebController->dispatch() /lib/vendor/symfony/lib/util/sfBrowser.class.php:43
        4.7316   33444408  17. sfController->forward() /lib/vendor/symfony/lib/controller/sfFrontWebController.class.php:48
        4.7347   33456276  18. sfFilterChain->execute() /lib/vendor/symfony/lib/controller/sfController.class.php:233
        4.7350   33456444  19. sfFakeRenderingFilter->execute() /lib/vendor/symfony/lib/filter/sfFilterChain.class.php:53
        4.7350   33456444  20. sfFilterChain->execute() /lib/vendor/symfony/lib/util/sfBrowser.class.php:165
        4.7352   33456460  21. sfExecutionFilter->execute() /lib/vendor/symfony/lib/filter/sfFilterChain.class.php:53
        4.7643   33503644  22. sfExecutionFilter->handleView() /lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php:47
        4.7643   33503644  23. sfExecutionFilter->executeView() /lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php:116
        4.7661   33503644  24. sfPHPView->render() /lib/vendor/symfony/lib/filter/sfExecutionFilter.class.php:155
        4.7662   33503644  25. sfPHPView->renderFile() /lib/vendor/symfony/lib/view/sfPHPView.class.php:185
    le test en question:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $browser->info('  3.6 - A job validity cannot be extended before the job expires soon')->
      createJob(array('position' => 'FOO4'), true)->
      call(sprintf('/job/%s/extend', $browser->getJobByPosition('FOO4')->getToken()), 'put', array('_with_csrf' => true))->
      with('response')->begin()->
        isStatusCode(404)->
      end()
    ;

  2. #2
    Invité
    Invité(e)
    Par défaut
    2 solutions s'offrent à toi :

    • La plus simple mais la plus "bidouille" : augmenter la mémoire affectée à PHP.

      Cela n'est généralement pas possible si tu utilises un serveur mutualisé. De même, si tu as déjà une taille de mémoire importante, il faudra s'orienter vers la solution 2.

      Pour augmenter la mémoire allouée, tu peux soit éditer le fichier php.ini, soit le configurer en de manière ponctuelle via la directive ini_set via la directive : memory_limit

      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      ini_set('memory_limit','16M');
      A adapter bien entendu en fonction de tes besoins, ainsi qu'en fonction de la valeur déjà en place.


    • Seconde solution, étudier le code et trouver quels sont les instructions qui demandent tant de mémoire que ça.

      Une astuce souvent utile ( même si dans ton cas je ne pense pas que tu pourra l'utiliser ) est de libérer la mémoire des objets doctrine via la méthode free

  3. #3
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    Je suppose que tu test sur un wamp ou un lamp en local.

    A mon avis, t'as un bug dans ton code, le log semblerait indiquer dans le template, mais cela pourrait être une "fausse barbe", d'une manière certaine c'est dans l'action testée.

    Il n'y a rien dans joobet qui nécessite un serveur "sur vitaminé" en mémoire. Vérifie ton code, que tu n'ai pas une boucle de la mort qui tue dans le template..

    Que donne la même demande, mais faîte "normalement" dans l'explorateur ?

  4. #4
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    je suis en local effectivement
    la même demande via l'explorateur fonctionne;
    Le meilleur c'est que si je fait un test:all, je n'ai aucun message d'erreur !!!!

  5. #5
    Expert confirmé
    Avatar de Michel Rotta
    Homme Profil pro
    DPO
    Inscrit en
    Septembre 2005
    Messages
    4 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : DPO
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2005
    Messages : 4 954
    Par défaut
    C'est le genre de bug qu'il ne va pas être simple à trouver.

    Un gros nettoyage, un effacement du cache à la mano.

    Après, si cela marche pour tous et pas pour un individuel...

    Il y a probablement une action qui est effectué avant dans le "tous" et pas dans le "individuel" qui modifie le comportement du "individuel". Reste à trouver la quel... A part y aller par tâtonnement et essais successifs, je ne vois pas trop.

  6. #6
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 534
    Par défaut
    et impossible de savoir quel est le test qui ne fonctionne pas, je supprime au hasard des test, ça fonctionne, j'arrive à un nombre critique de test, ça plante :-(

    ce qui est bizarre, c'est que j'ai le même problème avec mes fixtures.

Discussions similaires

  1. [EasyPHP] Allowed memory size exhausted
    Par dr_g. dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 10
    Dernier message: 22/05/2009, 13h45
  2. Erreur "Allowed memory size of x bytes exhausted"
    Par lysandre dans le forum Langage
    Réponses: 3
    Dernier message: 01/11/2008, 00h38
  3. [PEAR][Mail] Fatal Error : Allowed memory size of 8388608 bytes exhausted
    Par bigben89 dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 20/10/2008, 18h01
  4. Réponses: 3
    Dernier message: 08/08/2007, 19h08
  5. [Librairies] zip.lib.php Fatal error: Allowed memory size of 8388608 bytes exhausted
    Par manaboko dans le forum Bibliothèques et frameworks
    Réponses: 9
    Dernier message: 22/05/2006, 10h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo