[INFO] fetching crate tag2upload-service-manager 0.2.0...
[INFO] testing tag2upload-service-manager-0.2.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate tag2upload-service-manager 0.2.0 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate tag2upload-service-manager 0.2.0
[INFO] finished tweaking crates.io crate tag2upload-service-manager 0.2.0
[INFO] tweaked toml for crates.io crate tag2upload-service-manager 0.2.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tag2upload-service-manager 0.2.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tag2upload-service-manager 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 522561aa7d01c0f8ceb5082525af38d9d6a7612363d1663c8f8507f3da761187
[INFO] running `Command { std: "docker" "start" "-a" "522561aa7d01c0f8ceb5082525af38d9d6a7612363d1663c8f8507f3da761187", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "522561aa7d01c0f8ceb5082525af38d9d6a7612363d1663c8f8507f3da761187", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "522561aa7d01c0f8ceb5082525af38d9d6a7612363d1663c8f8507f3da761187", kill_on_drop: false }`
[INFO] [stdout] 522561aa7d01c0f8ceb5082525af38d9d6a7612363d1663c8f8507f3da761187
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fe6fb4042459280770d5ad4e1a60468de85b15e4965c55bfb779a248b471d9b6
[INFO] running `Command { std: "docker" "start" "-a" "fe6fb4042459280770d5ad4e1a60468de85b15e4965c55bfb779a248b471d9b6", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling bytes v1.11.0
[INFO] [stderr]    Compiling portable-atomic v1.13.0
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling derive-deftly-macros v1.6.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling linkme-impl v0.3.35
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling tinyvec v1.10.0
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling linkme v0.3.35
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling fs_at v0.2.1
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling moka v0.12.12
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling resolv-conf v0.7.6
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling easy-ext v1.0.2
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling atomic v0.5.3
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling remove_dir_all v1.0.0
[INFO] [stderr]    Compiling sd-notify v0.4.5
[INFO] [stderr]    Compiling mail-builder v0.4.4
[INFO] [stderr]    Compiling maybe-owned v0.3.4
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling hashify v0.2.7
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling parse_link_header v0.4.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling mail-parser v0.11.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling ubyte v0.10.4
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tracing-test v0.2.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tracing-logrotate v0.1.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling derive-deftly v1.6.0
[INFO] [stderr]    Compiling mini-sqlite-dump v0.1.2
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling tag2upload-service-manager v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 14s
[INFO] running `Command { std: "docker" "inspect" "fe6fb4042459280770d5ad4e1a60468de85b15e4965c55bfb779a248b471d9b6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fe6fb4042459280770d5ad4e1a60468de85b15e4965c55bfb779a248b471d9b6", kill_on_drop: false }`
[INFO] [stdout] fe6fb4042459280770d5ad4e1a60468de85b15e4965c55bfb779a248b471d9b6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 516f1ae1041561c2ab5f478d672dd14480e012ce429470f0644769d92586cec5
[INFO] running `Command { std: "docker" "start" "-a" "516f1ae1041561c2ab5f478d672dd14480e012ce429470f0644769d92586cec5", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling convert_case v0.10.0
[INFO] [stderr]    Compiling testresult v0.4.1
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling derive_more-impl v2.1.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling enum-ordinalize v3.1.15
[INFO] [stderr]    Compiling educe v0.4.23
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling derive_more v2.1.1
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.5.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling test-temp-dir v0.6.1
[INFO] [stderr]    Compiling lazy-regex v3.5.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling tag2upload-service-manager v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | / define_derive_deftly! {
[INFO] [stdout] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stdout] 16 | |
[INFO] [stdout] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stdout] ...  |
[INFO] [stdout] 39 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stdout]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]    |
[INFO] [stdout]  2 | use crate::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stdout]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 | pub use MetadataItemError as MIE;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stdout]     |
[INFO] [stdout] 151 | / pub enum MetadataItemError {
[INFO] [stdout] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stdout] 153 | |     UnknownSyntax,
[INFO] [stdout] ...   |
[INFO] [stdout] 171 | |     BadValue(String),
[INFO] [stdout] 172 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stdout]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stdout]    --> src/o2m_tracker.rs:158:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stdout]    --> src/o2m_tracker.rs:135:1
[INFO] [stdout]     |
[INFO] [stdout] 135 | / define_derive_deftly! {
[INFO] [stdout] 136 | |     export UpdateWorkerReport:
[INFO] [stdout] 137 | |
[INFO] [stdout] 138 | |     impl $ttype {
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stdout]    --> src/o2m_tracker.rs:2:5
[INFO] [stdout]     |
[INFO] [stdout]   2 | use crate::prelude::*;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stdout]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 58.52s
[INFO] running `Command { std: "docker" "inspect" "516f1ae1041561c2ab5f478d672dd14480e012ce429470f0644769d92586cec5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "516f1ae1041561c2ab5f478d672dd14480e012ce429470f0644769d92586cec5", kill_on_drop: false }`
[INFO] [stdout] 516f1ae1041561c2ab5f478d672dd14480e012ce429470f0644769d92586cec5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f6ac52d236c402c7fd023a4cfd7136f0e9174cca6bbbe99358810c46153bc0a1
[INFO] running `Command { std: "docker" "start" "-a" "f6ac52d236c402c7fd023a4cfd7136f0e9174cca6bbbe99358810c46153bc0a1", kill_on_drop: false }`
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stderr]   --> src/t2umeta_abstract.rs:40:9
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub use derive_deftly_template_FromTagMessage;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `derive_deftly_template_FromTagMessage` could refer to the macro defined here
[INFO] [stderr]   --> src/t2umeta_abstract.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | / define_derive_deftly! {
[INFO] [stderr] 15 | |     export FromTagMessage for struct, expect items:
[INFO] [stderr] 16 | |
[INFO] [stderr] 17 | |     ${define MOD { $crate::t2umeta_abstract }}
[INFO] [stderr] ...  |
[INFO] [stderr] 39 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr] note: `derive_deftly_template_FromTagMessage` could also refer to the macro imported here
[INFO] [stderr]   --> src/t2umeta_abstract.rs:2:5
[INFO] [stderr]    |
[INFO] [stderr]  2 | use crate::prelude::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    = help: use `self::derive_deftly_template_FromTagMessage` to refer to this macro unambiguously
[INFO] [stderr]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]    = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr]    = note: `#[warn(ambiguous_import_visibilities)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]    = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::t2umeta_abstract) or pub
[INFO] [stderr]    --> src/t2umeta_abstract.rs:174:9
[INFO] [stderr]     |
[INFO] [stderr] 174 | pub use MetadataItemError as MIE;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `MetadataItemError` could refer to the enum defined here
[INFO] [stderr]    --> src/t2umeta_abstract.rs:151:1
[INFO] [stderr]     |
[INFO] [stderr] 151 | / pub enum MetadataItemError {
[INFO] [stderr] 152 | |     #[error("unsupported/incorrect syntax")]
[INFO] [stderr] 153 | |     UnknownSyntax,
[INFO] [stderr] ...   |
[INFO] [stderr] 171 | |     BadValue(String),
[INFO] [stderr] 172 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stderr] note: `MetadataItemError` could also refer to the enum imported here
[INFO] [stderr]    --> src/t2umeta_abstract.rs:2:5
[INFO] [stderr]     |
[INFO] [stderr]   2 | use crate::prelude::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: use `self::MetadataItemError` to refer to this enum unambiguously
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr] 
[INFO] [stderr] warning: ambiguous import visibility: pub(in crate::o2m_tracker) or pub
[INFO] [stderr]    --> src/o2m_tracker.rs:158:9
[INFO] [stderr]     |
[INFO] [stderr] 158 | pub use derive_deftly_template_UpdateWorkerReport;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: ambiguous because of a conflict between a macro-expanded name and a less macro-expanded name from outer scope during import or macro resolution
[INFO] [stderr] note: `derive_deftly_template_UpdateWorkerReport` could refer to the macro defined here
[INFO] [stderr]    --> src/o2m_tracker.rs:135:1
[INFO] [stderr]     |
[INFO] [stderr] 135 | / define_derive_deftly! {
[INFO] [stderr] 136 | |     export UpdateWorkerReport:
[INFO] [stderr] 137 | |
[INFO] [stderr] 138 | |     impl $ttype {
[INFO] [stderr] ...   |
[INFO] [stderr] 157 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr] note: `derive_deftly_template_UpdateWorkerReport` could also refer to the macro imported here
[INFO] [stderr]    --> src/o2m_tracker.rs:2:5
[INFO] [stderr]     |
[INFO] [stderr]   2 | use crate::prelude::*;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = help: use `self::derive_deftly_template_UpdateWorkerReport` to refer to this macro unambiguously
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #149145 <https://github.com/rust-lang/rust/issues/149145>
[INFO] [stderr]     = note: this warning originates in the macro `define_derive_deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `tag2upload-service-manager` (lib) generated 3 warnings
[INFO] [stderr] warning: `tag2upload-service-manager` (lib test) generated 3 warnings (3 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tag2upload_service_manager-146668646d7f6d6b)
[INFO] [stdout] 
[INFO] [stdout] running 49 tests
[INFO] [stdout] test config::timeouts_defaults ... ok
[INFO] [stdout] test email::address::email_name_parse_control ... ok
[INFO] [stdout] test fmt_cmp::test ... ok
[INFO] [stdout] test email::address::none_is_empty_email_address ... ok
[INFO] [stdout] test email::address::email_name_parse ... ok
[INFO] [stdout] test gitlab::timestamp::cmp ... ok
[INFO] [stdout] test gitlab::timestamp::display ... ok
[INFO] [stdout] test t2umeta_abstract::test::debug_tag_meta ... ok
[INFO] [stdout] test gitlab::forge_namevers ... ok
[INFO] [stdout] test dns::chk_allowed_client ... ok
[INFO] [stdout] test db_support::build_schema_string ... ok
[INFO] [stdout] test db_support::all_tables_strict ... ok
[INFO] [stdout] test db_support::migration_data_facially_ok ... ok
[INFO] [stdout] test db_migration::db_migr_test::auto ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_column ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_table_empty ... FAILED
[INFO] [stdout] test test::t_misc::with_let_compiles ... ok
[INFO] [stdout] test db_migration::db_migr_test::add_table_nonempty ... FAILED
[INFO] [stdout] test bsql::bsql_transaction::bsql_test::deadlock_1 ... ok
[INFO] [stdout] test test::t_misc::release_job_map ... ok
[INFO] [stdout] test db_migration::db_migr_test::add_table_partition ... FAILED
[INFO] [stdout] test types::check_system_time_max ... ok
[INFO] [stdout] test types::hostname_tests ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_git_object_id_or_null ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_hostname ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_package_name ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_processing_info ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_tag_object_data ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_version_string ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_worker_id ... ok
[INFO] [stdout] test types::time_t_max ... ok
[INFO] [stdout] test ui_render::check_embedded_tera_templates ... ok
[INFO] [stdout] test utils::ht_duration ... ok
[INFO] [stdout] test utils::ht_time_t ... ok
[INFO] [stdout] test bsql::bsql_transaction::bsql_test::deadlock_many ... ok
[INFO] [stdout] test test::t_misc::pages_json ... ok
[INFO] [stdout] test test::t_poll::basic ... ok
[INFO] [stdout] test test::t_jcoalesce::not_simultaneous ... ok
[INFO] [stdout] test test::t_poll::perfect ... ok
[INFO] [stdout] test test::t_poll::repoll ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_noticed ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_uploaded ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_queued ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_building ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_not_for_us ... ok
[INFO] [stdout] test test::t_poll::equivalence ... ok
[INFO] [stdout] test test::t_comprehensive::comprehensive ... FAILED
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_failed has been running for over 60 seconds
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_irrecoverable has been running for over 60 seconds
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_irrecoverable ... FAILED
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_failed ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::auto stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::auto: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 value INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::auto' (24) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564549 - <testresult::TestError as core::convert::From<T>>::from::h2311c00774a06142
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550b100 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::h56355b6dba689fb5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b5573c0fe - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::{{closure}}::h25ed77b5d79252ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x588b5573ba52 - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::h81cd6184680397fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x588b55741ce9 - tag2upload_service_manager::db_migration::db_migr_test::auto::{{closure}}::{{closure}}::hbe399225fd1e13de
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:314:32
[INFO] [stdout]   24:     0x588b5573fd04 - tag2upload_service_manager::db_migration::db_migr_test::auto::{{closure}}::h864ce029c0fe32f3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:323:16
[INFO] [stdout]   25:     0x588b5573cad6 - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::{{closure}}::hac4641bbf36129b0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   26:     0x588b55632ab6 - test_temp_dir::TestTempDir::used_by::h2439c1d4f8a9493d
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   27:     0x588b5573c85e - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::hf477f904169b65e1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   28:     0x588b5573fb48 - tag2upload_service_manager::db_migration::db_migr_test::auto::hef2c5f10cb97de0c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   29:     0x588b55741857 - tag2upload_service_manager::db_migration::db_migr_test::auto::{{closure}}::hca95b6102f64f079
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   30:     0x588b5563de66 - core::ops::function::FnOnce::call_once::h3e1872bc702e2d52
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   33:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   34:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   36:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   39:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   40:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   41:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   42:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   43:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   44:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   45:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   46:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   47:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   48:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   50:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   51:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   52:     0x793ec9645a64 - clone
[INFO] [stdout]   53:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_column stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_column: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 /CREATE TABLE t1/
[INFO] [stdout]     3             /);/
[INFO] [stdout]     4             -1
[INFO] [stdout]     5             s/$/,/
[INFO] [stdout]     6             a
[INFO] [stdout]     7                 new_col INTEGER NOT NULL
[INFO] [stdout]     8 .
[INFO] [stdout]     9 w
[INFO] [stdout]    10 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_column' (20) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564549 - <testresult::TestError as core::convert::From<T>>::from::h2311c00774a06142
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550b100 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::h56355b6dba689fb5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b5573c0fe - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::{{closure}}::h25ed77b5d79252ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x588b5573ba52 - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::h81cd6184680397fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x588b55739b7f - tag2upload_service_manager::db_migration::db_migr_test::add_column::{{closure}}::hd6a6a0fc98985cd3
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:163:25
[INFO] [stdout]   24:     0x588b5573cc76 - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::{{closure}}::hf316d8a81f8c3674
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x588b55632d66 - test_temp_dir::TestTempDir::used_by::h557791c905b08f19
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x588b5573c7be - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::hb50c04d550697794
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x588b55739788 - tag2upload_service_manager::db_migration::db_migr_test::add_column::hb166fe70b85110d0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x588b557397e7 - tag2upload_service_manager::db_migration::db_migr_test::add_column::{{closure}}::h0e5f0e42f4058edc
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x588b5563c216 - core::ops::function::FnOnce::call_once::h2412c880c59474c5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   49:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   51:     0x793ec9645a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_empty stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_empty: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 value INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_empty' (21) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564549 - <testresult::TestError as core::convert::From<T>>::from::h2311c00774a06142
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550b100 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::h56355b6dba689fb5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b5573c0fe - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::{{closure}}::h25ed77b5d79252ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x588b5573ba52 - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::h81cd6184680397fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x588b5573d54d - tag2upload_service_manager::db_migration::db_migr_test::add_table_empty::{{closure}}::h03c9cc8b7a3e51ca
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:203:25
[INFO] [stdout]   24:     0x588b5573c936 - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::{{closure}}::h3fccb52c1bc2d3fa
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x588b55632f36 - test_temp_dir::TestTempDir::used_by::ha895e0b985ab1329
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x588b5573c76e - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::h7a50a35a5f3f6155
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x588b5573d408 - tag2upload_service_manager::db_migration::db_migr_test::add_table_empty::he2b96c3b157d67e8
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x588b5573d7f7 - tag2upload_service_manager::db_migration::db_migr_test::add_table_empty::{{closure}}::h332698b50bb8fa80
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x588b55644636 - core::ops::function::FnOnce::call_once::h9f6227980873cd82
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   49:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   51:     0x793ec9645a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_nonempty stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_nonempty: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 total_name_len INTEGER NOT NULL
[INFO] [stdout]     5             );
[INFO] [stdout]     6 .
[INFO] [stdout]     7 w
[INFO] [stdout]     8 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_nonempty' (22) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564549 - <testresult::TestError as core::convert::From<T>>::from::h2311c00774a06142
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550b100 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::h56355b6dba689fb5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b5573c0fe - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::{{closure}}::h25ed77b5d79252ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x588b5573ba52 - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::h81cd6184680397fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x588b5573dfad - tag2upload_service_manager::db_migration::db_migr_test::add_table_nonempty::{{closure}}::h735265500f3b13d9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:229:25
[INFO] [stdout]   24:     0x588b5573cba6 - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::{{closure}}::he6e1696e50e88c90
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x588b55633156 - test_temp_dir::TestTempDir::used_by::hee748246f13bc26b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x588b5573c71e - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::h519c22b6a09bdb09
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x588b5573de68 - tag2upload_service_manager::db_migration::db_migr_test::add_table_nonempty::h69da6746a831012e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x588b5573e517 - tag2upload_service_manager::db_migration::db_migr_test::add_table_nonempty::{{closure}}::h8d00a1706acd4218
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x588b5563ad46 - core::ops::function::FnOnce::call_once::h0f6179f2cf830b68
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   49:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   51:     0x793ec9645a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- db_migration::db_migr_test::add_table_partition stdout ----
[INFO] [stdout] test tag2upload_service_manager::db_migration::db_migr_test::add_table_partition: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout]     1 H
[INFO] [stdout]     2 $a
[INFO] [stdout]     3             CREATE TABLE t2 (
[INFO] [stdout]     4                 pk INTEGER PRIMARY KEY AUTOINCREMENT,
[INFO] [stdout]     5                 name TEXT NOT NULL
[INFO] [stdout]     6             );
[INFO] [stdout]     7 .
[INFO] [stdout]     8 w
[INFO] [stdout]     9 q
[INFO] [stdout] 
[INFO] [stdout] thread 'db_migration::db_migr_test::add_table_partition' (23) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: std::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564549 - <testresult::TestError as core::convert::From<T>>::from::h2311c00774a06142
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550b100 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::h56355b6dba689fb5
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b5573c0fe - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::{{closure}}::h25ed77b5d79252ff
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x588b5573ba52 - tag2upload_service_manager::db_migration::db_migr_test::MigrTestCtx::eddery::h81cd6184680397fb
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x588b5573ed3f - tag2upload_service_manager::db_migration::db_migr_test::add_table_partition::{{closure}}::h2eb04cb74585f0b0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:267:25
[INFO] [stdout]   24:     0x588b5573ca06 - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::{{closure}}::h98a8be40da19314f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x588b55632c86 - test_temp_dir::TestTempDir::used_by::h4410c1efb54bcec4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/test-temp-dir-0.6.1/src/lib.rs:270:21
[INFO] [stdout]   26:     0x588b5573c80e - tag2upload_service_manager::db_migration::db_migr_test::run_sync_test::hf18a3dacda8c4f2a
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x588b5573ebb8 - tag2upload_service_manager::db_migration::db_migr_test::add_table_partition::he00e176527b3a35e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x588b5573ec17 - tag2upload_service_manager::db_migration::db_migr_test::add_table_partition::{{closure}}::h0d354dad6199ec8f
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x588b55643c86 - core::ops::function::FnOnce::call_once::h96ca1f6ea75be8a1
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   32:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   33:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   35:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   38:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   39:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   40:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   42:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   44:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   47:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   49:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   50:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   51:     0x793ec9645a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_comprehensive::comprehensive stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_comprehensive::comprehensive: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-04-27T02:09:33.308326Z DEBUG comprehensive: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpEtBHmX/t2usm.db", o2m_socket: "/tmp/.tmpEtBHmX/o2m", scratch_dir: Some("/tmp/.tmpEtBHmX/scratch"), archive_dir: "/tmp/.tmpEtBHmX/archive", template_dir: None, port_report_file: Some("/tmp/.tmpEtBHmX/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -51542194, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-04-27T02:09:33.907387Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-04-27T02:09:33.908226Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-04-27T02:09:33.919657Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-04-27T02:09:33.933289Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-04-27T02:09:33.940818Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.941755Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.942861Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.949582Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.952300Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.954495Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.954893Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.955278Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.955640Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-04-27T02:09:33.956216Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-04-27T02:09:33.963714Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-04-27T02:09:33.964149Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-04-27T02:09:33.967822Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpEtBHmX/o2m"
[INFO] [stdout] 2026-04-27T02:09:33.967865Z TRACE comprehensive: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-04-27T02:09:33.967911Z TRACE comprehensive: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-04-27T02:09:33.967939Z TRACE comprehensive: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-04-27T02:09:33.971496Z TRACE comprehensive: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-04-27T02:09:33.973929Z DEBUG comprehensive: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:53:00.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-04-27T02:09:34.897199Z TRACE comprehensive: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-04-27T02:09:34.897328Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-04-27T02:09:34.897359Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-04-27T02:09:34.897381Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-04-27T02:09:34.897402Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-04-27T02:09:34.897459Z TRACE comprehensive: tag2upload_service_manager::global: writing port file="/tmp/.tmpEtBHmX/port"
[INFO] [stdout] 2026-04-27T02:09:34.897606Z  INFO comprehensive: tag2upload_service_manager::global: running running=Running { port: 39605 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:39605
[INFO] [stdout] 2026-04-27T02:09:34.898264Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:00.898255256Z when=startup
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627181)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627181)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712581)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.074840Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>(re)starting<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:53:01Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627181)))
[INFO] [stdout]     Ok(Owned(Integer(1725627181)))
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.293321Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:53:01Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712581)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.571936Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/\"></a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-04-27T02:09:33Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] 2026-04-27T02:09:35.738256Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=Some(127.0.0.1) err=page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2026-04-27T02:09:35.738345Z DEBUG comprehensive: tag2upload_service_manager::webhook: rejected early: 404 Not Found, page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2026-04-27T02:09:35.738974Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected webhook.tag2upload.debian.org" what="webhook"
[INFO] [stdout] 2026-04-27T02:09:35.870779Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected tag2upload.debian.org" what="toiplevel"
[INFO] [stdout] 2026-04-27T02:09:36.017674Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=ActualClient { addr: 127.0.0.1, names: OnceLock(<uninit>) } raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT *
[INFO] [stdout]                    FROM jobs
[INFO] [stdout]                   WHERE tag_objectid = ? 
[INFO] [stdout]                     AND repo_git_url = ? 
[INFO] [stdout]                     AND status NOT IN (?)
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"))))
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/1.40"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{\"user_id\":193,\"project_id\":36575}"))))
[INFO] [stdout]     Ok(Owned(Text("dgit-test-dummy")))
[INFO] [stdout]     Ok(Owned(Text("1.40")))
[INFO] [stdout]     Ok(Owned(Integer(1725713582)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713582)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job received, tag not yet fetched"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.036798Z  INFO comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched" event= source=dgit-test-dummy, from [127.0.0.1], url=https://salsa.debian.org/dgit-team/dgit-test-dummy.git tag=debian/1.40 objectid=7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12
[INFO] [stdout] 2026-04-27T02:09:36.036889Z DEBUG comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched" event= source=dgit-test-dummy, from [127.0.0.1], url=https://salsa.debian.org/dgit-team/dgit-test-dummy.git tag=debian/1.40 objectid=7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12 raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.039827Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: resp="job received, jid=1"
[INFO] [stdout] 2026-04-27T02:09:36.040637Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: jid=JobId(1)
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] 2026-04-27T02:09:36.040916Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713582 2024-09-07T12:53:02Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(None), tag_data: NoneIsEmpty(None), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "job received, tag not yet fetched", emailed: NotYet, duplicate_of: None, retry_salient_count: 0 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.041784Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] 2026-04-27T02:09:36.042209Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.042449Z TRACE comprehensive: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-04-27T02:09:36.042479Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713582)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.048749Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.049227Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.049280Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.049677Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.049734Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.050113Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.050165Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.050580Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.051159Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=1 now=Noticed info="fetching tag from forge" attempt_info=[Sr]
[INFO] [stdout] 2026-04-27T02:09:36.051310Z  WARN comprehensive: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:36.051346Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:36.051442Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag info jid=1 url=https://salsa.debian.org/api/v4/projects/36575/repository/tags/debian%2F1.40
[INFO] [stdout] 2026-04-27T02:09:36.052554Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-04-27T02:09:36.053314Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-04-27T02:09:36.053499Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-04-27T02:09:36.444659Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpEtBHmX/scratch/fetch,gitlab-2,salsa.debian.org,2/package.git/\n"
[INFO] [stdout] 2026-04-27T02:09:36.444791Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="no-such-scheme:"
[INFO] [stdout] 2026-04-27T02:09:36.444986Z  INFO comprehensive: tag2upload_service_manager::fetcher: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:36.445057Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work ended host=salsa.debian.org jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?, retry_salient_count = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713582)))
[INFO] [stdout]     Ok(Owned(Text("tempfail")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.450349Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (tempfail) jid=1 now=Noticed info="retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("tempfail")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.456265Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.456910Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-04-27T02:09:36.456973Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] 2026-04-27T02:09:36.457004Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713682)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.460199Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] JOB, AFTER FAILED ONCE: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713582 2024-09-07T12:53:02Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713682 2024-09-07T12:54:42Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Noticed,
[INFO] [stdout]         last_update: TimeT(1725713582 2024-09-07T12:53:02Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-04-27T02:09:36.579449Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.579986Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-04-27T02:09:36.580027Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] 2026-04-27T02:09:36.580052Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713682)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.583026Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.583164Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.583658Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-04-27T02:09:36.583700Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] 2026-04-27T02:09:36.583727Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713682 2024-09-07T12:54:42Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713682)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.590523Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712582)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.599302Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:02Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-04-27T02:09:33Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>Noticed</td>\n\t<td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n\t<td></td>\n\t<td>2024-09-07T12:54:42Z</td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.702921Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Noticed</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td>2024-09-07T12:54:42Z</td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] 2026-04-27T02:09:36.703406Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:02.703398223Z when=before advance
[INFO] [stdout] 2026-04-27T02:09:36.703490Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:43.703488263Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.704226Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.706719Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713682), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.707162Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-04-27T02:09:36.707223Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] 2026-04-27T02:09:36.707250Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713702)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.710850Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.710986Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.711474Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.711875Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-04-27T02:09:36.711950Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] 2026-04-27T02:09:36.711975Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713702)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.719485Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.719820Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.720444Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.720906Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-04-27T02:09:36.720970Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] 2026-04-27T02:09:36.721001Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713702 2024-09-07T12:55:02Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713702)))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.724736Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712683)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.814767Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:02Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>-</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-04-27T02:09:33Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>Noticed</td>\n\t<td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n\t<td></td>\n\t<td>2024-09-07T12:55:02Z</td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.907171Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Noticed</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td>2024-09-07T12:55:02Z</td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] JOB, AFTER FAILED TWICE: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713582 2024-09-07T12:53:02Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713702 2024-09-07T12:55:02Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         None,
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Noticed,
[INFO] [stdout]         last_update: TimeT(1725713582 2024-09-07T12:53:02Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-04-27T02:09:36.907744Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:43.907738992Z when=before advance
[INFO] [stdout] 2026-04-27T02:09:36.907809Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:03.907807762Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.908627Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.909032Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:36.909411Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-04-27T02:09:36.909491Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: None, is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713703)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.916306Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.917040Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.917132Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.917556Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713703), "retry_earliest": (Integer, 1725713702), "retry_salient_count": (Integer, 1), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.918273Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=1 now=Noticed info="fetching tag from forge" attempt_info=[r]
[INFO] [stdout] 2026-04-27T02:09:36.918476Z  WARN comprehensive: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:36.918515Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:36.918608Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag info jid=1 url=https://salsa.debian.org/api/v4/projects/36575/repository/tags/debian%2F1.40
[INFO] [stdout] 2026-04-27T02:09:36.919480Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-04-27T02:09:36.920261Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-04-27T02:09:36.920478Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-04-27T02:09:36.927602Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpEtBHmX/scratch/fetch,gitlab-2,salsa.debian.org,2/package.git/\n"
[INFO] [stdout] 2026-04-27T02:09:36.927733Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="file:///tmp/.tmpEtBHmX/dgit-test-dummy.git"
[INFO] [stdout] 2026-04-27T02:09:36.927830Z DEBUG comprehensive: tag2upload_service_manager::http_client: handling url file:///tmp/.tmpEtBHmX/dgit-test-dummy.git via file "/tmp/.tmpEtBHmX/dgit-test-dummy.git"
[INFO] [stdout] 2026-04-27T02:09:36.927920Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpEtBHmX/dgit-test-dummy.git", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.208701Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ls-remote succeeded jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpEtBHmX/dgit-test-dummy.git", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\trefs/tags/debian/1.40\n"
[INFO] [stdout] 2026-04-27T02:09:37.208847Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpEtBHmX/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.481761Z TRACE comprehensive: tag2upload_service_manager::gitclone: git fetch succeeded jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpEtBHmX/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"] stdout=""
[INFO] [stdout] 2026-04-27T02:09:37.482000Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["rev-parse", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.510805Z TRACE comprehensive: tag2upload_service_manager::gitclone: git rev-parse succeeded jid=1 args=["rev-parse", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\n"
[INFO] [stdout] 2026-04-27T02:09:37.510957Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.650268Z TRACE comprehensive: tag2upload_service_manager::gitclone: git cat-file -t succeeded jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"] stdout="tag\n"
[INFO] [stdout] 2026-04-27T02:09:37.650386Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.653523Z TRACE comprehensive: tag2upload_service_manager::gitclone: git cat-file tag succeeded jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"] stdout="object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"
[INFO] [stdout] 2026-04-27T02:09:37.653662Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["for-each-ref", "--format=%(taggername)%00%(taggeremail:mailmap,trim)%00%(taggerdate:raw)", "[r]efs/tags/debian/1.40"]
[INFO] [stdout] 2026-04-27T02:09:37.657199Z TRACE comprehensive: tag2upload_service_manager::gitclone: git for-each-ref ...taggerdate... succeeded jid=1 args=["for-each-ref", "--format=%(taggername)%00%(taggeremail:mailmap,trim)%00%(taggerdate:raw)", "[r]efs/tags/debian/1.40"] stdout="Ian Jackson\0ijackson@chiark.greenend.org.uk\01725709192 +0100\n"
[INFO] [stdout] 2026-04-27T02:09:37.657316Z DEBUG comprehensive: tag2upload_service_manager::fetcher: fetched tag OK host=salsa.debian.org jid=1
[INFO] [stdout] 2026-04-27T02:09:37.657349Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work ended host=salsa.debian.org jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET retry_earliest = ?, report_email = ?, tag_data = ?, status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>")))
[INFO] [stdout]     Ok(Owned(Text("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713704)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tag fetched, ready to process"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                             SELECT histent
[INFO] [stdout]                               FROM job_history
[INFO] [stdout]                           ORDER BY histent DESC
[INFO] [stdout]                              LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 5)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.665244Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (fetch) jid=1 now=Queued info="tag fetched, ready to process"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.674896Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.677299Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT * FROM jobs
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] JOB, AFTER FETCH: JobRow {
[INFO] [stdout]     jid: JobId(
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     data: JobData {
[INFO] [stdout]         repo_git_url: RepoGitUrl(
[INFO] [stdout]             "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]         ),
[INFO] [stdout]         tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]         tag_name: TagName(
[INFO] [stdout]             "debian/1.40",
[INFO] [stdout]         ),
[INFO] [stdout]         forge_host: "salsa.debian.org",
[INFO] [stdout]         forge_namever: Namever {
[INFO] [stdout]             kind_name: "gitlab",
[INFO] [stdout]             data_version: 2,
[INFO] [stdout]         },
[INFO] [stdout]         forge_data: "{\"user_id\":193,\"project_id\":36575}",
[INFO] [stdout]         tag_meta: Parsed {
[INFO] [stdout]             source: "dgit-test-dummy",
[INFO] [stdout]             version: "1.40",
[INFO] [stdout]         },
[INFO] [stdout]     },
[INFO] [stdout]     received: TimeT(1725713582 2024-09-07T12:53:02Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(0 1970-01-01T00:00:00Z),
[INFO] [stdout]     ),
[INFO] [stdout]     report_email: NoneIsEmpty(
[INFO] [stdout]         Some(
[INFO] [stdout]             EmailAddress {
[INFO] [stdout]                 inner: EmailAddress {
[INFO] [stdout]                     name: Some(
[INFO] [stdout]                         "Ian Jackson",
[INFO] [stdout]                     ),
[INFO] [stdout]                     email: "ijackson@chiark.greenend.org.uk",
[INFO] [stdout]                 },
[INFO] [stdout]                 string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>",
[INFO] [stdout]             },
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     tag_data: NoneIsEmpty(
[INFO] [stdout]         Some(
[INFO] [stdout]             "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]         ),
[INFO] [stdout]     ),
[INFO] [stdout]     s: JobState {
[INFO] [stdout]         status: Queued,
[INFO] [stdout]         last_update: TimeT(1725713704 2024-09-07T12:55:04Z),
[INFO] [stdout]         processing: NoneIsEmpty(
[INFO] [stdout]             None,
[INFO] [stdout]         ),
[INFO] [stdout]         received_via: SpaceSeparated(
[INFO] [stdout]             [
[INFO] [stdout]                 Webhook,
[INFO] [stdout]             ],
[INFO] [stdout]         ),
[INFO] [stdout]         info: "tag fetched, ready to process",
[INFO] [stdout]         emailed: NotYet,
[INFO] [stdout]         duplicate_of: None,
[INFO] [stdout]         retry_salient_count: 1,
[INFO] [stdout]     },
[INFO] [stdout] }
[INFO] [stdout] 2026-04-27T02:09:37.967098Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.967817Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:37.967928Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.968367Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627304)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712704)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:37.975711Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:04Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE     status IN (?,?,?)
[INFO] [stdout]           ORDER BY  jid ASC 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.084541Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/queue" => "<html>\n  <head><title>tag2upload build queue</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <b>queue</b> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload build queue</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "queue.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.172669Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT *
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                   ORDER BY retry_earliest ASC,
[INFO] [stdout]                            retry_count ASC,
[INFO] [stdout]                            repo_project_id ASC
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND true
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("poll")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE received_via = ? 
[INFO] [stdout]                            AND status != ? 
[INFO] [stdout]                       ORDER BY received ASC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.262107Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/forges" => "<html>\n  <head><title>tag2upload forges</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <b>forges</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload forges</h1>\n\n      \n      <h2>salsa.debian.org</h2>\n\n      <dl>\n        <dt>Kind</dt>\n        <dd>gitlab</dd>\n        <dt>Status</dt>\n          \n          <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n      </dl>\n\n      <h3>Job retry control information</h3>\n\n      <table rules=\"all\">\n        <tr>\n          <th>Last job success</th>\n          <td>2024-09-07T12:55:03Z</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n        <tr>\n          <th>Last falure job</th>\n          <td>\n            \n            <a href=\"/job/1\">1</a>\n          </td>\n        </tr>\n      </table>\n\n          <h3>Poll (missed webhook scraper) status</h3>\n\n      <dl>\n        <dt>Project updates discovered upto</dt>\n        <dd>-</dd>\n        <dt>Last polling activity at</dt>\n        <dd>2026-04-27T02:09:33Z</dd>\n        <dt>Last polling report</dt>\n        <dd>\n          \n            ok:\n          \n          making progress\n        </dd>\n        <td>\n          <dt>Queue length</dt>\n          <dd>0</dd>\n        </td>\n      </dl>\n\n    <h3>Jobs found only via poll - possible lost webhook events</h3>\n\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Jobs found only via webhook - possible scraper trouble</h3>\n\n    \n      <p>\n        These jobs have been received by a webhook event,\n        but not (yet) found by scanning the gitlab API.\n        Jobs are supposed to by found both ways, eventually,\n        but the scraper lags, perhaps by many minutes,\n        since it must poll.\n      <p>\n    \n    \n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <h3>Queue - repositories that need to be scanned for tags</h3>\n\n     <p>\n     Repositories are scanned multiple timpes,\n     after we see an update, to cope with\n     <a href=\"https://gitlab.com/gitlab-org/gitlab/-/issues/581897\">strange\n     behaviour by Gitlab</a>.\n     <p>\n\n    <table rules=\"all\">\n      <tr>\n\t<th>\"last activity\" (mendacious)</th>\n\t<th>(re)scan aftner</th>\n\t<th>success count</th>\n\t<th>retry count</th>\n\t<th>project id</th>\n\t<th>url</th>\n\t<th>last scan (attempt)</th>\n\t<th>last outcome</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  Queue is empty.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "forges.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE  TRUE 
[INFO] [stdout]           ORDER BY  last_update DESC 
[INFO] [stdout]         
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.357352Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/all-jobs" => "<html>\n  <head><title>tag2upload all jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <b>all jobs</b> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload all jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:04Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <p>\n    Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "all-jobs.html"
[INFO] [stdout] 2026-04-27T02:09:38.357993Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-04-27T02:09:38.358276Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#1
[INFO] [stdout] 2026-04-27T02:09:38.358321Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 > t2u-manager-ready
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.457506Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>1</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.458435Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:38.458739Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < t2u-oracle-version 6
[INFO] [stdout] 2026-04-27T02:09:38.458810Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < worker-id testing.example.org testing
[INFO] [stdout] 2026-04-27T02:09:38.458885Z TRACE comprehensive: tag2upload_service_manager::o2m_support: testing.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.546123Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.546943Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:38.547172Z TRACE comprehensive: tag2upload_service_manager::o2m_support: testing.example.org < ack
[INFO] [stdout] 2026-04-27T02:09:38.547278Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2026-04-27T02:09:38.547387Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: for fidelity=testing
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE TRUE
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (jid IN ())
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.547739Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:38.659676Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: OK, testing worker got no job
[INFO] [stdout] 2026-04-27T02:09:38.659982Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: ended conn=testing.example.org error=oracle disconnected
[INFO] [stdout] 2026-04-27T02:09:38.660142Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-04-27T02:09:38.660283Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#2
[INFO] [stdout] 2026-04-27T02:09:38.660322Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 > t2u-manager-ready
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.750321Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>2</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.751201Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:38.751435Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < t2u-oracle-version 6
[INFO] [stdout] 2026-04-27T02:09:38.751507Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < worker-id worker.example.org production
[INFO] [stdout] 2026-04-27T02:09:38.751581Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.841267Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>down<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.842231Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:38.842525Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < ack
[INFO] [stdout] 2026-04-27T02:09:38.842636Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] build: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE TRUE
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] 2026-04-27T02:09:38.843048Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713704), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent ASC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = 'tempfail'
[INFO] [stdout]                       ORDER BY histent DESC
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout] 2026-04-27T02:09:38.843536Z TRACE comprehensive: tag2upload_service_manager::retry: job-specific calculation first_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } } previous_attempt=JobHistoryRow { histent: HistEntId(3), jid: JobId(1), s: JobState { status: Noticed, last_update: TimeT(1725713582 2024-09-07T12:53:02Z), processing: NoneIsEmpty(Some("tempfail")), received_via: SpaceSeparated([Webhook]), info: "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } }
[INFO] [stdout] 2026-04-27T02:09:38.843619Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713705)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("selected for build [worker.example.org]"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.852987Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] found (build) jid=1 now=Queued info="selected for build [worker.example.org]" attempt_info=[Sr]
[INFO] [stdout] 2026-04-27T02:09:38.853139Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627305)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Queued"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712705)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.940597Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    1 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:05Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Selected</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Queued</td>\n\t  <td>selected for build [worker.example.org]</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Queued"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.941405Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:38.941665Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < ack
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713705)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("building [worker.example.org]"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:38.950114Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] updated (build) jid=1 now=Building info="building [worker.example.org]"
[INFO] [stdout] 2026-04-27T02:09:38.950262Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > job 1 not-last-attempt dgit-test-dummy https://salsa.debian.org/dgit-team/dgit-test-dummy.git
[INFO] [stdout] 2026-04-27T02:09:38.950306Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org >...
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Building"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(5)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713703)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712706)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.038677Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    1 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:06Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Gathering</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Building</td>\n\t  <td>building [worker.example.org]</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] 2026-04-27T02:09:39.039126Z DEBUG comprehensive: tag2upload_service_manager::test::t_test_ctx: n_ayts=2 "job 1 not-last-attempt dgit-test-dummy https://salsa.debian.org/dgit-team/dgit-test-dummy.git"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.039777Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713582 2024-09-07T12:53:02Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Building, last_update: TimeT(1725713705 2024-09-07T12:55:05Z), processing: NoneIsEmpty(Some("build")), received_via: SpaceSeparated([Webhook]), info: "building [worker.example.org]", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] 2026-04-27T02:09:39.039899Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: l=811
[INFO] [stdout] 2026-04-27T02:09:39.040160Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < commit-to-public-upload
[INFO] [stdout] 2026-04-27T02:09:39.040254Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > go-ahead
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713705), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Building"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.041007Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713582 2024-09-07T12:53:02Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Building, last_update: TimeT(1725713705 2024-09-07T12:55:05Z), processing: NoneIsEmpty(Some("build")), received_via: SpaceSeparated([Webhook]), info: "building [worker.example.org]", emailed: NotYet, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] 2026-04-27T02:09:39.041148Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < message Tested OK!
[INFO] [stdout] 2026-04-27T02:09:39.041204Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < email reported
[INFO] [stdout] 2026-04-27T02:09:39.041238Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < uploaded
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET retry_earliest = ?, status = ?, last_update = ?, processing = ?, info = ?, emailed = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713706)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("uploaded [worker.example.org]: Tested OK!"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sent"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                             SELECT histent
[INFO] [stdout]                               FROM job_history
[INFO] [stdout]                           ORDER BY histent DESC
[INFO] [stdout]                              LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     bsql_query_01 row {"histent": (Integer, 9)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, "build"), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.047904Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] updated (build) jid=1 now=Uploaded info="uploaded [worker.example.org]: Tested OK!"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("build")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Uploaded")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713706)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.053599Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] 2026-04-27T02:09:39.053775Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.054372Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.054919Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.055336Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:39.055403Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.055850Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout]     bsql_qeury_n_call row {"status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "count": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(9)))
[INFO] [stdout]     bsql_query_01 row {"last_update": (Integer, 1725713705)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1725712706)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.144934Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:55:06Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>testing.example.org</td>\n\t  <td>6</td>\n\t  <td>testing</td>\n\t  <td>2024-09-07T12:55:05Z</td>\n\t  <td>Disconnected</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:06Z</td>\n\t  <td>Idle</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Uploaded</td>\n\t  <td>uploaded [worker.example.org]: Tested OK!</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                  
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout]     Ok(Owned(Integer(1725627306)))
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.232944Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:06Z</td>\n\t<td>Uploaded</td>\n\t<td>uploaded [worker.example.org]: Tested OK!</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:55:06Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "recent.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.233689Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] 2026-04-27T02:09:39.233980Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713582 2024-09-07T12:53:02Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Uploaded, last_update: TimeT(1725713706 2024-09-07T12:55:06Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "uploaded [worker.example.org]: Tested OK!", emailed: Sent, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 1), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "job received, tag not yet fetched")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 2), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 0), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 3), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "tempfail"), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 4), "jid": (Integer, 1), "last_update": (Integer, 1725713582), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 5), "jid": (Integer, 1), "last_update": (Integer, 1725713703), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Noticed"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 6), "jid": (Integer, 1), "last_update": (Integer, 1725713704), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 7), "jid": (Integer, 1), "last_update": (Integer, 1725713704), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, ""), "info": (Text, "tag fetched, ready to process")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 8), "jid": (Integer, 1), "last_update": (Integer, 1725713705), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Queued"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "selected for build [worker.example.org]")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 9), "jid": (Integer, 1), "last_update": (Integer, 1725713705), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "status": (Text, "Building"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "building [worker.example.org]")}
[INFO] [stdout]     bsql_qeury_n_call row {"histent": (Integer, 10), "jid": (Integer, 1), "last_update": (Integer, 1725713706), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "status": (Text, "Uploaded"), "retry_salient_count": (Integer, 1), "duplicate_of": (Null, ()), "processing": (Text, "build"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.322862Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/job/1" => "<html>\n  <head><title>tag2upload job 1</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload job 1</h1>\n\n    <h2>Details</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>job</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>received</th>\n          <td>2024-09-07T12:53:02Z</td>\n        </tr>\n\t<tr>\n          <th>received via</th>\n          <td>webhook</td>\n        </tr>\n\t<tr>\n          <th>source</th>\n          <td>dgit-test-dummy</td>\n        </tr>\n\t<tr>\n          <th>version</th>\n          <td>1.40</td>\n        </tr>\n\t<tr>\n          <th>url</th>\n          <td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n        </tr>\n\t<tr>\n          <th>forge host</th>\n          <td>salsa.debian.org</td>\n        </tr>\n\t<tr>\n          <th>tag name</th>\n          <td>debian&#x2F;1.40</td>\n        </tr>\n\t<tr>\n          <th>tag objectid</th>\n          <td>7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12</td>\n        </tr>\n      </table>\n\n    <h2>Current state</h2>\n\n      <table rules=\"all\">\n\t<tr>\n          <th>last_update</th>\n          <td>2024-09-07T12:55:06Z</td>\n        </tr>\n\t<tr>\n          <th>status</th>\n          <td>Uploaded</td>\n        </tr>\n\t<tr>\n          <th>info</th>\n          <td>uploaded [worker.example.org]: Tested OK!</td>\n        </tr>\n\t<tr>\n          <th>processing</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>email report?</th>\n          <td>Sent</td>\n        </tr>\n\t<tr>\n          <th>no. of salient retries</th>\n          <td>1</td>\n        </tr>\n\t<tr>\n          <th>will retry at (not before)</th>\n          <td></td>\n        </tr>\n\t<tr>\n          <th>dupe of</th>\n          <td></td>\n        </tr>\n      </table>\n\n      <h2>History</h2>\n\n      <table rules=\"all\">\n        <tr>\n          <th>timestamp</th>\n          <th>status</th>\n          <th>info</th>\n          <th>received via</th>\n          <th>processing</th>\n          <th>email</th>\n          <th>dupe of</th>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>job received, tag not yet fetched</td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td>retriable error: tag fetch failed: problem at forge: http fetch: send: builder error for url (no-such-scheme:): URL scheme is not allowed</td>\n          <td>webhook</td>\n          <td>tempfail</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:53:02Z</td>\n          <td>Noticed</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:03Z</td>\n          <td>Noticed</td>\n          <td>fetching tag from forge</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:04Z</td>\n          <td>Queued</td>\n          <td>tag fetched, ready to process</td>\n          <td>webhook</td>\n          <td>fetch</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:04Z</td>\n          <td>Queued</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:05Z</td>\n          <td>Queued</td>\n          <td>selected for build [worker.example.org]</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:05Z</td>\n          <td>Building</td>\n          <td>building [worker.example.org]</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td></td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:06Z</td>\n          <td>Uploaded</td>\n          <td>uploaded [worker.example.org]: Tested OK!</td>\n          <td>webhook</td>\n          <td>build</td>\n          <td>Sent</td>\n          <td></td>\n        </tr>\n      <tr>\n          <td>2024-09-07T12:55:06Z</td>\n          <td>Uploaded</td>\n          <td> &quot;  &quot; </td>\n          <td>webhook</td>\n          <td></td>\n          <td>Sent</td>\n          <td></td>\n        </tr>\n      \n      </table>\n\n      <p>\n      (Certain older history entries are not shown.)\n\n      \n      <h2>Tag object</h2>\n          <pre>object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian&#x2F;1.40\ntagger Ian Jackson &lt;ijackson@chiark.greenend.org.uk&gt; 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf&#x2F;Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n&#x2F;mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy&#x2F;sZnUd&#x2F;1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp&#x2F;2OkxT3iYmFjTrobOJTlmg3WRGCwqzA&#x2F;aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n\n</pre>\n      \n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "job.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]         INSERT INTO jobs VALUES (
[INFO] [stdout]             NULL, -- jid
[INFO] [stdout]             'url with < funny stuff',
[INFO] [stdout]             ? ,
[INFO] [stdout]             'ef134a489497286e73c7c975d8ad434e804366a9', -- s. checked on q.
[INFO] [stdout]             'host.example.net', -- syntax checked on query
[INFO] [stdout]             'noforge-3',
[INFO] [stdout]             'forge data not json',
[INFO] [stdout]             'source-package', -- syntax checked on query
[INFO] [stdout]             '1.2.3', -- version, syntax checked on query
[INFO] [stdout]             1342761775, -- received
[INFO] [stdout]             1442761775, -- last update
[INFO] [stdout]             0, -- retry_earliest
[INFO] [stdout]             0, -- retry_salient_count
[INFO] [stdout]             '', -- report_email
[INFO] [stdout]             ? , -- tag_data
[INFO] [stdout]             'Irrecoverable',
[INFO] [stdout]             NULL, -- duplicate_of
[INFO] [stdout]             'processing < badly',
[INFO] [stdout]             'webhook webhook', -- received_via
[INFO] [stdout]             'NotYet', -- emailed
[INFO] [stdout]             'info < is < wrong'
[INFO] [stdout]         )
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("not-for-us/1 < 2"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tag something\n\nbad data < in < body\n"))))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]              WHERE  TRUE 
[INFO] [stdout]           ORDER BY  last_update DESC 
[INFO] [stdout]         
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.418493Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/all-jobs" => "<html>\n  <head><title>tag2upload all jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <b>all jobs</b> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload all jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>retry at</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/1\">1</a></td>\n\t<td>2024-09-07T12:53:02Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:55:06Z</td>\n\t<td>Uploaded</td>\n\t<td>uploaded [worker.example.org]: Tested OK!</td>\n\t<td></td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n      <tr>\n\t<td><a href=\"/job/2\">2</a></td>\n\t<td>2012-07-20T05:22:55Z</td>\n\t<td>source-package</td>\n\t<td>1.2.3</td>\n\t<td>url with &lt; funny stuff</td>\n\t<td>2015-09-20T15:09:35Z</td>\n\t<td>Irrecoverable</td>\n\t<td>info &lt; is &lt; wrong</td>\n\t<td>processing &lt; badly</td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <p>\n    Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "all-jobs.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *, (
[INFO] [stdout]                       SELECT count(*)
[INFO] [stdout]                         FROM jobs j_dupe
[INFO] [stdout]                        WHERE j_dupe.jid = jobs.duplicate_of
[INFO] [stdout]                     )
[INFO] [stdout]                     AS duplicate_of_found
[INFO] [stdout]                   FROM jobs WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong"), "duplicate_of_found": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                          FROM job_history
[INFO] [stdout]                         WHERE jid = ? 
[INFO] [stdout]                      ORDER BY histent ASC
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "url with < funny stuff"), "tag_name": (Text, "not-for-us/1 < 2"), "tag_objectid": (Text, "ef134a489497286e73c7c975d8ad434e804366a9"), "forge_host": (Text, "host.example.net"), "forge_namever": (Text, "noforge-3"), "forge_data": (Text, "forge data not json"), "source": (Text, "source-package"), "version": (Text, "1.2.3"), "received": (Integer, 1342761775), "last_update": (Integer, 1442761775), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "tag something\n\nbad data < in < body\n"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, "processing < badly"), "received_via": (Text, "webhook webhook"), "emailed": (Text, "NotYet"), "info": (Text, "info < is < wrong")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] {"history":[{"duplicate_of":null,"emailed":"","info":"info < is < wrong","last_update":"2015-09-20T15:09:35Z","processing":"processing < badly","received_via":"webhook webhook","retry_salient_count":0,"status":"Irrecoverable"}],"j":{"duplicate_of":null,"duplicate_of_found":false,"emailed":"","forge_host":"host.example.net","forge_namever":"noforge-3","info":"info < is < wrong","jid":2,"last_update":"2015-09-20T15:09:35Z","processing":"processing < badly","received":"2012-07-20T05:22:55Z","received_via":"webhook webhook","repo_git_url":"url with < funny stuff","retry_earliest":null,"retry_salient_count":0,"source":"source-package","status":"Irrecoverable","tag_name":"not-for-us/1 < 2","tag_objectid":"ef134a489497286e73c7c975d8ad434e804366a9","version":"1.2.3"},"t2usm_version":"debug","tag_object":"tag something\n\nbad data < in < body\n"}
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM jobs WHERE tag_name = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("not-for-us/1 < 2"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.600868Z DEBUG comprehensive: tag2upload_service_manager::ui_routes: from 127.0.0.1: error 404: path="/no-such-page"
[INFO] [stdout] 2026-04-27T02:09:39.602679Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/no-such-page" => "<html>\n  <head><title>404 Not Found</title></head>\n  <body>\n    <strong>404 Not Found</strong>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "error.html"
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1725713706)))
[INFO] [stdout]     Ok(Owned(Integer(1722948906)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1722948906)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.609993Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-08-06T12:55:06Z
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] 2026-04-27T02:09:39.610335Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: RepoGitUrl("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: TagName("debian/1.40"), forge_host: "salsa.debian.org", forge_namever: Namever { kind_name: "gitlab", data_version: 2 }, forge_data: "{\"user_id\":193,\"project_id\":36575}", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713582 2024-09-07T12:53:02Z), retry_earliest: TreatZeroAsNone(TimeT(0 1970-01-01T00:00:00Z)), report_email: NoneIsEmpty(Some(EmailAddress { inner: EmailAddress { name: Some("Ian Jackson"), email: "ijackson@chiark.greenend.org.uk" }, string: "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>" })), tag_data: NoneIsEmpty(Some("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")), s: JobState { status: Uploaded, last_update: TimeT(1725713706 2024-09-07T12:55:06Z), processing: NoneIsEmpty(None), received_via: SpaceSeparated([Webhook]), info: "uploaded [worker.example.org]: Tested OK!", emailed: Sent, duplicate_of: None, retry_salient_count: 1 } })
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.610626Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:06.610619988Z when=before advance
[INFO] [stdout] 2026-04-27T02:09:39.610675Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-10-09T13:11:46.610673998Z when=after advance
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1728479506)))
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout] bsql text: DELETE FROM job_history WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 10
[INFO] [stdout] bsql text: DELETE FROM jobs WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                              UPDATE stats_by_shown_status_expired
[INFO] [stdout]                                 SET n_jobs = n_jobs + ? 
[INFO] [stdout]                               WHERE shown_status = ? 
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.618883Z  INFO comprehensive: tag2upload_service_manager::expire: expired n_expired=1 oldest_to_keep=2024-09-07T13:11:46Z archive="expired-2024-10-09T13:11:46Z.dump.txt"
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout] 2026-04-27T02:09:39.619034Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=None
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]             DELETE FROM last_expiry
[INFO] [stdout]         
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]             INSERT INTO last_expiry (run,threshold) VALUES (?,?)
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1728479506)))
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text:  SELECT * FROM jobs
[INFO] [stdout]                           WHERE last_update < ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1725714706)))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.715802Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-09-07T13:11:46Z
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN (?,?,?)
[INFO] [stdout]                        AND last_update < ? 
[INFO] [stdout]                 
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1728393106)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >= ? 
[INFO] [stdout]                 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1728393106)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout]     bsql_query_01 row {"run": (Integer, 1728479506), "threshold": (Integer, 1725714706)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT last_update
[INFO] [stdout]                       FROM job_history
[INFO] [stdout]                      WHERE histent = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(9)))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT scanned_upto
[INFO] [stdout]                       FROM gitlab_poll_hosts
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT count(*)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]                        AND retry_earliest < ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Integer(1728478506)))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT coalesce(sum(retry_count), 0)
[INFO] [stdout]                       FROM gitlab_poll_repo_queue
[INFO] [stdout]                      WHERE forge_host = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     bsql_query_01 row {"coalesce(sum(retry_count), 0)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.720078Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=/forges><b>forges</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>degraded<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    1 up\n\t  </dd>\n          \n            <dt>salsa.debian.org</dt>\n            <dd>\n  \n    trouble\n    <ul>\n      \n        <li>job failure at 2024-09-07T12:53:02Z; job 1</li>\n      \n        <li>forge scan not running</li>\n      \n    </ul>\n  \n</dd>\n\n          \n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-10-08T13:11:46Z.\n      Jobs last touched before 2024-09-07T13:11:46Z\nhave been archived.\n\n      Last archival run was 2024-10-09T13:11:46Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>worker.example.org</td>\n\t  <td>6</td>\n\t  <td>production</td>\n\t  <td>2024-09-07T12:55:06Z</td>\n\t  <td>Idle</td>\n\t  <td>dgit-test-dummy</td>\n\t  <td>1.40</td>\n\t  <td>Uploaded</td>\n\t  <td>uploaded [worker.example.org]: Tested OK!</td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] GOT "toplevel.html"
[INFO] [stdout] 2026-04-27T02:09:39.720624Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="sqlite3" "-batch" "/tmp/.tmpEtBHmX/expired-reload.db"
[INFO] [stdout] bsql text: SELECT * FROM jobs
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "tag_name": (Text, "debian/1.40"), "tag_objectid": (Text, "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{\"user_id\":193,\"project_id\":36575}"), "source": (Text, "dgit-test-dummy"), "version": (Text, "1.40"), "received": (Integer, 1725713582), "last_update": (Integer, 1725713706), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 1), "report_email": (Text, "\"Ian Jackson\" <ijackson@chiark.greenend.org.uk>"), "tag_data": (Text, "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"), "status": (Text, "Uploaded"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sent"), "info": (Text, "uploaded [worker.example.org]: Tested OK!")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:39.848739Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-04-27T02:09:39.848894Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="weblint" "--context" "--" "/tmp/.tmpEtBHmX/rendered/toplevel-0.html" "/tmp/.tmpEtBHmX/rendered/toplevel-1.html" "/tmp/.tmpEtBHmX/rendered/toplevel-2.html" "/tmp/.tmpEtBHmX/rendered/toplevel-3.html" "/tmp/.tmpEtBHmX/rendered/toplevel-4.html" "/tmp/.tmpEtBHmX/rendered/toplevel-5.html" "/tmp/.tmpEtBHmX/rendered/toplevel-6.html" "/tmp/.tmpEtBHmX/rendered/toplevel-7.html" "/tmp/.tmpEtBHmX/rendered/toplevel-8.html" "/tmp/.tmpEtBHmX/rendered/toplevel-9.html" "/tmp/.tmpEtBHmX/rendered/job-0.html" "/tmp/.tmpEtBHmX/rendered/job-1.html" "/tmp/.tmpEtBHmX/rendered/job-2.html" "/tmp/.tmpEtBHmX/rendered/all-jobs-0.html" "/tmp/.tmpEtBHmX/rendered/all-jobs-1.html" "/tmp/.tmpEtBHmX/rendered/error-0.html" "/tmp/.tmpEtBHmX/rendered/queue-0.html" "/tmp/.tmpEtBHmX/rendered/forges-0.html" "/tmp/.tmpEtBHmX/rendered/forges-1.html" "/tmp/.tmpEtBHmX/rendered/forges-2.html" "/tmp/.tmpEtBHmX/rendered/forges-3.html" "/tmp/.tmpEtBHmX/rendered/recent-0.html" "/tmp/.tmpEtBHmX/rendered/recent-1.html" "/tmp/.tmpEtBHmX/rendered/recent-2.html"
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (51) panicked at src/test/t_tera.rs:157:18:
[INFO] [stdout] error: anyhow::Error - run: No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b55564a35 - <testresult::TestError as core::convert::From<T>>::from::h597d3afc3420e27c
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/testresult-0.4.1/src/lib.rs:24:9
[INFO] [stdout]   20:     0x588b5550f183 - <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual::hc4915c1d62b99bc3
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/result.rs:2189:27
[INFO] [stdout]   21:     0x588b55a9e8c9 - tag2upload_service_manager::test::t_tera::t_run_weblint::he8f8ca4a9ab11ea0
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_tera.rs:157:18
[INFO] [stdout]   22:     0x588b55756160 - tag2upload_service_manager::test::t_comprehensive::comprehensive::{{closure}}::{{closure}}::h5809ae11f8727dd9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_comprehensive.rs:332:5
[INFO] [stdout]   23:     0x588b555aedfb - tag2upload_service_manager::test::t_wrapper::run_async_test::{{closure}}::ha2b5ac9d0ad932e9
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:63:17
[INFO] [stdout]   24:     0x588b556a400d - <core::pin::Pin<P> as core::future::future::Future>::poll::h867d40b7230479b9
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x588b55324948 - tokio::runtime::task::core::Core<T,S>::poll::{{closure}}::h18f2c89edd0de6ea
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:374:24
[INFO] [stdout]   26:     0x588b55318cad - tokio::loom::std::unsafe_cell::UnsafeCell<T>::with_mut::h93874dd1abe0593e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/loom/std/unsafe_cell.rs:16:9
[INFO] [stdout]   27:     0x588b55318cad - tokio::runtime::task::core::Core<T,S>::poll::h420a4cd6a8a4a1a5
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/core.rs:363:30
[INFO] [stdout]   28:     0x588b551ef1ca - tokio::runtime::task::harness::poll_future::{{closure}}::h450068bb5ef77219
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:535:30
[INFO] [stdout]   29:     0x588b55470c10 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h9c5947f7c290bd48
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x588b55b0058e - std::panicking::catch_unwind::do_call::hf5cbf082da365a3e
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   31:     0x588b5529e68b - __rust_try
[INFO] [stdout]   32:     0x588b55286ea3 - std::panicking::catch_unwind::hedbf6118413d8d01
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x588b55286ea3 - std::panic::catch_unwind::h91a04d62fb154316
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x588b551caecf - tokio::runtime::task::harness::poll_future::h10a42205b4022466
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:523:18
[INFO] [stdout]   35:     0x588b55208cb2 - tokio::runtime::task::harness::Harness<T,S>::poll_inner::haca764e731d8a266
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:210:27
[INFO] [stdout]   36:     0x588b55230243 - tokio::runtime::task::harness::Harness<T,S>::poll::h0827ceafc74cceb0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/harness.rs:155:20
[INFO] [stdout]   37:     0x588b5583302b - tokio::runtime::task::raw::poll::h8e250d0ab5fb9b19
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:337:13
[INFO] [stdout]   38:     0x588b56ce5fc7 - tokio::runtime::task::raw::RawTask::poll::hb1f50368a70ffa59
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/raw.rs:267:18
[INFO] [stdout]   39:     0x588b568894b2 - tokio::runtime::task::LocalNotified<S>::run::h63a38573615b1de1
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/task/mod.rs:515:13
[INFO] [stdout]   40:     0x588b555ff57b - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::{{closure}}::h0066b4bb069dea65
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:800:30
[INFO] [stdout]   41:     0x588b555fb155 - tokio::task::coop::with_budget::h93cca95f1e666646
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:167:5
[INFO] [stdout]   42:     0x588b555fb155 - tokio::task::coop::budget::h913f9b2cae740958
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/task/coop/mod.rs:133:5
[INFO] [stdout]   43:     0x588b555fb155 - tokio::runtime::scheduler::current_thread::Context::run_task::{{closure}}::he62e9a1811038c7e
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:368:43
[INFO] [stdout]   44:     0x588b555f9456 - tokio::runtime::scheduler::current_thread::Context::enter::h2882e32b1bd017e4
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:442:19
[INFO] [stdout]   45:     0x588b555fabbc - tokio::runtime::scheduler::current_thread::Context::run_task::hf235ec242b4e5209
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:368:28
[INFO] [stdout]   46:     0x588b555fd210 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::{{closure}}::h620502d133b3dde2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:796:43
[INFO] [stdout]   47:     0x588b555fc3db - tokio::runtime::scheduler::current_thread::CoreGuard::enter::{{closure}}::hbb809d746e5db1b2
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:68
[INFO] [stdout]   48:     0x588b55b2be9a - tokio::runtime::context::scoped::Scoped<T>::set::habfad196664f8427
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   49:     0x588b55b29bfa - tokio::runtime::context::set_scheduler::{{closure}}::h9a6dbc1464f596bd
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:38
[INFO] [stdout]   50:     0x588b557fc5f2 - std::thread::local::LocalKey<T>::try_with::h27c93cfb81441470
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/local.rs:462:12
[INFO] [stdout]   51:     0x588b557fb51c - std::thread::local::LocalKey<T>::with::hfa413e5d37b43851
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/local.rs:426:20
[INFO] [stdout]   52:     0x588b55b29ae1 - tokio::runtime::context::set_scheduler::hf6b15d798a310d13
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context.rs:176:17
[INFO] [stdout]   53:     0x588b555fb82e - tokio::runtime::scheduler::current_thread::CoreGuard::enter::h165709bb49ac82e0
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:840:27
[INFO] [stdout]   54:     0x588b555fc553 - tokio::runtime::scheduler::current_thread::CoreGuard::block_on::h70ca89d594c371d6
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:740:24
[INFO] [stdout]   55:     0x588b555e6c52 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::{{closure}}::hc979b0d78a48c8ee
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   56:     0x588b5569c13a - tokio::runtime::context::runtime::enter_runtime::hbe98c8c10b7b9fca
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   57:     0x588b555e5bf8 - tokio::runtime::scheduler::current_thread::CurrentThread::block_on::h0efbcfbabfcd4d9b
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   58:     0x588b556fdc01 - tokio::runtime::runtime::Runtime::block_on_inner::h5059a42cde3af359
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:368:52
[INFO] [stdout]   59:     0x588b557053bc - tokio::runtime::runtime::Runtime::block_on::hbd9d856a5b65692f
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.49.0/src/runtime/runtime.rs:342:18
[INFO] [stdout]   60:     0x588b555a397a - tag2upload_service_manager::test::t_wrapper::run_async_test::h01a66e75a074d0a4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:80:27
[INFO] [stdout]   61:     0x588b5574cd77 - tag2upload_service_manager::test::t_comprehensive::comprehensive::hc2c7fdfdca58fc0b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   62:     0x588b5574cdd7 - tag2upload_service_manager::test::t_comprehensive::comprehensive::{{closure}}::h2a7ef485d8622b9e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   63:     0x588b556454f6 - core::ops::function::FnOnce::call_once::ha924c031789e1cbf
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   66:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   67:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   68:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   69:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   70:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   71:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   72:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   73:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   74:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   75:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   76:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   77:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   78:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   79:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   80:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   81:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   82:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   83:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   84:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   85:     0x793ec9645a64 - clone
[INFO] [stdout]   86:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (51) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Panic(Id(1), "error: anyhow::Error - run: No such file or directory (os error 2)", ...) task 1 panicked with message "error: anyhow::Error - run: No such file or directory (os error 2)"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b555a3afa - tag2upload_service_manager::test::t_wrapper::run_async_test::h01a66e75a074d0a4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x588b5574cd77 - tag2upload_service_manager::test::t_comprehensive::comprehensive::hc2c7fdfdca58fc0b
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x588b5574cdd7 - tag2upload_service_manager::test::t_comprehensive::comprehensive::{{closure}}::h2a7ef485d8622b9e
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x588b556454f6 - core::ops::function::FnOnce::call_once::ha924c031789e1cbf
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   42:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   44:     0x793ec9645a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_jcoalesce::pause_fetch_irrecoverable stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_jcoalesce::pause_fetch_irrecoverable: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-04-27T02:09:33.344850Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpKNGiXV/t2usm.db", o2m_socket: "/tmp/.tmpKNGiXV/o2m", scratch_dir: Some("/tmp/.tmpKNGiXV/scratch"), archive_dir: "/tmp/.tmpKNGiXV/archive", template_dir: None, port_report_file: Some("/tmp/.tmpKNGiXV/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -51542194, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-04-27T02:09:33.961061Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-04-27T02:09:33.961563Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-04-27T02:09:33.967940Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-04-27T02:09:33.968637Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-04-27T02:09:33.982141Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.983062Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.988037Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-04-27T02:09:33.999700Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.005592Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.008853Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.009233Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.009729Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.010070Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-04-27T02:09:34.011464Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-04-27T02:09:34.021331Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-04-27T02:09:34.021808Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-04-27T02:09:34.028022Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpKNGiXV/o2m"
[INFO] [stdout] 2026-04-27T02:09:34.028060Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-04-27T02:09:34.028095Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-04-27T02:09:34.028115Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-04-27T02:09:34.030389Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-04-27T02:09:34.033360Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:53:00.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-04-27T02:09:34.909853Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-04-27T02:09:34.909921Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-04-27T02:09:34.909962Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-04-27T02:09:34.909991Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-04-27T02:09:34.910879Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-04-27T02:09:34.910913Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: writing port file="/tmp/.tmpKNGiXV/port"
[INFO] [stdout] 2026-04-27T02:09:34.916792Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::global: running running=Running { port: 41359 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:41359
[INFO] [stdout] 2026-04-27T02:09:34.917266Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:00.917261212Z when=startup
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("file:///dev/enoent/dummy-repo/other-forge"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-other"))))
[INFO] [stdout]     Ok(Owned(Text("other-job-forge-host")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("dummy tag data for other job")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (other)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Irrecoverable")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.970316Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::test::t_jcoalesce: inserted jid=1 what=other tag_objectid=1234567800000000000000000000000000000000 repo_git_url=file:///dev/enoent/dummy-repo/other-forge
[INFO] [stdout] 2026-04-27T02:09:34.970479Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.971292Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.971354Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.984239Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.984313Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.984780Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.984835Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.985246Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     UPDATE jobs
[INFO] [stdout]                        SET emailed = ?
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.013662Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-04-27T02:09:35.022190Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.022770Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.022831Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.023248Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.023322Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.024842Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.024918Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.025334Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.580830Z  WARN pause_fetch_irrecoverable: tag2upload_service_manager::email: error sending email jid=1 new_es=Failed add_info="sendmail: exit status: 127: -: 9: dos2unix: not found\n"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET emailed = ?,
[INFO] [stdout]                        info = info || ? 
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("; error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.588927Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.589368Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.589489Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.589900Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.589970Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.590354Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("salsa.debian.org"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-new"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713581)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713581)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (new)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "status": (Text, "Irrecoverable")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, info = ?, duplicate_of = ?
[INFO] [stdout]                  WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                    AND status IN (?,?)
[INFO] [stdout]              RETURNING jobs.jid AS updated_jid,
[INFO] [stdout]                        status,
[INFO] [stdout]                        duplicate_of
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713581)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(""))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_qeury_n_call row {"updated_jid": (Integer, 2), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-04-27T02:09:36.021107Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: tag already processed, deduplicating jid=2 now=Irrecoverable duplicate_of=1
[INFO] [stdout] 2026-04-27T02:09:36.021157Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::test::t_jcoalesce: inserted jid=2 what=new tag_objectid=1234567800000000000000000000000000000000 repo_git_url=salsa.debian.org
[INFO] [stdout] 2026-04-27T02:09:36.021243Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-04-27T02:09:36.023564Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.023640Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-04-27T02:09:36.024048Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.024119Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 2026-04-27T02:09:36.024526Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid = ? 
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT emailed FROM jobs WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"emailed": (Text, "Failed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Irrecoverable"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Irrecoverable"), "duplicate_of": (Integer, 1), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 1)}
[INFO] [stdout] 
[INFO] [stdout] ** test timeout! aborting! **
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_jcoalesce::pause_fetch_irrecoverable' (55) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(5)) task 5 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b555a656b - tag2upload_service_manager::test::t_wrapper::run_async_test::h8549e77ae694bbe4
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x588b555a2eb7 - tag2upload_service_manager::test::t_jcoalesce::pause_fetch_irrecoverable::h03931c21545beb26
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x588b555a3187 - tag2upload_service_manager::test::t_jcoalesce::pause_fetch_irrecoverable::{{closure}}::h78ddc65871bdcfd1
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x588b5563d4f6 - core::ops::function::FnOnce::call_once::h32eae8e0f959f6e2
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   42:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   44:     0x793ec9645a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_jcoalesce::pause_fetch_failed stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_jcoalesce::pause_fetch_failed: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2026-04-27T02:09:33.302596Z DEBUG pause_fetch_failed: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_query: HtDuration(100s), git_clone: HtDuration(500s), send_email: HtDuration(40s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpao9pQ8/t2usm.db", o2m_socket: "/tmp/.tmpao9pQ8/o2m", scratch_dir: Some("/tmp/.tmpao9pQ8/scratch"), archive_dir: "/tmp/.tmpao9pQ8/archive", template_dir: None, port_report_file: Some("/tmp/.tmpao9pQ8/port"), self_git_dir: None }, email: Email { sendmail_program: "/opt/rustwide/workdir/btest/sendmail-mock", from_addr: EmailAddress { inner: EmailAddress { name: None, email: "from@example.org" }, string: "<from@example.org>" }, reply_to_addr: EmailAddress { inner: EmailAddress { name: None, email: "reply-to@example.org" }, string: "<reply-to@example.org>" }, copies_addr: EmailAddress { inner: EmailAddress { name: None, email: "copies@example.org" }, string: "<copies@example.org>" } }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { exit_hup_pgrp: true, time_offset: -51542194, fake_https_dir: None, allowed_source_packages: None }, retry: Retry { min_retries: 15, min_salient_retries: 10, timeout_initial: HtDuration(100s), timeout_increase: 1.2, timeout_mintotal: HtDuration(43200s) }, gitlab: Gitlab { poll_max_queue: 50, rate_limit: HtDuration(3s), webhook_hope_delay: HtDuration(500s), lag_ok: HtDuration(1000s), poll_repo_until: HtDuration(4000s), poll_repo_count: 3 }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 }, gitlab_poll_repo_interval: 2000, forges: [PreparedForge { config: Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], secret_token_file: None, max_concurrent_fetch: 3 }, kind: Kind, host_global: Any { .. } }] }
[INFO] [stdout] 2026-04-27T02:09:33.964617Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-04-27T02:09:33.965090Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-04-27T02:09:33.981523Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-04-27T02:09:33.981962Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-04-27T02:09:34.007900Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.016807Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.018034Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.049225Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.052222Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.061684Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.064121Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.064575Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-04-27T02:09:34.064999Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-04-27T02:09:34.072019Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-04-27T02:09:34.091359Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-04-27T02:09:34.091845Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-04-27T02:09:34.112466Z DEBUG pause_fetch_failed: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpao9pQ8/o2m"
[INFO] [stdout] 2026-04-27T02:09:34.112506Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-04-27T02:09:34.112535Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-04-27T02:09:34.112556Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-04-27T02:09:34.115739Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-04-27T02:09:34.123145Z DEBUG pause_fetch_failed: tag2upload_service_manager::utils: schema setup| initialising schema in empty database
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES (? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?,
[INFO] [stdout]                        info = ?  || info || ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] bsql text: 
[INFO] [stdout]         DELETE FROM gitlab_poll_hosts
[INFO] [stdout]               WHERE scanned_upto < ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Text("2024-09-04T12:53:00.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-04-27T02:09:34.908744Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-04-27T02:09:34.909146Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-04-27T02:09:34.909191Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-04-27T02:09:34.909226Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-04-27T02:09:34.909253Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-04-27T02:09:34.909273Z TRACE pause_fetch_failed: tag2upload_service_manager::global: writing port file="/tmp/.tmpao9pQ8/port"
[INFO] [stdout] 2026-04-27T02:09:34.910182Z  INFO pause_fetch_failed: tag2upload_service_manager::global: running running=Running { port: 41901 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:41901
[INFO] [stdout] 2026-04-27T02:09:34.911938Z TRACE pause_fetch_failed: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:00.911932723Z when=startup
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("file:///dev/enoent/dummy-repo/other-forge"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-other"))))
[INFO] [stdout]     Ok(Owned(Text("other-job-forge-host")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("dummy tag data for other job")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (other)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.969160Z DEBUG pause_fetch_failed: tag2upload_service_manager::test::t_jcoalesce: inserted jid=1 what=other tag_objectid=1234567800000000000000000000000000000000 repo_git_url=file:///dev/enoent/dummy-repo/other-forge
[INFO] [stdout] 2026-04-27T02:09:34.969282Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.970172Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.970289Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.979676Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.979736Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.980127Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.980180Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.980565Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.980624Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.980983Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:34.981052Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:34.981450Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     UPDATE jobs
[INFO] [stdout]                        SET emailed = ?
[INFO] [stdout]                      WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.014524Z TRACE pause_fetch_failed: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-04-27T02:09:35.022587Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.024377Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.024475Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.029793Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.029887Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Sending"), "info": (Text, "job inserted by hand in test case (other)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.030341Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.578755Z  WARN pause_fetch_failed: tag2upload_service_manager::email: error sending email jid=1 new_es=Failed add_info="sendmail: exit status: 127: -: 9: dos2unix: not found\n"
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET emailed = ?,
[INFO] [stdout]                        info = info || ? 
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("; error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.585088Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.585582Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.585657Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.592624Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:35.592715Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:35.593259Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,retry_earliest,report_email,tag_data,status,last_update,processing,received_via,info,emailed,duplicate_of,retry_salient_count) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("salsa.debian.org"))))
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/irrelevant-new"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("{ \"project_id\": 36575, \"user_id\": 193 }"))))
[INFO] [stdout]     Ok(Owned(Text("unused")))
[INFO] [stdout]     Ok(Owned(Text("0.version")))
[INFO] [stdout]     Ok(Owned(Integer(1725713581)))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713581)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Text("webhook")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job inserted by hand in test case (new)"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Owned(Integer(0)))
[INFO] [stdout]     bsql_insert rowid 2
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.018866Z DEBUG pause_fetch_failed: tag2upload_service_manager::test::t_jcoalesce: inserted jid=2 what=new tag_objectid=1234567800000000000000000000000000000000 repo_git_url=salsa.debian.org
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 SELECT *
[INFO] [stdout]                   FROM jobs
[INFO] [stdout]                  WHERE emailed IN (?,?)
[INFO] [stdout]                    AND status IN (?,?,?)
[INFO] [stdout]                    AND duplicate_of IS NULL
[INFO] [stdout]               ORDER BY jid ASC
[INFO] [stdout]                  LIMIT 1
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotYet"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Sending"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.019520Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] 2026-04-27T02:09:36.020027Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: retry calculation... jid=2
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT *
[INFO] [stdout]                           FROM jobs
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     bsql_query_01 row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713581), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "job inserted by hand in test case (new)")}
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT count(*)
[INFO] [stdout]                           FROM job_history
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tempfail"))))
[INFO] [stdout]     bsql_query_01 row {"count(*)": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.020260Z TRACE pause_fetch_failed: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-04-27T02:09:36.020293Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: retry calculated jid=2 retry=Attempt(AttemptInfo { is_salient: Some(IsSalient), is_final: Ok(()) })
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET status = ?, last_update = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid = ? 
[INFO] [stdout]                    AND status = ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Integer(1725713582)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.043956Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.045222Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.045298Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host = ? 
[INFO] [stdout]                AND forge_namever = ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN (?,?,?)
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status = ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY retry_earliest ASC,
[INFO] [stdout]                                jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-2")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 2026-04-27T02:09:36.045871Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-04-27T02:09:36.045976Z  INFO pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=2 now=Noticed info="fetching tag from forge" attempt_info=[Sr]
[INFO] [stdout] 2026-04-27T02:09:36.046158Z  WARN pause_fetch_failed: tag2upload_service_manager::gitlab: unable to obtain email address: salsa.debian.org: no secret token configured host=salsa.debian.org jid=2
[INFO] [stdout] 2026-04-27T02:09:36.046203Z TRACE pause_fetch_failed: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=2
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT emailed FROM jobs WHERE jid = ? 
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {"emailed": (Text, "Failed")}
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, "fetch"), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 
[INFO] [stdout] ** test timeout! aborting! **
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_jcoalesce::pause_fetch_failed' (54) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(2)) task 2 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x588b56dca16a - std[128c3efe2914e152]::backtrace_rs::backtrace::trace_unsynchronized::<std[128c3efe2914e152]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x588b56dca16a - std[128c3efe2914e152]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x588b56dca16a - <<std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6771d259883166e6]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x588b56de6a9a - <core[6771d259883166e6]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x588b56de6a9a - core[6771d259883166e6]::fmt::write
[INFO] [stdout]    6:     0x588b56dd1652 - std[128c3efe2914e152]::io::default_write_fmt::<alloc[fef50e8eecedd288]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:621:11
[INFO] [stdout]    7:     0x588b56dd1652 - <alloc[fef50e8eecedd288]::vec::Vec<u8> as std[128c3efe2914e152]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/io/mod.rs:1976:13
[INFO] [stdout]    8:     0x588b56da44ef - <std[128c3efe2914e152]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x588b56da44ef - std[128c3efe2914e152]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x588b56dc0409 - std[128c3efe2914e152]::panicking::default_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x588b55bf84bc - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   12:     0x588b55bf84bc - test[b137923399915ecf]::test_main_with_exit_callback::<test[b137923399915ecf]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x588b56dc0682 - <alloc[fef50e8eecedd288]::boxed::Box<dyn for<'a, 'b> core[6771d259883166e6]::ops::function::Fn<(&'a std[128c3efe2914e152]::panic::PanicHookInfo<'b>,), Output = ()> + core[6771d259883166e6]::marker::Sync + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::Fn<(&std[128c3efe2914e152]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2263:9
[INFO] [stdout]   14:     0x588b56dc0682 - std[128c3efe2914e152]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x588b56da45a8 - std[128c3efe2914e152]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x588b56d98e89 - std[128c3efe2914e152]::sys::backtrace::__rust_end_short_backtrace::<std[128c3efe2914e152]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x588b56da562d - __rustc[752cc74e29381ccc]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x588b56de730c - core[6771d259883166e6]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x588b555a84db - tag2upload_service_manager::test::t_wrapper::run_async_test::ha3da532e2ef0a867
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x588b5559dc07 - tag2upload_service_manager::test::t_jcoalesce::pause_fetch_failed::h3455ed5443aa7c46
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x588b5559df07 - tag2upload_service_manager::test::t_jcoalesce::pause_fetch_failed::{{closure}}::h9f67535f37030775
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x588b5563b036 - core::ops::function::FnOnce::call_once::h11fb616f6f1c78f6
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x588b55bec5bb - <fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x588b55bec5bb - test[b137923399915ecf]::__rust_begin_short_backtrace::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, fn() -> core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:663:18
[INFO] [stdout]   25:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:74
[INFO] [stdout]   26:     0x588b55bf8f8b - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   28:     0x588b55bf8f8b - std[128c3efe2914e152]::panicking::catch_unwind::<core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>, core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x588b55bf8f8b - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<test[b137923399915ecf]::run_test_in_process::{closure#0}>, core[6771d259883166e6]::result::Result<(), alloc[fef50e8eecedd288]::string::String>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x588b55bf8f8b - test[b137923399915ecf]::run_test_in_process
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:686:27
[INFO] [stdout]   31:     0x588b55bf8f8b - test[b137923399915ecf]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:607:43
[INFO] [stdout]   32:     0x588b55bf33e4 - test[b137923399915ecf]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/test/src/lib.rs:637:41
[INFO] [stdout]   33:     0x588b55bf33e4 - std[128c3efe2914e152]::sys::backtrace::__rust_begin_short_backtrace::<test[b137923399915ecf]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   35:     0x588b55bfbb92 - <core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::do_call::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:581:40
[INFO] [stdout]   37:     0x588b55bfbb92 - std[128c3efe2914e152]::panicking::catch_unwind::<(), core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x588b55bfbb92 - std[128c3efe2914e152]::panic::catch_unwind::<core[6771d259883166e6]::panic::unwind_safe::AssertUnwindSafe<std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x588b55bfbb92 - std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked::<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   40:     0x588b55bfbb92 - <std[128c3efe2914e152]::thread::lifecycle::spawn_unchecked<test[b137923399915ecf]::run_test::{closure#1}, ()>::{closure#1} as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x588b56dc8e2f - <alloc[fef50e8eecedd288]::boxed::Box<dyn core[6771d259883166e6]::ops::function::FnOnce<(), Output = ()> + core[6771d259883166e6]::marker::Send> as core[6771d259883166e6]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/alloc/src/boxed.rs:2249:9
[INFO] [stdout]   42:     0x588b56dc8e2f - <std[128c3efe2914e152]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/8489f1adbe1c8f8921cf18b9962cf565237a5489/library/std/src/sys/thread/unix.rs:118:17
[INFO] [stdout]   43:     0x793ec95b8aa4 - <unknown>
[INFO] [stdout]   44:     0x793ec9645a64 - clone
[INFO] [stdout]   45:                0x0 - <unknown>
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid = ? 
[INFO] [stdout]                            AND processing = ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] bsql text: 
[INFO] [stdout]              SELECT jid, status
[INFO] [stdout]                FROM jobs
[INFO] [stdout]               WHERE 
[INFO] [stdout]                 tag_objectid = ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid = ?  )
[INFO] [stdout]     
[INFO] [stdout]                 AND status IN (?,?)
[INFO] [stdout]            ORDER BY jid ASC
[INFO] [stdout]               LIMIT 1
[INFO] [stdout]        
[INFO] [stdout]     Ok(Owned(Text("1234567800000000000000000000000000000000")))
[INFO] [stdout]     Ok(Owned(Integer(2)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 1), "repo_git_url": (Text, "file:///dev/enoent/dummy-repo/other-forge"), "tag_name": (Text, "debian/irrelevant-other"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "other-job-forge-host"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, "dummy tag data for other job"), "status": (Text, "Failed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "Failed"), "info": (Text, "job inserted by hand in test case (other); error queuing email email: sendmail: exit status: 127: -: 9: dos2unix: not found\n")}
[INFO] [stdout]     bsql_qeury_n_call row {"jid": (Integer, 2), "repo_git_url": (Text, "salsa.debian.org"), "tag_name": (Text, "debian/irrelevant-new"), "tag_objectid": (Text, "1234567800000000000000000000000000000000"), "forge_host": (Text, "salsa.debian.org"), "forge_namever": (Text, "gitlab-2"), "forge_data": (Text, "{ \"project_id\": 36575, \"user_id\": 193 }"), "source": (Text, "unused"), "version": (Text, "0.version"), "received": (Integer, 1725713581), "last_update": (Integer, 1725713582), "retry_earliest": (Integer, 0), "retry_salient_count": (Integer, 0), "report_email": (Text, ""), "tag_data": (Text, ""), "status": (Text, "Noticed"), "duplicate_of": (Null, ()), "processing": (Text, ""), "received_via": (Text, "webhook"), "emailed": (Text, "NotYet"), "info": (Text, "fetching tag from forge")}
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Noticed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Queued"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Building"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "NotForUs"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Failed"), "n_jobs": (Integer, 1)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Irrecoverable"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Uploaded"), "n_jobs": (Integer, 0)}
[INFO] [stdout]     bsql_qeury_n_call row {"shown_status": (Text, "Duplicate"), "n_jobs": (Integer, 0)}
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     db_migration::db_migr_test::add_column
[INFO] [stdout]     db_migration::db_migr_test::add_table_empty
[INFO] [stdout]     db_migration::db_migr_test::add_table_nonempty
[INFO] [stdout]     db_migration::db_migr_test::add_table_partition
[INFO] [stdout]     db_migration::db_migr_test::auto
[INFO] [stdout]     test::t_comprehensive::comprehensive
[INFO] [stdout]     test::t_jcoalesce::pause_fetch_failed
[INFO] [stdout]     test::t_jcoalesce::pause_fetch_irrecoverable
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 41 passed; 8 failed; 0 ignored; 0 measured; 0 filtered out; finished in 61.13s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] running `Command { std: "docker" "inspect" "f6ac52d236c402c7fd023a4cfd7136f0e9174cca6bbbe99358810c46153bc0a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6ac52d236c402c7fd023a4cfd7136f0e9174cca6bbbe99358810c46153bc0a1", kill_on_drop: false }`
[INFO] [stdout] f6ac52d236c402c7fd023a4cfd7136f0e9174cca6bbbe99358810c46153bc0a1
