Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unexpected recursion exceeds call stack size #173

Closed
panaggio opened this issue Dec 30, 2013 · 9 comments
Closed

Unexpected recursion exceeds call stack size #173

panaggio opened this issue Dec 30, 2013 · 9 comments

Comments

@panaggio
Copy link

Got this on Sentry:

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in apply

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in captureMessage

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

    };

};

/1.1.2/console,jquery,native/raven.js ? in send

    level;

var logForGivenLevel = function(level) {

    return function () {

        var args = [].slice.call(arguments);

        Raven.captureMessage('' + args, {level: level, logger: 'console'});

        // this fails for some browsers. :(

        if (originalConsole[level]) {

             originalConsole[level].apply(null, args);

        }

/1.1.2/console,jquery,native/raven.js ? in makeRequest

     * @param {object} options A specific set of options for this message [optional]

     * @return {Raven}

     */

    captureMessage: function(msg, options) {

        // Fire away!

        send(

            arrayMerge({

                message: msg

            }, options)

        );

/1.1.2/console,jquery,native/raven.js ?

    // Check if the request should be filtered or not

    if (isFunction(globalOptions.shouldSendCallback) && !globalOptions.shouldSendCallback(data)) {

        return;

    }

    makeRequest(data);

}

function makeRequest(data) {

    var img = new Image(),

/1.1.2/console,jquery,native/raven.js ?

    makeRequest(data);

}

function makeRequest(data) {

    var img = new Image(),
@mattrobenolt
Copy link
Contributor

Are you able to reproduce this reliably? It looks like it's probably an issue with the console plugin which is barely tested. So it'd be cool to fix it. :)

@panaggio
Copy link
Author

panaggio commented Jan 2, 2014

Unfortunately nope :( It happened just 3 times, with different users. I'm trying to reproduce, and I'm investigating what I could do to gather more debug information next time it happens.

@mattrobenolt
Copy link
Contributor

I'm assuming some browser isn't happy at all with this. Do you at least know which browser?

@panaggio
Copy link
Author

panaggio commented Jan 2, 2014

Sentry reports only Chrome:

2 Chrome 31.0.1650.63 (under Windows)
1 Chrome 33.0.1715.0 (under MacOS)

Those two Windows users are different users. It didn't happen twice with the same person so far.

@mattrobenolt
Copy link
Contributor

Do you mind sharing what you're doing inside your code? I'm assuming you're just doing: console.log('stuff') or whatever.

@panaggio
Copy link
Author

panaggio commented Jan 3, 2014

AFAICS, we make only one use of console.error on that page, and that's all. And yep, it's something like `console.error('foo'):

 console.error('Error parsing JSON: "' + xhr.responseText + '". Exception: "' + e);

Can't see how this could lead to any strange behavior.

We use the minified version of jquery-migrate, which makes use of console, but doesn't make any different use of it, besides using console.warn, which is covered by console plugin.

We also use http://dygraphs.com/dygraph-combined.js on that page. Reading the code, I can't see any issues there either. It seems to make a "standard" use of console too.

@mattrobenolt
Copy link
Contributor

I'll take a look at it and see what I can do. Pretty sure I haven't even tested this plugin myself. :) So this is good feedback.

@QuentinFchx
Copy link

Got the same issue reproductible. Will check if I can get more informations.

#181 works for me.

@mattrobenolt
Copy link
Contributor

Should be fixed by #181

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants