程序崩溃,退出代码为 -1073740791 (0xC0000409) 原因与解决方法

今天,一位朋友我在用Python开发的AI绘画程序“Stable Diffusion”的时候,结果整个控制台的调试代码报错,如下:

Python 3.10.11 (tags3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Installing requirements for Web UI

Launching Web UI with arguments: --medvram --theme dark --xformers --api --autolaunch
AUTOMATIC1111able-diffusion-webui packed by bilibili@秋葉aaaki 
本整合包完全免费,严禁倒卖。若您付费获得本软件请立刻举报商家。
[AddNet] Updating model hashes...
memory allocation of 7703274880 bytes failed

--------

[程序崩溃,退出代码为 -1073740791 (0xC0000409)]
以下是对退出代码的分析。这可能不准确,请酌情参考!
系统退出代码名称: STACK_BUFFER_OVERRUN
系统退出代码描述: 系统在此应用程序中检测到基于堆栈的缓冲区溢出。溢出可能允许恶意用户获得此应用程序的控制。
请注意,通常退出代码与其描述都不足以诊断问题!
总是上传完整日志而非只有退出代码。

memory allocation of 7703274880 bytes failed

 

原因

退出代码-1073740791 (xc0000409) 表示程序因为异常而被强制退出。

这种异常可能是由于程序访问了无效的内存地址,或者由于程序执行了非法的操作等原因引起的。如果您遇到了这个问题,建议您检查程序代码,查找可能导致异常的原因,并进行修复。

 

解决方法

退出代码-1073740791(0xc0000409)是Windows操作系统发生异常或无法正常运行应用程序时,将错误代码显示为十六进制数字的一种方式。它也被称为“堆栈缓冲区溢出”错误,通常在应用程序试图填充一个超过分配给它的内存数量的数据时发生。当操作系统发现这类错误时,会强制关闭应用程序并向用户显示退出代码。

堆栈缓冲区溢出通常是由程序员编程错误或恶意攻击者试图利用软件漏洞实现攻击而导致的。攻击者可以利用缓冲区溢出漏洞使程序执行非法操作,例如插入代码或修改重要数据。

为了防止这种类型的错误,程序员可以编写安全的代码,并遵循反堆栈缓冲区溢出攻击策略。这包括限制输入数据的长度,检查输入数据的有效性以及使用内存安全分配函数。

如果您的应用程序遇到退出代码-1073740791(0xc0000409)错误,则需要检查程序中是否存在缓冲区溢出漏洞并尝试修复它们。如果您不确定如何修复这种错误,请咨询软件开发人员或技术支持人员以获取帮助。

 

退出代码-1073740791 (0xc0000409)通常意味着程序已经遇到了严重的错误。该错误可以由多个问题引起,如内存泄漏、病毒感染、磁盘问题或其他硬件故障等。

如果该错误是由程序内存泄漏引起的,那么就意味着程序已经使用了太多的内存而操作系统已经无法为其分配更多的内存。这会导致程序停止响应并以 -1073740791 (0xc0000409)的退出代码退出。

除此之外,该错误也可能是由病毒感染引起的。病毒可能会侵入系统并窃取计算机资源,导致操作系统无法正常运行。因此,如果你的计算机有病毒感染可能就会遇到这个问题。

此外,也可能是由磁盘故障或其他硬件故障引起,例如,磁盘坏道、电源故障、内存错误等。这些问题都会导致程序无法在正常情况下运行并以此错误退出。

解决此问题的最佳方法是检查你计算机的硬件或软件是否有任何问题,并进行修复。如果是程序内存泄漏,你可以考虑重新编写程序以减少内存占用,或使用内存管理工具检查内存泄漏。如果是病毒感染,请运行杀毒软件进行扫描和修复。如果是硬件故障,请检查和修复硬件问题。如果需要,最好请专业人士协助诊断和解决该问题。

 

谈谈我是如何解决 1073740791 (0xC0000409) 这个问题的?

还是以我的朋友为例子:

 

他的电脑系统是win10,内存是16G,显存是6G;

win10,内存是16G,显存是6G

 

而且显卡还是NVIDIA Geforce RTX3060 Laptop GPU。

NVIDIA Geforce RTX3060 Laptop GPU

 

按理说这位朋友电脑配置是没任何问题的,是能启动“Stable Diffusion”的,不应该出这个错误。有的群友配置比他低,一样也能启动成功Stable Diffusion。

 

我又向这位朋友要来了整个日志文件“Diagnostics-1690857054.log”,具体如下:

SD-WebUI Launcher Diagnostic File

Date: 2023-08-01 10:30:59
Launcher Version: 2.2.16.138
Data File Version: 2023-07-27 16:11
SD-WebUI Version: 22bcc7be428c94e9408f589966c2040187245d81 (2023-03-29 13:58:29)
Working Directory: D:\游戏\stable diffusion\sd-webui-aki-v4
------------------------
System Information: 
OS: Microsoft Windows NT 10.0.19045.0
CPU: 16 cores
Memory Size: 16384 MB
Page File Size: 2432 MB
NVIDIA Driver Version: 512.89
NVIDIA Management Library Version: 11.512.89

CUDA: 
CUDA Version: 11060
CUDA Devices: 
    00000000:01:00.0 0: NVIDIA GeForce RTX 3060 Laptop GPU [86] 6 GB

DirectML: 
DirectML Devices: 
    9504 0: NVIDIA GeForce RTX 3060 Laptop GPU 5 GB
    39520 1: Intel(R) UHD Graphics 0 GB
------------------------
Available Engines: 
    CUDA GPU 0: NVIDIA GeForce RTX 3060 Laptop GPU (6 GB)
    DML GPU 0: NVIDIA GeForce RTX 3060 Laptop GPU (6 GB)
    DML GPU 1: Intel(R) UHD Graphics (128 MB)
    CPU
------------------------
Environment Variables: 
PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Users\12548\AppData\Local\Microsoft\WindowsApps;C:\Program Files (x86)\Tencent\QQGameTempest\Hall.57795\;
PUBLIC=C:\Users\Public
USERDOMAIN=DESKTOP-I8LRGHK
SystemDrive=C:
TEMP=C:\Users\12548\AppData\Local\Temp
USERDOMAIN_ROAMINGPROFILE=DESKTOP-I8LRGHK
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
PROCESSOR_LEVEL=6
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_REVISION=8d01
DriverData=C:\Windows\System32\Drivers\DriverData
CommonProgramW6432=C:\Program Files\Common Files
FPS_BROWSER_USER_PROFILE_STRING=Default
SESSIONNAME=Console
ComSpec=C:\WINDOWS\system32\cmd.exe
HOMEDRIVE=C:
OneDrive=C:\Users\12548\OneDrive
COMPUTERNAME=DESKTOP-I8LRGHK
FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
SHIM_MCCOMPAT=0x810000001
OS=Windows_NT
LOGONSERVER=\\DESKTOP-I8LRGHK
USERNAME=12548
windir=C:\WINDOWS
ProgramData=C:\ProgramData
USERPROFILE=C:\Users\12548
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
APPDATA=C:\Users\12548\AppData\Roaming
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 141 Stepping 1, GenuineIntel
ProgramFiles(x86)=C:\Program Files (x86)
CommonProgramFiles=C:\Program Files\Common Files
SystemRoot=C:\WINDOWS
ZES_ENABLE_SYSMAN=1
NUMBER_OF_PROCESSORS=16
NVIDIAWHITELISTED=0x01
TMP=C:\Users\12548\AppData\Local\Temp
ProgramW6432=C:\Program Files
ProgramFiles=C:\Program Files
ALLUSERSPROFILE=C:\ProgramData
LOCALAPPDATA=C:\Users\12548\AppData\Local
HOMEPATH=\Users\12548
------------------------
Paths: 
Python: D:\游戏\stable diffusion\sd-webui-aki-v4\py310\python.exe
Git: D:\游戏\stable diffusion\sd-webui-aki-v4\git\cmd\git.exe
Cmd: C:\WINDOWS\system32\cmd.exe
Cache Path: D:\游戏\stable diffusion\sd-webui-aki-v4\.cache
------------------------
Config: 
Audience Type: 新手
Engine: CPU [0]
VRAM Optimization: Low [None]
Always Batch Cond Unconditional: False [False]
Port: 7860 [7860]
XAttn Optimization: Auto [Auto]
Upcast Sampling: False [False]
No Half: True [True]
No Half VAE: False [False]
Listen: False [False]
Share: False [False]
Server Name:  []
Channels Last Optimization: False [False]
Freeze Settings: False [False]
API: True [True]
No Web UI: False [False]
UI Debug Mode: False [False]
Use Accelerate: False [False]
Use TextBox Seed: False [False]
Enable Insecure Extension Access: False [False]
Disable Safe Unpickle: False [False]
Allow Code: False [False]
HF Offline Mode: False [False]
Disable NaN Check: False [False]
Use Gradio Queue: False [False]
No Gradio Queue: False [False]
Skip Install: False [False]
Cloud Localization: False [False]
No Hashing: False [False]
Fix Torch Save Encoding: True [True]
Cuda Allocator Backend: Native [Native]
Extra Args: 
------------------------
Network Preferences: 
Proxy Address: 
Proxy Git: False
Proxy Pip: False
Proxy Model Download: False
Proxy Env: False
Mirror Pypi: True
Mirror Git: True
Mirror ExtensionList: True
------------------------
config.json: 
{......代码太长,这里先省略掉......}
------------------------
Log: 
Python 3.10.11 (tags/v3.10.11:7d4cc5a, Apr  5 2023, 00:38:17) [MSC v.1929 64 bit (AMD64)]
Commit hash: 22bcc7be428c94e9408f589966c2040187245d81
Installing requirements for Web UI

Launching Web UI with arguments: --use-cpu all --skip-torch-cuda-test --theme dark --precision full --no-half --api --autolaunch
Warning: caught exception 'No CUDA GPUs are available', memory monitor disabled
No module 'xformers'. Proceeding without it.
AUTOMATIC1111/stable-diffusion-webui packed by bilibili@秋葉aaaki 
本整合包完全免费,严禁倒卖。若您付费获得本软件请立刻举报商家。
[AddNet] Updating model hashes...
memory allocation of 7703274880 bytes failed
[Exited, code -1073740791 (0xC0000409)]

 

由于:

7703274880字节 = 7.1742338G

他的显存只有6G,而且他的C盘剩余空间只有12G,估计这两个都有一定的影响。

最主要的问题是:运行启动器的时候,我亲自看到16G内存飙红色到99% 然后就出现failed。这就很尴尬很无语,16G内存还不足够用吗?

 

可参考:

Warning: caught exception 'No CUDA GPUs are available', memory monitor disabled

付杰
  • ¥ 69.0元
  • 市场价:69.0元
  • ¥ 199.0元
  • 市场价:399.0元
  • ¥ 598.0元
  • 市场价:2980.0元
  • ¥ 29.99元
  • 市场价:888元

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: