Sentry-javascript: raven-js não funciona com um aplicativo angular-cli padrão

Criado em 24 ago. 2017  ·  10Comentários  ·  Fonte: getsentry/sentry-javascript

Assim que raven-js é chamado, o aplicativo angular não funciona mais, apenas inicia algum tipo de loop infinito:

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)

Inicie um novo aplicativo angular-cli usando ng new, adicione a dependência npm raven-js, importe e chame-o do app.module.ts,
Este é um repositório mínimo contendo apenas um aplicativo angular-cli vazio, o dep raven-js e apenas o código de inicialização (Raven.config (). Install () é o suficiente para acionar o problema): https://github.com/ esistgut / raventest

Comentários muito úteis

rastreamos a causa até [email protected] , com a versão secundária anterior, 0.8.16 tudo ainda funciona

Todos 10 comentários

rastreamos a causa até [email protected] , com a versão secundária anterior, 0.8.16 tudo ainda funciona

Eu também estou experimentando isso.

O mesmo problema aqui com angluar-cli 1.4.0 e zone.js 0.8.16.

Os seguintes erros de console são lançados:
Firefox: InternalError: muita recursão
Outros navegadores: RangeError: tamanho máximo da pilha de chamadas excedido

É provável que esse problema possa ser resolvido em uma versão futura do Raven? Eu preferiria não ter que bloquear minha versão de zone.js para este tipo de problema de compatibilidade.

+1

@LukasKlement @rtm @mkoczorowski , esse problema não está no lado da implementação do Raven.js, mas sim no Zone.js. Felizmente, eles já o corrigiram há 5 dias e as coisas estão funcionando corretamente agora.
Ele apenas precisa ser lançado como uma versão corrigida para o npm. Por favor, veja 2 commits recentes de 6 de setembro - https://github.com/angular/zone.js/commits/master

Você pode testá-lo localmente alterando seu zone.js em seu package.json para [email protected]:angular/zone.js.git#d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7 , por exemplo.

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

Para ser mais específico (já que ainda existem muitos relatos desse problema), este é o commit que corrigirá isso - https://github.com/angular/zone.js/commit/d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7

Continue andando!
Atualizar zone.js para 0.8.18 funcionou para meu aplicativo Angular v.4 +.

@kblestarge

Tem certeza ? Acabei de atualizar o zone.js para 0.8.18 e ainda tenho o erro de loop :(

@ mxman06 funciona para mim com zone.js 0.8.18 - talvez haja outro culpado?

Esta página foi útil?
0 / 5 - 0 avaliações