Sentry-javascript: raven-js funktioniert nicht mit einer Standard-Angular-Cli-App

Erstellt am 24. Aug. 2017  ·  10Kommentare  ·  Quelle: getsentry/sentry-javascript

Sobald raven-js aufgerufen wird, funktioniert die eckige App nicht mehr, sondern startet nur noch eine Art Endlosschleife:

Uncaught RangeError: Maximum call stack size exceeded at http://localhost:4200/polyfills.bundle.js:5303:31 at XMLHttpRequest.proto.(anonymous function) (http://localhost:4200/polyfills.bundle.js:3819:24) at XMLHttpRequest.open (http://localhost:4200/vendor.bundle.js:4636:37) at Raven._makeRequest (http://localhost:4200/vendor.bundle.js:5317:17) at Raven._sendProcessedPayload (http://localhost:4200/vendor.bundle.js:5241:56) at Raven._send (http://localhost:4200/vendor.bundle.js:5183:22) at Raven._processException (http://localhost:4200/vendor.bundle.js:4957:14) at Raven._handleStackInfo (http://localhost:4200/vendor.bundle.js:4863:14) at Raven.captureException (http://localhost:4200/vendor.bundle.js:4001:18) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3937:22) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29) at XMLHttpRequest.wrapFn (http://localhost:4200/polyfills.bundle.js:3620:39) at XMLHttpRequest.wrapped [as __zone_symbol__ON_PROPERTYreadystatechange] (http://localhost:4200/vendor.bundle.js:3934:29)

Starten Sie eine neue angle-cli-App mit ng new, fügen Sie die npm-raven-js-Abhängigkeit hinzu, importieren Sie sie und rufen Sie sie aus app.module.ts auf.
Dies ist ein minimales Repository, das nur eine leere Angular-Cli-App, das raven-js dep und nur den Initialisierungscode enthält (Raven.config().install() reicht aus, um das Problem auszulösen): https://github.com/ esistgut/raventest

Hilfreichster Kommentar

Wir haben die Ursache auf [email protected] zurückverfolgt, mit der vorherigen Minor-Version, 0.8.16 funktioniert alles noch

Alle 10 Kommentare

Wir haben die Ursache auf [email protected] zurückverfolgt, mit der vorherigen Minor-Version, 0.8.16 funktioniert alles noch

Das erlebe ich auch.

Gleiches Problem hier mit angluar-cli 1.4.0 und zone.js 0.8.16.

Die folgenden Konsolenfehler werden ausgegeben:
Firefox: InternalError: zu viel Rekursion
Andere Browser: RangeError: Maximale Größe des Aufrufstapels überschritten

Ist es wahrscheinlich, dass dieses Problem in einer zukünftigen Version von Raven gelöst werden kann? Ich würde es vorziehen, meine Version von zone.js wegen dieser Art von Kompatibilitätsproblemen nicht sperren zu müssen.

+1

@LukasKlement @rtm @mkoczorowski , dieses Problem liegt nicht auf der Implementierungsseite von Raven.js, sondern eher auf Zone.js. Zum Glück haben sie es bereits vor 5 Tagen gepatcht und die Dinge funktionieren jetzt richtig.
Es muss nur als gepatchte Version für npm freigegeben werden. Siehe 2 aktuelle Commits vom 6. September – https://github.com/angular/zone.js/commits/master

Sie können es selbst lokal testen, indem Sie Ihr zone.js in Ihrem package.json in [email protected]:angular/zone.js.git#d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7 ändern, zB.

"zone.js": "[email protected]:angular/zone.js.git#d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7"

Um genauer zu sein (da es immer noch viele Berichte über dieses Problem gibt), ist dies der Commit, der es behebt – https://github.com/angular/zone.js/commit/d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7

Fahrt auf!
Das Upgrade von zone.js auf 0.8.18 hat für meine Angular v.4+ App funktioniert.

@kblestarge

Bist du sicher ? Ich habe gerade zone.js auf 0.8.18 aktualisiert und habe immer noch den Schleifenfehler :(

@mxman06 bei mir

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen