Skip to content

Out of Memory (OOM) since updating CDN to Loader v8 #13939

Closed
getsentry/sentry
#78993
@DarthSonic

Description

@DarthSonic

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

Sentry Browser Loader

SDK Version

8.33.1

Framework Version

No response

Link to Sentry event

No response

Reproduction Example/SDK Setup

window.sentryOnLoad = function () {
    Sentry.init({
        environment: "production",
        debug: "false",
        release: "fooBuildNumber",
        beforeSend: function(event, hint) {
            try {
                const error = hint.originalException;
                const message = hint.syntheticException;

                if (error && error.message && (error.message.startsWith("AI: 61 message") || error.message.startsWith("%cOpenTok:") || error.message.includes("OpenTok"))) {
                    event.fingerprint = ['ignore-event']; // falls Event nicht verworfen wird
                    sentryDiscardEvent = true; // Event verwerfen!
                } else if (message && message.message && (message.message.startsWith("AI: 61 message") || message.message.startsWith("%cOpenTok:") || message.message.includes("OpenTok"))) {
                    event.fingerprint = ['ignore-event']; // falls Event nicht verworfen wird
                    sentryDiscardEvent = true; // Event verwerfen!
                }
            } finally {
                if (sentryDiscardEvent || latestBuildNumber.startsWith("debug"))
                    return null; // Event verwerfen!
                else
                    return event;
            }
        },
        sendDefaultPii: true,
        ignoreErrors: [
            // Random plugins/extensions
            'top.GLOBALS',
            // See: http://blog.errorception.com/2012/03/tale-of-unfindable-js-error.html
            'originalCreateNotification',
            'canvas.contentDocument',
            'MyApp_RemoveAllHighlights',
            'http://tt.epicplay.com',
            'Can\'t find variable: ZiteReader',
            'jigsaw is not defined',
            'ComboSearch is not defined',
            'http://loading.retry.widdit.com/',
            'atomicFindClose',
            // Facebook borked
            'fb_xd_fragment',
            // ISP "optimizing" proxy - `Cache-Control: no-transform` seems to
            // reduce this. (thanks @@acdha)
            // See http://stackoverflow.com/questions/4113268
            'bmi_SafeAddOnload',
            'EBCallBackMessageReceived',
            // See http://toolbar.conduit.com/Developer/HtmlAndGadget/Methods/JSInjection.aspx
            'conduitPage',
            '/.*OpenTok.*$/',
            '/AI: 61 message.*$/'
        ],
        denyUrls: [
            // Facebook flakiness
            /graph\.facebook\.com/i,
            // Facebook blocked
            /connect\.facebook\.net\/en_US\/all\.js/i,
            // Woopra flakiness
            /eatdifferent\.com\.woopra-ns\.com/i,
            /static\.woopra\.com\/js\/woopra\.js/i,
            // Chrome extensions
            /extensions\//i,
            /^chrome:\/\//i,
            // Other plugins
            /127\.0\.0\.1:4001\/isrunning/i, // Cacaoweb
            /webappstoolbarba\.texthelp\.com\//i,
            /metrics\.itunes\.apple\.com\.edgesuite\.net\//i,
            /localdev\.clevermatch\.com/i, // local developer web,
            /localdev\.clevermatch\.com:44333/i // local developer web (with port number)
        ]
    });

    Sentry.setUser({ "id": "fooUserId" });
    Sentry.setTag("Language", "de");
    Sentry.setTag("RequestLanguage", "de");

    Sentry.configureScope(function(scope) {
        scope.setLevel("error");
    });

    Promise.all([
        Sentry.lazyLoadIntegration("captureConsoleIntegration"),
        Sentry.lazyLoadIntegration("contextLinesIntegration")
    ]).then(([captureConsole, contextLines]) => {
        Sentry.addIntegration(
            captureConsole({
                levels: ['error'] // ,'warn'
            })
        );
        Sentry.addIntegration(
            contextLines()
        );
    });
};
xt>

Steps to Reproduce

  1. Goto https://hire.clevermatch.com/de/ap/2847398e-eefd-4728-83f1-4eed954cfb04/erfahrener-finanzexperte-mit-controlling-fokus/?c=819ae10a-e1f9-4db5-b00b-750884b964e8
  2. Click the blue button on the top right "Kandidate kennenlernen".
  3. Click "Abbrechen" button on the lower right of the modal popup.
  4. repeat that step one or two times.
  5. if no "oom" yet, wait some time

It also happens for other (non-public URLs). One additional public URL is https://hire.clevermatch.com/de/account/login/. I do not really have reproduction steps for that URL, but it seems only waiting for some time will trigger OOM.

Expected Result

Load sentry without leading to "out of memory" in browser.

Actual Result

Some Sentry requests "outstanding" and "out of memory" in browser.

Image

Image

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions