El panel de administración de Magento 2 se cuelga para siempre hasta que se actualice la página

13

Desde que trabajé con Magento 2, repetidamente tengo este molesto problema:

  1. Me conecto al panel de administración o cambio a una página diferente dentro del panel de administración
  2. La página comienza a cargarse, a veces se muestra parcialmente pero luego se cuelga para siempre (al menos durante varios minutos), a veces se muestra completamente pero el navegador aún indica "cargando" y la navegación no funciona, pero no veo fallos ni ejecución solicitudes en la consola del navegador.
  3. Si presiono F5mientras está colgando, la página se carga casi instantáneamente (al menos la mayor parte del tiempo)

No parece estar relacionado con ningún evento, porque obtengo este comportamiento incluso sin haber realizado ningún cambio en el panel de administración, ni en el código, solo navegando. Sin embargo, observé una posible correlación con cachés invalidados .

¿Alguna idea de lo que podría causar este problema? No creo que sean los problemas típicos con los permisos o las cookies porque, en general, el panel de administración funciona.

Magento se ejecuta en modo desarrollador en Linux.

Fabian Schmengler
fuente
1
Tengo exactamente el mismo problema, nunca me tomé el tiempo de preguntar, me alegro de que lo hayas hecho. ¿Qué versión de PHP estás ejecutando? Estoy ejecutando 5.6.algo y estoy bastante seguro de que está relacionado. Escuché que mucha gente me dijo que M2 era increíblemente lento cuando no ejecutaba PHP 7
Raphael en Digital Pianism
1
PHP 5.5, sería interesante saber si alguien tuvo este problema con PHP 7
Fabian Schmengler
1
Estoy usando PHP 7 y enfrento el mismo problema
Reena Parekh
1
Alan Storm sugirió esto, tal vez relacionado tal vez no: magento.stackexchange.com/questions/3720/…
Raphael en Digital Pianism
1
Tengo algún problema con Magento 2.0.4 ejecutándose en Vagrant (Ubuntu 14.04 / PHP 5.5.9 / MySQL 5.6.28) :(
Siarhey Uchukhlebau

Respuestas:

3

ACTUALIZAR

Parece que actualizar Firefox a 46 soluciona el problema.

Investigaciones originales

Como también me enfrento a este molesto problema, decidí intentarlo.

Configuración

  • Ubuntu Server 12.4
  • PHP 5.5.30
  • MySQL 5.6.27
  • Instalación reciente de Magento 2.0.4 sin muestra
  • Modo desarrollador con caché deshabilitado

Replicando el problema

A primera vista, este problema me pareció totalmente aleatorio. Sin embargo, después de varias pruebas, logré averiguar exactamente cómo replicar el problema.

Navegador

Primero, no he podido replicar el problema en Google Chrome, Internet Explorer 11 ni en el viejo Windows Safari 5.2.17. Principalmente estoy usando Firefox (45.0.2) y rara vez uso Google Chrome. Incluso después de haber encontrado exactamente cómo replicar el problema, no he podido hacerlo en Chrome.

Pestañas

Debes tener varias pestañas abiertas en Firefox para poder replicar el problema.

Pasos

  1. Abra el panel de administración e inicie sesión
  2. Una vez que esté en el tablero, puede hacer clic en cualquier elemento del menú. Normalmente hago clic en el icono del tablero nuevamente
  3. Tan pronto como haya hecho clic en el elemento del menú, haga clic en una de las pestañas abiertas y siga navegando en Internet mientras espera que el panel de administración termine de cargarse (según el icono giratorio junto al título de la pestaña)
  4. Bueno, desafortunadamente nunca cargarás esa página.

Investigación

Entonces parece que cuando el cliente no está enfocado en la pestaña del Panel de administración, Magento 2 parece no cargar todos los recursos para que el sitio web se cargue por completo .

Lo que noté cuando volví a la página del panel de administración de carga infinita es que había muchos recursos que se cargaron con éxito.

Como dijo Fabian, no hay error en la consola, no se siguen cargando recursos ni recursos que no se hayan podido cargar. Todo parecía que la página había terminado de cargarse.

Sin embargo, cuando hice clic en el botón de detener la carga de Firefox (la X en la barra de URL), noté que se agregaron varios recursos en la pestaña de red que no estaban aquí cuando la página estaba en el estado de carga infinita

TENGA EN CUENTA: la captura de pantalla a continuación es solo para el tablero, noté que se cargaron más recursos después de hacer clic en el botón de detener la carga en las páginas de configuración, por ejemplo.

ingrese la descripción de la imagen aquí

Entonces, para la página Panel, esos recursos se agregaron después de hacer clic en el botón de detener la carga.

Cuando la página se carga normalmente, al no cambiar a otra pestaña, los siguientes recursos se cargan después de la carga DOM (supongo que a través de AJAX), puede notar la línea gris más gruesa entre esos y los recursos anteriores:

ingrese la descripción de la imagen aquí

Entonces, por alguna razón, los siguientes recursos se cargan automáticamente cuando la página está en el estado de carga infinita, pero se cargan después de la carga DOM cuando la página se carga bien:

  • /static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-popup.html
  • /static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-slide.html
  • /static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/modal/modal-custom.html
  • /static/adminhtml/Magento/backend/en_US/mage/apply/scripts.js

Así de lejos llegué a mi tarea de depuración, creo que todavía hay mucho que podemos hacer para probar y reducir el problema, pero no tuve tiempo para hacer más pruebas, volveré a hacerlo cuando tenga tiempo.

Investigaciones más profundas

Así que terminé instalando el complemento HTTPFox en mi FireFox.

Esto es lo que obtuve cuando hice clic en el botón de detener la carga después de 1 minuto de carga (puede ver que jquery.storageapi.min.jstiene 59 segundos en la columna de tiempo). Las filas resaltadas son los recursos que se cargaron después de que detuve la carga:

ingrese la descripción de la imagen aquí

Intenté actualizar la biblioteca jquery.storageapi con la última versión disponible en GitHub, pero desafortunadamente no parece solucionar el problema.

Como la carga de favicon era la siguiente en la lista, comenté el código que agregaba el favicon a la cabeza, pero tampoco solucionó el problema.

Traté de depurar el domReady.jsarchivo ya que su nombre parece que podría ser la culpa pero no hay posibilidad.

También aquí están los dos access.logarchivos:

Todavía no puedo entender qué está pasando aquí.

Actualizar

Recientemente realicé dos cambios en mi instalación:

  • actualizar FireFox a 46.0
  • actualizar de 2.0.4 a 2.0.5

Ahora ya no puedo replicar el problema.

Raphael en Digital Pianism
fuente
1
¿Has intentado ver si hay concurrencia de archivos de sesión bloqueados debido a esas llamadas de fondo ajax? Algunos archivos js usan datos de llamadas ajax y almacenan información en cookies al respecto y viceversa. codingexplained.com/coding/php/ ... Tengo Redis y Memcache en dev env y parece que el problema ha desaparecido.
oscuro
@obscure gracias por su aporte. Lo comprobaré mañana, pero lo dudo mucho, ya que funciona cuando permanezco en la pestaña de administrador y no cuando navego en otra pestaña que no es de Magento durante la carga
Raphael en Digital Pianism
Parece que la actualización de Firefox hasta la versión 46 ayuda y no está conectada con la versión Magento. ¿Podría, por favor, agregar esta solución en la parte superior de su respuesta para que sea visible de inmediato?
Siarhey Uchukhlebau
@SiarheyUchukhlebau hecho;)
Raphael en Digital Pianism
1
Sea lo que sea, en los navegadores actuales y con las nuevas versiones de Magento ya no sucede, así que lo marcaré como aceptado. Gracias de nuevo por sus investigaciones.
Fabian Schmengler
0

Actualmente estoy experimentando este problema exacto en M2.1.2 ejecutando php 7 en un servidor NGINX alojado (2 núcleos, 2 GB de RAM), y uso Chrome (54.0.2840.71 m (64 bits)).

No he hecho ninguna prueba para encontrar la fuente del problema, pero como se trataba de una nueva configuración del servidor, originalmente asumía que era mi servidor. Ahora ... no estoy tan seguro.

Ahora, debo mencionar que actualmente estoy ejecutando el modo de desarrollador y todavía NO he compilado mi código. Entonces podría ser eso.

Spyrule
fuente
0

relacionado de alguna manera cuando actualizo un producto y cambio Firefox a una nueva pestaña para navegar y la página de Magento perdió el foco, permanece en espera hasta que vuelve a la página de Magento y luego finalizo la actualización de ese producto, esto es algo molesto ... porque Abro 3-4 productos y quiero trabajar en otros productos hasta que finalice la actualización. ¿Conoces una solución para este problema?

Dan
fuente