Error when read extra field gzip compressed data

@asterite @straight-shoota @rogerdpack thanks~
Finally I google about extra filed and make demo data by this:

$echo -n 'H4sIBAAAAAAA/wYAQkMCADIAS0ksTuNKSyxO4UqtSC4pSuQqLilNS+MCAI56o3cXAAAAH4sIBAAAAAAA/wYAQkMCABsAAwAAAAAAAAAAAA==' | base64 -d > gggg2.gz

$ zcat gggg2.gz
dasf
fasd
exctra
stuff

$file gggg2.gz
gggg2.gz: gzip compressed data, extra field

$gzip -dc gggg2.gz |gzip >gggg3.gz

$file gggg3.gz
gggg3.gz: gzip compressed data, last modified: Tue Mar 24 02:15:48 2020, from Unix

and my demo code demo.cr is this:

require "gzip"


file=ARGV[0]
puts "input is #{file}"
Gzip::Reader.open(file) do |gfile|
	gfile.each_line do |line|
		puts line
	end
end

then test the demo code and data by this:

$crystal build demo.cr

$./demo gggg3.gz
input is gggg3.gz
dasf
fasd
exctra
stuff

$./demo gggg2.gz 
input is gggg2.gz
Unhandled exception: flate: invalid stored block lengths (Flate::Error)
  from /usr/share/crystal/src/flate/reader.cr:112:13 in 'unbuffered_read'
  from /usr/share/crystal/src/io/buffered.cr:79:16 in 'read'
  from /usr/share/crystal/src/gzip/reader.cr:90:7 in 'unbuffered_read'
  from /usr/share/crystal/src/io/buffered.cr:214:12 in 'fill_buffer'
  from /usr/share/crystal/src/io/buffered.cr:102:7 in 'peek'
  from /usr/share/crystal/src/io.cr:632:37 in 'gets'
  from /usr/share/crystal/src/io.cr:605:5 in 'gets'
  from /usr/share/crystal/src/io.cr:575:5 in 'gets'
  from /usr/share/crystal/src/io.cr:574:3 in 'gets'
  from /usr/share/crystal/src/io.cr:918:18 in '__crystal_main'
  from /usr/share/crystal/src/crystal/main.cr:106:5 in 'main_user_code'
  from /usr/share/crystal/src/crystal/main.cr:92:7 in 'main'
  from /usr/share/crystal/src/crystal/main.cr:115:3 in 'main'
  from __libc_start_main
  from _start
  from ???