Opened 8 months ago

Last modified 7 months ago

#27615 new defect

Travis cache sticky failures

Reported by: catalyst Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-ci
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

It looks like there's at least one example of Travis caching corrupt artifacts in a way that causes "sticky" failures when attempting to rebuild that subjob. I had to clear the caches to get it to rebuild.

We should keep track of future instances of this kind of failure. We should also decide whether the speedup from the cache is worth the time spent diagnosing persistent failures that turn out to be cached.

gcc -std=gnu99 -ftrapv -fsanitize=address      -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all -Wstack-protector --param ssp-buffer-size=1 -fPIE -fno-omit-frame-pointer -fasynchronous-unwind-tables -Wall -fno-strict-aliasing -Waddress -Warray-bounds -Wdouble-promotion -Wextra -Winit-self -Wlogical-op -Wmissing-field-initializers -Wmissing-format-attribute -Wmissing-noreturn -Wnormalized=nfkc -Woverlength-strings -Woverride-init -Wshadow -Wstrict-overflow=1 -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wsync-nand -Wtrampolines -Wunused-but-set-parameter -Wunused-but-set-variable -Wunused-local-typedefs -Wvariadic-macros -W -Wfloat-equal -Wundef -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wwrite-strings -Wredundant-decls -Wchar-subscripts -Wcomment -Wformat=2 -Wwrite-strings -Wnested-externs -Wbad-function-cast -Wswitch-enum -Waggregate-return -Wpacked -Wunused -Wunused-parameter  -Wold-style-definition -Wmissing-declarations -Werror   -pie -z relro -z now -rdynamic -o src/test/test src/test/src_test_test-log_test_helpers.o src/test/src_test_test-hs_test_helpers.o src/test/src_test_test-rend_test_helpers.o src/test/src_test_test-test.o src/test/src_test_test-test_accounting.o src/test/src_test_test-test_addr.o src/test/src_test_test-test_address.o src/test/src_test_test-test_address_set.o src/test/src_test_test-test_bridges.o src/test/src_test_test-test_buffers.o src/test/src_test_test-test_bwmgt.o src/test/src_test_test-test_cell_formats.o src/test/src_test_test-test_cell_queue.o src/test/src_test_test-test_channel.o src/test/src_test_test-test_channelpadding.o src/test/src_test_test-test_channeltls.o src/test/src_test_test-test_checkdir.o src/test/src_test_test-test_circuitlist.o src/test/src_test_test-test_circuitmux.o src/test/src_test_test-test_circuitbuild.o src/test/src_test_test-test_circuituse.o src/test/src_test_test-test_circuitstats.o src/test/src_test_test-test_compat_libevent.o src/test/src_test_test-test_config.o src/test/src_test_test-test_connection.o src/test/src_test_test-test_conscache.o src/test/src_test_test-test_consdiff.o src/test/src_test_test-test_consdiffmgr.o src/test/src_test_test-test_containers.o src/test/src_test_test-test_controller.o src/test/src_test_test-test_controller_events.o src/test/src_test_test-test_crypto.o src/test/src_test_test-test_crypto_ope.o src/test/src_test_test-test_data.o src/test/src_test_test-test_dir.o src/test/src_test_test-test_dir_common.o src/test/src_test_test-test_dir_handle_get.o src/test/src_test_test-test_dos.o src/test/src_test_test-test_entryconn.o src/test/src_test_test-test_entrynodes.o src/test/src_test_test-test_geoip.o src/test/src_test_test-test_guardfraction.o src/test/src_test_test-test_extorport.o src/test/src_test_test-test_hs.o src/test/src_test_test-test_hs_common.o src/test/src_test_test-test_hs_config.o src/test/src_test_test-test_hs_cell.o src/test/src_test_test-test_hs_ntor.o src/test/src_test_test-test_hs_service.o src/test/src_test_test-test_hs_client.o src/test/src_test_test-test_hs_intropoint.o src/test/src_test_test-test_hs_control.o src/test/src_test_test-test_handles.o src/test/src_test_test-test_hs_cache.o src/test/src_test_test-test_hs_descriptor.o src/test/src_test_test-test_introduce.o src/test/src_test_test-test_keypin.o src/test/src_test_test-test_link_handshake.o src/test/src_test_test-test_logging.o src/test/src_test_test-test_mainloop.o src/test/src_test_test-test_microdesc.o src/test/src_test_test-test_nodelist.o src/test/src_test_test-test_oom.o src/test/src_test_test-test_oos.o src/test/src_test_test-test_options.o src/test/src_test_test-test_pem.o src/test/src_test_test-test_periodic_event.o src/test/src_test_test-test_policy.o src/test/src_test_test-test_procmon.o src/test/src_test_test-test_proto_http.o src/test/src_test_test-test_proto_misc.o src/test/src_test_test-test_protover.o src/test/src_test_test-test_pt.o src/test/src_test_test-test_relay.o src/test/src_test_test-test_relaycell.o src/test/src_test_test-test_relaycrypt.o src/test/src_test_test-test_rendcache.o src/test/src_test_test-test_replay.o src/test/src_test_test-test_router.o src/test/src_test_test-test_routerkeys.o src/test/src_test_test-test_routerlist.o src/test/src_test_test-test_routerset.o src/test/src_test_test-test_scheduler.o src/test/src_test_test-test_shared_random.o src/test/src_test_test-test_socks.o src/test/src_test_test-test_status.o src/test/src_test_test-test_storagedir.o src/test/src_test_test-test_threads.o src/test/src_test_test-test_tortls.o src/test/src_test_test-test_util.o src/test/src_test_test-test_util_format.o src/test/src_test_test-test_util_process.o src/test/src_test_test-test_voting_schedule.o src/test/src_test_test-test_x509.o src/test/src_test_test-test_helpers.o src/test/src_test_test-test_dns.o src/test/src_test_test-testing_common.o src/test/src_test_test-testing_rsakeys.o src/ext/src_test_test-tinytest.o src/test/src_test_test-test_crypto_openssl.o src/test/src_test_test-test_tortls_openssl.o src/core/libtor-app-testing.a src/lib/libtor-compress-testing.a src/lib/libtor-evloop-testing.a src/lib/libtor-tls-testing.a src/lib/libtor-crypt-ops-testing.a src/ext/keccak-tiny/libkeccak-tiny.a src/lib/libcurve25519_donna.a src/ext/ed25519/ref10/libed25519_ref10.a src/ext/ed25519/donna/libed25519_donna.a src/lib/libtor-process-testing.a src/lib/libtor-time-testing.a src/lib/libtor-fs-testing.a src/lib/libtor-encoding-testing.a src/lib/libtor-sandbox-testing.a src/lib/libtor-container-testing.a src/lib/libtor-net-testing.a src/lib/libtor-thread-testing.a src/lib/libtor-memarea-testing.a src/lib/libtor-math-testing.a src/lib/libtor-meminfo-testing.a src/lib/libtor-osinfo-testing.a src/lib/libtor-term-testing.a src/lib/libtor-log-testing.a src/lib/libtor-lock-testing.a src/lib/libtor-fdio-testing.a src/lib/libtor-string-testing.a src/lib/libtor-smartlist-core-testing.a src/lib/libtor-malloc-testing.a src/lib/libtor-wallclock-testing.a src/lib/libtor-err-testing.a src/lib/libtor-intmath.a src/lib/libtor-ctime-testing.a src/trunnel/libor-trunnel-testing.a src/lib/libtor-trace.a  -lz -lm -levent -lssl -lcrypto  -llzma    -lscrypt -lseccomp -lcap -lpthread -ldl 
src/core/libtor-app.a(connection.o): In function `connection_process_inbuf':
/home/travis/build/tlyu/tor/src/core/mainloop/connection.c:4582: undefined reference to `TO_EDGE_CONN'
src/core/libtor-app.a(connection.o): In function `connection_flushed_some':
/home/travis/build/tlyu/tor/src/core/mainloop/connection.c:4608: undefined reference to `TO_EDGE_CONN'
/home/travis/build/tlyu/tor/src/core/mainloop/connection.c:4608: undefined reference to `connection_edge_flushed_some'

This seems to have been something like a corrupted libtor-app.a or connection_edge.o that got cached.

Child Tickets

Change History (1)

comment:1 Changed 7 months ago by teor

Let's also document how to reset the travis cache for a branch.

Note: See TracTickets for help on using tickets.