Source: fever
Version: 1.0.11-1
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200926 ftbfs-bullseye
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> make[1]: Entering directory '/<<PKGBUILDDIR>>'
> dh_auto_build
> cd obj-x86_64-linux-gnu && go install -trimpath -v -p 1
> github.com/DCSO/fever/cmd/fever github.com/DCSO/fever/cmd/fever/cmds
> github.com/DCSO/fever/db github.com/DCSO/fever/input
> github.com/DCSO/fever/processing github.com/DCSO/fever/stenosis/api
> github.com/DCSO/fever/stenosis/task github.com/DCSO/fever/types
> github.com/DCSO/fever/util
> internal/unsafeheader
> internal/cpu
> internal/bytealg
> runtime/internal/atomic
> runtime/internal/sys
> runtime/internal/math
> runtime
> internal/reflectlite
> errors
> internal/race
> sync/atomic
> sync
> io
> unicode
> unicode/utf8
> bytes
> container/list
> internal/oserror
> syscall
> time
> context
> hash
> math/bits
> math
> strconv
> crypto
> crypto/internal/subtle
> crypto/subtle
> reflect
> encoding/binary
> crypto/cipher
> crypto/aes
> crypto/des
> sort
> internal/fmtsort
> internal/syscall/unix
> internal/poll
> internal/syscall/execenv
> internal/testlog
> os
> fmt
> math/rand
> strings
> math/big
> crypto/elliptic
> crypto/internal/randutil
> crypto/sha512
> unicode/utf16
> encoding/asn1
> vendor/golang.org/x/crypto/cryptobyte/asn1
> vendor/golang.org/x/crypto/cryptobyte
> crypto/ecdsa
> crypto/ed25519/internal/edwards25519
> bufio
> crypto/rand
> crypto/ed25519
> crypto/hmac
> crypto/md5
> crypto/rc4
> crypto/rsa
> crypto/sha1
> crypto/sha256
> crypto/dsa
> encoding/hex
> crypto/x509/pkix
> encoding/base64
> encoding/pem
> path/filepath
> io/ioutil
> vendor/golang.org/x/net/dns/dnsmessage
> internal/nettrace
> internal/singleflight
> runtime/cgo
> net
> net/url
> crypto/x509
> vendor/golang.org/x/crypto/internal/subtle
> vendor/golang.org/x/crypto/chacha20
> vendor/golang.org/x/crypto/poly1305
> vendor/golang.org/x/sys/cpu
> vendor/golang.org/x/crypto/chacha20poly1305
> vendor/golang.org/x/crypto/curve25519
> vendor/golang.org/x/crypto/hkdf
> crypto/tls
> encoding
> encoding/json
> github.com/DCSO/fever/types
> golang.org/x/sys/internal/unsafeheader
> golang.org/x/sys/unix
> log
> github.com/sirupsen/logrus
> gopkg.in/mgo.v2/internal/json
> gopkg.in/mgo.v2/bson
> gopkg.in/mgo.v2/internal/scram
> gopkg.in/mgo.v2
> database/sql/driver
> database/sql
> gopkg.in/pg.v5/internal
> gopkg.in/pg.v5/internal/pool
> regexp/syntax
> regexp
> github.com/jinzhu/inflection
> gopkg.in/pg.v5/internal/parser
> gopkg.in/pg.v5/types
> gopkg.in/pg.v5/orm
> gopkg.in/pg.v5
> github.com/DCSO/fever/db
> compress/flate
> hash/crc32
> compress/gzip
> github.com/Showmax/go-fqdn
> github.com/DCSO/fluxline
> github.com/NeowayLabs/wabbit
> github.com/streadway/amqp
> github.com/NeowayLabs/wabbit/utils
> github.com/NeowayLabs/wabbit/amqp
> github.com/NeowayLabs/wabbit/amqptest/server
> github.com/google/uuid
> github.com/pborman/uuid
> github.com/NeowayLabs/wabbit/amqptest
> github.com/buger/jsonparser
> encoding/gob
> github.com/patrickmn/go-cache
> github.com/DCSO/fever/util
> github.com/garyburd/redigo/internal
> github.com/garyburd/redigo/redis
> github.com/DCSO/fever/input
> hash/fnv
> github.com/DCSO/bloom
> github.com/golang/protobuf/proto
> github.com/golang/protobuf/ptypes/timestamp
> github.com/DCSO/fever/stenosis/task
> golang.org/x/net/internal/timeseries
> html
> text/template/parse
> text/template
> html/template
> vendor/golang.org/x/text/transform
> vendor/golang.org/x/text/unicode/bidi
> vendor/golang.org/x/text/secure/bidirule
> vendor/golang.org/x/text/unicode/norm
> vendor/golang.org/x/net/idna
> net/textproto
> vendor/golang.org/x/net/http/httpguts
> vendor/golang.org/x/net/http/httpproxy
> vendor/golang.org/x/net/http2/hpack
> mime
> mime/quotedprintable
> mime/multipart
> net/http/httptrace
> net/http/internal
> path
> net/http
> text/tabwriter
> golang.org/x/net/trace
> google.golang.org/grpc/backoff
> google.golang.org/grpc/grpclog
> google.golang.org/grpc/connectivity
> google.golang.org/grpc/credentials/internal
> google.golang.org/grpc/internal
> google.golang.org/grpc/credentials
> google.golang.org/grpc/metadata
> google.golang.org/grpc/attributes
> google.golang.org/grpc/serviceconfig
> google.golang.org/grpc/resolver
> google.golang.org/grpc/balancer
> google.golang.org/grpc/balancer/base
> google.golang.org/grpc/internal/grpcrand
> google.golang.org/grpc/balancer/roundrobin
> google.golang.org/grpc/codes
> google.golang.org/grpc/encoding
> google.golang.org/grpc/encoding/proto
> google.golang.org/grpc/internal/backoff
> google.golang.org/grpc/internal/balancerload
> github.com/golang/protobuf/ptypes/any
> github.com/golang/protobuf/ptypes/duration
> github.com/golang/protobuf/ptypes
> google.golang.org/grpc/binarylog/grpc_binarylog_v1
> google.golang.org/genproto/googleapis/rpc/status
> google.golang.org/grpc/status
> google.golang.org/grpc/internal/binarylog
> google.golang.org/grpc/internal/buffer
> google.golang.org/grpc/internal/channelz
> google.golang.org/grpc/internal/envconfig
> google.golang.org/grpc/internal/grpcsync
> google.golang.org/grpc/internal/resolver/dns
> google.golang.org/grpc/internal/resolver/passthrough
> golang.org/x/text/transform
> golang.org/x/text/unicode/bidi
> golang.org/x/text/secure/bidirule
> golang.org/x/text/unicode/norm
> golang.org/x/net/idna
> golang.org/x/net/http/httpguts
> golang.org/x/net/http2/hpack
> golang.org/x/net/http2
> google.golang.org/grpc/internal/syscall
> google.golang.org/grpc/keepalive
> google.golang.org/grpc/peer
> google.golang.org/grpc/stats
> google.golang.org/grpc/tap
> google.golang.org/grpc/internal/transport
> google.golang.org/grpc/naming
> net/http/httputil
> google.golang.org/grpc
> github.com/DCSO/fever/stenosis/api
> github.com/yl2chen/cidranger/net
> github.com/yl2chen/cidranger
> os/exec
> github.com/DCSO/fever/processing
> github.com/mitchellh/go-homedir
> encoding/csv
> flag
> github.com/spf13/pflag
> github.com/spf13/cobra
> github.com/russross/blackfriday
> github.com/cpuguy83/go-md2man/md2man
> gopkg.in/yaml.v2
> github.com/spf13/cobra/doc
> github.com/fsnotify/fsnotify
> github.com/hashicorp/hcl/hcl/strconv
> github.com/hashicorp/hcl/hcl/token
> github.com/hashicorp/hcl/hcl/ast
> github.com/hashicorp/hcl/hcl/scanner
> github.com/hashicorp/hcl/hcl/parser
> github.com/hashicorp/hcl/json/token
> github.com/hashicorp/hcl/json/scanner
> github.com/hashicorp/hcl/json/parser
> github.com/hashicorp/hcl
> github.com/hashicorp/hcl/hcl/printer
> github.com/magiconair/properties
> github.com/mitchellh/mapstructure
> github.com/pelletier/go-toml
> github.com/spf13/afero/mem
> github.com/spf13/afero
> github.com/spf13/cast
> github.com/spf13/jwalterweatherman
> github.com/subosito/gotenv
> gopkg.in/ini.v1
> github.com/spf13/viper
> os/signal
> runtime/pprof
> github.com/DCSO/fever/cmd/fever/cmds
> github.com/DCSO/fever/cmd/fever
> mkdir -p debian/man
> find . -executable -wholename '*bin/fever' -exec {} makeman --dir debian/man
> \;
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_test -O--buildsystem=golang -O--max-parallel=1
> cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1
> github.com/DCSO/fever/cmd/fever github.com/DCSO/fever/cmd/fever/cmds
> github.com/DCSO/fever/db github.com/DCSO/fever/input
> github.com/DCSO/fever/processing github.com/DCSO/fever/stenosis/api
> github.com/DCSO/fever/stenosis/task github.com/DCSO/fever/types
> github.com/DCSO/fever/util
> ? github.com/DCSO/fever/cmd/fever [no test files]
> ? github.com/DCSO/fever/cmd/fever/cmds [no test files]
> ? github.com/DCSO/fever/db [no test files]
> === RUN TestRedisInputWithPipelining
> time="2020-09-27T11:20:03Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:03Z" level=info msg="Dialing
> /tmp/test400615120/withPipe.sock... result: true"
> time="2020-09-27T11:20:03Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:03Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:03Z" level=info msg="Dialing
> /tmp/test400615120/withPipe.sock... result: true"
> --- PASS: TestRedisInputWithPipelining (2.11s)
> === RUN TestRedisInputNoPipelining
> time="2020-09-27T11:20:05Z" level=info msg="Not using Redis pipelining."
> time="2020-09-27T11:20:05Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:05Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:05Z" level=info msg="Dialing
> /tmp/test188434562/withPipe.sock... result: true"
> time="2020-09-27T11:20:05Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:05Z" level=info msg="Dialing
> /tmp/test188434562/withPipe.sock... result: true"
> time="2020-09-27T11:20:05Z" level=info msg="Dialing
> /tmp/test188434562/withPipe.sock... result: true"
> time="2020-09-27T11:20:05Z" level=info msg="Dialing
> /tmp/test188434562/withPipe.sock... result: true"
> --- PASS: TestRedisInputNoPipelining (2.71s)
> === RUN TestRedisGoneWithPipelining
> time="2020-09-27T11:20:07Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:07Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:07Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:07Z" level=info msg="Dialing
> /tmp/test314321668/withPipe.sock... result: true"
> time="2020-09-27T11:20:07Z" level=info msg="Dialing
> /tmp/test314321668/withPipe.sock... result: true"
> time="2020-09-27T11:20:09Z" level=info msg="read unix
> @->/tmp/test314321668/withPipe.sock: read: connection reset by peer"
> time="2020-09-27T11:20:09Z" level=warning msg="MULTI error dial unix
> /tmp/test314321668/withPipe.sock: connect: no such file or directory, backing
> off (500ms) and disabling further warnings"
> time="2020-09-27T11:20:10Z" level=info msg="Dialing
> /tmp/test314321668/withPipe.sock... result: true"
> time="2020-09-27T11:20:10Z" level=warning msg="MULTI succeeded, showing
> warnings again"
> --- PASS: TestRedisGoneWithPipelining (3.87s)
> === RUN TestRedisGoneNoPipelining
> time="2020-09-27T11:20:11Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:11Z" level=info msg="Not using Redis pipelining."
> time="2020-09-27T11:20:11Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:11Z" level=info msg="started parse worker"
> time="2020-09-27T11:20:11Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:11Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:11Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:11Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:14Z" level=info msg="write unix
> @->/tmp/test239791677/withPipe.sock: write: broken pipe"
> time="2020-09-27T11:20:14Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:14Z" level=warning msg="write unix
> @->/tmp/test239791677/withPipe.sock: use of closed network connection"
> time="2020-09-27T11:20:14Z" level=warning msg="write unix
> @->/tmp/test239791677/withPipe.sock: use of closed network connection"
> time="2020-09-27T11:20:14Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:14Z" level=warning msg="write unix
> @->/tmp/test239791677/withPipe.sock: use of closed network connection"
> time="2020-09-27T11:20:14Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> time="2020-09-27T11:20:14Z" level=info msg="Dialing
> /tmp/test239791677/withPipe.sock... result: true"
> --- PASS: TestRedisGoneNoPipelining (5.51s)
> === RUN TestSocketInput
> --- PASS: TestSocketInput (1.02s)
> PASS
> ok github.com/DCSO/fever/input 15.229s
> # github.com/DCSO/fever/processing [github.com/DCSO/fever/processing.test]
> compile: loop
> FAIL github.com/DCSO/fever/processing [build failed]
> ? github.com/DCSO/fever/stenosis/api [no test files]
> ? github.com/DCSO/fever/stenosis/task [no test files]
> === RUN TestEVERoundtripTimestamp
> --- PASS: TestEVERoundtripTimestamp (0.00s)
> === RUN TestEVEStringFlowIDRoundtrip
> --- PASS: TestEVEStringFlowIDRoundtrip (0.00s)
> === RUN TestIPParsing
> --- PASS: TestIPParsing (0.00s)
> PASS
> ok github.com/DCSO/fever/types 0.004s
> === RUN TestEventFilterEmpty
> --- PASS: TestEventFilterEmpty (0.00s)
> === RUN TestEventFilterEmptyForwardAllSelected
> time="2020-09-27T11:20:18Z" level=info msg="event type added" domain=forward
> type=foo
> time="2020-09-27T11:20:18Z" level=info msg="event type added" domain=forward
> type=bar
> --- PASS: TestEventFilterEmptyForwardAllSelected (0.00s)
> === RUN TestEventFilterEmptyForwardAllSelectedDuplicate
> time="2020-09-27T11:20:18Z" level=info msg="event type added" domain=forward
> type=foo
> time="2020-09-27T11:20:18Z" level=info msg="event type added" domain=forward
> type=foo
> --- PASS: TestEventFilterEmptyForwardAllSelectedDuplicate (0.00s)
> === RUN TestEventFilterEmptyForwardAll
> time="2020-09-27T11:20:18Z" level=info msg="forwarding all event types"
> domain=forward
> --- PASS: TestEventFilterEmptyForwardAll (0.00s)
> === RUN TestHostNamerQuad8v4
> hostnamer_rdns_test.go:44:
> --- SKIP: TestHostNamerQuad8v4 (0.00s)
> === RUN TestHostNamerQuad8v6
> hostnamer_rdns_test.go:49:
> --- SKIP: TestHostNamerQuad8v6 (0.00s)
> === RUN TestHostNamerInvalid
> hostnamer_rdns_test.go:54:
> --- SKIP: TestHostNamerInvalid (0.00s)
> === RUN TestPerformanceStatsEncoderEmpty
> time="2020-09-27T11:20:18Z" level=warning msg="skipping empty influx line"
> domain=statscollect
> time="2020-09-27T11:20:19Z" level=info msg="closing connection"
> domain=submitter submitter=AMQP url="amqp://sensor:[email protected]:9999/%2f/"
> --- PASS: TestPerformanceStatsEncoderEmpty (1.00s)
> === RUN TestPerformanceStatsEncoder
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:[email protected]:9999/%2f/:tdh.metrics () successful"
> domain=submitter payloadsize=99 rawsize=99 submitter=AMQP
> url="amqp://sensor:[email protected]:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info
> msg="fever,host=ip-172-31-14-147.eu-central-1.compute.internal
> testval=1,testvalue=2 1601205619829035260"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:[email protected]:9999/%2f/:tdh.metrics () successful"
> domain=submitter payloadsize=99 rawsize=99 submitter=AMQP
> url="amqp://sensor:[email protected]:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info
> msg="fever,host=ip-172-31-14-147.eu-central-1.compute.internal
> testval=1,testvalue=2 1601205619829117336"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:[email protected]:9999/%2f/:tdh.metrics () successful"
> domain=submitter payloadsize=99 rawsize=99 submitter=AMQP
> url="amqp://sensor:[email protected]:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info
> msg="fever,host=ip-172-31-14-147.eu-central-1.compute.internal
> testval=3,testvalue=2 1601205619829154571"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:[email protected]:9999/%2f/:tdh.metrics () successful"
> domain=submitter payloadsize=99 rawsize=99 submitter=AMQP
> url="amqp://sensor:[email protected]:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info
> msg="fever,host=ip-172-31-14-147.eu-central-1.compute.internal
> testval=3,testvalue=2 1601205619829198613"
> time="2020-09-27T11:20:19Z" level=info msg="closing connection"
> domain=submitter submitter=AMQP url="amqp://sensor:[email protected]:9999/%2f/"
> --- PASS: TestPerformanceStatsEncoder (0.00s)
> === RUN TestInvalidReconnector
> time="2020-09-27T11:20:19Z" level=debug msg="new base submitter created"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f"
> time="2020-09-27T11:20:19Z" level=debug msg="calling reconnector"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f"
> --- PASS: TestInvalidReconnector (0.00s)
> === RUN TestSubmitter
> time="2020-09-27T11:20:19Z" level=debug msg="dialing
> \"amqp://sensor:sensor@localhost:9999/%2f/\""
> time="2020-09-27T11:20:19Z" level=debug msg="got Connection, getting Channel"
> time="2020-09-27T11:20:19Z" level=debug msg="got Channel, declaring Exchange
> (\"foo.bar.test\")"
> time="2020-09-27T11:20:19Z" level=debug msg="declared Queue (\"foo\" 0
> messages, 0 consumers), binding to Exchange (key \"foo\")"
> time="2020-09-27T11:20:19Z" level=debug msg="Queue bound to Exchange,
> starting Consume (consumer tag \"foo-test1\")"
> time="2020-09-27T11:20:19Z" level=debug msg="new base submitter created"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=debug msg="calling reconnector"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=debug msg="Submitter established connection
> to amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=debug msg="number of submitters now 1"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:sensor@localhost:9999/%2f/:foo.bar.test (foo) successful"
> domain=submitter payloadsize=1 rawsize=1 submitter=AMQP
> url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:sensor@localhost:9999/%2f/:foo.bar.test (foo) successful"
> domain=submitter payloadsize=1 rawsize=1 submitter=AMQP
> url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:sensor@localhost:9999/%2f/:foo.bar.test (foo) successful"
> domain=submitter payloadsize=1 rawsize=1 submitter=AMQP
> url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info msg="submission to
> amqp://sensor:sensor@localhost:9999/%2f/:foo.bar.test (foo) successful"
> domain=submitter payloadsize=1 rawsize=1 submitter=AMQP
> url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=debug msg="got 1B delivery: [1] \"1\""
> time="2020-09-27T11:20:19Z" level=debug msg="got 1B delivery: [2] \"2\""
> time="2020-09-27T11:20:19Z" level=debug msg="got 1B delivery: [3] \"3\""
> time="2020-09-27T11:20:19Z" level=debug msg="got 1B delivery: [4] \"4\""
> time="2020-09-27T11:20:19Z" level=debug msg="finishing submitter
> amqp://sensor:sensor@localhost:9999/%2f/ (foo.bar.test)" domain=submitter
> submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f/"
> time="2020-09-27T11:20:19Z" level=info msg="closing connection"
> domain=submitter submitter=AMQP url="amqp://sensor:sensor@localhost:9999/%2f/"
> --- PASS: TestSubmitter (0.00s)
> === RUN TestSubmitterReconnect
> submitter_test.go:85:
> --- SKIP: TestSubmitterReconnect (0.00s)
> === RUN TestJSONParseEVE
> --- PASS: TestJSONParseEVE (0.00s)
> === RUN TestJSONParseEVEBroken
> --- PASS: TestJSONParseEVEBroken (0.00s)
> === RUN TestJSONParseEVEempty
> --- PASS: TestJSONParseEVEempty (0.00s)
> === RUN TestGetSensorID
> --- PASS: TestGetSensorID (0.00s)
> PASS
> ok github.com/DCSO/fever/util 1.009s
> FAIL
> dh_auto_test: error: cd obj-x86_64-linux-gnu && go test -vet=off -v -p 1
> github.com/DCSO/fever/cmd/fever github.com/DCSO/fever/cmd/fever/cmds
> github.com/DCSO/fever/db github.com/DCSO/fever/input
> github.com/DCSO/fever/processing github.com/DCSO/fever/stenosis/api
> github.com/DCSO/fever/stenosis/task github.com/DCSO/fever/types
> github.com/DCSO/fever/util returned exit code 2
The full build log is available from:
http://qa-logs.debian.net/2020/09/26/fever_1.0.11-1_unstable.log
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.