secp256k1_context doesn't have alignment documented but looking at the code it's clearly bigger than 1 since it contains pointers and int. Possibly becuase of lacking documentation Rust bindings used array of bytes (u8 AKA uint8_t) which is very wrong.