Chrome zeigt RESULT_CODE_INVALID_CMDLINE_URL an, wenn andere Chromium-Browser einwandfrei funktionieren

Lesezeit: 3 Minuten

Ich schreibe ein WP-Plugin, das Änderungen an Tags und Kategorien vornimmt. Nachdem ich meine Auswahl getroffen und das Formular abgeschickt habe, wird die Seite neu geladen und ausgeführt wp_set_post_categories und/oder wp_set_post_terms.

Es funktioniert auch in anderen Chromium-basierten Browsern einwandfrei, aber wenn ich es in Chrome versuche, wird der folgende Fehler ausgegeben:

Error code: RESULT_CODE_INVALID_CMDLINE_URL

Es gibt einen “Weitere Informationen”-Link, aber wenn ich darauf klicke, passiert nichts.

Nach dem Aktualisieren der Seite kann ich sehen, dass mein Skript das getan hat, was es tun sollte, aber ich möchte diesen Fehler nach Möglichkeit beseitigen.

ich habe das gefunden Support-Seite über den Fehlercode, und ich habe die Protokollierung eingeschaltet, um zu sehen, ob mir das irgendwelche Hinweise geben würde, aber ich weiß nicht wirklich, wonach ich suchen soll.

Bitte lassen Sie mich wissen, ob ich zusätzliche Informationen hinzufügen kann, die zu einer Antwort führen könnten. Vielen Dank!

Ich weiß nicht, was Ihr Problem verursacht haben könnte, aber ich kenne ein Problem, das diesen Fehler verursacht. Selbst wenn es zu spät ist, kann jemand davon profitieren. Ich habe Ihre Frage gefunden, als ich hier auf ein verwandtes Problem geantwortet habe. Sie können es lesen, wenn Sie möchten, aber kurz gesagt, dies geschieht, wenn ein Array der Länge infinity geschaffen. (wie ein

Paketüberfluss

). Wenn Sie ein solches Problem neu generieren möchten, können Sie diesen js-Code unten verwenden.

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

Dies ist eine Endlosschleife, die einem Array ein Element hinzufügt.

Dies ist möglicherweise nicht Ihr genaues Problem, aber ich hoffe, dies hilft.

Benutzeravatar von user3692823
Benutzer3692823

Ich war auch auf dieses Problem gestoßen und stellte am Ende fest, dass meiner Web-App nicht mehr genügend Speicher zur Verfügung stand. @EHM hat also recht – eine Endlosschleife, die ständig zu einem Array hinzufügt, wird schließlich nicht mehr genügend Arbeitsspeicher haben und dieses Problem verursachen.

Aber in meinem Fall ging der Speicher aus, weil der js-Heap nicht nach jeder Seitenaktualisierung gelöscht wurde. Zu Testzwecken führte ich a Puppenspieler Skript, das die Seite viele Male aktualisiert hat, und nach etwa 40 Aktualisierungen stürzte es mit dem ab RESULT_CODE_INVALID_CMDLINE_URL Error.

Ich bin mir nicht sicher, warum Chrome den Heap zwischen den Aktualisierungen nicht gelöscht hat, aber diese Art von Problem wurde unter bestimmten Bedingungen bereits gemeldet, siehe dieses Problem: https://bugs.chromium.org/p/chromium/issues/detail?id=113983. Ohne hier zu sehr darauf einzugehen, warum dies passieren kann, werde ich hier posten, wie Sie feststellen können, ob Ihr Gedächtnis außer Kontrolle gerät. Sie können die Leistungsüberwachung der Chrome-Entwicklungstools verwenden, die in die Chrome-Entwicklungstools integriert ist:

Geben Sie hier die Bildbeschreibung ein

Die offiziellen Dokumente zum Leistungsmonitor sind hier: https://developers.google.com/web/updates/2017/11/devtools-release-notes#perf-monitor

Falls dieser Link nicht mehr funktioniert, sind hier die grundlegenden Schritte:

  1. Öffnen Sie die Chrome-Entwicklungstools, während Sie sich auf Ihrer Website mit einem Speicherproblem befinden
  2. Drücken Sie cmd-Shift-P, um die Befehlspalette zu öffnen. Suche nach “Leistungsmonitor”
  3. Sobald der Leistungsmonitor geöffnet ist, beobachten Sie die Heap-Größe in Echtzeit. Während Sie die Heap-Größe beobachten, reproduzieren Sie die Bedingung, die die verursacht RESULT_CODE_INVALID_CMDLINE_URL. Sie sollten sehen, dass die Heap-Größe allmählich zunimmt, bis der Fehler auftritt.
  4. Nachdem Sie nun sehen können, dass das Speicherleck auftritt, versuchen Sie zu isolieren, welcher Teil Ihres Codes ein Speicherleck verursacht. Chrome-Entwicklungstools verfügen über andere Tools, um die Heap-Nutzung aufzuzeichnen und zu isolieren, welche Objekte zugewiesen werden. Möglicherweise haben Sie ein unendlich wachsendes Array, wie @EHM erwähnt, oder eine Reihe anderer Probleme. In meinem Fall schien Chrome bestimmte DOM-Knoten zwischen den Aktualisierungen nicht freizugeben. Ich konnte mein Skript reparieren, indem ich zwischen den Aktualisierungen zu einer anderen Domäne navigierte, was dazu führte, dass Chrome alle DOM-Knoten korrekt freigab. Um alles über das Finden von Speicherproblemen in Chrome zu erfahren, lesen Sie den Artikel zu diesem Thema hier: https://developers.google.com/web/tools/chrome-devtools/memory-problems

1395670cookie-checkChrome zeigt RESULT_CODE_INVALID_CMDLINE_URL an, wenn andere Chromium-Browser einwandfrei funktionieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy