question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

RangeError: Maximum call stack size exceeded due to mysql instrumentation

See original GitHub issue

We went live with airbrake integration in one of our applications on March 18th and started seeing our application crash 2-3 times a day since starting on the 19th (24 times in total so far). We keep 2 months worth of logs and have never seen this before going live with the airbrake integration.

We are actually receiving an airbrake for this error, which is good.

The error seems to point to the MySQL instrumentation inside this package being the culprit:

node_modules/mysql/lib/Connection.js:198:25 in PoolConnection.query
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery
node_modules/@airbrake/node/dist/instrumentation/mysql.js:55:30 in PoolConnection.abQuery

We are using the following packages which account for the entire MySQL usage in that application:

{
  "express": "^4.17.1",
  "express-mysql-session": "^2.1.4",
  "express-session": "^1.17.0",
}

Here is our session middleware config:

{
  // key and secret omitted
  resave: false,
  saveUninitialized: true,
}

Here is our session store config:

{
  expiration: 60 * 60 * 24 * 14, // two weeks milliseconds
}

We are currently only calling notify manually to send errors to Airbrake and are not actually using any of the instrumentation provided by this package. Would it be possible to get an option to selectively disable the instrumentation that runs by default today at https://github.com/airbrake/airbrake-js/blob/master/packages/node/src/notifier.ts#L107?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
samuelgcommented, Apr 16, 2020

We have not had another reoccurrence of this issue since upgrading to 1.0.7 a week ago. Thanks again!

0reactions
sgraycommented, Apr 9, 2020

I’ve released version 1.0.7 with the additional config option. Please let me know if anything else is needed.

Read more comments on GitHub >

github_iconTop Results From Across the Web

JavaScript Error: Maximum Call Stack Size Exceeded
This error is a RangeError. A RangeError typically means an error has occurred outside of a code's argument value for its parameter. Now...
Read more >
JavaScript RangeError: Maximum Call Stack Size Exceeded
The RangeError: Maximum call stack size exceeded is thrown when a function call is made that exceeds the call stack size. This can...
Read more >
RangeError: Maximum call stack size exceeded - Educative.io
In this shot, we will see how to fix the “RangeError: Maximum call stack size exceeded” error. ... The most common source for...
Read more >
Node.js - Maximum call stack size exceeded
When I run my code, Node.js throws a "RangeError: Maximum call stack size exceeded" exception caused by too many recursive calls.
Read more >
Chemdraw JS error on Google Chrome 104.x displays ...
Keywords: ChemDraw JS v20 and v21, CDJS, Chrome, 104.0.5112.80, 104.0.5112.81, RangeError: Maximum call stack size exceeded Details: When...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found