Chrome muestra RESULT_CODE_INVALID_CMDLINE_URL cuando otros navegadores Chromium funcionan bien

4 minutos de lectura

Estoy escribiendo un complemento de WP que realiza cambios en las etiquetas y categorías. Después de hacer mis selecciones y enviar el formulario, la página se vuelve a cargar y se ejecuta wp_set_post_categories y/o wp_set_post_terms.

Funciona bien incluso en otros navegadores basados ​​en Chromium, pero cuando lo pruebo en Chrome, arroja el siguiente error:

Error code: RESULT_CODE_INVALID_CMDLINE_URL

Hay un enlace “Más información”, pero no sucede nada cuando hago clic en él.

Después de actualizar la página, puedo ver que mi secuencia de comandos hizo lo que se suponía que debía hacer, pero me gustaría eliminar este error si es posible.

encontré esto Pagina de soporte sobre el código de error, y encendí el registro para ver si eso me daría alguna pista, pero realmente no sé qué buscar.

Avíseme si hay alguna información adicional que pueda agregar que pueda conducir a una respuesta. ¡Gracias!

No sé qué pudo haber causado su problema, pero conozco un problema que causa este error. Entonces, incluso si es demasiado tarde, alguien puede beneficiarse de ello. Encontré tu pregunta cuando estaba respondiendo un problema relacionado aquí. puede leerlo si lo desea, pero en resumen, esto sucede cuando una matriz de longitud infinity es creado. (como un

desbordamiento de pila

). Si desea regenerar un problema de este tipo, puede usar este código js a continuación.

let arr = [];
let arrcounter = 13;
for (let x = 1; x <= arrcounter; x) {
    arr.push(x);
}

Este es un ciclo infinito que agrega un elemento a una matriz.

Puede que este no sea tu problema exacto, pero espero que esto te ayude.

avatar de usuario
usuario3692823

También me encontré con este problema y al final descubrí que mi aplicación web se estaba quedando sin memoria. Entonces, @EHM tiene razón: un bucle infinito que sigue agregando a una matriz eventualmente se quedará sin memoria y causará este problema.

Pero en mi caso, se estaba quedando sin memoria porque el montón js no se borraba después de cada actualización de página. Para fines de prueba, estaba ejecutando un titiritero secuencia de comandos que actualizaba la página muchas veces, y después de 40 o más actualizaciones, se bloqueaba con el RESULT_CODE_INVALID_CMDLINE_URL error.

No estoy seguro de por qué Chrome no limpiaba el montón entre actualizaciones, pero este tipo de problema se ha informado anteriormente bajo ciertas condiciones, consulte este problema: https://bugs.chromium.org/p/chromium/issues/detail?id=113983. Sin profundizar demasiado aquí en por qué puede suceder, publicaré aquí cómo detectar si su memoria se está saliendo de control. Puede usar el monitor de rendimiento de las herramientas de desarrollo de Chrome, una parte integrada de las herramientas de desarrollo de Chrome:

ingrese la descripción de la imagen aquí

Los documentos oficiales sobre el monitor de rendimiento están aquí: https://developers.google.com/web/updates/2017/11/devtools-release-notes#perf-monitor

En caso de que ese enlace deje de funcionar, estos son los pasos básicos:

  1. Abra las herramientas de desarrollo de Chrome mientras está en su sitio web con un problema de memoria
  2. Presione cmd-shift-P para abrir la paleta de comandos. Busque “Monitor de rendimiento”
  3. Una vez que el monitor de rendimiento esté abierto, observe el tamaño del montón en tiempo real. Mientras observa el tamaño del montón, reproduzca la condición que causa el RESULT_CODE_INVALID_CMDLINE_URL. Debería ver que el tamaño del almacenamiento dinámico aumenta gradualmente hasta que se produzca el error.
  4. Ahora que puede ver que ocurre la fuga de memoria, intente aislar qué parte de su código está causando la fuga de memoria. Las herramientas de desarrollo de Chrome tienen otras herramientas para registrar el uso del montón y aislar qué objetos se están asignando. Es posible que tenga una matriz que crece infinitamente, como mencionó @EHM, o una serie de otros problemas. En mi caso, Chrome no parecía estar liberando ciertos nodos DOM entre actualizaciones. Pude arreglar mi secuencia de comandos navegando a un dominio diferente entre actualizaciones, lo que provocó que Chrome liberara correctamente todos los nodos DOM. Para aprender todo sobre cómo encontrar problemas de memoria en Chrome, lea su artículo sobre el tema aquí: https://developers.google.com/web/tools/chrome-devtools/memory-problems

¿Ha sido útil esta solución?