Sentry-javascript: 叀いブラりザでは[オブゞェクトむベント]がログに蚘録されたす

䜜成日 2015幎08月03日  Â·  50コメント  Â·  ゜ヌス: getsentry/sentry-javascript

Stack Overflowのこのスレッドで説明されおいるように、 window.onerrorに送信された特定のむベントにより、 [object Event]がメッセヌゞずしおログに蚘録されたす。 セントリヌがこれらの叀代のEventオブゞェクトを怜出し、それらからいく぀かの詳现を掘り䞋げお、セントリヌに蚘録されたものが私たちが行動しお修正を詊みるこずができる䜕かを理解できるようになれば、それは玠晎らしいこずです。

最も参考になるコメント

@rollokb –これに関するニュヌスはありたすか

党おのコメント50件

ログからの1぀の特定のサンプルは、次の情報を瀺しおいたす。

  • ブラりザDolfin 3.0
  • デバむスSamsung GT-S8600
  • OSBada 2.0

Android 4.1から4.4たでのAndroidブラりザヌ、おそらくサヌドパヌティのAndroidフォンSamsung、HTCなどからのA​​ndroidブラりザヌも、この問題の圱響を受けおいるこずを確認できたす。 Nexusフォンが圱響を受けおいるかどうかを確認できたせん。

これは入手するのに最適な機胜であり、実装するのは比范的難しいこずではないようです。 おそらく、 message.toString() == '[object Event]'を簡単にチェックしおから、 for-inルヌプを実行しおむベントオブゞェクトのプロパティにアクセスしたす。 これは、Android4.1-4.4のサむトで問題をデバッグするのに圹立ちたす。

@ d10 –私はそれを実隓したしたが、それが機胜するこずを確認するための実際のブラりザヌを芋぀けるこずができたせん。 BrowserStackでAndroid4.1 – 4.4を゚ミュレヌトし、暙準のAndroidブラりザヌを䜿甚しおみたしたが、゚ラヌが正垞に報告されたす。

それは玠晎らしい機胜です 叀いブラりザでも同じ問題が発生したす。

これは私を倢䞭にさせおいたので、このhttps://github.com/rollokb/raven-js/tree/feat/old-webkit-Event-handlingのパッチを䜜成したした

プルリク゚ストを送信する前に、本番環境で少しテストしたす。

@rollokb –そのコミットは玠晎らしく芋えたす。 それが本番環境でどのように機胜するかを教えおください。 埌でそれをマスタヌにマヌゞしおうれしいです。

玠晎らしい それは私にもナッツを駆り立おおいたす +1

本番環境では正垞に機胜しおいるようです。

線集

正垞に動䜜しおいるようですが、自分でトリガヌしたむベントでのみ機胜したす。 それでも、むベントの内容に関する情報はたったく埗られたせん。

正垞に動䜜しおいるようですが、自分でトリガヌしたむベントでのみ機胜したす。 それでも、むベントの内容に関する情報はたったく埗られたせん。

ここで問題が発生する可胜性がありたす。

+        for (var property in event) {
+            if (event.hasOwnProperty(property)) {
+                options.extra[property] = event[property];
+            }
+         }

hasOwnPropertyをチェックするず、 Event.prototypeから掟生したプロパティを取埗できなくなりたす。 これらの圱響を受けるブラりザがテストで行っおいるように、䜜成したEventオブゞェクトにプロパティを盎接配眮しない限り、デヌタは衚瀺されたせん。

反察に、そのチェックを削陀するず、゚ラヌずは関係のない䞀連のプロパティが取埗されたす。 しかし、それがそのように芋えるこずは䞀芋の䟡倀があるかもしれたせん。

あなたはおそらく正しいです。 PhantomJSでテストしたずきに、これに気づきたした。

ブランチを曎新したした
https://github.com/rollokb/raven-js/blob/feat/old-webkit-Event-handling/src/raven.js#L1109 -L1121

涌しい。 繰り返しになりたすが、これを掘り䞋げおいただきありがずうございたす。

少し話題になりたすが、PhantomJSはこのプロゞェクトにどのようにロヌドされおいたすか むベントプロパティを誀っお凊理しおいるようです぀たり、すべおのむベントプロップを独自のものずしお認識したす。

kmiyashiro / grunt-mocha経由

https://github.com/getsentry/raven-js/blob/master/Gruntfile.js#L193

むベントプロパティを誀っお凊理しおいるようです぀たり、すべおのむベントプロップを独自のものずしお認識したす。

Chrome /他のブラりザで芳察されるのず同じように動䜜するEventオブゞェクトをモックしおみるこずができたす。 うたくいけば、これらのオブゞェクトを送信するレガシヌブラりザも同じように感じたす。

たた、Phantom2を実行するテストを取埗しお、動䜜がより正確であるかどうかを確認するこずもできたす。 私は圌らが今1.9.8を実行しおいるず信じおいたす。

@rollokb –これに関するニュヌスはありたすか

今日、Android4のFacebookBrowser v80から䜕癟ものものを入手したした。それはそれほど叀いものではありたせんか

Androidブラりザを搭茉したAndroid4.xでこれらの゚ラヌの倚くが発生しおいたす

今日、Android4のFacebookBrowser v80から䜕癟ものものを入手したした。それはそれほど叀いものではありたせんか

「Facebookブラりザ」は、内郚のWebブラりザが䜕であれFacebookをラップしおいるだけだず確信しおいたす。

基本的に、この゚ラヌは、Androidフォンの囜際バヌゞョンの束でのみ発生したす。 このような゚ラヌが衚瀺されたら、デバむスリストを芋おください。SamsungGT-S8600のようなデバむスコヌドがありたすが、これは北米/欧米のモデルではありたせん。

「ChromeMobile」たたは「AndroidBrowser」ナヌザヌ゚ヌゞェントは簡単に停造されたすを装ったブラりザのフォヌクを䜿甚しおいるように芋えたすが、Errorオブゞェクトの眲名が異なっおいるようです。 ゚ラヌを再珟するのに苊劎したしたがオフィスで䜿甚するためにこれらの電話のいく぀かを賌入しようずするこずを含む、近いうちにもう䞀床詊しおみる぀もりです。

たれなブラりザではこれらの゚ラヌは発生したせん。Chrome51.0.2704を搭茉したWindows10で発生しただけです。

こんにちは、みんな

たた、私はレむノンのレポヌトを持っおいたす

...
"exception": {
  "values": [
    {
      "value": "[object Event]",
      "stacktrace": {
        "frames": [
          ...
        ]
      }
    }
  ]
}

Androidのモバむルブラりザで。 ナヌザヌ゚ヌゞェントは
Mozilla/5.0 (Linux; U; Android 4.4.2; de-de; GT-N7100 Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30

このための+1

そのため、3.7.0以降、 [object Event]およびその他のキャッチされた非゚ラヌオブゞェクトの合成トレヌスを生成するようになりたした。 3.7.0を詊しお、どのような結果が埗られるかを確認するこずをお勧めしたす。

@benvinegar 3.7.0をむンストヌルしたしたが、この゚ラヌが発生したす

私は䞀時的な解決策ずしお次のハックを䜿甚しおいたす

    Raven.install();

    if (Raven._processException) {
        const oldProcessException = Raven._processException;

        Raven._processException = function (event, message) {
            if (message && typeof message === 'object') {
                // detect that it's an event
                if (String(message) === '[object Event]') {
                    // message
                    message = stringifyEvent(message);

                    // type
                    event = event || 'event';
                } else {
                    // stringify the other objects
                    try {
                        message = JSON.stringify(message);
                    } catch (e) {
                        //
                    }
                }

                arguments[0] = event;
                arguments[1] = message;
            }

            return oldProcessException.apply(this, arguments);
        };
    }

    function stringifyEvent (event) {
        const data = {
            eventPhase: event.eventPhase,
            type: event.type,
            isTrusted: event.isTrusted,
            returnValue: event.returnValue,
            timeStamp: event.timeStamp
        };

        if (event.target) {
            data.target = {
                src: event.target.src,
                tagName: event.target.tagName || 'UNKNOWN_HTMLELEMENT',
                className: event.target.className,
                readyState: event.target.readyState
            };
        }

        if (event.path) {
            data.path = event.path.map((el) => {
                const tagName = el.tagName || 'UNKNOWN_HTMLELEMENT';
                const className = (el.className || '').replace(/\s+/, '');

                // DIV.class-1.class-2
                return `${ tagName }.${ className }`;
            });
        }

        return JSON.stringify(data);
     }

@webschikこの行のタむプミスのように芋えたす

return `${ tagName }.${ className }`;

そしお、あなたはこの建蚭が蚱可されおいるこずを確信しおいたす

data.path = event.path.map((el) => {

UPこの修正で「予期しないトヌクン=>」゚ラヌが発生する

@webschik

2016-09-23 12 45 43

@AlexanderMatveev 、それはES2015構文です。
あなたはそれを亀換するこずができたす

@webschikこのハックを远加したしたが、䜕も倉曎されおいないように芋えたすが、それでも「[objectEvent]」゚ラヌが発生したす。

@AlexanderMatveev 、これは私のプロゞェクトで機胜するので、奇劙です。 おそらく、そこでさらに調査が必芁です

@webschik

スクリプトの順序は次のずおりです。

<script type="text/javascript" src="[raven.min.js version 3.7.0]"></script>
<script>
    Raven.config('https://[...]@sentry.io/[...]', {
        release: '[...]'
    }).install();
</script>
<script type="text/javascript" src="[fix.js without first Raven.install() line]"></script>

@benvinegar 3.7.0をむンストヌルしたしたが、この゚ラヌが発生したす

あなたはただそれを埗るでしょう。 違いは、合成スタックトレヌスを生成する必芁があるこずです。 ただし、window.onerrorたでバブルするためにキャッチされた堎合、スタックトレヌスは圹に立たない可胜性がありたすただし、それがキャッチされおいる方法であるこずがわかりたす。

UAのホストされたSentryのRaven 3.6.1でも同じでした Mozilla/5.0 (Linux; U; Android 3.1; en-gb; GT-P7500 Build/HMJ37) AppleWebKit/534.13 (KHTML, like Gecko) Version/4.0 Safari/534.13

たた、いく぀かのむベントがありたすが、それらのほずんどはAndroidたたはFacebookブラりザヌからのものです。 最近のはずのFacebook95.0でさえ、この゚ラヌを匕き起こしおいたす。 Android4 .。 はメむンOSであり、報告されおいるデバむスの倚くはSamsung-GT [䜕か]です。 3.7.0バヌゞョンを䜿甚しおいたす。

これも、特別なデバむスではなく、非垞に䞀般的なナヌザヌ゚ヌゞェントから取埗したした。

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36

レむノン3.9.0

フェむスブックずアンドロむドのbrowser.nameで、1日に数癟回3.9.1でただ発生したす
スタックトレヌスは䞀切ありたせん。

無芖すればいいですか

こっちも䞀緒。

ここにいるみんなず同じです。 この情報が圹立぀堎合

image

UA Mozilla/5.0 (Linux; U; Android 4.1.2; en-us; GT-I8190L Build/JZO54K) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30 [FB_IAB/FB4A;FBAV/87.0.0.17.79;]

ブラりザ Facebook 87.0.0

ここでも同じです、䜕か解決策はありたすか S

私は同じ問題を抱えおいたす

image

私は珟圚同じ問題を抱えおいたす...この゚ラヌがたくさんあり、すぐに歩哚のしきい倀に達したす😞

これらの問題は、すべおWindows10のChrome45で発生しおいたす。

それはただレむノン3.15.0、フェむスブックアンドロむドブラりザで起こっおいたす
無芖するだけでいいですか

誰かが解決策を芋぀けたしたか 私の堎合、これは歩哚に衚瀺されたす

`[オブゞェクトむベント]

TrimHeadFrames./ node_modules / raven-js / src / raven.js5621で
_logDebug./ node_modules / raven-js / src / raven.js4881
G._promiseRejectionHandler./ node_modules / raven-js / src / raven.js4301 `

unhandledPromiseRejectiontrue

ナヌザヌ゚ヌゞェントMozilla / 5.0Linux; U; Android 6.0.1; en-US; vivo 1610 Build / MMB29MAppleWebKit / 537.36KHTML、Geckoなどバヌゞョン/4.0Chrome/57.0.2987.108 UCBrowser / 12.5.8.1112 Mobile Safari /537.36

デバむスファミリヌvivo 1610
デバむスモデル1610
デバむスブランドvivo

Android 6.0.1

UCブラりザ12.5.8

私のraven-jsクラむアントのバヌゞョンは次のずおりです3.25.0

゚ラヌのスクリヌンショットを添付したした倚くの叀いブラりザで䜕床も発生したす
raven-screenshot

これは、むベントヒントずカスタム゚ラヌ凊理を䜿甚しお新しいSDKで修正できたす。

@kamilogorek

これは、むベントヒントずカスタム゚ラヌ凊理を䜿甚しお新しいSDKで修正できたす。

これを詳しく説明しおいただけたすか ドキュメントぞのリンクはありたすか
少なくずもどのバヌゞョンが必芁ですか
この問題に぀いおは、これらの「むベントヒント」ず「カスタム゚ラヌ凊理」蚭定のコヌドスニペットを䜿甚するこずをお勧めしたす。

ありがずう

@hiroshiはhttps://github.com/getsentry/sentry-javascript/issues/1401#issuecomment-418631326を参照しおください
これは、RCTodayずしおリリヌスされた新しいsentry-javascriptSDKの機胜です。 raven-js / nodeに移怍されるこずはありたせん。

こんにちは、私はセントリヌでこのような゚ラヌを芋続けたす

exception | Error: [object Event]

スタックトレヌスは添付されおおらず、圹立぀情報もありたせん。 LogRocketセッションから、ナヌザヌは問題を経隓しおいないようです。 FacebookずGoogleTag Managerぞのブロックされたリク゚ストがいく぀かあるので、ブロッカヌ拡匵機胜がむンストヌルされおいるず思われたす。
これは、Chrome 75を䜿甚しおいる人からの繰り返しの゚ラヌであり、非垞に叀いブラりザではありたせん。
この問題を解決する方法に぀いお䜕か提案はありたすか

ありがずう

泚@ sentry / browserバヌゞョン5.3.0

@burtyishを最新バヌゞョンに曎新するこずは、最初の良いステップです。 5.7.0では、この動䜜に関する倚くの倉曎が導入されたした。

@kamilogorekありがずう
sendry.javascript.browser v5.12.1にアップグレヌドしたので、はるかに有益な゚ラヌが衚瀺されたす。
そしお、私もスタックトレヌスを持っおいたす

@burtyishすごい :)

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡