I suppose this crash is caused by this code:
/*[clinic input]
zlib.Compress.flush
self: self(type="compobject *")
mode: int(c_default="Z_FINISH") = zlib.Z_FINISH
One of the constants Z_SYNC_FLUSH, Z_FULL_FLUSH, Z_FINISH.
If mode == Z_FINISH, the compressor object can no longer be used after
calling the flush() method. Otherwise, more data can still be compressed.
/
Return a bytes object containing any remaining compressed data.
[clinic start generated code]*/
It was valid several days ago.
Therefore here are two bugs:
1. Argument Clinic should output a line number where it has encountered illegal expression.
2. It should accept zlib.Z_FINISH (Z_FINISH is exported constant in the zlib module).