簡體   English   中英

handleMessage 中的錯誤:RangeError:超出最大調用堆棧大小

[英]Error in handleMessage: RangeError: Maximum call stack size exceeded

我在我的 firebase 函數項目中使用“kotlinx-serialization-runtime-js”。 到目前為止,一切都按預期進行。 但由於我使用的是:

val js = kotlinx.serialization.json.Json(JsonConfiguration.Stable)
             .kotlinx.serialization.stringify(result)

我無法在函數模擬器中本地運行它。 啟動時會在日志中顯示:

Error in handleMessage: {"frb":{"cwd":"/home/drindt/.../functions","projectId":"c*******r-d*********t","triggerId":"","emulators":{},"socketPath":"/tmp/fire_emu_144610.sock"},"opts":{"nodeBinary":"/usr/bin/node","env":{"GOOGLE_APPLICATION_CREDENTIALS":"/home/drindt/.config/firebase/credentials.json"}}} => RangeError: Maximum call stack size exceeded: RangeError: Maximum call stack size exceeded
at extractTriggers (/home/drindt/.npm-packages/lib/node_modules/firebase-tools/lib/extractTriggers.js:2:32)

extractTriggers的遞歸調用導致了這個問題。 我在另一個文件中發現,當這個錯誤發生時,是因為導出了其他模塊,而不僅僅是 function 模塊。 我查看了 kotlin 編譯的 js 文件確認。 如果我從上面刪除stringify一切正常。 如果我能得到一些幫助來解決這個問題,那就太好了。 感謝您花時間閱讀並幫助我。

我在這里遇到了同樣的問題,由於我還不能發表評論(沒有足夠的聲譽),所以我發布了我的問題,它的解決方案在這里:

簡而言之,我的教訓是

不要將index.ts中的export const用於函數以外的任何內容。

所以對我來說它顯示了以下錯誤:

functions: Maximum call stack size exceeded
function was killed because it raised an unhandled error.

當我查看firebase-debug.log文件時,我發現錯誤源自extractTriggers.js ,它位於:

/Users/$name$/.cache/firebase/tools/lib/node_modules/firebase-tools/lib/extractTriggers.js

但我仍然無法弄清楚根本原因是什么,所以我使用console.log打印出在extractTriggers.js中調用的 function 名稱:

i  firestore: Firestore Emulator logging to firestore-debug.log
i  ui: Emulator UI logging to ui-debug.log
i  functions: Watching "/Users/****/Desktop/.../firebase-cloud-functions/functions" for Cloud Functions...
>  ExtractTriggers for function options
>  ExtractTriggers for function allowedHeaders
>  ExtractTriggers for function 0
>  ExtractTriggers for function 1
>  ExtractTriggers for function 2
>  ExtractTriggers for function credentials
>  ExtractTriggers for function methods
>  ExtractTriggers for function origin
>  ExtractTriggers for function preflightContinue
>  ExtractTriggers for function firebaseAdmin
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
>  ExtractTriggers for function Promise
>  ExtractTriggers for function INTERNAL
>  ExtractTriggers for function firebase_
>  ExtractTriggers for function __esModule
>  ExtractTriggers for function credential
>  ExtractTriggers for function cert
>  ExtractTriggers for function refreshToken
>  ExtractTriggers for function applicationDefault
>  ExtractTriggers for function SDK_VERSION
⚠  functions: Maximum call stack size exceeded
⚠  Your function was killed because it raised an unhandled error.

仔細觀察,我發現重復開始於 function 名稱firebaseAdmin之后。 我在index.ts中導出了 firebase 管理實例

import * as admin from 'firebase-admin';

//...

export const firebaseAdmin = admin;

這是這一切的根本原因,只是刪除該行,並在所有其他文件中使用單獨的導入對我有用!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM