Description
This was found here: JuliaIO/JLD2.jl#599
When using a ZstdFrameCompressor
or a ZstdCompressor
, you reproducably get a segfault when trying to reuse the same compressor instance:
I don't know if this can be made to just work, but I hope that this can at least be caught in time and throw an error instead.
using CodecZstd, TranscodingStreams
compressor = ZstdFrameCompressor()
x = rand(UInt8, 4*10^7);
TranscodingStreams.initialize(compressor)
ret1 = transcode(compressor, x);
TranscodingStreams.finalize(compressor)
# compress again using the same compressor
TranscodingStreams.initialize(compressor) # segfault happens here!
# ret2 = transcode(compressor, x);
# TranscodingStreams.finalize(compressor)
[1706176] signal (11.1): Segmentation fault
in expression starting at REPL[7]:1
ZSTD_CCtx_reset at /home/jisensee/.julia/artifacts/4c45bf9c8292490acd9463bbfbf168277d9720b6/lib/libzstd.so (unknown line)
ZSTD_initCStream at /home/jisensee/.julia/artifacts/4c45bf9c8292490acd9463bbfbf168277d9720b6/lib/libzstd.so (unknown line)
ZSTD_initCStream at /home/jisensee/.julia/packages/CodecZstd/KmRP9/src/LibZstd_clang.jl:277 [inlined]
initialize! at /home/jisensee/.julia/packages/CodecZstd/KmRP9/src/libzstd.jl:60 [inlined]
initialize at /home/jisensee/.julia/packages/CodecZstd/KmRP9/src/compression.jl:82
Metadata
Metadata
Assignees
Labels
No labels