wailsapp/wails · error
CoInitializeEx failed with E_OUTOFMEMORY
Error message
CoInitializeEx failed with E_OUTOFMEMORY
What it means
Error "CoInitializeEx failed with E_OUTOFMEMORY" thrown in wailsapp/wails.
Source
Thrown at v3/pkg/w32/ole32.go:38
procCoInitialize = modole32.NewProc("CoInitialize")
procOleInitialize = modole32.NewProc("OleInitialize")
procCoUninitialize = modole32.NewProc("CoUninitialize")
procCoCreateInstance = modole32.NewProc("CoCreateInstance")
procCreateStreamOnHGlobal = modole32.NewProc("CreateStreamOnHGlobal")
procRegisterDragDrop = modole32.NewProc("RegisterDragDrop")
procRevokeDragDrop = modole32.NewProc("RevokeDragDrop")
)
func CoInitializeEx(coInit uintptr) HRESULT {
ret, _, _ := procCoInitializeEx.Call(
0,
coInit)
switch uint32(ret) {
case E_INVALIDARG:
panic("CoInitializeEx failed with E_INVALIDARG")
case E_OUTOFMEMORY:
panic("CoInitializeEx failed with E_OUTOFMEMORY")
case E_UNEXPECTED:
panic("CoInitializeEx failed with E_UNEXPECTED")
}
return HRESULT(ret)
}
func CoInitialize() {
procCoInitialize.Call(0)
}
func CoUninitialize() {
procCoUninitialize.Call()
}
func CoCreateInstance(clsid *syscall.GUID, dwClsContext uintptr, riid *syscall.GUID, ppv uintptr) HRESULT {
ret, _, _ := procCoCreateInstance.Call(
uintptr(unsafe.Pointer(clsid)),View on GitHub (pinned to 0e754b1b40)
Solutions
- Free memory in the process before initializing COM; E_OUTOFMEMORY indicates the system could not allocate the COM state for the thread.
- Reduce memory pressure or retry after releasing unused allocations.
When it happens
Trigger: Occurs when CoInitializeEx returns E_OUTOFMEMORY, indicating insufficient memory to initialize the COM library.
Common situations: See trigger scenarios.
AI-assisted analysis of wailsapp/wails@0e754b1b40 (2026-08-15).
Data as JSON: /api/errors/c97cef27ab90dd9e.
Report an issue: GitHub.