Firefox: Ver un archivo SVG específico hace que el sistema deje de responder

Firefox: Ver un archivo SVG específico hace que el sistema deje de responder

Importante:

Varios usuarios habituales de SuperUser están intentando reducir el alcance y la causa de este problema.Actualmente estamos buscando voluntarios dispuestos.para llenar el formularioaquídespués de realizar la siguiente prueba:

  1. Instale o inicie una versión reciente de Firefox (digamos, 24.x o 25.x; la versión beta también sería interesante).

  2. Controle el uso de la memoria y la CPU utilizando el equivalente de su plataforma al Administrador de tareas de Windows. Deberías tener abierto el administrador de tareas apropiadoantesabres el enlace de abajo.

  3. Guarde cualquier trabajo sin terminar en su navegador Firefox, ya que puede fallar. No asumimos ninguna responsabilidad por la pérdida de información.

  4. Abra el siguiente enlace en una nueva pestaña:http://openclipart.org/people/GR8DAN/showbizframe.svg

  5. Observe los cambios en el uso de CPU y memoria del proceso de Firefox antes y después de cargar la imagen. Si la diferencia entre el uso de memoria de Firefoxantes y después deabrir la pestaña anterior es muy importante (1 GB o más),osi Firefox se congela o falla,osi observa un uso elevado y sostenido de la CPU,tu sistema tiene el error. De lo contrario, no tienes el error. En cualquier caso, complete el formulario correspondiente.

Estamos intentando limitar los síntomas y las causas para actualizar un error en elRastreador de errores de Mozillapara que los desarrolladores de Mozilla puedan solucionar el problema. Estamos haciendo esto específicamente porque se trata de una cuestión potencialmente amplia y de alta prioridad; cualquier sitio web que permita la incrustación de imágenes podría ser vulnerable a un ataque de denegación de servicio contra un subconjunto significativo de usuarios que visitan la página, si esto comienza a usarse de manera maliciosa.

Actualización 29/11/2013: El error se ha aislado en lo siguiente:

  • Es independiente de la plataforma. El error se ha reproducido en Linux, Mac y Windows.

  • El problema se ha reproducido con las tarjetas gráficas AMD, Intel y Nvidia.

  • Sólo ocurre en Firefox y derivados. Chrome, IE y Opera no se ven afectados.

  • El problema se produjo en Firefox 25.0.1, Firefox 26 Beta, Firefox 27 Alpha y la versión Nightly del tronco a partir del 28/11/2013.

  • No todos los usuarios experimentan una falla de Firefox o una situación de falta de memoria (OOM) en todo el sistema. Este comportamiento parece limitado a sistemas GNU/Linux con 4 GB de RAM o menos.

  • En Firefox 27 Alpha y Nightly, el comportamiento difiere ligeramente de Firefox 25 y 26 Beta: en las dos versiones más nuevas, el alto consumo de CPU y memoria eventualmente se estabilizará si deja que la imagen se cargue durante un período de tiempo prolongado (de 10 a 20 segundos). en la mayoría de los sistemas). Una vez que se "resuelve", las condiciones de la memoria y la CPU vuelven a la normalidad. Pero en las dos versiones anteriores, las condiciones de la CPU y la memoria persisten siempre que cambie a la pestaña con la imagen ofensiva que se está procesando, o hasta que elimine Firefox por completo o cierre la pestaña.

  • Casi todos los sistemas con controladores de gráficos recientes pueden reproducirlo. Sólo tenemos un sistema registrado que no experimentacualquierNo hay ningún síntoma y está utilizando un controlador de gráficos extremadamente antiguo (aproximadamente 3 años). Esto indica que no se trata de ningún hardware específico, sino que hay un error en el controlador muy antiguo que se utilizó que, curiosamente, evita que se produzca el comportamiento defectuoso.

Pregunta original:

Estoy usando Firefox firefox-25.0-3.fc19.x86_64 en Fedora 19 (kernel 3.11.9-200.fc19.x86_64). si abroeste enlaceAl usar Firefox, mi sistema deja de responder. La ejecución htopen un segundo monitor muestra un aumento masivo en el uso de la memoria, mis 3954 MB de RAM se agotan inmediatamente, luego el intercambio se llena lentamente, el uso de uno de los procesadores aumenta al 100 %, luego el sistema deja de responder, el mouse se vuelve lento, htoptarda decenas de segundos en actualizarse, etc. Si cierro el proceso FF, todo vuelve a la normalidad.

Incluso si reinicia FF en modo seguro con los complementos deshabilitados, el comportamiento es el mismo. Probé la máquina de mi compañero de trabajo y tiene ~8000 MB de RAM, lo mismo sucede (un alto uso de memoria y 1 procesador alcanza el 100%), cuando alcanza ~4096 MB de uso, aparece un cuadro de diálogo que solicita eliminar Firefox (tal vez Firefox esté codificado para utilizar sólo 4096 MB?).

Si uso un complemento (quickjava) para deshabilitar javascript, puedo abrir el enlace sin problemas. Sin embargo, en la máquina de mi compañero de trabajo esto no funcionará: probé otros sitios para asegurarme de que JS estuviera deshabilitado, pero el problema persiste.

¿Qué lo está causando?

ACTUALIZAR: El problema surge al vereste SVG.

Respuesta1

  1. No es JavaScript; es el hecho de que hay muchos archivos complejos de gráficos vectoriales escalables (SVG) que se procesan en el enlace que publicó.
  2. La pila de gráficos acelerados por hardware de Fedora tiene notoriamente errores, por lo que es muy posible que el uso de la pila de gráficos por parte de Firefox esté causando un error en la pila de gráficos (en Mesa, Xorg DDX o el kernel).
  3. También es posible que los SVG se estén renderizando realmente ensoftwarey el renderizador del software todavía tiene errores.

Dividamos y conquistaremos:

Deshabilitar la aceleración de hardware

En FF, vaya a Editar -> Preferencias, haga clic en Avanzado, luego en la pestaña General, en la sección Navegación, desmarque "Usar aceleración de hardware cuando esté disponible".

Ahora intente nuevamente en el mismo sitio. Si ustednoobtiene una sobrecarga de CPU/memoria, entonces sabemos que el problema está en la aceleración de la GPU de 2D Canvas (ya sea el uso de Firefox o en la pila de gráficos backend), o en el renderizador SVG.

Si ustedhacerobtiene la misma sobrecarga de CPU/memoria con la aceleración de hardware deshabilitada, entonces podría ser un error en el analizador SVG, que probablemente se realiza mediante software puro. Aunque, en ese caso, probablemente también experimentaríamos el problema en Windows, pero no es así (probado en FF 24.1.0 en Windows y fue lento, pero no consumió toda la CPU y RAM como el suyo).

Sospecho que hay algún tipo de pérdida de memoria en Mesa.

Algunas cosas más para probar

  1. Vaya about:supporta Firefox, haga clic en "Copiar texto al portapapeles" y publíquelo aquí (pastebin más o menos). Esto ayudará a aquellos de nosotros que estamos familiarizados con el espacio de problemas a determinar cuál es la situación con su hardware y su pila de gráficos.
  2. Vaya about:memorya Firefox, marque la casilla de verificación "Detallado" y luego haga clic en "Medir". Sería fantástico si pudieras hacer esto.justo después devas a la página infractora, si puedes lograr que FF haga algo en ese momento.
  3. Ejecute Firefox desde la terminal de la siguiente manera: LIBGL_DEBUG=verbose firefox -safe-mode. Navegue directamente al sitio que OOMs. Déjelo funcionar durante unos segundos (suficientes para iniciar claramente el problema, pero no permita que abrume su sistema) y luego elimínelo. Publique el resultado aquí, junto con el resultado de dmesg.

Estas cosas nos brindarán más información de depuración para comprender exactamente dónde está el problema, pero la mayoría de estos pasos se centran en la suposición de que el problema está en la pila de gráficos. Si no es así, la mayor parte de esto no será útil.

Actualizar:Creé unenlace de github sin procesarque no tiene javascript ni payasadas de ningún tipo; es solo una larga lista de SVG. Debería fallar si tiene el comportamiento defectuoso y elimina todas las demás fuentes posibles del problema.

Actualización 2:El OP aisló el problema aesta imagen específica.

información relacionada