Jump to content
xanderos25

Chargement Sans Fin Lors De L'ajout D'un Produit

Recommended Posts

Bonsoir,

 

je viens vers vous car je suis à cours d'idées concernant un problème sur le site de mon client, je m'explique :

 

Il possédait une boutique en 1.4 avec plus de 3000 produits et catégories, j'ai passé sont site en 1.6.1.1 mais lorsqu'on essai d'ajouter un produit, en remplissant juste l'onglet information par exemple, après avoir cliqué sur le bouton enregistrer la page charge indéfiniment. Pourtant le produit est bien ajouté, mais nous n'avons donc pas accès aux autres onglets.

J'ai regardé dans la console, aucunes erreurs constaté, le script semble rentrer dans une boucle infinie dès les première étapes.

 

Quelqu'un aurait-il une idée ? J'ai pensé aux modules, est-ce que je dois plus me pencher là dessus ?

 

Merci beaucoup, Max

Share this post


Link to post
Share on other sites

Difficile de répondre sans avoir une URL.

Il faut débuguer avec un outil réseau pour détecter le moment où la boucle démarre. Bizarre qu'il n'y ait aucune erreur.

Si c'est à l'ajout au panier, je pencherais pour un problème lors de la requête AJAX

Edited by franckm1000 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

merci pour ta réponse, la bouclé démarre sur le fichier ajax.php contenu dans le dossier admin, ce fichier est rappelé 2-3 fois avant qu'au final la page s'arrête.

 

J'ai vu que dans ce fichier on parcours toutes les catégories et produits du site, et vu que j'en ai beaucoup cela pourrait expliquer le temps fou (voir infinie) qu'il met pour charger.

 

Nouveau problème je ne peux plus me connecter au backoffice aussi, enfin que très rarement, je rentre mes identifiants, je me connecte, et l'icon de chargement de prestashop tourne en continue, et dans la console je peux voir que "json data is null", encore un problème ajax/json ducoup.

 

Pareil tu as raison j'ai eu des problèmes à l'époque pour ajouter au panier que j'ai pallié par une manip, mais j'ai donc bien un problème ajax sur le site, comment je peux le résoudre ? Réinstaller les fichiers "déféctueux" ?

 

Merci

Share this post


Link to post
Share on other sites

Ca peut aussi être un problème de connexion à la base de données.

Ta base de données est sur la même IP que le FTP ?

Ca m'est arrivé une fois. Vérifies déjà bien la connexion à la base de données dans les CONFIG.

 

Après, si tu as modifié des fichiers CORE, essaies effectivement de remettre les fichiers initiaux pour voir déjà.

Share this post


Link to post
Share on other sites

Ce qui est étrange c'est que desfois il arrive à se connecter et d'autre fois non, ça ne semble donc pas être un problème de connexion à la base de donnée mais je vais quand même me pencher là dessus.

Oui en effet la base de donnée est sur la même IP que le ftp, ca pourrait poser problème tu penses ?

Aussi j'ai pensé aux permissions, peut-être que ca vient de là aussi ..

 

Merci pour ton aide

 

 

EDIT : Lors de la boucle infinie de l'ajout de produit, j'ai pu chopper ça dans la console, peut être que ça peut t'aider

"mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create d3.v3.min.js:3:4253
L'utilisation d'XMLHttpRequest de façon synchrone sur le fil d'exécution principal est obsolète à cause de son impact négatif sur la navigation de l'utilisateur final. Consulter http://xhr.spec.whatwg.org/ pour plus d'informations."

Edited by xanderos25 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

Vous avez activé l'affichage des erreurs dans le fichier define.inc.php ?

 

Vous avez fait une maj 1.4 vers 1.6 avec le module d'upgrade de Prestashop?

Share this post


Link to post
Share on other sites

Bonjour,

 

oui en effet j'ai fais la màj de 1.4 à 1.6 grâce au module d'upgrade, et en activant les erreurs je n'ai rien mis à part un max execution time excedeed, pourquoi cela pourrai être lié à la mise à jour ?

Share this post


Link to post
Share on other sites

Bonsoir,

 

Oui ça pourrait être une piste, le problème avec ce genre de problème c'est que via un forum c'est pas facile de vous venir en aide.

 

Déjà il faut voir si vous avez un message d'erreur sur la page ajax lorsque vous avez la boucle infinie, l'erreur n'est pas forcement sur la console mais peut être visible en affichant l'onglet response de la page ajax dans la console.

 

A partir de là il faut aviser selon le message indiqué 

Share this post


Link to post
Share on other sites

Bonjour,

 

tout d'abord merci pour ta réponse, oui c'est sûre que comme ça c'est difficile de m'aider ...

Si jamais tu as le temps de venir sur Teamviewer rapidement histoire que tu en sache un peu plus, je peux aussi te laisser une petite rémunération si tu arrives à me faire avancer sur ce bug, car c'est la dernière étape avant de livrer le site et je t'avoue que ça commence à trainer cette histoire.

 

Pour l'affichage de l'onglet response d'Ajax, de quel façon je peux l'afficher ? Et il ne me semble pas qu'il y est d'erreur ajax, en revanche j'ai réussi à "débusquer" des erreurs jquery dans la console, et ce serai ce fichier jquery qui appelerai ajax.php, bref je te laisse une capture d'écran d'une partie des messages que ça m'avait affiché :

js.jpg

 

 

N'hésite pas si tu as besoin d'information supplémentaire,

 

Bonne soirée

Share this post


Link to post
Share on other sites

Je reviens au nouvelles, après avoir pris le dossier /js/admin d'un prestashop clean et avoir remplacé l'ancien par celui-ci, je parviens à enregistrer mon produit, cependant je ne peux le faire qu'une fois, c'est à dire j'arrive je crée un produit j'enregistre tout va bien, mais lorsque je vais modifier (ou non) ce produit et l'enregistrer de nouveau on se retrouve avec le même problème de chargement infinie.

C'est déjà une bonne avancé qu'on puisse enregistrer la première fois, mais je comprend pas pourquoi ça bloque à la deuxième ...

Share this post


Link to post
Share on other sites

J'ai été confronté à un problème similaire.

Mes requêtes ajax pour la modification de produits tournaient a l'infini car, coté serveur, les requêtes dépassaient la limite de temps de 30 secondes.

Il s'agissait d'un tri sur un tableau avec énormément de déclinaisons à l'intérieur.

 

Pour détecter d'où venait le problème, j'ai du regarder le log d'erreur PHP.

Peut-être tu devrais jeter un coup d’œil par là.

Edited by Cobs (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

merci pour ta réponse, comment as-tu résolu le bug au final ?

Pour le log d'erreur php j'ai regardé du côté de /var/log les fichiers dont la date de modification correspondait à l'heure à laquelle je faisais mon test de modification de produit, et j'ai ressortie la capture d'écran suivante de celui qui à chaque modification de produit se mettait à jour :

 

log.jpg

 

Pas d'erreur php à priori, je commence vraiment à pédaler dans la semoule là ...

Share this post


Link to post
Share on other sites

Pour résoudre mon problème (sous presta 1.6.1.3) j'avais du mettre en commentaire la ligne 4320 du fichier prestashop/controllers/admin/AdminProductController.php

elle ressemble à ceci :

natsort($attribute_js[$attribute['id_attribute_group']]);

 

Le screen que tu as montré, c'est le fichier Access.log non ?

Tu pourrais regarder dans /var/log/apache2/error.log Après avoir attendu 30 sec sur la boucle infini ?

Share this post


Link to post
Share on other sites

J'ai essayé ce que tu as dis helas le problème persiste, je vais voir ce fichier de plus prêt à mon avis le problème se trouve dedans en effet,

 

oui le screen ce n'étais pas le log d'erreur, le voici :

log.jpg

 

Merci encore pour ton aide

Share this post


Link to post
Share on other sites

hé bien, c'est la 1ère fois que je vois un Segmentation Fault en PHP. Je pensais pas que c'était possible.

 

tu dis que quand tu charge une page produit, il n'y a que l'onglet 'Information' qui s'affiche, c'est bien ça ?

A mon avis c'est pas une erreur de requête AJAX vu que c'est clairement coté serveur que ça plante.

Share this post


Link to post
Share on other sites

C'est sur un serveur Linux ça vient de ça je pense,

et non tous les onglets s'affichent bien je peux y accéder etc, mais lorsque je modifie un produit c'est à dire je l'enregistre de nouveau après avoir fais ou non des modifications, je me retrouve avec un chargement infinie

Share this post


Link to post
Share on other sites

Problème résolu, c'est les modules mit sur le hook actionBeforeUpdateProduct qui me provoquait ce problème, alors que je n'avais que des modules prestashop, bizard ...

Merci encore pour votre aide

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More