首页 > 编程语言 >【Azure Function App】Nodejs Function遇见WorkerProcessExitException : node exited with code -1073740791

【Azure Function App】Nodejs Function遇见WorkerProcessExitException : node exited with code -1073740791

时间:2023-08-21 20:22:17浏览次数:56  
标签:Function node code OVERRUN 1073740791 Blob 0xC0000409

问题描述

Nodejs Function,使用Blob Trigger用于处理上传到Storage Blob的文件,但是最近发现偶发报错:Exception while executing function: Functions.AzureBlobTrigger ---> Microsoft.Azure.WebJobs.Script.Workers.WorkerProcessExitException : node exited with code -1073740791 (0xC0000409)

 

问题解答

根据错误消息的编码[-1073740791 (0xC0000409)],查到错误消息为 STATUS_STACK_BUFFER_OVERRUN,称栈缓冲区溢出异常,说明系统在此应用程序中检测到基于堆栈的缓冲区溢出。

从此错误中可以判断中,报错与函数在执行时所占用的内存大小有关,经过对成功和失败处理的结果对比,最终发现是触发函数的Blob文件大小相关。 

  • 当上传文件小于50MB时,函数执行正常。
  • 当上传文件大于50MB时,函数异常退出。

但是,根据对Blob Trigger的描述分析,它本身并没有对文件的大小由任何限制,所以无法通过修改配置/参数的方式缓解问题。同时,函数的后端实例的内存大小也是可能导致出现  STATUS_STACK_BUFFER_OVERRUN -1073740791 (0xC0000409) 的因素之一。  

 

最终,在没有好的办法之前,通过限制Blob 文件大小的方式临时缓解。

 

参考资料

Function App的并发和内存使用情况:https://learn.microsoft.com/zh-cn/azure/azure-functions/functions-bindings-storage-blob-trigger?tabs=python-v2%2Cin-process&pivots=programming-language-javascript#concurrency-and-memory-usage

STATUS_STACK_BUFFER_OVERRUN doesn’t mean that there was a stack buffer overrun : https://devblogs.microsoft.com/oldnewthing/20190108-00/?p=100655

 

 

标签:Function,node,code,OVERRUN,1073740791,Blob,0xC0000409
From: https://www.cnblogs.com/lulight/p/17646986.html

相关文章

  • Educational Codeforces Round 153 (Rated for Div. 2)
    Preface最近CF状态烂得一批,已经连续两场被D题腐乳了,再这样下去就真成抱队友大腿的混子了但没想到因为D题比赛时贪心过的人太多了,后面一波叉掉了比赛时过的\(\frac{1}{3}\)的人导致竟然还能上分我是没想到的没抓住暑假大好的上分机会,等开学后再想冲分就难咯A.NotaSubstring......
  • 为什么使用HashMap的键存的是自定义的键时需要重写hashcode和equals方法?
    当hashMap的键存的是自定义的键时需要重写对象的hashcode和equals方法存入的是对象时,应该hashMapd的键不能存储的值不能相同,如果重写方法的hashcode()方法,他会默认调用object类的hashcode方法,但是object的hashcode方法时地址值计算出来的hash值,并不是内容,这个时候就需要重......
  • Codeforces Round 893 (Div. 2) A-C题解
    CF893(Div.2)A.Buttons签到题。两人会优先选择c中的按钮来,避免自己的按钮消耗同时减少对方可选择的按钮。所以c%2==1等价于a的按钮数+1,c%2==0时相当于c按钮不存在,比较ab按钮的数量来得出答案即可。#include<iostream>usingnamespacestd;typedeflonglong......
  • 当字符串中含有%,先使用 encodeURI 进行编码,再使用decodeURI解码报错
    报错原因:decodeURI不允许参数有%,它会自动把%25转义为%,这个转义后的%导致的报错解决方法一在解码decodeURI之前将%替换为%25编码:url=encodeURI(encodeURI(url));解码:url=url.replaceAll("%","%25");url=decodeURI(decodeURI(url));解决方法二在编码encodeURI之前就将%......
  • vscode 快捷键生成vue模板
    vscode快捷键生成vue模板教程我们在开发vue项目时,需要一个vue模版,去创建一个组件,可以使用快捷键1.文件--》首选项--》用户片段2.搜索vue选择3.模板内容填充{"Printtoconsole":{"prefix":"vue","body":["<template>",......
  • LeetCode-164. 最大间距(Java)
    一、前言......
  • [React Typescript] Function overload in React hook
    import{useState}from"react";import{Equal,Expect}from"../helpers/type-utils";typeUseStateReturnValue<T>={value:T;set:React.Dispatch<React.SetStateAction<T>>;};exportfunctionuseStateAsObjec......
  • nvm 管理 Node.js 版本
    通过NVM安装、管理Node.js版本(Windows)介绍NVM可以让我们通过指令安装指定版本,并且可以切换当前Node.js版本,不用花时间在解决升版和降版。安装链接:https://github.com/coreybutler/nvm-windows选择最新版nvm-setup.exe下载下载下载完成后安装同意协议......
  • Failed to execute 'btoa' on 'Window': The string to be encoded contains characte
    在使用浏览器内置APIbtoa()编码base64时:报错Failedtoexecute'btoa'on'Window':ThestringtobeencodedcontainscharactersoutsideoftheLatin1range报错信息解释:报错信息中指出字符串中包含了Latin1范围之外的字符,导致无法使用window.btoa进行解析。根据你提供......
  • Leetcode 59. 螺旋矩阵 II && 剑指 Offer 29. 顺时针打印矩阵
    这两个题非常相似,但是前者较为简单,后者较难。由于前者访问的矩阵是方阵,因此可以通过迭代去做(因为方阵每次迭代,长和宽缩水的大小是一样的,但是矩阵不可以,因为矩阵最后一次迭代,长和宽的缩水不一定一样)classSolution{public:vector<vector<int>>generateMatrix(intn){......