Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 766162

Summary: dev-ruby/http-4.4.1: test failures (on sparc)
Product: Gentoo Linux Reporter: Sam James <sam>
Component: Current packagesAssignee: Gentoo Ruby Team <ruby>
Status: RESOLVED FIXED    
Severity: normal CC: matoro_bugzilla_gentoo
Priority: Normal Keywords: PullRequest, TESTFAILURE
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/25906
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 761550    
Attachments: build.log
build.log (ppc, 4.4.1)

Description Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-01-19 17:34:58 UTC
Created attachment 683761 [details]
build.log

Finished in 8.09 seconds (files took 1.81 seconds to load)
777 examples, 62 failures

Failed examples:

rspec ./spec/lib/http_spec.rb:390 # HTTP.use with :auto_deflate sends gzipped body
rspec ./spec/lib/http_spec.rb:399 # HTTP.use with :auto_deflate sends deflated body
rspec ./spec/lib/http_spec.rb:440 # HTTP.use with :normalize_uri uses the custom URI Normalizer method
rspec ./spec/lib/http_spec.rb:435 # HTTP.use with :normalize_uri normalizes URI
rspec ./spec/lib/http_spec.rb:446 # HTTP.use with :normalize_uri uses the default URI normalizer
rspec ./spec/lib/http_spec.rb:417 # HTTP.use with :auto_inflate returns decoded body
rspec ./spec/lib/http_spec.rb:410 # HTTP.use with :auto_inflate returns raw body when Content-Encoding type is missing
rspec ./spec/lib/http_spec.rb:425 # HTTP.use with :auto_inflate returns deflated body
rspec ./spec/lib/http_spec.rb:154 # HTTP posting forms to resources is easy
rspec ./spec/lib/http_spec.rb:375 # HTTP.nodelay sets TCP_NODELAY on the underlying socket
rspec ./spec/lib/http_spec.rb:190 # HTTP loading text with no charset is binary encoded
rspec ./spec/lib/http_spec.rb:161 # HTTP loading binary data is encoded as bytes
rspec ./spec/lib/http_spec.rb:347 # HTTP.cookies properly merges Cookie headers and cookies
rspec ./spec/lib/http_spec.rb:340 # HTTP.cookies properly merges cookies
rspec ./spec/lib/http_spec.rb:333 # HTTP.cookies properly works with cookie jars from response
rspec ./spec/lib/http_spec.rb:328 # HTTP.cookies passes correct `Cookie` header
rspec ./spec/lib/http_spec.rb:84 # HTTP.via anonymous proxy responds with the endpoint's body
rspec ./spec/lib/http_spec.rb:79 # HTTP.via anonymous proxy proxies the request
rspec ./spec/lib/http_spec.rb:93 # HTTP.via anonymous proxy ignores credentials
rspec ./spec/lib/http_spec.rb:119 # HTTP.via proxy with authentication responds with the endpoint's body
rspec ./spec/lib/http_spec.rb:114 # HTTP.via proxy with authentication proxies the request
rspec ./spec/lib/http_spec.rb:124 # HTTP.via proxy with authentication responds with 407 when wrong credentials given
rspec ./spec/lib/http_spec.rb:129 # HTTP.via proxy with authentication responds with 407 if no credentials given
rspec ./spec/lib/http_spec.rb:18 # HTTP getting resources is easy
rspec ./spec/lib/http_spec.rb:31 # HTTP getting resources with query string parameters is easy
rspec ./spec/lib/http_spec.rb:51 # HTTP getting resources with headers is easy
rspec ./spec/lib/http_spec.rb[1:1:7:3:1] # HTTP getting resources with a large request body with `.timeout({:read=>2, :write=>2, :connect=>2})` writes the whole body
rspec ./spec/lib/http_spec.rb[1:1:7:2:1] # HTTP getting resources with a large request body with `.timeout(6)` writes the whole body
rspec ./spec/lib/http_spec.rb[1:1:7:1:1] # HTTP getting resources with a large request body with `.timeout(:null)` writes the whole body
rspec ./spec/lib/http_spec.rb:24 # HTTP getting resources with URI instance is easy
rspec ./spec/lib/http_spec.rb:38 # HTTP getting resources with query string parameters in the URI and opts hash includes both
rspec ./spec/lib/http_spec.rb:45 # HTTP getting resources with two leading slashes in path is allowed
rspec ./spec/lib/http_spec.rb:197 # HTTP posting with an explicit body is easy
rspec ./spec/lib/http_spec.rb:168 # HTTP loading endpoint with charset uses charset from headers
rspec ./spec/lib/http_spec.rb:175 # HTTP loading endpoint with charset with encoding option respects option
rspec ./spec/lib/http_spec.rb:183 # HTTP passing a string encoding type finds encoding
rspec ./spec/lib/http_spec.rb:216 # HTTP head requests is easy
rspec ./spec/lib/http_spec.rb:209 # HTTP with redirects is easy for 302
rspec ./spec/lib/http_spec.rb:204 # HTTP with redirects is easy for 301
rspec ./spec/lib/http/connection_spec.rb:54 # HTTP::Connection#readpartial reads data in parts
rspec ./spec/lib/http/connection_spec.rb:28 # HTTP::Connection#read_headers! reads data in parts
rspec ./spec/lib/http/response/parser_spec.rb:37 # HTTP::Response::Parser response in many parts parses headers
rspec ./spec/lib/http/response/parser_spec.rb:41 # HTTP::Response::Parser response in many parts parses body
rspec ./spec/lib/http/response/parser_spec.rb:29 # HTTP::Response::Parser whole response in one part parses body
rspec ./spec/lib/http/response/parser_spec.rb:25 # HTTP::Response::Parser whole response in one part parses headers
rspec ./spec/lib/http/client_spec.rb[1:9:1:2] # HTTP::Client connection reuse when enabled re-uses the socket
rspec ./spec/lib/http/client_spec.rb[1:9:1:3:1] # HTTP::Client connection reuse when enabled on a mixed state re-opens the connection
rspec ./spec/lib/http/client_spec.rb[1:9:1:4:1] # HTTP::Client connection reuse when enabled when trying to read a stale body errors
rspec ./spec/lib/http/client_spec.rb[1:9:1:6:1] # HTTP::Client connection reuse when enabled with a socket issue transparently reopens
rspec ./spec/lib/http/client_spec.rb[1:9:1:1:1] # HTTP::Client connection reuse when enabled without a host infers host from persistent config
rspec ./spec/lib/http/client_spec.rb[1:9:1:5:1] # HTTP::Client connection reuse when enabled when reading a cached body succeeds
rspec ./spec/lib/http/client_spec.rb[1:9:2:1] # HTTP::Client connection reuse when disabled opens new sockets
rspec ./spec/lib/http/client_spec.rb[1:8:3:1] # HTTP::Client with a global timeout it resets state when reusing connections does not timeout
rspec ./spec/lib/http/client_spec.rb:329 # HTTP::Client#perform calls finish_response once body was fully flushed
rspec ./spec/lib/http/client_spec.rb:340 # HTTP::Client#perform with HEAD request finishes response after headers were received
rspec ./spec/lib/http/client_spec.rb:335 # HTTP::Client#perform with HEAD request does not iterates through body
rspec ./spec/lib/http/client_spec.rb:371 # HTTP::Client#perform when server fully flushes response in one chunk properly reads body
rspec ./spec/lib/http/client_spec.rb:411 # HTTP::Client#perform when uses chunked transfer encoding properly reads body
rspec ./spec/lib/http/client_spec.rb[1:6:1] # HTTP::Client without timeouts works
rspec ./spec/lib/http/client_spec.rb[1:7:1] # HTTP::Client with a per operation timeout works
rspec ./spec/lib/http/client_spec.rb[1:7:2:1:1] # HTTP::Client with a per operation timeout connection of 1 does not time out
rspec ./spec/lib/http/client_spec.rb[1:7:3:2:1] # HTTP::Client with a per operation timeout read of 2.5 does not time out

Randomized with seed 56334

----
Portage 3.0.13 (python 3.7.9-final-0, default/linux/sparc/17.0/64ul, gcc-10.2.0, glibc-2.32-r7, 5.9.6-gentoo sparc)
=================================================================
System uname: Linux-5.9.6-gentoo-sparc-sun4v-with-gentoo-2.7
KiB Mem:   531351440 total, 459800864 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Tue, 19 Jan 2021 17:02:56 +0000
sh bash 5.1_p4
ld GNU ld (Gentoo 2.35.1 p2) 2.35.1
app-shells/bash:          5.1_p4::gentoo
dev-lang/perl:            5.32.0-r1::gentoo
dev-lang/python:          2.7.18-r5::gentoo, 3.6.12-r1::gentoo, 3.7.9-r1::gentoo, 3.8.7::gentoo, 3.9.1::gentoo
dev-util/cmake:           3.19.3::gentoo
sys-apps/baselayout:      2.7-r1::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.3-r1::gentoo
sys-devel/binutils:       2.35.1-r1::gentoo
sys-devel/gcc:            10.2.0-r5::gentoo
sys-devel/gcc-config:     2.3.2-r1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r7::gentoo
Repositories:

gentoo
    location: /bound/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-max-age: 24
    sync-rsync-extra-opts:
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1

ACCEPT_KEYWORDS="sparc ~sparc"
ACCEPT_LICENSE="@FREE"
CBUILD="sparc64-unknown-linux-gnu"
CFLAGS="-O2 -mcpu=ultrasparc -pipe -fdiagnostics-show-option -frecord-gcc-switches"
CHOST="sparc64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -mcpu=ultrasparc -pipe"
DISTDIR="/bound/distfiles"
EMERGE_DEFAULT_OPTS="--complete-graph --with-bdeps=y --keep-going --deep"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -mcpu=ultrasparc -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -mcpu=ultrasparc -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="C.UTF8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
MAKEOPTS="-j100 -l257"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X acl berkdb big-endian bzip2 cli crypt dbus dri elogind fortran gdbm iconv ipv6 libglvnd libtirpc ncurses nls nptl openmp pam pcre readline sparc split-usr ssl tcpd unicode xattr zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python2_7 python3_8 python3_7 python3_9" RUBY_TARGETS="ruby26 ruby27" USERLAND="GNU" VIDEO_CARDS="fbdev glint mga r128 radeon dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 ernsteiswuerfel archtester 2022-06-25 17:33:05 UTC
Created attachment 787643 [details]
build.log (ppc, 4.4.1)

Same on ppc.
Comment 2 Larry the Git Cow gentoo-dev 2022-10-22 21:33:54 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21da93d12d75a057b069c1d289974253da3c3db3

commit 21da93d12d75a057b069c1d289974253da3c3db3
Author:     matoro <matoro@users.noreply.github.com>
AuthorDate: 2022-06-15 04:43:00 +0000
Commit:     Matt Turner <mattst88@gentoo.org>
CommitDate: 2022-10-22 21:33:11 +0000

    dev-ruby/http: add 5.1.0
    
    Giant push to the Ruby tree to bring up dev-ruby/http to the 5.x branch.
    http-5.x changes the underlying C parser from http-parser to llhttp-ffi,
    which pulls in most of the socketry async ecosystem for its tests.  All
    of these packages have been tested on sparc, using all compatible Ruby
    versions from ruby26 to ruby31.
    
    KNOWN ISSUES:
    
    * dev-ruby/async-http tests can hang on ruby27 only
    * dev-ruby/dalli tests are RESTRICTed because they spin up a local
      memcached instance, which is broken on sparc (see bug 636552)
    * In order to get the benefits of respect-cflags.patch for packages that
      use ffi-compiler (such as dev-ruby/llhttp-ffi), you must rebuild
      dev-ruby/ffi-compiler
    * dev-ruby/ffi has two failing tests, but passes everything else.  This
      does not seem to affect functionality.  Documented in bug 847286 and
      upstream https://github.com/ffi/ffi/pull/957
    * dev-ruby/simplecov tests fail for ruby3x, already filed by someone
      else as bug 835620.  This may be fixed in newer upstream versions
    * 5.1.0 seems to have introduced a new issue not present in 5.0.4, fix
      is simple and submitted upstream as
      https://github.com/httprb/http/pull/719, courtest of
      https://github.com/pact-foundation/pact-support/pull/29
    
    Closes: https://bugs.gentoo.org/766162
    Bug: https://bugs.gentoo.org/761550
    Signed-off-by: matoro <matoro@users.noreply.github.com>
    Signed-off-by: Matt Turner <mattst88@gentoo.org>

 dev-ruby/http/Manifest          |  1 +
 dev-ruby/http/http-5.1.0.ebuild | 59 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+)