Runtime: VirtualAlloc of xx bytes failed with errno=1455 fatal error: out of memory

When performing a backup using the windows desktop application, the backup finishes with an error status message - fatal error: out of memory, and you might see stack trace similar to the following example.

runtime stack:

runtime.throw({0x7ff6567fcfff?, 0xc18f10f000?})

C:/Go1.19.3/src/runtime/panic.go:1047 +0x65 fp=0x904dfffa78 sp=0x904dfffa48 pc=0x7ff655199e65

runtime.sysUsedOS(0xc18d400000, 0x8000000)

C:/Go1.19.3/src/runtime/mem_windows.go:83 +0x1c9 fp=0x904dfffad8 sp=0x904dfffa78 pc=0x7ff655179e29

This kind of error is a result of the application requesting more memory than is currently available on the system.

  • Check the memory usage, and if possible, stop other applications that may be using large amounts of system memory.

  • Check your windows event logs around the time the error occurred in your backup logs

  • In the eazyBackup desktop application, you can optionally edit your Protected Item Schedule and select the option to "prefer temp files over memory". This option will reduce performance, but if upgrading system memory is not an option you can consider this alternative.

  • This issue on rare cases could also be caused by memory fragmentation or other issues with the operating system's memory management.

Technical details of what's happening here:

This error message is a stack trace of a runtime error that occurred in the application which it written in Go. The error occurred in the memory management part of the runtime, specifically in the sysUsedOS() function which is responsible for requesting memory from the operating system. The error indicates that the runtime was unable to allocate a contiguous block of memory of 0x8000000 bytes in size, which is 128 MB.

The stack trace shows that the error occurred in the mheap package, which is responsible for allocating memory for the Go program. The mheap package attempted to allocate a contiguous block of memory by calling the sysUsedOS() function, but the call failed, resulting in the panic.


Last updated