tribuchet: building on eliza Running client tests... === RUN TestDoServerRequestAttachesToken === PAUSE TestDoServerRequestAttachesToken === RUN TestUploadBuildLog_FileBodyReplayedOnRetry === PAUSE TestUploadBuildLog_FileBodyReplayedOnRetry === RUN TestRegisterUploadedObjectReusesConnections === PAUSE TestRegisterUploadedObjectReusesConnections === RUN TestRunGarbageCollection_FinishedOnAnotherReplica === PAUSE TestRunGarbageCollection_FinishedOnAnotherReplica === RUN TestRunGarbageCollection_NotFoundAfterLocalRun === PAUSE TestRunGarbageCollection_NotFoundAfterLocalRun === RUN TestCaseHackSuffix === PAUSE TestCaseHackSuffix === RUN TestFilterOversizedClosures === PAUSE TestFilterOversizedClosures === RUN TestUploadMultipart_PartsInParallel === PAUSE TestUploadMultipart_PartsInParallel === RUN TestUploadMultipart_FailedPartBufferNotReused === PAUSE TestUploadMultipart_FailedPartBufferNotReused === RUN TestPartSizeForNAR === PAUSE TestPartSizeForNAR === RUN TestUploadMultipart_SupersededByPeer === PAUSE TestUploadMultipart_SupersededByPeer === RUN TestDumpPathCaseHackMatchesNix --- PASS: TestDumpPathCaseHackMatchesNix (2.61s) === RUN TestDumpPathCaseHackCollision --- PASS: TestDumpPathCaseHackCollision (0.00s) === RUN TestSupersededNARStillUploadsListing === PAUSE TestSupersededNARStillUploadsListing === RUN TestDumpPathMatchesNix === PAUSE TestDumpPathMatchesNix === RUN TestDumpPathSingleFile === PAUSE TestDumpPathSingleFile === RUN TestDumpPathWriterError === PAUSE TestDumpPathWriterError === RUN TestEncodeNixBase32 === PAUSE TestEncodeNixBase32 === RUN TestEncodeNixBase32WithRealHash === PAUSE TestEncodeNixBase32WithRealHash === RUN TestConvertHashToNix32 === PAUSE TestConvertHashToNix32 === RUN TestGetStorePathHash === PAUSE TestGetStorePathHash === RUN TestPathInfoHashCompatibility === PAUSE TestPathInfoHashCompatibility === RUN TestParsePathInfoJSON === PAUSE TestParsePathInfoJSON === RUN TestParsePathInfoJSONMultiplePaths === PAUSE TestParsePathInfoJSONMultiplePaths === RUN TestPathInfoCACompatibility === PAUSE TestPathInfoCACompatibility === RUN TestRateLimiterFeedback === PAUSE TestRateLimiterFeedback === RUN TestRateLimiterFeedback_400DoesNotCountAsSuccess === PAUSE TestRateLimiterFeedback_400DoesNotCountAsSuccess === RUN TestRegisterUploadedObject_BoundedAgainstSilentServer === PAUSE TestRegisterUploadedObject_BoundedAgainstSilentServer === RUN TestResolveStorePath === PAUSE TestResolveStorePath === RUN TestDoWithRetry_BodyReplayedViaGetBody === PAUSE TestDoWithRetry_BodyReplayedViaGetBody === RUN TestRetryTimeoutOutlastsMaxRetries === PAUSE TestRetryTimeoutOutlastsMaxRetries === RUN TestDoWithRetry_FinalResponseBodyReadable === PAUSE TestDoWithRetry_FinalResponseBodyReadable === RUN TestShellSplit === PAUSE TestShellSplit === RUN TestShellSplitErrors === PAUSE TestShellSplitErrors === RUN TestStreamPushReportsEveryPath === PAUSE TestStreamPushReportsEveryPath === RUN TestStreamPushBatchesUnderLoad === PAUSE TestStreamPushBatchesUnderLoad === RUN TestStreamPushIsolatesFailures === PAUSE TestStreamPushIsolatesFailures === RUN TestStreamPushGivesUpOnDeadServer === PAUSE TestStreamPushGivesUpOnDeadServer === RUN TestStreamPushRequestLine === PAUSE TestStreamPushRequestLine === RUN TestStreamPushReportsSignatures === PAUSE TestStreamPushReportsSignatures === RUN TestStreamPushReportsSkippedPaths === PAUSE TestStreamPushReportsSkippedPaths === RUN TestClientSignaturesByStorePath === PAUSE TestClientSignaturesByStorePath === RUN TestStreamPushStopsWhenCanceled === PAUSE TestStreamPushStopsWhenCanceled === RUN TestSetClientTLS === PAUSE TestSetClientTLS === RUN TestSetClientTLSDoesNotMutateDefaultTransport === PAUSE TestSetClientTLSDoesNotMutateDefaultTransport === RUN TestSetClientTLSErrors === PAUSE TestSetClientTLSErrors === RUN TestStaticToken === PAUSE TestStaticToken === RUN TestFileTokenReadsAndCaches === PAUSE TestFileTokenReadsAndCaches === RUN TestFileTokenMissing === PAUSE TestFileTokenMissing === RUN TestFileTokenEmpty === PAUSE TestFileTokenEmpty === RUN TestScriptTokenNoExpiryRerunsEveryCall === PAUSE TestScriptTokenNoExpiryRerunsEveryCall === RUN TestScriptTokenCachesUntilRefresh === PAUSE TestScriptTokenCachesUntilRefresh === RUN TestScriptTokenEmptyToken === PAUSE TestScriptTokenEmptyToken === RUN TestScriptTokenBadJSON === PAUSE TestScriptTokenBadJSON === RUN TestScriptTokenScriptFails === PAUSE TestScriptTokenScriptFails === RUN TestScriptTokenEmptyCommand === PAUSE TestScriptTokenEmptyCommand === CONT TestDoServerRequestAttachesToken === CONT TestDoWithRetry_BodyReplayedViaGetBody === CONT TestDumpPathWriterError === CONT TestScriptTokenScriptFails === CONT TestScriptTokenEmptyCommand === CONT TestStreamPushStopsWhenCanceled --- PASS: TestScriptTokenEmptyCommand (0.00s) === CONT TestDumpPathSingleFile === CONT TestDumpPathMatchesNix --- PASS: TestStreamPushStopsWhenCanceled (0.00s) === CONT TestResolveStorePath --- PASS: TestResolveStorePath (0.00s) === CONT TestRegisterUploadedObject_BoundedAgainstSilentServer --- PASS: TestScriptTokenScriptFails (3.06s) === CONT TestRateLimiterFeedback_400DoesNotCountAsSuccess === CONT TestSupersededNARStillUploadsListing === RUN TestSupersededNARStillUploadsListing/small_NAR === PAUSE TestSupersededNARStillUploadsListing/small_NAR === RUN TestSupersededNARStillUploadsListing/dump_cut_short === PAUSE TestSupersededNARStillUploadsListing/dump_cut_short === RUN TestSupersededNARStillUploadsListing/listing_upload_fails === PAUSE TestSupersededNARStillUploadsListing/listing_upload_fails === CONT TestUploadMultipart_SupersededByPeer === RUN TestUploadMultipart_SupersededByPeer/exists === PAUSE TestUploadMultipart_SupersededByPeer/exists === RUN TestUploadMultipart_SupersededByPeer/missing === CONT TestRateLimiterFeedback === RUN TestRateLimiterFeedback/429_enables_limiter === PAUSE TestRateLimiterFeedback/429_enables_limiter === RUN TestRateLimiterFeedback/503_enables_limiter === PAUSE TestRateLimiterFeedback/503_enables_limiter === RUN TestRateLimiterFeedback/200_does_not_enable_limiter === PAUSE TestRateLimiterFeedback/200_does_not_enable_limiter === RUN TestRateLimiterFeedback/400_does_not_enable_limiter === PAUSE TestRateLimiterFeedback/400_does_not_enable_limiter === PAUSE TestUploadMultipart_SupersededByPeer/missing === CONT TestPathInfoCACompatibility === RUN TestPathInfoCACompatibility/null_ca_field === PAUSE TestPathInfoCACompatibility/null_ca_field === RUN TestPathInfoCACompatibility/old_string_format_-_text === PAUSE TestPathInfoCACompatibility/old_string_format_-_text === RUN TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === PAUSE TestPathInfoCACompatibility/old_string_format_-_fixed_recursive === RUN TestPathInfoCACompatibility/new_structured_format_-_text === CONT TestSetClientTLSErrors 2026/11/06 06:58:03 WARN Rate limiter enabled after throttle name=server-test rate=5 === PAUSE TestPathInfoCACompatibility/new_structured_format_-_text === RUN TestPathInfoCACompatibility/new_structured_format_-_nar_method === PAUSE TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestUploadMultipart_PartsInParallel === CONT TestFileTokenReadsAndCaches === CONT TestRunGarbageCollection_NotFoundAfterLocalRun === CONT TestFilterOversizedClosures === RUN TestFilterOversizedClosures/no_limit_keeps_everything === PAUSE TestFilterOversizedClosures/no_limit_keeps_everything === RUN TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === PAUSE TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === RUN TestFilterOversizedClosures/all_closures_skipped === PAUSE TestFilterOversizedClosures/all_closures_skipped === CONT TestCaseHackSuffix --- PASS: TestFileTokenReadsAndCaches (0.00s) === CONT TestGetStorePathHash === RUN TestGetStorePathHash/valid_store_path === PAUSE TestGetStorePathHash/valid_store_path === RUN TestGetStorePathHash/basename_without_hyphen_should_error === PAUSE TestGetStorePathHash/basename_without_hyphen_should_error === RUN TestGetStorePathHash/hash_with_invalid_characters_should_error === PAUSE TestGetStorePathHash/hash_with_invalid_characters_should_error === RUN TestGetStorePathHash/hash_with_wrong_length_should_error === PAUSE TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestParsePathInfoJSON === RUN TestParsePathInfoJSON/Nix_format === PAUSE TestParsePathInfoJSON/Nix_format === RUN TestParsePathInfoJSON/Lix_format === PAUSE TestParsePathInfoJSON/Lix_format === RUN TestParsePathInfoJSON/empty_input === PAUSE TestParsePathInfoJSON/empty_input === RUN TestParsePathInfoJSON/whitespace_only === PAUSE TestParsePathInfoJSON/whitespace_only === RUN TestParsePathInfoJSON/invalid_JSON === PAUSE TestParsePathInfoJSON/invalid_JSON === CONT TestPathInfoHashCompatibility === RUN TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === PAUSE TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) === RUN TestPathInfoHashCompatibility/old_string_format_with_colon === PAUSE TestPathInfoHashCompatibility/old_string_format_with_colon === CONT TestStaticToken --- PASS: TestStaticToken (0.00s) === CONT TestSetClientTLSDoesNotMutateDefaultTransport === RUN TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === PAUSE TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === RUN TestPathInfoHashCompatibility/new_structured_format_with_sha512 === PAUSE TestPathInfoHashCompatibility/new_structured_format_with_sha512 === CONT TestStreamPushIsolatesFailures === CONT TestRunGarbageCollection_FinishedOnAnotherReplica === CONT TestFileTokenMissing === CONT TestScriptTokenBadJSON --- PASS: TestFileTokenMissing (0.00s) === CONT TestClientSignaturesByStorePath --- PASS: TestClientSignaturesByStorePath (0.00s) === CONT TestStreamPushReportsSkippedPaths --- PASS: TestStreamPushReportsSkippedPaths (0.00s) === CONT TestStreamPushReportsSignatures 2026/11/06 06:58:03 ERROR Upload failed error="bad path" count=3 --- PASS: TestStreamPushIsolatesFailures (0.03s) === CONT TestStreamPushRequestLine 2026/11/06 06:58:03 ERROR Upload failed error=boom count=1 --- PASS: TestStreamPushReportsSignatures (0.00s) === CONT TestStreamPushGivesUpOnDeadServer 2026/11/06 06:58:03 ERROR Upload failed error="connection refused" count=20 2026/11/06 06:58:03 ERROR Server seems unavailable, giving up on batch untried=17 === CONT TestScriptTokenEmptyToken --- PASS: TestStreamPushGivesUpOnDeadServer (0.00s) === CONT TestEncodeNixBase32WithRealHash --- PASS: TestEncodeNixBase32WithRealHash (0.00s) === CONT TestConvertHashToNix32 2026/11/06 06:58:03 ERROR Upload failed error=boom count=1 === RUN TestConvertHashToNix32/SRI_format_to_Nix32 === PAUSE TestConvertHashToNix32/SRI_format_to_Nix32 === RUN TestConvertHashToNix32/already_Nix32_format === PAUSE TestConvertHashToNix32/already_Nix32_format === RUN TestConvertHashToNix32/invalid_format === PAUSE TestConvertHashToNix32/invalid_format === CONT TestSetClientTLS === CONT TestScriptTokenCachesUntilRefresh === CONT TestScriptTokenNoExpiryRerunsEveryCall 2026/11/06 06:58:03 INFO Garbage collection started === RUN TestSetClientTLSErrors/missing_cert_file === PAUSE TestSetClientTLSErrors/missing_cert_file === RUN TestSetClientTLSErrors/missing_key_file === PAUSE TestSetClientTLSErrors/missing_key_file === RUN TestSetClientTLSErrors/missing_ca_file === PAUSE TestSetClientTLSErrors/missing_ca_file === RUN TestSetClientTLSErrors/invalid_ca_file === PAUSE TestSetClientTLSErrors/invalid_ca_file === CONT TestEncodeNixBase32 === RUN TestEncodeNixBase32/test_string_hash === PAUSE TestEncodeNixBase32/test_string_hash === RUN TestEncodeNixBase32/empty_input === PAUSE TestEncodeNixBase32/empty_input === CONT TestUploadBuildLog_FileBodyReplayedOnRetry === CONT TestFileTokenEmpty --- PASS: TestDoServerRequestAttachesToken (3.10s) === CONT TestShellSplitErrors --- PASS: TestShellSplitErrors (0.00s) --- PASS: TestSetClientTLSDoesNotMutateDefaultTransport (0.03s) === CONT TestStreamPushBatchesUnderLoad 2026/11/06 06:58:03 INFO Garbage collection started === CONT TestParsePathInfoJSONMultiplePaths --- PASS: TestFileTokenEmpty (0.00s) === RUN TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === PAUSE TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === CONT TestStreamPushReportsEveryPath === CONT TestDoWithRetry_FinalResponseBodyReadable === CONT TestPartSizeForNAR --- PASS: TestStreamPushReportsEveryPath (0.00s) === RUN TestPartSizeForNAR/zero_stays_at_minimum === CONT TestShellSplit === RUN TestStreamPushBatchesUnderLoad/oneAtATime=false === PAUSE TestStreamPushBatchesUnderLoad/oneAtATime=false === RUN TestStreamPushBatchesUnderLoad/oneAtATime=true === RUN TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === PAUSE TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths === CONT TestUploadMultipart_FailedPartBufferNotReused === CONT TestSupersededNARStillUploadsListing/small_NAR --- PASS: TestRunGarbageCollection_NotFoundAfterLocalRun (0.04s) 2026/11/06 06:58:03 INFO Uploading abc-hello (1.0GB) --- PASS: TestShellSplit (0.00s) === PAUSE TestPartSizeForNAR/zero_stays_at_minimum === RUN TestPartSizeForNAR/small_stays_at_minimum === PAUSE TestPartSizeForNAR/small_stays_at_minimum === RUN TestPartSizeForNAR/80_GiB_fits_at_minimum === PAUSE TestPartSizeForNAR/80_GiB_fits_at_minimum === RUN TestPartSizeForNAR/115_GiB_needs_larger_parts === PAUSE TestPartSizeForNAR/115_GiB_needs_larger_parts === RUN TestPartSizeForNAR/1_TiB === PAUSE TestPartSizeForNAR/1_TiB === CONT TestRegisterUploadedObjectReusesConnections 2026/11/06 06:58:03 INFO Garbage collection progress phase=running_on_another_replica failed_uploads_deleted=0 old_closures_deleted=0 objects_marked=0 objects_deleted=0 objects_failed=0 === CONT TestRetryTimeoutOutlastsMaxRetries === PAUSE TestStreamPushBatchesUnderLoad/oneAtATime=true === CONT TestSupersededNARStillUploadsListing/dump_cut_short 2026/11/06 06:58:03 WARN Rate limiter enabled after throttle name=server-test rate=5 === CONT TestSupersededNARStillUploadsListing/listing_upload_fails === RUN TestPartSizeForNAR/5_TiB_S3_max_object 2026/11/06 06:58:03 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:35047 2026/11/06 06:58:05 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:43539/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:43539/api/uploads/complete 2026/11/06 06:58:05 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" === RUN TestSetClientTLS/rejects_connection_without_client_cert === PAUSE TestSetClientTLS/rejects_connection_without_client_cert === RUN TestSetClientTLS/succeeds_with_client_cert_and_CA === PAUSE TestSetClientTLS/succeeds_with_client_cert_and_CA === RUN TestSetClientTLS/preserves_debug_logging_transport === PAUSE TestSetClientTLS/preserves_debug_logging_transport 2026/11/06 06:58:05 WARN Rate limiter enabled after throttle name=server-test rate=5 2026/11/06 06:58:05 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:41191 2026/11/06 06:58:05 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:43539/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:43539/api/uploads/complete === PAUSE TestPartSizeForNAR/5_TiB_S3_max_object 2026/11/06 06:58:05 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" === RUN TestPartSizeForNAR/capped_at_5_GiB 2026/11/06 06:58:05 WARN Request failed, retrying attempt=1 backoff=100ms error="Post \"http://127.0.0.1:43539/api/uploads/complete\": context deadline exceeded" url=http://127.0.0.1:43539/api/uploads/complete === PAUSE TestPartSizeForNAR/capped_at_5_GiB 2026/11/06 06:58:05 WARN Failed to register uploaded object key=abc.narinfo error="sending request: context canceled during retry: context deadline exceeded" === CONT TestRateLimiterFeedback/429_enables_limiter 2026/11/06 06:58:05 WARN Rate limiter backed off name=server-test rate=5 --- PASS: TestRegisterUploadedObject_BoundedAgainstSilentServer (5.27s) === CONT TestUploadMultipart_SupersededByPeer/exists --- PASS: TestDumpPathSingleFile (5.28s) === CONT TestRateLimiterFeedback/400_does_not_enable_limiter --- PASS: TestDoWithRetry_FinalResponseBodyReadable (2.18s) === CONT TestRateLimiterFeedback/200_does_not_enable_limiter === CONT TestRateLimiterFeedback/503_enables_limiter 2026/11/06 06:58:05 WARN Rate limiter enabled after throttle name=server-test rate=5 2026/11/06 06:58:05 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=429 url=http://127.0.0.1:42027 2026/11/06 06:58:05 WARN Request returned retryable status, retrying attempt=1 backoff=1ms status=502 url=http://127.0.0.1:38965 --- PASS: TestScriptTokenCachesUntilRefresh (2.50s) === CONT TestUploadMultipart_SupersededByPeer/missing --- PASS: TestScriptTokenBadJSON (2.50s) === CONT TestPathInfoCACompatibility/null_ca_field --- PASS: TestScriptTokenNoExpiryRerunsEveryCall (2.50s) === CONT TestPathInfoCACompatibility/new_structured_format_-_nar_method === CONT TestPathInfoCACompatibility/new_structured_format_-_text 2026/11/06 06:58:05 INFO Uploading abc-hello (1.0GB) === CONT TestPathInfoCACompatibility/old_string_format_-_text === CONT TestPathInfoCACompatibility/old_string_format_-_fixed_recursive --- PASS: TestPathInfoCACompatibility (0.00s) --- PASS: TestPathInfoCACompatibility/null_ca_field (0.00s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_nar_method (0.00s) --- PASS: TestPathInfoCACompatibility/new_structured_format_-_text (0.00s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_text (0.00s) --- PASS: TestPathInfoCACompatibility/old_string_format_-_fixed_recursive (0.00s) === CONT TestGetStorePathHash/valid_store_path === CONT TestParsePathInfoJSON/Nix_format === CONT TestFilterOversizedClosures/no_limit_keeps_everything === CONT TestGetStorePathHash/hash_with_wrong_length_should_error === CONT TestGetStorePathHash/hash_with_invalid_characters_should_error 2026/11/06 06:58:05 INFO Uploading abc-hello (1.0GB) --- PASS: TestStreamPushRequestLine (6.54s) === CONT TestGetStorePathHash/basename_without_hyphen_should_error === CONT TestParsePathInfoJSON/invalid_JSON === CONT TestParsePathInfoJSON/whitespace_only === CONT TestParsePathInfoJSON/empty_input === CONT TestParsePathInfoJSON/Lix_format 2026/11/06 06:58:09 WARN Garbage collection finished on another replica. Its statistics are not available here --- PASS: TestRunGarbageCollection_FinishedOnAnotherReplica (6.71s) 2026/11/06 06:58:09 WARN Rate limiter backed off name=server-test rate=5 === CONT TestFilterOversizedClosures/all_closures_skipped 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=2 backoff=0s status=503 url=http://127.0.0.1:41191 2026/11/06 06:58:09 WARN Rate limiter enabled after throttle name=server-test rate=5 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:36615 2026/11/06 06:58:09 WARN Rate limiter backed off name=server-test rate=5 2026/11/06 06:58:09 WARN Skipping closure: path exceeds server max NAR size top_level_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper oversized_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper nar_size=100 max_nar_size=50 === CONT TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped === CONT TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) 2026/11/06 06:58:09 WARN Skipping closure: path exceeds server max NAR size top_level_path=/nix/store/cccccccccccccccccccccccccccccccc-wrapper oversized_path=/nix/store/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb-vm-image nar_size=5000 max_nar_size=2000 === CONT TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI === CONT TestPathInfoHashCompatibility/new_structured_format_with_sha512 === CONT TestPathInfoHashCompatibility/old_string_format_with_colon === CONT TestConvertHashToNix32/SRI_format_to_Nix32 --- PASS: TestScriptTokenEmptyToken (6.71s) === CONT TestConvertHashToNix32/invalid_format === CONT TestConvertHashToNix32/already_Nix32_format 2026/11/06 06:58:09 WARN Rate limiter backed off name=server-test rate=5 === CONT TestSetClientTLSErrors/missing_cert_file === CONT TestSetClientTLSErrors/missing_ca_file === CONT TestSetClientTLSErrors/invalid_ca_file === CONT TestSetClientTLSErrors/missing_key_file === CONT TestEncodeNixBase32/test_string_hash --- PASS: TestDoWithRetry_BodyReplayedViaGetBody (9.81s) === CONT TestEncodeNixBase32/empty_input === CONT TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths === CONT TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths --- PASS: TestFilterOversizedClosures (0.00s) --- PASS: TestFilterOversizedClosures/all_closures_skipped (0.00s) --- PASS: TestFilterOversizedClosures/closure_with_oversized_dependency_is_skipped (0.00s) --- PASS: TestFilterOversizedClosures/no_limit_keeps_everything (0.00s) === CONT TestStreamPushBatchesUnderLoad/oneAtATime=false --- PASS: TestGetStorePathHash (0.00s) --- PASS: TestGetStorePathHash/valid_store_path (0.00s) --- PASS: TestGetStorePathHash/hash_with_wrong_length_should_error (0.00s) --- PASS: TestGetStorePathHash/basename_without_hyphen_should_error (0.00s) --- PASS: TestGetStorePathHash/hash_with_invalid_characters_should_error (0.00s) --- PASS: TestParsePathInfoJSON (0.00s) --- PASS: TestParsePathInfoJSON/invalid_JSON (0.00s) --- PASS: TestParsePathInfoJSON/whitespace_only (0.00s) --- PASS: TestParsePathInfoJSON/empty_input (0.00s) --- PASS: TestParsePathInfoJSON/Nix_format (4.20s) --- PASS: TestParsePathInfoJSON/Lix_format (0.00s) === CONT TestStreamPushBatchesUnderLoad/oneAtATime=true === CONT TestSetClientTLS/rejects_connection_without_client_cert 2026/11/06 06:58:09 WARN Rate limiter enabled after throttle name=s3-test rate=5 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=1 backoff=0s status=503 url=http://127.0.0.1:44441 --- PASS: TestPathInfoHashCompatibility (0.00s) --- PASS: TestPathInfoHashCompatibility/old_string_format_with_dash_(SRI) (0.00s) --- PASS: TestPathInfoHashCompatibility/new_structured_format_with_sha512 (0.00s) --- PASS: TestPathInfoHashCompatibility/old_string_format_with_colon (0.00s) --- PASS: TestPathInfoHashCompatibility/new_structured_format_-_converts_to_SRI (0.00s) --- PASS: TestConvertHashToNix32 (0.00s) --- PASS: TestConvertHashToNix32/invalid_format (0.00s) --- PASS: TestConvertHashToNix32/SRI_format_to_Nix32 (0.00s) --- PASS: TestConvertHashToNix32/already_Nix32_format (0.00s) --- PASS: TestEncodeNixBase32 (0.00s) --- PASS: TestEncodeNixBase32/empty_input (0.00s) --- PASS: TestEncodeNixBase32/test_string_hash (0.00s) === CONT TestPartSizeForNAR/small_stays_at_minimum === CONT TestSetClientTLS/preserves_debug_logging_transport 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=2 backoff=1ms status=502 url=http://127.0.0.1:38965 === CONT TestPartSizeForNAR/zero_stays_at_minimum --- PASS: TestUploadMultipart_SupersededByPeer (0.00s) --- PASS: TestUploadMultipart_SupersededByPeer/exists (0.32s) --- PASS: TestUploadMultipart_SupersededByPeer/missing (4.21s) === CONT TestSetClientTLS/succeeds_with_client_cert_and_CA === CONT TestPartSizeForNAR/capped_at_5_GiB === CONT TestPartSizeForNAR/5_TiB_S3_max_object === CONT TestPartSizeForNAR/1_TiB === CONT TestPartSizeForNAR/115_GiB_needs_larger_parts === CONT TestPartSizeForNAR/80_GiB_fits_at_minimum --- PASS: TestParsePathInfoJSONMultiplePaths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Nix_multiple_paths (0.00s) --- PASS: TestParsePathInfoJSONMultiplePaths/Lix_multiple_paths (0.00s) --- PASS: TestCaseHackSuffix (6.75s) --- PASS: TestRateLimiterFeedback (0.00s) --- PASS: TestRateLimiterFeedback/429_enables_limiter (4.53s) --- PASS: TestRateLimiterFeedback/503_enables_limiter (4.53s) --- PASS: TestRateLimiterFeedback/200_does_not_enable_limiter (4.53s) --- PASS: TestRateLimiterFeedback/400_does_not_enable_limiter (4.53s) --- PASS: TestPartSizeForNAR (2.18s) --- PASS: TestPartSizeForNAR/small_stays_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/zero_stays_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/capped_at_5_GiB (0.00s) --- PASS: TestPartSizeForNAR/80_GiB_fits_at_minimum (0.00s) --- PASS: TestPartSizeForNAR/5_TiB_S3_max_object (0.00s) --- PASS: TestPartSizeForNAR/1_TiB (0.00s) --- PASS: TestPartSizeForNAR/115_GiB_needs_larger_parts (0.00s) --- PASS: TestStreamPushBatchesUnderLoad (0.00s) --- PASS: TestStreamPushBatchesUnderLoad/oneAtATime=false (0.00s) --- PASS: TestStreamPushBatchesUnderLoad/oneAtATime=true (0.00s) --- PASS: TestSetClientTLSErrors (0.04s) --- PASS: TestSetClientTLSErrors/missing_cert_file (0.00s) --- PASS: TestSetClientTLSErrors/invalid_ca_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_key_file (0.00s) --- PASS: TestSetClientTLSErrors/missing_ca_file (0.00s) --- PASS: TestUploadBuildLog_FileBodyReplayedOnRetry (6.71s) 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=1 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=2 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=3 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=4 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=5 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=6 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=7 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=8 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=9 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=10 backoff=1ms status=502 url=http://127.0.0.1:38965 --- PASS: TestDumpPathWriterError (9.83s) 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=11 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=12 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 http: TLS handshake error from 127.0.0.1:58122: remote error: tls: bad certificate --- PASS: TestRegisterUploadedObjectReusesConnections (6.73s) --- PASS: TestSetClientTLS (2.18s) --- PASS: TestSetClientTLS/preserves_debug_logging_transport (0.01s) --- PASS: TestSetClientTLS/succeeds_with_client_cert_and_CA (0.01s) --- PASS: TestSetClientTLS/rejects_connection_without_client_cert (0.02s) 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=13 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=14 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=15 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=16 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Request returned retryable status, retrying attempt=17 backoff=1ms status=502 url=http://127.0.0.1:38965 2026/11/06 06:58:09 WARN Rate limiter enabled after throttle name=s3-test rate=5 --- PASS: TestRetryTimeoutOutlastsMaxRetries (6.75s) 2026/11/06 06:58:09 WARN Request failed, retrying attempt=1 backoff=100ms error="Put \"http://127.0.0.1:35177/part/2\": uploading part 1: server returned 404: no such upload\n" url=http://127.0.0.1:35177/part/2 2026/11/06 06:58:09 WARN Request failed, retrying attempt=1 backoff=100ms error="Put \"http://127.0.0.1:35177/part/3\": uploading part 1: server returned 404: no such upload\n" url=http://127.0.0.1:35177/part/3 2026/11/06 06:58:09 WARN Request failed, retrying attempt=1 backoff=100ms error="Put \"http://127.0.0.1:35177/part/4\": uploading part 1: server returned 404: no such upload\n" url=http://127.0.0.1:35177/part/4 2026/11/06 06:58:09 WARN Request failed, retrying attempt=1 backoff=100ms error="Put \"http://127.0.0.1:35177/part/5\": uploading part 1: server returned 404: no such upload\n" url=http://127.0.0.1:35177/part/5 2026/11/06 06:58:09 ERROR Failed to close zstd encoder error="io: read/write on closed pipe" --- PASS: TestRateLimiterFeedback_400DoesNotCountAsSuccess (6.95s) --- PASS: TestSupersededNARStillUploadsListing (0.00s) --- PASS: TestSupersededNARStillUploadsListing/listing_upload_fails (4.54s) --- PASS: TestSupersededNARStillUploadsListing/small_NAR (6.71s) --- PASS: TestSupersededNARStillUploadsListing/dump_cut_short (7.25s) --- PASS: TestUploadMultipart_PartsInParallel (7.34s) --- PASS: TestUploadMultipart_FailedPartBufferNotReused (7.30s) --- PASS: TestDumpPathMatchesNix (11.09s) PASS Running server tests... The files belonging to this database system will be owned by user "nixbld". This user must also own the server process. The database cluster will be initialized with locale "C". The default database encoding has accordingly been set to "SQL_ASCII". The default text search configuration will be set to "english". Data page checksums are enabled. creating directory /build/postgres2706796589/data ... ok creating subdirectories ... ok selecting dynamic shared memory implementation ... posix selecting default "max_connections" ... 100 selecting default "shared_buffers" ... 128MB selecting default time zone ... UTC creating configuration files ... ok running bootstrap script ... ok performing post-bootstrap initialization ... ok syncing data to disk ... ok initdb: warning: enabling "trust" authentication for local connections initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb. Success. You can now start the database server using: pg_ctl -D /build/postgres2706796589/data -l logfile start /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response /build/postgres2706796589:5432 - no response 2026-11-06 06:58:32.341 UTC [128] LOG: starting PostgreSQL 18.6 on aarch64-unknown-linux-gnu, compiled by clang version 21.1.8, 64-bit 2026-11-06 06:58:32.342 UTC [128] LOG: listening on Unix socket "/build/postgres2706796589/.s.PGSQL.5432" 2026-11-06 06:58:32.347 UTC [128] LOG: received smart shutdown request 2026-11-06 06:58:32.349 UTC [164] LOG: database system was shut down at 2026-11-06 06:58:28 UTC 2026-11-06 06:58:32.355 UTC [162] LOG: shutting down 2026-11-06 06:58:32.355 UTC [162] LOG: checkpoint starting: shutdown immediate 2026-11-06 06:58:32.359 UTC [162] LOG: checkpoint complete: wrote 0 buffers (0.0%), wrote 3 SLRU buffers; 0 WAL file(s) added, 0 removed, 0 recycled; write=0.001 s, sync=0.001 s, total=0.004 s; sync files=2, longest=0.001 s, average=0.001 s; distance=0 kB, estimate=0 kB; lsn=0/1765D58, redo lsn=0/1765D58 2026-11-06 06:58:32.379 UTC [128] LOG: database system is shut down 2026/11/06 06:58:32 ERROR failed to start postgres error="failed to wait for postgres: exit status 2"