Sentry-javascript: raven-js๋Š” ํ‘œ์ค€ angular-cli ์•ฑ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2017๋…„ 08์›” 24์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: getsentry/sentry-javascript

raven-js๊ฐ€ Angular ์•ฑ์ด๋ผ๊ณ  ํ•˜๋ฉด ๋” ์ด์ƒ ์ž‘๋™ํ•˜์ง€ ์•Š๊ณ  ์ผ์ข…์˜ ๋ฌดํ•œ ๋ฃจํ”„๋งŒ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

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)

ng new๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒˆ angular-cli ์•ฑ์„ ์‹œ์ž‘ํ•˜๊ณ  npm raven-js ์ข…์†์„ฑ์„ ์ถ”๊ฐ€ํ•˜๊ณ  app.module.ts์—์„œ ๊ฐ€์ ธ์™€์„œ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
์ด๊ฒƒ์€ ๋นˆ angular-cli ์•ฑ, raven-js dep ๋ฐ ์ดˆ๊ธฐํ™” ์ฝ”๋“œ(Raven.config().install()๊ฐ€ ๋ฌธ์ œ๋ฅผ ์ด‰๋ฐœํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•จ)๋งŒ ํฌํ•จํ•˜๋Š” ์ตœ์†Œ ์ €์žฅ์†Œ์ž…๋‹ˆ๋‹ค. https://github.com/ esistgut/raventest

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์šฐ๋ฆฌ๋Š” [email protected] ์›์ธ์„ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” 0.8.16 ๋ชจ๋“  ๊ฒƒ์ด ์—ฌ์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  10 ๋Œ“๊ธ€

์šฐ๋ฆฌ๋Š” [email protected] ์›์ธ์„ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๋งˆ์ด๋„ˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” 0.8.16 ๋ชจ๋“  ๊ฒƒ์ด ์—ฌ์ „ํžˆ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

์ €๋„ ์ด๊ฒƒ์„ ๊ฒฝํ—˜ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

angluar-cli 1.4.0 ๋ฐ zone.js 0.8.16์—์„œ๋„ ๋™์ผํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ์ฝ˜์†” ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.
Firefox: InternalError: ์žฌ๊ท€๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค.
๊ธฐํƒ€ ๋ธŒ๋ผ์šฐ์ €: RangeError: ์ตœ๋Œ€ ํ˜ธ์ถœ ์Šคํƒ ํฌ๊ธฐ ์ดˆ๊ณผ

์ด ๋ฌธ์ œ๊ฐ€ Raven์˜ ์ฐจ๊ธฐ ๋ฒ„์ „์—์„œ ํ•ด๊ฒฐ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๋Ÿฐ ์ข…๋ฅ˜์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋‚ด ๋ฒ„์ „์˜ zone.js ๋ฅผ ์ž ๊ทธ๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

+1

@LukasKlement @rtm @mkoczorowski , ์ด ๋ฌธ์ œ๋Š” Raven.js ๊ตฌํ˜„ ์ธก๋ฉด์ด ์•„๋‹ˆ๋ผ Zone.js์— ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ๋ง™๊ฒŒ๋„ ๊ทธ๋“ค์€ 5์ผ ์ „์— ์ด๋ฏธ ํŒจ์น˜๋ฅผ ํ–ˆ๊ณ  ์ง€๊ธˆ์€ ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
npm์— ํŒจ์น˜๋œ ๋ฒ„์ „์œผ๋กœ ์ถœ์‹œํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 9์›” 6์ผ https://github.com/angular/zone.js/commits/master์˜ ์ตœ๊ทผ ์ปค๋ฐ‹ 2๊ฐœ๋ฅผ ์ฐธ์กฐ

package.json ์˜ zone.js package.json ๋ฅผ [email protected]:angular/zone.js.git#d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7 ๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ๋กœ์ปฌ์—์„œ ์ง์ ‘ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

(์•„์ง์ด ๋ฌธ์ œ๋ฅผ๋ณด๊ณ  ๋งŽ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—) ๋” ๊ตฌ์ฒด์ ์ธ ๋˜๋ ค๋ฉด, ์ด๊ฒƒ์€ ๊ทธ ๊ณ ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค - https://github.com/angular/zone.js/commit/d4e5ae8f6e72f0b4ef8e816e369530b72e582ba7

์— ํƒ€๊ณ !
zone.js ๋ฅผ 0.8.18 ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋ฉด Angular v.4+ ์•ฑ์—์„œ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

@kblestarge

ํ™•์‹คํ•ด ? ๋ฐฉ๊ธˆ zone.js๋ฅผ 0.8.18๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ๋ฃจํ”„ ์˜ค๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.(

@ mxman06 ๊ทธ๊ฒƒ์€ zone.js 0.8.18๊ณผ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์•„๋งˆ๋„ ๋‹ค๋ฅธ ๋ฒ”์ธ์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰