Отладочный узел «uncaughtException: превышен максимальный размер стека вызовов» - PullRequest
0 голосов
/ 12 июля 2019

У меня произошел сбой сервера узлов, в журналах я нахожу следующее:

2019-07-10 17:39:13.13 [] error: uncaughtException: Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
    at Server.onRequest (D:\snapshot\gde-proxy\build\proxy.js:0:0)
    at Server.emit (events.js:196:13)
    at parserOnIncoming (_http_server.js:708:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:116:17) 
  meta: {"error":{},"stack":"

Я не смог воспроизвести ошибку, поэтому вынуждаю ее и пытаюсь правильно ее перехватить.

Это то, что я пытался вызвать ошибку переполнения стека:

    try {
      const recursive = (level = 1) => {
        if (level % 500 == 0) console.log(level)
        recursive(level+1)
      }
      recursive()
    } catch (e) {
      console.log('catched', e)
      process.exit(1)
    }

Но, тем не менее, сервер зависает, например:

10500
11000
11500
npm ERR! code ELIFECYCLE
npm ERR! errno 3221225725
npm ERR! gde-proxy@1.0.4 start: `node ./build/proxy.js`
npm ERR! Exit status 3221225725
npm ERR!
npm ERR! Failed at the gde-proxy@1.0.4 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\sscarano\AppData\Roaming\npm-cache\_logs\2019-07-11T21_32_41_059Z-debug.log

В вышеупомянутом файле журнала естьничего об этой ошибке.

Как правильно отловить такую ​​ошибку.

Кстати: ошибка произошла в асинхронной функции

...