Package: src:crystal
Version: 1.11.2+dfsg-1
Severity: serious
Tags: ftbfs

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build -- release=1 verbose=1 progress=1 threads=2 
CRYSTAL_CONFIG_PATH="lib:/usr/lib/crystal/lib" CRYSTAL_CACHE_DIR="/tmp/crystal" 
interpreter=1
        make -j2 "INSTALL=install --strip-program=true" release=1 verbose=1 
progress=1 threads=2 CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/lib 
CRYSTAL_CACHE_DIR=/tmp/crystal interpreter=1
make[2]: Entering directory '/<<PKGBUILDDIR>>'
Using /usr/bin/llvm-config-17 [version= 17.0.6]g++ -c -g -O2 
-ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong 
-fstack-clash-protection -Wformat -Werror=format-security -fcf-protection  -o 
src/llvm/ext/llvm_ext.o src/llvm/ext/llvm_ext.cc -I/usr/lib/llvm-17/include -std=c++17   
-fno-exceptions -funwind-tables -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS 
-D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
CRYSTAL_CONFIG_BUILD_COMMIT="" CRYSTAL_CONFIG_PATH=lib:/usr/lib/crystal/lib 
SOURCE_DATE_EPOCH="1709233884"  CRYSTAL_CONFIG_LIBRARY_PATH='$ORIGIN/../lib/crystal' ./bin/crystal 
build -D strict_multi_assign -D preview_overload_order --release --progress --threads 2 
--link-flags="-Wl,-z,relro"  -o .build/crystal src/compiler/crystal.cr -D without_openssl -D 
without_zlib -D use_pcre2
[1/13] Parse
[1/13] Parse

[... snipped ...]

    "out"
    "out"
    "%w<foo bar baz>"
    "%w<foo bar baz>"
    "1 /2"
    "1 /2"
    "foo"
    "foo"
    "then"
    "then"
    "def //"
    "def //"
    "1 || 2"
    "1 || 2"
    "def +"
    "def +"
    "1 ! 2"
    "1 ! 2"
    "def []="
    "def []="
    "def >"
    "def >"
    "foo bar"
    "foo bar"
    "1 &-= 2"
    "1 &-= 2"
    "1 != 2"
    "1 != 2"
    "%(foo)"
    "%(foo)"
    "$1"
    "$1"
    "1 [] 2"
    "1 [] 2"
    "def =="
    "def =="
    "def >="
    "def >="
    "a /b/"
    "a /b/"
    "# foo\n# bar\n"
    "# foo\n# bar\n"
    "1 &*= 2"
    "1 &*= 2"
    "def <=>"
    "def <=>"
    "1 <= 2"
    "1 <= 2"
    "# foo"
    "# foo"
    "while"
    "while"
    "asm"
    "asm"
    "uninitialized"
    "uninitialized"
    "require"
    "require"
    "1 * 2"
    "1 * 2"
    "'a'"
    "'a'"
    "include"
    "include"
    "foo\nbar"
    "foo\nbar"
    "break"
    "break"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO\n  bar\n  BAR"
    "instance_alignof"
    "instance_alignof"
    "false"
    "false"
    "offsetof"
    "offsetof"
    "3.14"
    "3.14"
    "def !="
    "def !="
  #highlight!
    "\"foo"
    "\"foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "foo, bar = <<-FOO, <<-BAR\n  foo\n  FOO"
    "%i[foo"
    "%i[foo"
    "%w[foo"
    "%w[foo"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
    "foo = bar(\"baz\#{PI + 1}\") # comment"
Process::Status
  #normal_exit?
  #normal_exit?
  #exit_signal
  #exit_signal
  #exit_reason
    returns Interrupted
    returns Interrupted
    returns BadMemoryAccess
    returns BadMemoryAccess
    returns Aborted
    returns Aborted
    returns AccessViolation
    returns AccessViolation
    returns Normal
    returns Normal
    returns Breakpoint
    returns Breakpoint
    returns FloatException
    returns FloatException
    returns BadInstruction
    returns BadInstruction
  #signal_exit?
  #signal_exit?
  #exit_code
  #exit_code
  #success?
  #success?
  #inspect
    with exit status
    with exit status
    with exit signal
    with exit signal
  #signal_exit? with signal code
  #signal_exit? with signal code
  equality
  equality
  #normal_exit? with signal code
  #normal_exit? with signal code
  #to_s
    with exit signal
    with exit signal
    with exit status
    with exit status
IO::Hexdump
  read
    prints hexdump
    prints hexdump
  write
    prints hexdump
    prints hexdump
WeakRef(T)
  FinalizeState counts released objects
  FinalizeState counts released objects
  Referenced object should not be released
  Referenced object should not be released
Unhandled exception in spawn: SSL_read: I/O error (OpenSSL::SSL::Error)
  from src/io.cr:121:11 in 'unbuffered_read'
  from src/io/buffered.cr:264:5 in 'peek'
  from src/http/request.cr:180:15 in 'process'
  from src/http/server.cr:506:5 in '->'
  from src/fiber.cr:146:11 in 'run'
  from ???
Caused by: SSL_read: Resource temporarily unavailable (RuntimeError)
  should get dereferenced object
  should get dereferenced object
  Weak referenced object should be released if no other reference
  Weak referenced object should be released if no other reference
  should not crash with object in data section during GC
  should not crash with object in data section during GC
  should get dereferenced object in data section
  should get dereferenced object in data section
WinError
  .value
  .value
  #message
  #message
  .wsa_value
  .wsa_value
Random
  raises on invalid number
  raises on invalid number
  allows creating a new default random
  allows creating a new default random
  does with BigInt range
  does with BigInt range
  does with exclusive range of floats
  does with exclusive range of floats
  generates by truncation
  generates by truncation
  works using U/Int128
  works using U/Int128
  returns a random integer
  returns a random integer
  works with span exceeding int type's range
  works with span exceeding int type's range
  base64
    gets base64 with default number of digits
    gets base64 with default number of digits
    gets base64 with requested number of digits
    gets base64 with requested number of digits
  limited Float32 number
  limited Float32 number
  generates full-range by negation
  generates full-range by negation
  raises on invalid float number
  raises on invalid float number
  generates full-range
  generates full-range
  allows creating a new default random with a seed
  allows creating a new default random with a seed
  generates by accumulation
  generates by accumulation
  does with inclusive range of floats
  does with inclusive range of floats
  gets a random bool
  gets a random bool
  limited large BigInt
  limited large BigInt
  does with exclusive range
  does with exclusive range
  generates full-range by accumulation
  generates full-range by accumulation
  hex
    gets hex with default number of digits
    gets hex with default number of digits
    gets hex with requested number of digits
    gets hex with requested number of digits
  random_bytes
    gets random bytes with default number of digits
    gets random bytes with default number of digits
    fills given buffer with random bytes
    fills given buffer with random bytes
    generates random bytes
    generates random bytes
    gets random bytes with requested number of digits
    gets random bytes with requested number of digits
  generates full-range by truncation
  generates full-range by truncation
  does with inclusive range
  does with inclusive range
  returns a random static array
  returns a random static array
  limited BigInt
  limited BigInt
  urlsafe_base64
    keeps padding
    keeps padding
    gets urlsafe base64 with default number of digits
    gets urlsafe base64 with default number of digits
    gets urlsafe base64 with requested number of digits
    gets urlsafe base64 with requested number of digits
  limited number
  limited number
  float number
  float number
  raises on invalid range
    Int32 range
    Int32 range
    Float64 range
    Float64 range
    BigInt range
    BigInt range
  limited Float64 number
  limited Float64 number
Spec
  list_tags
    does nothing if there are no examples
    does nothing if there are no examples
    lists the count of all tags
    lists the count of all tags
    lists the count of slow tags
    lists the count of slow tags
PrettyPrint
  pretty prints tree 23..43
  pretty prints tree 23..43
  pretty prints strict pretty 10..10
  pretty prints strict pretty 10..10
  pretty prints strict pretty 6..6
  pretty prints strict pretty 6..6
  pretty prints fill 11..14
  pretty prints fill 11..14
  pretty prints strict pretty 9..9
  pretty prints strict pretty 9..9
  pretty prints fill 19..22
  pretty prints fill 19..22
  pretty prints tree 44..44
  pretty prints tree 44..44
  pretty prints strict pretty 8..8
  pretty prints strict pretty 8..8
  pretty prints fill 0..6
  pretty prints fill 0..6
  pretty prints strict pretty 32..32
  pretty prints strict pretty 32..32
  pretty prints hello 11..12
  pretty prints hello 11..12
  pretty prints fill 15..18
  pretty prints fill 15..18
  pretty prints hello 13..13
  pretty prints hello 13..13
  pretty prints fill 27..27
  pretty prints fill 27..27
  pretty prints strict pretty 0..4
  pretty prints strict pretty 0..4
  tail group
  tail group
  pretty prints strict pretty 7..7
  pretty prints strict pretty 7..7
  pretty prints hello 9..10
  pretty prints hello 9..10
  pretty prints tree alt 50..50
  pretty prints tree alt 50..50
  pretty prints tree 0..19
  pretty prints tree 0..19
  pretty prints hello 0..6
  pretty prints hello 0..6
  pretty prints tree alt 21..49
  pretty prints tree alt 21..49
  pretty prints hello 7..8
  pretty prints hello 7..8
  pretty prints fill 23..26
  pretty prints fill 23..26
  pretty prints strict pretty 11..31
  pretty prints strict pretty 11..31
  pretty prints width 6 indent 20
  pretty prints width 6 indent 20
  pretty prints tree alt 0..18
  pretty prints tree alt 0..18
  pretty prints tree alt 19..20
  pretty prints tree alt 19..20
  pretty prints strict pretty 5..5
  pretty prints strict pretty 5..5
  pretty prints width 7 indent 20
  pretty prints width 7 indent 20
  pretty prints tree 20..22
  pretty prints tree 20..22
  pretty prints width 5 indent 20
  pretty prints width 5 indent 20
  pretty prints fill 7..10
  pretty prints fill 7..10
  pretty prints width 0 indent 23
  pretty prints width 0 indent 23
Int
  #humanize_bytes
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
YAML
  dump
    writes YAML to a stream
    writes YAML to a stream
    returns YAML as a string
    returns YAML as a string
  parser
    merging with << key
      raises if merging with missing alias
      raises if merging with missing alias
      doesn't merge arrays
      doesn't merge arrays
      parses from IO
      parses from IO
      merges other mapping with array of alias
      merges other mapping with array of alias
      has correct line/number info (#2585)
      has correct line/number info (#2585)
      merges other mapping
      merges other mapping
      merges other mapping with alias
      merges other mapping with alias
      doesn't merge explicit string key <<
      doesn't merge explicit string key <<
      doesn't merge empty mapping
      doesn't merge empty mapping
      has correct message (#4006)
      has correct message (#4006)
      has correct line/number info (2)
      has correct line/number info (2)
    parses recursive mapping
    parses recursive mapping
    parses alias to scalar
    parses alias to scalar
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    assert
    parses recursive sequence
    parses recursive sequence
StringScanner
  moves the scan offset to the end of the string and clears the last match
  moves the scan offset to the end of the string and clears the last match

Pending:
  Math Functions for computing quotient and remainder
  OpenSSL::SSL::Context ciphers uses intermediate default ciphers
  UDPSocket using IPv6 joins and transmits to multicast groups
  UDPSocket using IPv4 joins and transmits to multicast groups
  UDPSocket #connect with a IPv6 address
  URI .parse unescaped @ in user/password should not confuse host
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  String#each_grapheme GB9c
  TCPServer settings
  Regex #match with pos negative
  Regex #matches_at_byte_index? negative
  Regex #match_at_byte_index negative
  String #reverse converts invalid code units to replacement char
  Path #expand converts a pathname to an absolute pathname, using a complete 
path assert
  Number #round edge cases
  OpenSSL::X509::Certificate #digest
  Spec matchers pending block is not compiled pending has block with valid 
syntax, but invalid semantics

Failures:

  1) OpenSSL::SSL::Socket interprets graceful EOF of underlying socket as SSL 
termination

       SSL_read: I/O error (OpenSSL::SSL::Error)
         from src/io.cr:121:11 in 'unbuffered_read'
         from src/io.cr:1176:12 in '->'
         from src/fiber.cr:146:11 in 'run'
         from ???
       Caused by: SSL_read: Success (RuntimeError)
Finished in 1:16 minutes
17648 examples, 0 failures, 1 errors, 22 pending

Failed examples:

crystal spec spec/std/openssl/ssl/socket_spec.cr:158 # OpenSSL::SSL::Socket 
interprets graceful EOF of underlying socket as SSL termination
Randomized with seed: 86322
make[2]: *** [Makefile:100: std_spec] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [debian/rules:51: override_dh_auto_test] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:19: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202405/

About the archive rebuild: The build was made on virtual machines
of type m6a.large and r6a.large from AWS, using sbuild and a
reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

Thanks.

Reply via email to