[GH-ISSUE #14952] v0.18.2+ crashes with access violation in _Cfunc_mlx_random_key #9615

Open
opened 2026-04-12 22:31:06 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @hanspi42 on GitHub (Mar 19, 2026).
Original GitHub issue: https://github.com/ollama/ollama/issues/14952

What is the issue?

Yesterday I worked with ollama without issues both on a simple GPU in my laptop's CPU and on an nVidia Titan V attached as an eGPU.

This morning I installed the update to v0.18.2, and now the server will not start anymore.

I tried to roll back to 0.18.1 and 0.17 versions, to no avail.

The server log is:

Relevant log output

Exception 0xc0000005 0x8 0x7ffa9b36cb12 0x7ffa9b36cb12
PC=0x7ffa9b36cb12
signal arrived during external code execution

runtime.cgocall(0x7ff63bb7feb0, 0xc000047da0)
	runtime/cgocall.go:167 +0x3e fp=0xc000047d78 sp=0xc000047d10 pc=0x7ff63ac0243e
github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc0000902e0, 0x19d057faff6)
	_cgo_gotypes.go:1976 +0x50 fp=0xc000047da0 sp=0xc000047d78 pc=0x7ff63b24a8d0
github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870
github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d057faff6)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000047dd8 sp=0xc000047da0 pc=0x7ff63b253f9d
github.com/ollama/ollama/x/imagegen/mlx.init.0()
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000047e28 sp=0xc000047dd8 pc=0x7ff63b253da9
runtime.doInit1(0x7ff63ce9c1b0)
	runtime/proc.go:7350 +0xdd fp=0xc000047f50 sp=0xc000047e28 pc=0x7ff63abe343d
runtime.doInit(...)
	runtime/proc.go:7317
runtime.main()
	runtime/proc.go:254 +0x325 fp=0xc000047fe0 sp=0xc000047f50 pc=0x7ff63abd4e85
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000047fe8 sp=0xc000047fe0 pc=0x7ff63ac0d9a1

goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000089fa8 sp=0xc000089f88 pc=0x7ff63ac0598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.forcegchelper()
	runtime/proc.go:348 +0xb8 fp=0xc000089fe0 sp=0xc000089fa8 pc=0x7ff63abd50f8
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000089fe8 sp=0xc000089fe0 pc=0x7ff63ac0d9a1
created by runtime.init.7 in goroutine 1
	runtime/proc.go:336 +0x1a

goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc00008bf80 sp=0xc00008bf60 pc=0x7ff63ac0598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.bgsweep(0xc000098000)
	runtime/mgcsweep.go:276 +0x94 fp=0xc00008bfc8 sp=0xc00008bf80 pc=0x7ff63abbde74
runtime.gcenable.gowrap1()
	runtime/mgc.go:204 +0x25 fp=0xc00008bfe0 sp=0xc00008bfc8 pc=0x7ff63abb2285
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc00008bfe8 sp=0xc00008bfe0 pc=0x7ff63ac0d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0x66

goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]:
runtime.gopark(0xc000098000?, 0x7ff63c4402e8?, 0x1?, 0x0?, 0xc000002e00?)
	runtime/proc.go:435 +0xce fp=0xc00009ff78 sp=0xc00009ff58 pc=0x7ff63ac0598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.(*scavengerState).park(0x7ff63cfb2520)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc00009ffa8 sp=0xc00009ff78 pc=0x7ff63abbb909
runtime.bgscavenge(0xc000098000)
	runtime/mgcscavenge.go:653 +0x3c fp=0xc00009ffc8 sp=0xc00009ffa8 pc=0x7ff63abbbe7c
runtime.gcenable.gowrap2()
	runtime/mgc.go:205 +0x25 fp=0xc00009ffe0 sp=0xc00009ffc8 pc=0x7ff63abb2225
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc00009ffe8 sp=0xc00009ffe0 pc=0x7ff63ac0d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:205 +0xa5

goroutine 5 gp=0xc000003340 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc0000a1e30 sp=0xc0000a1e10 pc=0x7ff63ac0598e
runtime.runfinq()
	runtime/mfinal.go:196 +0x107 fp=0xc0000a1fe0 sp=0xc0000a1e30 pc=0x7ff63abb1207
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc0000a1fe8 sp=0xc0000a1fe0 pc=0x7ff63ac0d9a1
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:166 +0x3d
rax     0x64
rbx     0x7ffa9b43098c
rcx     0xa96761286e10000
rdx     0x1964ea90000
rdi     0x196f6ef0860
rsi     0x0
rbp     0x239bcff7c9
rsp     0x239bcff260
r8      0x7ffffffffffffffc
r9      0x239bba7000
r10     0x80fcf8fefcfefefe
r11     0x1964eda9ff0
r12     0xffffffffffffffff
r13     0x5d
r14     0x239bcff900
r15     0x0
rip     0x7ffa9b36cb12
rflags  0x10202
cs      0x33
fs      0x53
gs      0x2b

OS

Windows 11 Pro

GPU

GPU on Intel Core Ultra7 155H

CPU

Intel Core Ultra7 155H

Ollama version

v0.18.2

Originally created by @hanspi42 on GitHub (Mar 19, 2026). Original GitHub issue: https://github.com/ollama/ollama/issues/14952 ### What is the issue? Yesterday I worked with ollama without issues both on a simple GPU in my laptop's CPU and on an nVidia Titan V attached as an eGPU. This morning I installed the update to v0.18.2, and now the server will not start anymore. I tried to roll back to 0.18.1 and 0.17 versions, to no avail. The server log is: ### Relevant log output ```shell Exception 0xc0000005 0x8 0x7ffa9b36cb12 0x7ffa9b36cb12 PC=0x7ffa9b36cb12 signal arrived during external code execution runtime.cgocall(0x7ff63bb7feb0, 0xc000047da0) runtime/cgocall.go:167 +0x3e fp=0xc000047d78 sp=0xc000047d10 pc=0x7ff63ac0243e github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc0000902e0, 0x19d057faff6) _cgo_gotypes.go:1976 +0x50 fp=0xc000047da0 sp=0xc000047d78 pc=0x7ff63b24a8d0 github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d057faff6) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000047dd8 sp=0xc000047da0 pc=0x7ff63b253f9d github.com/ollama/ollama/x/imagegen/mlx.init.0() github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000047e28 sp=0xc000047dd8 pc=0x7ff63b253da9 runtime.doInit1(0x7ff63ce9c1b0) runtime/proc.go:7350 +0xdd fp=0xc000047f50 sp=0xc000047e28 pc=0x7ff63abe343d runtime.doInit(...) runtime/proc.go:7317 runtime.main() runtime/proc.go:254 +0x325 fp=0xc000047fe0 sp=0xc000047f50 pc=0x7ff63abd4e85 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000047fe8 sp=0xc000047fe0 pc=0x7ff63ac0d9a1 goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000089fa8 sp=0xc000089f88 pc=0x7ff63ac0598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.forcegchelper() runtime/proc.go:348 +0xb8 fp=0xc000089fe0 sp=0xc000089fa8 pc=0x7ff63abd50f8 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000089fe8 sp=0xc000089fe0 pc=0x7ff63ac0d9a1 created by runtime.init.7 in goroutine 1 runtime/proc.go:336 +0x1a goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc00008bf80 sp=0xc00008bf60 pc=0x7ff63ac0598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.bgsweep(0xc000098000) runtime/mgcsweep.go:276 +0x94 fp=0xc00008bfc8 sp=0xc00008bf80 pc=0x7ff63abbde74 runtime.gcenable.gowrap1() runtime/mgc.go:204 +0x25 fp=0xc00008bfe0 sp=0xc00008bfc8 pc=0x7ff63abb2285 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc00008bfe8 sp=0xc00008bfe0 pc=0x7ff63ac0d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:204 +0x66 goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]: runtime.gopark(0xc000098000?, 0x7ff63c4402e8?, 0x1?, 0x0?, 0xc000002e00?) runtime/proc.go:435 +0xce fp=0xc00009ff78 sp=0xc00009ff58 pc=0x7ff63ac0598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.(*scavengerState).park(0x7ff63cfb2520) runtime/mgcscavenge.go:425 +0x49 fp=0xc00009ffa8 sp=0xc00009ff78 pc=0x7ff63abbb909 runtime.bgscavenge(0xc000098000) runtime/mgcscavenge.go:653 +0x3c fp=0xc00009ffc8 sp=0xc00009ffa8 pc=0x7ff63abbbe7c runtime.gcenable.gowrap2() runtime/mgc.go:205 +0x25 fp=0xc00009ffe0 sp=0xc00009ffc8 pc=0x7ff63abb2225 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc00009ffe8 sp=0xc00009ffe0 pc=0x7ff63ac0d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:205 +0xa5 goroutine 5 gp=0xc000003340 m=nil [finalizer wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc0000a1e30 sp=0xc0000a1e10 pc=0x7ff63ac0598e runtime.runfinq() runtime/mfinal.go:196 +0x107 fp=0xc0000a1fe0 sp=0xc0000a1e30 pc=0x7ff63abb1207 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc0000a1fe8 sp=0xc0000a1fe0 pc=0x7ff63ac0d9a1 created by runtime.createfing in goroutine 1 runtime/mfinal.go:166 +0x3d rax 0x64 rbx 0x7ffa9b43098c rcx 0xa96761286e10000 rdx 0x1964ea90000 rdi 0x196f6ef0860 rsi 0x0 rbp 0x239bcff7c9 rsp 0x239bcff260 r8 0x7ffffffffffffffc r9 0x239bba7000 r10 0x80fcf8fefcfefefe r11 0x1964eda9ff0 r12 0xffffffffffffffff r13 0x5d r14 0x239bcff900 r15 0x0 rip 0x7ffa9b36cb12 rflags 0x10202 cs 0x33 fs 0x53 gs 0x2b ``` ### OS Windows 11 Pro ### GPU GPU on Intel Core Ultra7 155H ### CPU Intel Core Ultra7 155H ### Ollama version v0.18.2
GiteaMirror added the bug label 2026-04-12 22:31:06 -05:00
Author
Owner

@hanspi42 commented on GitHub (Mar 19, 2026):

P.S. Roll-back to 0.17.7 and blocking automatic updates has worked.

<!-- gh-comment-id:4089391307 --> @hanspi42 commented on GitHub (Mar 19, 2026): P.S. Roll-back to 0.17.7 and blocking automatic updates has worked.
Author
Owner

@gqgunhed commented on GitHub (Mar 19, 2026):

I have the same exception as mentioned above on a slightly different setup: Win11 home with AMD GPU. I asked my Qwen-Coder about it and this is (part of) his repsonse:

The error you're seeing is a Windows crash (Access Violation) — specifically, a Exception 0xc0000005, which means "Access Violation" (you tried to read/write memory that you don't have permission to access or that's invalid).

Let’s break this down step by step, explain what it means, and how to fix it.

🔍 What the Error Means
Exception 0xc0000005 0x8 0x7fff2fd6cb12 0x7fff2fd6cb12
PC=0x7fff2fd6cb12
signal arrived during external code execution
0xc0000005 = Access Violation (trying to access invalid memory).
PC=0x7fff2fd6cb12 = The Program Counter (CPU instruction pointer) was at this address when the crash happened.
signal arrived during external code execution = This crash occurred in native (C/C++/Go CGO) code, not in pure Go code — so it's likely due to a low-level library or native dependency.
From the stack trace:

github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(...)
This indicates that the crash occurred inside a C function (mlx_random_key) from the MLX library, which is a machine learning framework optimized for Apple Silicon (M1/M2).

Maybe this helps someone to find a solution. Thanks guys :)

<!-- gh-comment-id:4089871868 --> @gqgunhed commented on GitHub (Mar 19, 2026): I have the same exception as mentioned above on a slightly different setup: Win11 home with AMD GPU. I asked my Qwen-Coder about it and this is (part of) his repsonse: > The error you're seeing is a Windows crash (Access Violation) — specifically, a Exception 0xc0000005, which means "Access Violation" (you tried to read/write memory that you don't have permission to access or that's invalid). > > Let’s break this down step by step, explain what it means, and how to fix it. > > 🔍 What the Error Means > Exception 0xc0000005 0x8 0x7fff2fd6cb12 0x7fff2fd6cb12 > PC=0x7fff2fd6cb12 > signal arrived during external code execution > 0xc0000005 = Access Violation (trying to access invalid memory). > PC=0x7fff2fd6cb12 = The Program Counter (CPU instruction pointer) was at this address when the crash happened. > signal arrived during external code execution = This crash occurred in native (C/C++/Go CGO) code, not in pure Go code — so it's likely due to a low-level library or native dependency. > From the stack trace: > > github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(...) > This indicates that the crash occurred inside a C function (mlx_random_key) from the MLX library, which is a machine learning framework optimized for Apple Silicon (M1/M2). Maybe this helps someone to find a solution. Thanks guys :)
Author
Owner

@Facel3ssR0nin commented on GitHub (Mar 25, 2026):

Same bug , win 11 amd64, amd gpu

Exception 0xc0000005 0x8 0x7ffe85c1cb12 0x7ffe85c1cb12
PC=0x7ffe85c1cb12
signal arrived during external code execution

runtime.cgocall(0x7ff7d8d8feb0, 0xc000049da0)
	runtime/cgocall.go:167 +0x3e fp=0xc000049d78 sp=0xc000049d10 pc=0x7ff7d7e1243e
github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc00007c2e0, 0x19d23034ff0)
	_cgo_gotypes.go:1976 +0x50 fp=0xc000049da0 sp=0xc000049d78 pc=0x7ff7d845a8d0
github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870
github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d23034ff0)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000049dd8 sp=0xc000049da0 pc=0x7ff7d8463f9d
github.com/ollama/ollama/x/imagegen/mlx.init.0()
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000049e28 sp=0xc000049dd8 pc=0x7ff7d8463da9
runtime.doInit1(0x7ff7da0ac1b0)
	runtime/proc.go:7350 +0xdd fp=0xc000049f50 sp=0xc000049e28 pc=0x7ff7d7df343d
runtime.doInit(...)
	runtime/proc.go:7317
runtime.main()
	runtime/proc.go:254 +0x325 fp=0xc000049fe0 sp=0xc000049f50 pc=0x7ff7d7de4e85
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000049fe8 sp=0xc000049fe0 pc=0x7ff7d7e1d9a1

goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000081fa8 sp=0xc000081f88 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.forcegchelper()
	runtime/proc.go:348 +0xb8 fp=0xc000081fe0 sp=0xc000081fa8 pc=0x7ff7d7de50f8
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000081fe8 sp=0xc000081fe0 pc=0x7ff7d7e1d9a1
created by runtime.init.7 in goroutine 1
	runtime/proc.go:336 +0x1a

goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000083f80 sp=0xc000083f60 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.bgsweep(0xc00008c000)
	runtime/mgcsweep.go:276 +0x94 fp=0xc000083fc8 sp=0xc000083f80 pc=0x7ff7d7dcde74
runtime.gcenable.gowrap1()
	runtime/mgc.go:204 +0x25 fp=0xc000083fe0 sp=0xc000083fc8 pc=0x7ff7d7dc2285
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000083fe8 sp=0xc000083fe0 pc=0x7ff7d7e1d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0x66

goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]:
runtime.gopark(0xc00008c000?, 0x7ff7d96502e8?, 0x1?, 0x0?, 0xc000002e00?)
	runtime/proc.go:435 +0xce fp=0xc000093f78 sp=0xc000093f58 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.(*scavengerState).park(0x7ff7da1c2520)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc000093fa8 sp=0xc000093f78 pc=0x7ff7d7dcb909
runtime.bgscavenge(0xc00008c000)
	runtime/mgcscavenge.go:653 +0x3c fp=0xc000093fc8 sp=0xc000093fa8 pc=0x7ff7d7dcbe7c
runtime.gcenable.gowrap2()
	runtime/mgc.go:205 +0x25 fp=0xc000093fe0 sp=0xc000093fc8 pc=0x7ff7d7dc2225
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000093fe8 sp=0xc000093fe0 pc=0x7ff7d7e1d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:205 +0xa5

goroutine 5 gp=0xc000003340 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000095e30 sp=0xc000095e10 pc=0x7ff7d7e1598e
runtime.runfinq()
	runtime/mfinal.go:196 +0x107 fp=0xc000095fe0 sp=0xc000095e30 pc=0x7ff7d7dc1207
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x7ff7d7e1d9a1
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:166 +0x3d
rax     0x64
rbx     0x7ffe85ce098c
rcx     0xd1564dfeda8f0000
rdx     0x20907b70000
rdi     0x209c72d0860
rsi     0x0
rbp     0xae48d7f409
rsp     0xae48d7eea0
r8      0x7ffffffffffffffc
r9      0xae48f8e000
r10     0x8101010101010100
r11     0x20907cdbf00
r12     0xffffffffffffffff
r13     0x5d
r14     0xae48d7f540
r15     0x0
rip     0x7ffe85c1cb12
rflags  0x10202
cs      0x33
fs      0x53
gs      0x2b
Exception 0xc0000005 0x8 0x7ffe2ad0cb12 0x7ffe2ad0cb12
PC=0x7ffe2ad0cb12
signal arrived during external code execution

runtime.cgocall(0x7ff7d8d8feb0, 0xc000049da0)
	runtime/cgocall.go:167 +0x3e fp=0xc000049d78 sp=0xc000049d10 pc=0x7ff7d7e1243e
github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc0001122d8, 0x19d23039b27)
	_cgo_gotypes.go:1976 +0x50 fp=0xc000049da0 sp=0xc000049d78 pc=0x7ff7d845a8d0
github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870
github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d23039b27)
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000049dd8 sp=0xc000049da0 pc=0x7ff7d8463f9d
github.com/ollama/ollama/x/imagegen/mlx.init.0()
	github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000049e28 sp=0xc000049dd8 pc=0x7ff7d8463da9
runtime.doInit1(0x7ff7da0ac1b0)
	runtime/proc.go:7350 +0xdd fp=0xc000049f50 sp=0xc000049e28 pc=0x7ff7d7df343d
runtime.doInit(...)
	runtime/proc.go:7317
runtime.main()
	runtime/proc.go:254 +0x325 fp=0xc000049fe0 sp=0xc000049f50 pc=0x7ff7d7de4e85
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000049fe8 sp=0xc000049fe0 pc=0x7ff7d7e1d9a1

goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000081fa8 sp=0xc000081f88 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.forcegchelper()
	runtime/proc.go:348 +0xb8 fp=0xc000081fe0 sp=0xc000081fa8 pc=0x7ff7d7de50f8
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000081fe8 sp=0xc000081fe0 pc=0x7ff7d7e1d9a1
created by runtime.init.7 in goroutine 1
	runtime/proc.go:336 +0x1a

goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc000083f80 sp=0xc000083f60 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.bgsweep(0xc00008c000)
	runtime/mgcsweep.go:276 +0x94 fp=0xc000083fc8 sp=0xc000083f80 pc=0x7ff7d7dcde74
runtime.gcenable.gowrap1()
	runtime/mgc.go:204 +0x25 fp=0xc000083fe0 sp=0xc000083fc8 pc=0x7ff7d7dc2285
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000083fe8 sp=0xc000083fe0 pc=0x7ff7d7e1d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:204 +0x66

goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]:
runtime.gopark(0xc00008c000?, 0x7ff7d96502e8?, 0x1?, 0x0?, 0xc000002e00?)
	runtime/proc.go:435 +0xce fp=0xc000093f78 sp=0xc000093f58 pc=0x7ff7d7e1598e
runtime.goparkunlock(...)
	runtime/proc.go:441
runtime.(*scavengerState).park(0x7ff7da1c2520)
	runtime/mgcscavenge.go:425 +0x49 fp=0xc000093fa8 sp=0xc000093f78 pc=0x7ff7d7dcb909
runtime.bgscavenge(0xc00008c000)
	runtime/mgcscavenge.go:653 +0x3c fp=0xc000093fc8 sp=0xc000093fa8 pc=0x7ff7d7dcbe7c
runtime.gcenable.gowrap2()
	runtime/mgc.go:205 +0x25 fp=0xc000093fe0 sp=0xc000093fc8 pc=0x7ff7d7dc2225
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc000093fe8 sp=0xc000093fe0 pc=0x7ff7d7e1d9a1
created by runtime.gcenable in goroutine 1
	runtime/mgc.go:205 +0xa5

goroutine 18 gp=0xc000106380 m=nil [finalizer wait]:
runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?)
	runtime/proc.go:435 +0xce fp=0xc00008fe30 sp=0xc00008fe10 pc=0x7ff7d7e1598e
runtime.runfinq()
	runtime/mfinal.go:196 +0x107 fp=0xc00008ffe0 sp=0xc00008fe30 pc=0x7ff7d7dc1207
runtime.goexit({})
	runtime/asm_amd64.s:1700 +0x1 fp=0xc00008ffe8 sp=0xc00008ffe0 pc=0x7ff7d7e1d9a1
created by runtime.createfing in goroutine 1
	runtime/mfinal.go:166 +0x3d
rax     0x64
rbx     0x7ffe2add098c
rcx     0xa51faac24c350000
rdx     0x28ff8730000
rdi     0x2903fd20860
rsi     0x0
rbp     0xd0a17cf619
rsp     0xd0a17cf0b0
r8      0x7ffffffffffffffc
r9      0xd0a191b000
r10     0x8101010101010100
r11     0x28ff8a4bfe0
r12     0xffffffffffffffff
r13     0x5c
r14     0xd0a17cf750
r15     0x0
rip     0x7ffe2ad0cb12
rflags  0x10202
cs      0x33
fs      0x53
gs      0x2b

Bug can be reproduced by running ollama with any args from cmd or powershell, e.g. ollama -v

<!-- gh-comment-id:4122886207 --> @Facel3ssR0nin commented on GitHub (Mar 25, 2026): Same bug , win 11 amd64, amd gpu ``` Exception 0xc0000005 0x8 0x7ffe85c1cb12 0x7ffe85c1cb12 PC=0x7ffe85c1cb12 signal arrived during external code execution runtime.cgocall(0x7ff7d8d8feb0, 0xc000049da0) runtime/cgocall.go:167 +0x3e fp=0xc000049d78 sp=0xc000049d10 pc=0x7ff7d7e1243e github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc00007c2e0, 0x19d23034ff0) _cgo_gotypes.go:1976 +0x50 fp=0xc000049da0 sp=0xc000049d78 pc=0x7ff7d845a8d0 github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d23034ff0) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000049dd8 sp=0xc000049da0 pc=0x7ff7d8463f9d github.com/ollama/ollama/x/imagegen/mlx.init.0() github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000049e28 sp=0xc000049dd8 pc=0x7ff7d8463da9 runtime.doInit1(0x7ff7da0ac1b0) runtime/proc.go:7350 +0xdd fp=0xc000049f50 sp=0xc000049e28 pc=0x7ff7d7df343d runtime.doInit(...) runtime/proc.go:7317 runtime.main() runtime/proc.go:254 +0x325 fp=0xc000049fe0 sp=0xc000049f50 pc=0x7ff7d7de4e85 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000049fe8 sp=0xc000049fe0 pc=0x7ff7d7e1d9a1 goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000081fa8 sp=0xc000081f88 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.forcegchelper() runtime/proc.go:348 +0xb8 fp=0xc000081fe0 sp=0xc000081fa8 pc=0x7ff7d7de50f8 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000081fe8 sp=0xc000081fe0 pc=0x7ff7d7e1d9a1 created by runtime.init.7 in goroutine 1 runtime/proc.go:336 +0x1a goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000083f80 sp=0xc000083f60 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.bgsweep(0xc00008c000) runtime/mgcsweep.go:276 +0x94 fp=0xc000083fc8 sp=0xc000083f80 pc=0x7ff7d7dcde74 runtime.gcenable.gowrap1() runtime/mgc.go:204 +0x25 fp=0xc000083fe0 sp=0xc000083fc8 pc=0x7ff7d7dc2285 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000083fe8 sp=0xc000083fe0 pc=0x7ff7d7e1d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:204 +0x66 goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]: runtime.gopark(0xc00008c000?, 0x7ff7d96502e8?, 0x1?, 0x0?, 0xc000002e00?) runtime/proc.go:435 +0xce fp=0xc000093f78 sp=0xc000093f58 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.(*scavengerState).park(0x7ff7da1c2520) runtime/mgcscavenge.go:425 +0x49 fp=0xc000093fa8 sp=0xc000093f78 pc=0x7ff7d7dcb909 runtime.bgscavenge(0xc00008c000) runtime/mgcscavenge.go:653 +0x3c fp=0xc000093fc8 sp=0xc000093fa8 pc=0x7ff7d7dcbe7c runtime.gcenable.gowrap2() runtime/mgc.go:205 +0x25 fp=0xc000093fe0 sp=0xc000093fc8 pc=0x7ff7d7dc2225 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000093fe8 sp=0xc000093fe0 pc=0x7ff7d7e1d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:205 +0xa5 goroutine 5 gp=0xc000003340 m=nil [finalizer wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000095e30 sp=0xc000095e10 pc=0x7ff7d7e1598e runtime.runfinq() runtime/mfinal.go:196 +0x107 fp=0xc000095fe0 sp=0xc000095e30 pc=0x7ff7d7dc1207 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000095fe8 sp=0xc000095fe0 pc=0x7ff7d7e1d9a1 created by runtime.createfing in goroutine 1 runtime/mfinal.go:166 +0x3d rax 0x64 rbx 0x7ffe85ce098c rcx 0xd1564dfeda8f0000 rdx 0x20907b70000 rdi 0x209c72d0860 rsi 0x0 rbp 0xae48d7f409 rsp 0xae48d7eea0 r8 0x7ffffffffffffffc r9 0xae48f8e000 r10 0x8101010101010100 r11 0x20907cdbf00 r12 0xffffffffffffffff r13 0x5d r14 0xae48d7f540 r15 0x0 rip 0x7ffe85c1cb12 rflags 0x10202 cs 0x33 fs 0x53 gs 0x2b Exception 0xc0000005 0x8 0x7ffe2ad0cb12 0x7ffe2ad0cb12 PC=0x7ffe2ad0cb12 signal arrived during external code execution runtime.cgocall(0x7ff7d8d8feb0, 0xc000049da0) runtime/cgocall.go:167 +0x3e fp=0xc000049d78 sp=0xc000049d10 pc=0x7ff7d7e1243e github.com/ollama/ollama/x/imagegen/mlx._Cfunc_mlx_random_key(0xc0001122d8, 0x19d23039b27) _cgo_gotypes.go:1976 +0x50 fp=0xc000049da0 sp=0xc000049d78 pc=0x7ff7d845a8d0 github.com/ollama/ollama/x/imagegen/mlx.RandomKey.func1(...) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 github.com/ollama/ollama/x/imagegen/mlx.RandomKey(0x19d23039b27) github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1870 +0x5d fp=0xc000049dd8 sp=0xc000049da0 pc=0x7ff7d8463f9d github.com/ollama/ollama/x/imagegen/mlx.init.0() github.com/ollama/ollama/x/imagegen/mlx/mlx.go:1848 +0xa9 fp=0xc000049e28 sp=0xc000049dd8 pc=0x7ff7d8463da9 runtime.doInit1(0x7ff7da0ac1b0) runtime/proc.go:7350 +0xdd fp=0xc000049f50 sp=0xc000049e28 pc=0x7ff7d7df343d runtime.doInit(...) runtime/proc.go:7317 runtime.main() runtime/proc.go:254 +0x325 fp=0xc000049fe0 sp=0xc000049f50 pc=0x7ff7d7de4e85 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000049fe8 sp=0xc000049fe0 pc=0x7ff7d7e1d9a1 goroutine 2 gp=0xc0000028c0 m=nil [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000081fa8 sp=0xc000081f88 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.forcegchelper() runtime/proc.go:348 +0xb8 fp=0xc000081fe0 sp=0xc000081fa8 pc=0x7ff7d7de50f8 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000081fe8 sp=0xc000081fe0 pc=0x7ff7d7e1d9a1 created by runtime.init.7 in goroutine 1 runtime/proc.go:336 +0x1a goroutine 3 gp=0xc000002c40 m=nil [GC sweep wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc000083f80 sp=0xc000083f60 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.bgsweep(0xc00008c000) runtime/mgcsweep.go:276 +0x94 fp=0xc000083fc8 sp=0xc000083f80 pc=0x7ff7d7dcde74 runtime.gcenable.gowrap1() runtime/mgc.go:204 +0x25 fp=0xc000083fe0 sp=0xc000083fc8 pc=0x7ff7d7dc2285 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000083fe8 sp=0xc000083fe0 pc=0x7ff7d7e1d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:204 +0x66 goroutine 4 gp=0xc000002e00 m=nil [GC scavenge wait]: runtime.gopark(0xc00008c000?, 0x7ff7d96502e8?, 0x1?, 0x0?, 0xc000002e00?) runtime/proc.go:435 +0xce fp=0xc000093f78 sp=0xc000093f58 pc=0x7ff7d7e1598e runtime.goparkunlock(...) runtime/proc.go:441 runtime.(*scavengerState).park(0x7ff7da1c2520) runtime/mgcscavenge.go:425 +0x49 fp=0xc000093fa8 sp=0xc000093f78 pc=0x7ff7d7dcb909 runtime.bgscavenge(0xc00008c000) runtime/mgcscavenge.go:653 +0x3c fp=0xc000093fc8 sp=0xc000093fa8 pc=0x7ff7d7dcbe7c runtime.gcenable.gowrap2() runtime/mgc.go:205 +0x25 fp=0xc000093fe0 sp=0xc000093fc8 pc=0x7ff7d7dc2225 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc000093fe8 sp=0xc000093fe0 pc=0x7ff7d7e1d9a1 created by runtime.gcenable in goroutine 1 runtime/mgc.go:205 +0xa5 goroutine 18 gp=0xc000106380 m=nil [finalizer wait]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) runtime/proc.go:435 +0xce fp=0xc00008fe30 sp=0xc00008fe10 pc=0x7ff7d7e1598e runtime.runfinq() runtime/mfinal.go:196 +0x107 fp=0xc00008ffe0 sp=0xc00008fe30 pc=0x7ff7d7dc1207 runtime.goexit({}) runtime/asm_amd64.s:1700 +0x1 fp=0xc00008ffe8 sp=0xc00008ffe0 pc=0x7ff7d7e1d9a1 created by runtime.createfing in goroutine 1 runtime/mfinal.go:166 +0x3d rax 0x64 rbx 0x7ffe2add098c rcx 0xa51faac24c350000 rdx 0x28ff8730000 rdi 0x2903fd20860 rsi 0x0 rbp 0xd0a17cf619 rsp 0xd0a17cf0b0 r8 0x7ffffffffffffffc r9 0xd0a191b000 r10 0x8101010101010100 r11 0x28ff8a4bfe0 r12 0xffffffffffffffff r13 0x5c r14 0xd0a17cf750 r15 0x0 rip 0x7ffe2ad0cb12 rflags 0x10202 cs 0x33 fs 0x53 gs 0x2b ``` Bug can be reproduced by running ollama with any args from cmd or powershell, e.g. `ollama -v`
Author
Owner

@rick-github commented on GitHub (Apr 1, 2026):

Commonality is the crash in _Cfunc_mlx_random_key, renaming the issue to highlight.

<!-- gh-comment-id:4166678870 --> @rick-github commented on GitHub (Apr 1, 2026): Commonality is the crash in `_Cfunc_mlx_random_key`, renaming the issue to highlight.
Author
Owner

@kustusch commented on GitHub (Apr 1, 2026):

P.S. Roll-back to 0.17.7 and blocking automatic updates has worked.

I installed this version and it works fine. Good workaround for now, thanks!

<!-- gh-comment-id:4166986620 --> @kustusch commented on GitHub (Apr 1, 2026): > P.S. Roll-back to 0.17.7 and blocking automatic updates has worked. I installed this version and it works fine. Good workaround for now, thanks!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/ollama#9615