# CKzg windows issues
Documenting some of the issues that we at Lighthouse are facing while working with c-kzg rust bindings:
Blobs being allocated on the stack crashes with stack overflows on Windows and Mac.
This is fixed by allocating the blobs on the heap. For e.g. this PR fixes the stack overflow https://github.com/ethereum/c-kzg-4844/pull/323
The issue here is that for some unknown reason, when we change the rust api to be more general from
```rust
pub fn verify_blob_kzg_proof(
blob: Box<Blob>,
commitment_bytes: Bytes48,
proof_bytes: Bytes48,
kzg_settings: &KZGSettings,
) -> Result<bool, Error> {
...
}
```
to
```rust
pub fn verify_blob_kzg_proof(
blob: &Blob,
commitment_bytes: Bytes48,
proof_bytes: Bytes48,
kzg_settings: &KZGSettings,
) -> Result<bool, Error> {
...
}
```
we start getting `STATUS_ACCESS_VIOLATION` errors again on windows. The Blobs at the calling site are boxed blobs which are passed as Box::as_ref() to the bindings. We have no clue why this crashes.
Also, the rust benchmarks have been crashing with `STATUS_ACCESS_VIOLATION` for `verify_*` functions since Rust 1.70 for release profiles. See https://github.com/ethereum/c-kzg-4844/issues/318