[INFO] fetching crate tag2upload-service-manager 0.2.0...
[INFO] testing tag2upload-service-manager-0.2.0 against 1.98.0-beta.1 for beta-1.98-1
[INFO] extracting crate tag2upload-service-manager 0.2.0 into /workspace/builds/worker-2-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-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tag2upload-service-manager 0.2.0 on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5
[INFO] running `Command { std: "docker" "start" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling unicode-ident v1.0.22
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling memchr v2.7.6
[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 futures-core v0.3.31
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.7
[INFO] [stderr]    Compiling siphasher v1.0.1
[INFO] [stderr]    Compiling cc v1.2.52
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling typenum v1.19.0
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling time-core v0.1.6
[INFO] [stderr]    Compiling num-conv v0.1.0
[INFO] [stderr]    Compiling deranged v0.5.5
[INFO] [stderr]    Compiling time-macros v0.2.24
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling foreign-types-shared v0.1.1
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling zmij v1.0.12
[INFO] [stderr]    Compiling time v0.3.44
[INFO] [stderr]    Compiling foreign-types v0.3.2
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling toml_parser v1.0.6+spec-1.1.0
[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 tokio v1.49.0
[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 zerofrom v0.1.6
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling toml_edit v0.23.10+spec-1.0.0
[INFO] [stderr]    Compiling pest v2.8.5
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling digest v0.10.7
[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 itertools v0.14.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling anyhow v1.0.100
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling derive-deftly-macros v1.6.0
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling libm v0.2.15
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling pest_meta v2.8.5
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling proc-macro-crate v3.4.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling linkme-impl v0.3.35
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling pest_generator v2.8.5
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[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 hashlink v0.11.0
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling iri-string v0.7.10
[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 tagptr v0.2.0
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling moka v0.12.12
[INFO] [stderr]    Compiling rustls-pki-types v1.13.2
[INFO] [stderr]    Compiling derive-deftly v1.6.0
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling fs_at v0.2.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling pest_derive v2.8.5
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling ubyte v0.10.4
[INFO] [stderr]    Compiling hashify v0.2.7
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling normpath v1.5.0
[INFO] [stderr]    Compiling atomic v0.5.3
[INFO] [stderr]    Compiling easy-ext v1.0.2
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling remove_dir_all v1.0.0
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling mail-parser v0.11.1
[INFO] [stderr]    Compiling mini-sqlite-dump v0.1.2
[INFO] [stderr]    Compiling tracing-test v0.2.5
[INFO] [stderr]    Compiling tera v1.20.1
[INFO] [stderr]    Compiling reqwest v0.13.1
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling parse_link_header v0.4.0
[INFO] [stderr]    Compiling tracing-logrotate v0.1.2
[INFO] [stderr]    Compiling sd-notify v0.4.5
[INFO] [stderr]    Compiling inventory v0.3.21
[INFO] [stderr]    Compiling mail-builder v0.4.4
[INFO] [stderr]    Compiling maybe-owned v0.3.4
[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 5m 43s
[INFO] running `Command { std: "docker" "inspect" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[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 derive_more-impl v2.1.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling num-bigint v0.4.6
[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 derive_more v2.1.1
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.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 chrono-tz v0.9.0
[INFO] [stderr]    Compiling lazy-regex v3.5.1
[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 2m 06s
[INFO] running `Command { std: "docker" "inspect" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", 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.77s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tag2upload_service_manager-0b5e184ae032bdf4)
[INFO] [stdout] 
[INFO] [stdout] running 49 tests
[INFO] [stdout] test config::timeouts_defaults ... ok
[INFO] [stdout] test db_support::all_tables_strict ... ok
[INFO] [stdout] test db_support::build_schema_string ... ok
[INFO] [stdout] test db_support::migration_data_facially_ok ... ok
[INFO] [stdout] test dns::chk_allowed_client ... ok
[INFO] [stdout] test email::address::email_name_parse ... ok
[INFO] [stdout] test email::address::email_name_parse_control ... ok
[INFO] [stdout] test email::address::none_is_empty_email_address ... ok
[INFO] [stdout] test fmt_cmp::test ... ok
[INFO] [stdout] test gitlab::forge_namevers ... 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 bsql::bsql_transaction::bsql_test::deadlock_1 ... ok
[INFO] [stdout] test db_migration::db_migr_test::add_table_nonempty ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_table_partition ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_column ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::auto ... FAILED
[INFO] [stdout] test db_migration::db_migr_test::add_table_empty ... FAILED
[INFO] [stdout] test bsql::bsql_transaction::bsql_test::deadlock_many ... ok
[INFO] [stdout] test test::t_jcoalesce::not_simultaneous ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_noticed ... ok
[INFO] [stdout] test test::t_comprehensive::comprehensive ... FAILED
[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_misc::with_let_compiles ... ok
[INFO] [stdout] test test::t_misc::pages_json ... ok
[INFO] [stdout] test test::t_misc::release_job_map ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_queued ... ok
[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 test::t_jcoalesce::pause_fetch_uploaded ... ok
[INFO] [stdout] test test::t_poll::basic ... ok
[INFO] [stdout] test test::t_poll::perfect ... ok
[INFO] [stdout] test test::t_poll::repoll ... ok
[INFO] [stdout] test test::t_poll::equivalence ... ok
[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::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' (4750) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: core::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01663ee9 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<core[6883ba1bc0fe4ed1]::io::error::Error>>::from
[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:     0x5cbf015da3a0 - <core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::string::String, testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, core[6883ba1bc0fe4ed1]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf0146e02e - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5cbf01481c22 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5cbf01473854 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:229:25
[INFO] [stdout]   24:     0x5cbf01453726 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5cbf014a98d6 - <test_temp_dir[1bb68f729e8ef956]::TestTempDir>::used_by::<(), tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}>
[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:     0x5cbf0142d6fe - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#1}, anyhow[846c3077b27d75c7]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5cbf01493238 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5cbf01472297 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5cbf014082f6 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_nonempty::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   35:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   44:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   49:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   50:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   51:     0x750c70849a64 - 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' (4751) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: core::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01663ee9 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<core[6883ba1bc0fe4ed1]::io::error::Error>>::from
[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:     0x5cbf015da3a0 - <core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::string::String, testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, core[6883ba1bc0fe4ed1]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf0146e02e - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5cbf01481c22 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5cbf01474116 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:267:25
[INFO] [stdout]   24:     0x5cbf014537f6 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5cbf014a99b6 - <test_temp_dir[1bb68f729e8ef956]::TestTempDir>::used_by::<(), tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}>
[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:     0x5cbf0142d74e - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#1}, anyhow[846c3077b27d75c7]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5cbf01493668 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5cbf014722c7 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5cbf01408336 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_partition::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   35:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   44:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   49:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   50:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   51:     0x750c70849a64 - clone
[INFO] [stdout]   52:                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' (4748) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: core::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01663ee9 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<core[6883ba1bc0fe4ed1]::io::error::Error>>::from
[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:     0x5cbf015da3a0 - <core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::string::String, testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, core[6883ba1bc0fe4ed1]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf0146e02e - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5cbf01481c22 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5cbf01472686 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:163:25
[INFO] [stdout]   24:     0x5cbf01453586 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5cbf014a9716 - <test_temp_dir[1bb68f729e8ef956]::TestTempDir>::used_by::<(), tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}>
[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:     0x5cbf0142d65e - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#1}, anyhow[846c3077b27d75c7]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5cbf014929d8 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5cbf01472237 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5cbf01408276 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_column::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   35:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   44:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   49:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   50:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   51:     0x750c70849a64 - clone
[INFO] [stdout]   52:                0x0 - <unknown>
[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' (4752) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: core::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01663ee9 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<core[6883ba1bc0fe4ed1]::io::error::Error>>::from
[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:     0x5cbf015da3a0 - <core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::string::String, testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, core[6883ba1bc0fe4ed1]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf0146e02e - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5cbf01481c22 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5cbf01464639 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#1}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:314:32
[INFO] [stdout]   24:     0x5cbf01474b2b - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:323:16
[INFO] [stdout]   25:     0x5cbf014538c6 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   26:     0x5cbf014a9a96 - <test_temp_dir[1bb68f729e8ef956]::TestTempDir>::used_by::<(), tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}>
[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:     0x5cbf0142d79e - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#1}, anyhow[846c3077b27d75c7]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   28:     0x5cbf01493a98 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   29:     0x5cbf014722f7 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   30:     0x5cbf01408376 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::auto::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   32:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   33:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   34:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   35:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   36:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   37:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   38:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   39:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   40:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   41:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   42:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   43:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   44:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   45:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   46:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   47:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   48:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   49:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   50:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   51:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   52:     0x750c70849a64 - clone
[INFO] [stdout]   53:                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' (4749) panicked at src/db_migration/db_migr_test.rs:92:22:
[INFO] [stdout] error: core::io::error::Error - No such file or directory (os error 2)
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01663ee9 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<core[6883ba1bc0fe4ed1]::io::error::Error>>::from
[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:     0x5cbf015da3a0 - <core[6883ba1bc0fe4ed1]::result::Result<alloc[55a36b64bcbf2c0d]::string::String, testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, core[6883ba1bc0fe4ed1]::io::error::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf0146e02e - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:92:22
[INFO] [stdout]   22:     0x5cbf01481c22 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::MigrTestCtx>::eddery
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:87:9
[INFO] [stdout]   23:     0x5cbf01473254 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#1}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:203:25
[INFO] [stdout]   24:     0x5cbf01453656 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:28:9
[INFO] [stdout]   25:     0x5cbf014a97f6 - <test_temp_dir[1bb68f729e8ef956]::TestTempDir>::used_by::<(), tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[846c3077b27d75c7]::Error>::{closure#0}>
[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:     0x5cbf0142d6ae - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::run_sync_test::<tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#1}, anyhow[846c3077b27d75c7]::Error>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:26:14
[INFO] [stdout]   27:     0x5cbf01492e08 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:15:9
[INFO] [stdout]   28:     0x5cbf01472267 - tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/db_migration/db_migr_test.rs:14:15
[INFO] [stdout]   29:     0x5cbf014082b6 - <tag2upload_service_manager[2432bb48cf351ffe]::db_migration::db_migr_test::add_table_empty::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   30:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   31:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   32:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   33:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   34:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   35:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   36:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   38:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   39:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   40:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   41:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   42:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   43:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   44:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   45:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   46:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   47:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   48:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   49:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   50:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   51:     0x750c70849a64 - 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-07-11T12:11:23.745600Z 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/.tmpoe1EUc/t2usm.db", o2m_socket: "/tmp/.tmpoe1EUc/o2m", scratch_dir: Some("/tmp/.tmpoe1EUc/scratch"), archive_dir: "/tmp/.tmpoe1EUc/archive", template_dir: None, port_report_file: Some("/tmp/.tmpoe1EUc/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: -58058305, 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-07-11T12:11:23.932610Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.933963Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.934890Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.940665Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.941082Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.941465Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.941748Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.942508Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-07-11T12:11:23.944952Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-07-11T12:11:23.945395Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-07-11T12:11:23.948112Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-07-11T12:11:23.948510Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-07-11T12:11:23.955378Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-07-11T12:11:23.955984Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-07-11T12:11:23.961598Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-07-11T12:11:23.962053Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-07-11T12:11:23.966068Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpoe1EUc/o2m"
[INFO] [stdout] 2026-07-11T12:11:23.966118Z TRACE comprehensive: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-07-11T12:11:23.966170Z TRACE comprehensive: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-07-11T12:11:23.966204Z TRACE comprehensive: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-07-11T12:11:23.972745Z TRACE comprehensive: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-07-11T12:11:23.991160Z 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(1725713579)))
[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:52:59.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-07-11T12:11:24.040627Z TRACE comprehensive: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-07-11T12:11:24.040755Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-07-11T12:11:24.040794Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-07-11T12:11:24.040821Z TRACE comprehensive: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-07-11T12:11:24.040843Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-07-11T12:11:24.040873Z TRACE comprehensive: tag2upload_service_manager::global: writing port file="/tmp/.tmpoe1EUc/port"
[INFO] [stdout] 2026-07-11T12:11:24.041025Z  INFO comprehensive: tag2upload_service_manager::global: running running=Running { port: 35507 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:35507
[INFO] [stdout] 2026-07-11T12:11:24.041688Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:59.041678796Z 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(1725627179)))
[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(1725627179)))
[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(1725712579)))
[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-07-11T12:11:24.378394Z 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:52:59Z.\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(1725627179)))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[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-07-11T12:11:24.498299Z 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:52:59Z.\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] GET /forges:
[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(1725712579)))
[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-07-11T12:11:24.896674Z 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-07-11T12:11:23Z</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-07-11T12:11:25.008745Z 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-07-11T12:11:25.008829Z 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-07-11T12:11:25.009425Z 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-07-11T12:11:25.075855Z 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-07-11T12:11:25.140987Z 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(1725713580)))
[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(1725713580)))
[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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.160490Z  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-07-11T12:11:25.160569Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.167365Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: resp="job received, jid=1"
[INFO] [stdout] 2026-07-11T12:11:25.171482Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.171872Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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, 1725713580), "last_update": (Integer, 1725713580), "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, 1725713580), "last_update": (Integer, 1725713580), "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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.181127Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.181591Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.181781Z TRACE comprehensive: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-07-11T12:11:25.181807Z 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(1725713580)))
[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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.193293Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.193937Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.194002Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.194387Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.194458Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.194800Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.194849Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.195168Z 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, 1725713580), "last_update": (Integer, 1725713580), "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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.195810Z  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-07-11T12:11:25.195965Z  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-07-11T12:11:25.196000Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-07-11T12:11:25.196098Z 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-07-11T12:11:25.203714Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-07-11T12:11:25.204568Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-07-11T12:11:25.204774Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-07-11T12:11:25.255295Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpoe1EUc/scratch/fetch,gitlab-2,salsa.debian.org,1/package.git/\n"
[INFO] [stdout] 2026-07-11T12:11:25.255413Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="no-such-scheme:"
[INFO] [stdout] 2026-07-11T12:11:25.255568Z  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-07-11T12:11:25.255626Z 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(1725713580)))
[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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.263385Z  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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.268100Z 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, 1725713580), "last_update": (Integer, 1725713580), "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-07-11T12:11:25.268658Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-07-11T12:11:25.268710Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-07-11T12:11:25.268739Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.274321Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713680 2024-09-07T12:54:40Z),
[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(1725713580 2024-09-07T12:53:00Z),
[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-07-11T12:11:25.380354Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.380956Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-07-11T12:11:25.380995Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-07-11T12:11:25.381019Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.385425Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.386132Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.386513Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculation... jid=1
[INFO] [stdout] 2026-07-11T12:11:25.386554Z TRACE comprehensive: tag2upload_service_manager::retry: need to wait for host, Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] 2026-07-11T12:11:25.386580Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 100s, retry_earliest: TimeT(1725713680 2024-09-07T12:54:40Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713680)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.390802Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[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(1725712580)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.395543Z 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:00Z; 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:00Z</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-07-11T12:11:23Z</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:00Z</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:00Z</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:40Z</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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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, 1725713580), "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, 1725713580), "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, 1725713580), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.487177Z 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:00Z</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:00Z</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:40Z</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:00Z</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:00Z</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:00Z</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:00Z</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-07-11T12:11:25.487604Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:53:00.487598589Z when=before advance
[INFO] [stdout] 2026-07-11T12:11:25.487658Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:41.487656259Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.488246Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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-07-11T12:11:25.488589Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713680), "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, 1725713580), "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, 1725713580), "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-07-11T12:11:25.488986Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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-07-11T12:11:25.489040Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-07-11T12:11:25.489065Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.493519Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.493694Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.494158Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "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, 1725713580), "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-07-11T12:11:25.494536Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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-07-11T12:11:25.494589Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-07-11T12:11:25.494614Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.496930Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.497060Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.497459Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "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, 1725713580), "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-07-11T12:11:25.497791Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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-07-11T12:11:25.497852Z TRACE comprehensive: tag2upload_service_manager::retry: need to delay this job, Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] 2026-07-11T12:11:25.497877Z TRACE comprehensive: tag2upload_service_manager::db_workflow: retry calculated jid=1 retry=Wait { delay: 19s, retry_earliest: TimeT(1725713700 2024-09-07T12:55:00Z) }
[INFO] [stdout] bsql text: 
[INFO] [stdout]                                 UPDATE jobs
[INFO] [stdout]                                    SET retry_earliest = ?
[INFO] [stdout]                                  WHERE jid = ? 
[INFO] [stdout]                         
[INFO] [stdout]     Ok(Owned(Integer(1725713700)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.501816Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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(1725712681)))
[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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.607625Z 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:00Z; 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:00Z</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-07-11T12:11:23Z</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:00Z</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:00Z</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:00Z</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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "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, 1725713580), "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, 1725713580), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.688476Z 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:00Z</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:00Z</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:00Z</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:00Z</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:00Z</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:00Z</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:00Z</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(1725713580 2024-09-07T12:53:00Z),
[INFO] [stdout]     retry_earliest: TreatZeroAsNone(
[INFO] [stdout]         TimeT(1725713700 2024-09-07T12:55:00Z),
[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(1725713580 2024-09-07T12:53:00Z),
[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-07-11T12:11:25.688922Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:54:41.688917888Z when=before advance
[INFO] [stdout] 2026-07-11T12:11:25.688973Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:01.688971578Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.689539Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.689903Z 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, 1725713580), "last_update": (Integer, 1725713580), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "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, 1725713580), "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-07-11T12:11:25.690280Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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-07-11T12:11:25.690346Z 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(1725713701)))
[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, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.694446Z 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, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.694989Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.695074Z 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, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.695537Z 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, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "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, 1725713580), "last_update": (Integer, 1725713701), "retry_earliest": (Integer, 1725713700), "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-07-11T12:11:25.696113Z  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-07-11T12:11:25.696288Z  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-07-11T12:11:25.696321Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2026-07-11T12:11:25.696408Z 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-07-11T12:11:25.697211Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2026-07-11T12:11:25.700080Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=2024-09-07T11:39:52.000000000Z
[INFO] [stdout] 2026-07-11T12:11:25.700286Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2026-07-11T12:11:25.707989Z TRACE comprehensive: tag2upload_service_manager::gitclone: git init succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpoe1EUc/scratch/fetch,gitlab-2,salsa.debian.org,0/package.git/\n"
[INFO] [stdout] 2026-07-11T12:11:25.708103Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="file:///tmp/.tmpoe1EUc/dgit-test-dummy.git"
[INFO] [stdout] 2026-07-11T12:11:25.708178Z DEBUG comprehensive: tag2upload_service_manager::http_client: handling url file:///tmp/.tmpoe1EUc/dgit-test-dummy.git via file "/tmp/.tmpoe1EUc/dgit-test-dummy.git"
[INFO] [stdout] 2026-07-11T12:11:25.708262Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpoe1EUc/dgit-test-dummy.git", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-07-11T12:11:25.744254Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ls-remote succeeded jid=1 args=["ls-remote", "--refs", "file:///tmp/.tmpoe1EUc/dgit-test-dummy.git", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\trefs/tags/debian/1.40\n"
[INFO] [stdout] 2026-07-11T12:11:25.744447Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpoe1EUc/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"]
[INFO] [stdout] 2026-07-11T12:11:25.798658Z TRACE comprehensive: tag2upload_service_manager::gitclone: git fetch succeeded jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpoe1EUc/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"] stdout=""
[INFO] [stdout] 2026-07-11T12:11:25.798773Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["rev-parse", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-07-11T12:11:25.802129Z 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-07-11T12:11:25.802209Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-07-11T12:11:25.804656Z 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-07-11T12:11:25.804700Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"]
[INFO] [stdout] 2026-07-11T12:11:25.806897Z 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-07-11T12:11:25.806975Z 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-07-11T12:11:25.809357Z 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-07-11T12:11:25.809442Z DEBUG comprehensive: tag2upload_service_manager::fetcher: fetched tag OK host=salsa.debian.org jid=1
[INFO] [stdout] 2026-07-11T12:11:25.809466Z 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(1725713701)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.813442Z  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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.819754Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.820519Z 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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "last_update": (Integer, 1725713701), "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(1725713580 2024-09-07T12:53:00Z),
[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(1725713701 2024-09-07T12:55:01Z),
[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-07-11T12:11:25.887445Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.888033Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.888456Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.888845Z 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(1725627301)))
[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(1725627301)))
[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, 1725713701)}
[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(1725712701)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.892438Z 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: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]                   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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:25.964023Z 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:00Z</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:01Z</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(1725627302)))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.030266Z 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:00Z</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:01Z</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:02Z.\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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.098711Z 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:01Z</td>\n        </tr>\n        <tr>\n          <th>Last job falure</th>\n          <td>2024-09-07T12:53:00Z</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-07-11T12:11:23Z</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:00Z</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:01Z</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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.165190Z 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:00Z</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:01Z</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-07-11T12:11:26.165745Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-07-11T12:11:26.165979Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#1
[INFO] [stdout] 2026-07-11T12:11:26.166017Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.235934Z 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:02Z.\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:02Z</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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.236605Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:26.236792Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < t2u-oracle-version 6
[INFO] [stdout] 2026-07-11T12:11:26.236842Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 < worker-id testing.example.org testing
[INFO] [stdout] 2026-07-11T12:11:26.236889Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.316418Z 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:02Z.\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:02Z</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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.317004Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:26.317181Z TRACE comprehensive: tag2upload_service_manager::o2m_support: testing.example.org < ack
[INFO] [stdout] 2026-07-11T12:11:26.317288Z 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-07-11T12:11:26.317387Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.317631Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [testing.example.org] build: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:26.438472Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: OK, testing worker got no job
[INFO] [stdout] 2026-07-11T12:11:26.438736Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: ended conn=testing.example.org error=oracle disconnected
[INFO] [stdout] 2026-07-11T12:11:26.438878Z TRACE comprehensive: tag2upload_service_manager::global: spawning task o2m connection
[INFO] [stdout] 2026-07-11T12:11:26.439011Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#2
[INFO] [stdout] 2026-07-11T12:11:26.439042Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.541131Z 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:02Z.\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:02Z</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:02Z</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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.541928Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:26.542148Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < t2u-oracle-version 6
[INFO] [stdout] 2026-07-11T12:11:26.542209Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #2 < worker-id worker.example.org production
[INFO] [stdout] 2026-07-11T12:11:26.542295Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.609894Z 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:02Z.\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:02Z</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:02Z</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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.610646Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:26.610857Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < ack
[INFO] [stdout] 2026-07-11T12:11:26.610958Z 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, 1725713580), "last_update": (Integer, 1725713701), "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-07-11T12:11:26.611372Z 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, 1725713580), "last_update": (Integer, 1725713701), "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, 1725713580), "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, 1725713580), "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-07-11T12:11:26.611792Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713580 2024-09-07T12:53:00Z), 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-07-11T12:11:26.611857Z 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(1725713702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.619316Z  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-07-11T12:11:26.619444Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.693383Z 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:02Z.\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:02Z</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:02Z</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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.694120Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:26.694377Z 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(1725713702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.699410Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [worker.example.org] updated (build) jid=1 now=Building info="building [worker.example.org]"
[INFO] [stdout] 2026-07-11T12:11:26.699531Z 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-07-11T12:11:26.699571Z 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(1725627302)))
[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(1725627302)))
[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, 1725713701)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.766363Z 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:02Z.\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:02Z</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:02Z</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-07-11T12:11:26.766782Z 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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.767660Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713702 2024-09-07T12:55:02Z), 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-07-11T12:11:26.767767Z DEBUG comprehensive: tag2upload_service_manager::test::t_comprehensive: l=811
[INFO] [stdout] 2026-07-11T12:11:26.768009Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < commit-to-public-upload
[INFO] [stdout] 2026-07-11T12:11:26.768092Z 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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.768698Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713702 2024-09-07T12:55:02Z), 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-07-11T12:11:26.768817Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < message Tested OK!
[INFO] [stdout] 2026-07-11T12:11:26.768862Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org < email reported
[INFO] [stdout] 2026-07-11T12:11:26.768887Z 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(1725713702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.775442Z  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(1725713702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.780211Z TRACE comprehensive: tag2upload_service_manager::o2m_support: worker.example.org > ayt
[INFO] [stdout] 2026-07-11T12:11:26.780415Z 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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.780966Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:26.781055Z 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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.781484Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:26.781551Z 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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.781930Z 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, 1725713580), "last_update": (Integer, 1725713702), "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 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(1725627302)))
[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(1725627302)))
[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, 1725713702)}
[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(1725712702)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.848693Z 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:02Z.\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:02Z</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:02Z</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(1725627302)))
[INFO] [stdout]     Ok(Owned(Integer(1725627302)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.915848Z 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:00Z</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:02Z</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:02Z.\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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.916529Z 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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:26.916801Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713702 2024-09-07T12:55:02Z), 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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "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, 1725713580), "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, 1725713580), "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, 1725713580), "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, 1725713701), "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, 1725713701), "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, 1725713701), "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, 1725713702), "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, 1725713702), "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, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.006165Z 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:00Z</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:02Z</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:00Z</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:00Z</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:00Z</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:00Z</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:01Z</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:01Z</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:01Z</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:02Z</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:02Z</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:02Z</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:02Z</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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.087997Z 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:00Z</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:02Z</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, 1725713580), "last_update": (Integer, 1725713702), "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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.360530Z DEBUG comprehensive: tag2upload_service_manager::ui_routes: from 127.0.0.1: error 404: path="/no-such-page"
[INFO] [stdout] 2026-07-11T12:11:27.362134Z 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(1725713703)))
[INFO] [stdout]     Ok(Owned(Integer(1722948903)))
[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(1722948903)))
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.365736Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-08-06T12:55:03Z
[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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.366109Z 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(1725713580 2024-09-07T12:53:00Z), 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(1725713702 2024-09-07T12:55:02Z), 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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.366382Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:55:03.366375590Z when=before advance
[INFO] [stdout] 2026-07-11T12:11:27.366443Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-10-09T13:11:43.366442010Z 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(1728479503)))
[INFO] [stdout]     Ok(Owned(Integer(1725714703)))
[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(1725714703)))
[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-07-11T12:11:27.374006Z  INFO comprehensive: tag2upload_service_manager::expire: expired n_expired=1 oldest_to_keep=2024-09-07T13:11:43Z archive="expired-2024-10-09T13:11:43Z.dump.txt"
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid=? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout] 2026-07-11T12:11:27.374243Z 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(1728479503)))
[INFO] [stdout]     Ok(Owned(Integer(1725714703)))
[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(1725714703)))
[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-07-11T12:11:27.501809Z  INFO comprehensive: tag2upload_service_manager::expire: nothing expired n_expired=0 oldest_to_keep=2024-09-07T13:11:43Z
[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(1728393103)))
[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(1728393103)))
[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, 1728479503), "threshold": (Integer, 1725714703)}
[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(1728478503)))
[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-07-11T12:11:27.508550Z 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:00Z; 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:43Z.\n      Jobs last touched before 2024-09-07T13:11:43Z\nhave been archived.\n\n      Last archival run was 2024-10-09T13:11:43Z.\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:02Z</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-07-11T12:11:27.511400Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="sqlite3" "-batch" "/tmp/.tmpoe1EUc/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, 1725713580), "last_update": (Integer, 1725713702), "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-07-11T12:11:27.533951Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: deferring shutdown? job=None
[INFO] [stdout] 2026-07-11T12:11:27.534078Z DEBUG comprehensive: tag2upload_service_manager::utils: cmd="weblint" "--context" "--" "/tmp/.tmpoe1EUc/rendered/error-0.html" "/tmp/.tmpoe1EUc/rendered/recent-0.html" "/tmp/.tmpoe1EUc/rendered/recent-1.html" "/tmp/.tmpoe1EUc/rendered/recent-2.html" "/tmp/.tmpoe1EUc/rendered/toplevel-0.html" "/tmp/.tmpoe1EUc/rendered/toplevel-1.html" "/tmp/.tmpoe1EUc/rendered/toplevel-2.html" "/tmp/.tmpoe1EUc/rendered/toplevel-3.html" "/tmp/.tmpoe1EUc/rendered/toplevel-4.html" "/tmp/.tmpoe1EUc/rendered/toplevel-5.html" "/tmp/.tmpoe1EUc/rendered/toplevel-6.html" "/tmp/.tmpoe1EUc/rendered/toplevel-7.html" "/tmp/.tmpoe1EUc/rendered/toplevel-8.html" "/tmp/.tmpoe1EUc/rendered/toplevel-9.html" "/tmp/.tmpoe1EUc/rendered/job-0.html" "/tmp/.tmpoe1EUc/rendered/job-1.html" "/tmp/.tmpoe1EUc/rendered/job-2.html" "/tmp/.tmpoe1EUc/rendered/all-jobs-0.html" "/tmp/.tmpoe1EUc/rendered/all-jobs-1.html" "/tmp/.tmpoe1EUc/rendered/forges-0.html" "/tmp/.tmpoe1EUc/rendered/forges-1.html" "/tmp/.tmpoe1EUc/rendered/forges-2.html" "/tmp/.tmpoe1EUc/rendered/forges-3.html" "/tmp/.tmpoe1EUc/rendered/queue-0.html"
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (4898) 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:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf01662d05 - <testresult[58ec58227a88c382]::TestError as core[6883ba1bc0fe4ed1]::convert::From<anyhow[846c3077b27d75c7]::Error>>::from
[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:     0x5cbf015dc4a3 - <core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError> as core[6883ba1bc0fe4ed1]::ops::try_trait::FromResidual<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::convert::Infallible, anyhow[846c3077b27d75c7]::Error>>>::from_residual
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/result.rs:2192:27
[INFO] [stdout]   21:     0x5cbf01511ec0 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_tera::t_run_weblint
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_tera.rs:157:18
[INFO] [stdout]   22:     0x5cbf016195b2 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_comprehensive.rs:332:5
[INFO] [stdout]   23:     0x5cbf01859368 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test::<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:63:17
[INFO] [stdout]   24:     0x5cbf016f84dd - <core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>> as core[6883ba1bc0fe4ed1]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/future/future.rs:133:9
[INFO] [stdout]   25:     0x5cbf012daaa8 - <tokio[379b44d2748b431f]::runtime::task::core::Core<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::poll::{closure#0}
[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:     0x5cbf01367308 - <tokio[379b44d2748b431f]::loom::std::unsafe_cell::UnsafeCell<tokio[379b44d2748b431f]::runtime::task::core::Stage<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>>>>::with_mut::<core[6883ba1bc0fe4ed1]::task::poll::Poll<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>, <tokio[379b44d2748b431f]::runtime::task::core::Core<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::poll::{closure#0}>
[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:     0x5cbf01367308 - <tokio[379b44d2748b431f]::runtime::task::core::Core<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::poll
[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:     0x5cbf012470ca - tokio[379b44d2748b431f]::runtime::task::harness::poll_future::<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>::{closure#0}
[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:     0x5cbf01769b10 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<tokio[379b44d2748b431f]::runtime::task::harness::poll_future<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   30:     0x5cbf01b1b99a - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<tokio[379b44d2748b431f]::runtime::task::harness::poll_future<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>::{closure#0}>, core[6883ba1bc0fe4ed1]::task::poll::Poll<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   31:     0x5cbf01872e5b - __rust_try
[INFO] [stdout]   32:     0x5cbf01829506 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::task::poll::Poll<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<tokio[379b44d2748b431f]::runtime::task::harness::poll_future<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   33:     0x5cbf01829506 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<tokio[379b44d2748b431f]::runtime::task::harness::poll_future<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>::{closure#0}>, core[6883ba1bc0fe4ed1]::task::poll::Poll<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5cbf0122a28f - tokio[379b44d2748b431f]::runtime::task::harness::poll_future::<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>
[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:     0x5cbf01288512 - <tokio[379b44d2748b431f]::runtime::task::harness::Harness<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::poll_inner
[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:     0x5cbf012887b3 - <tokio[379b44d2748b431f]::runtime::task::harness::Harness<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::poll
[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:     0x5cbf014407db - tokio[379b44d2748b431f]::runtime::task::raw::poll::<core[6883ba1bc0fe4ed1]::pin::Pin<alloc[55a36b64bcbf2c0d]::boxed::Box<tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>::{closure#0}>>, alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>
[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:     0x5cbf02cceb07 - <tokio[379b44d2748b431f]::runtime::task::raw::RawTask>::poll
[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:     0x5cbf0295a9b2 - <tokio[379b44d2748b431f]::runtime::task::LocalNotified<alloc[55a36b64bcbf2c0d]::sync::Arc<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Handle>>>::run
[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:     0x5cbf01ab05bb - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}
[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:     0x5cbf01a9b325 - tokio[379b44d2748b431f]::task::coop::with_budget::<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}>
[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:     0x5cbf01a9b325 - tokio[379b44d2748b431f]::task::coop::budget::<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}>
[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:     0x5cbf01a9b325 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Context>::run_task::<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}>::{closure#0}
[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:     0x5cbf01a5cd86 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Context>::enter::<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Context>::run_task<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}>::{closure#0}>
[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:     0x5cbf01a5d49c - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Context>::run_task::<(), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}::{closure#1}>
[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:     0x5cbf01aa16d0 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}
[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:     0x5cbf01a9e8eb - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}
[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:     0x5cbf0159018a - <tokio[379b44d2748b431f]::runtime::context::scoped::Scoped<tokio[379b44d2748b431f]::runtime::scheduler::Context>>::set::<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>)>
[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:     0x5cbf018d2a2a - tokio[379b44d2748b431f]::runtime::context::set_scheduler::<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}
[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:     0x5cbf01813282 - <std[73adb7dc35730857]::thread::local::LocalKey<tokio[379b44d2748b431f]::runtime::context::Context>>::try_with::<tokio[379b44d2748b431f]::runtime::context::set_scheduler<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>)>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:463:12
[INFO] [stdout]   51:     0x5cbf018125dc - <std[73adb7dc35730857]::thread::local::LocalKey<tokio[379b44d2748b431f]::runtime::context::Context>>::with::<tokio[379b44d2748b431f]::runtime::context::set_scheduler<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}>::{closure#0}, (alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>)>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/local.rs:427:20
[INFO] [stdout]   52:     0x5cbf018a1131 - tokio[379b44d2748b431f]::runtime::context::set_scheduler::<(alloc[55a36b64bcbf2c0d]::boxed::Box<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::Core>, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>), <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>::{closure#0}>
[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:     0x5cbf01a8148e - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>::{closure#0}, core[6883ba1bc0fe4ed1]::option::Option<core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>>
[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:     0x5cbf01a81973 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[6883ba1bc0fe4ed1]::pin::Pin<&mut tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>>
[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:     0x5cbf01a9ac72 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CurrentThread>::block_on::<tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>::{closure#0}
[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:     0x5cbf018510fa - tokio[379b44d2748b431f]::runtime::context::runtime::enter_runtime::<<tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CurrentThread>::block_on<tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>::{closure#0}, core[6883ba1bc0fe4ed1]::result::Result<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>, tokio[379b44d2748b431f]::runtime::task::error::JoinError>>
[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:     0x5cbf01a5a998 - <tokio[379b44d2748b431f]::runtime::scheduler::current_thread::CurrentThread>::block_on::<tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>
[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:     0x5cbf01916ce1 - <tokio[379b44d2748b431f]::runtime::runtime::Runtime>::block_on_inner::<tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>
[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:     0x5cbf0191e25c - <tokio[379b44d2748b431f]::runtime::runtime::Runtime>::block_on::<tokio[379b44d2748b431f]::runtime::task::join::JoinHandle<core[6883ba1bc0fe4ed1]::result::Result<(), testresult[58ec58227a88c382]::TestError>>>
[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:     0x5cbf0184d9ba - tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test::<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:80:27
[INFO] [stdout]   61:     0x5cbf01661297 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   62:     0x5cbf0162e357 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   63:     0x5cbf01408676 - <tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   64:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   65:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   66:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   67:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   68:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   69:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   70:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   71:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   72:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   73:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   74:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   75:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   76:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   77:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   78:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   79:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   80:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   81:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   82:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   83:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   84:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   85:     0x750c70849a64 - clone
[INFO] [stdout]   86:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] thread 'test::t_comprehensive::comprehensive' (4898) 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:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf0184db3a - tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test::<tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5cbf01661297 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5cbf0162e357 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5cbf01408676 - <tag2upload_service_manager[2432bb48cf351ffe]::test::t_comprehensive::comprehensive::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   44:     0x750c70849a64 - 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-07-11T12:11:24.236153Z 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/.tmp2onH9j/t2usm.db", o2m_socket: "/tmp/.tmp2onH9j/o2m", scratch_dir: Some("/tmp/.tmp2onH9j/scratch"), archive_dir: "/tmp/.tmp2onH9j/archive", template_dir: None, port_report_file: Some("/tmp/.tmp2onH9j/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: -58058306, 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-07-11T12:11:24.393559Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.394840Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.397845Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.412196Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.413676Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.414063Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.416432Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.417274Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.421989Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-07-11T12:11:24.423467Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-07-11T12:11:24.429635Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-07-11T12:11:24.430018Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-07-11T12:11:24.443568Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-07-11T12:11:24.444183Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-07-11T12:11:24.449607Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-07-11T12:11:24.450010Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-07-11T12:11:24.452827Z DEBUG pause_fetch_irrecoverable: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmp2onH9j/o2m"
[INFO] [stdout] 2026-07-11T12:11:24.452866Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-07-11T12:11:24.452904Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-07-11T12:11:24.452923Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-07-11T12:11:24.458023Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-07-11T12:11:24.459923Z 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(1725713578)))
[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:52:58.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-07-11T12:11:24.472548Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-07-11T12:11:24.472666Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-07-11T12:11:24.472699Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-07-11T12:11:24.472722Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-07-11T12:11:24.472740Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-07-11T12:11:24.472758Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::global: writing port file="/tmp/.tmp2onH9j/port"
[INFO] [stdout] 2026-07-11T12:11:24.472878Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::global: running running=Running { port: 46279 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:46279
[INFO] [stdout] 2026-07-11T12:11:24.473426Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:58.473420674Z 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(1725713578)))
[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(1725713578)))
[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(1725713578)))
[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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.483303Z 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] 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.488111Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-07-11T12:11:24.494385Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.495286Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.495342Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.496147Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.496206Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.497562Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.497614Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.499521Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.499582Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.499921Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.499970Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.500334Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.677373Z  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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.681458Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.681896Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.681965Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.682331Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.682404Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.682746Z 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(1725713579)))
[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(1725713579)))
[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(1725713579)))
[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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.488414Z  INFO pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: tag already processed, deduplicating jid=2 now=Irrecoverable duplicate_of=1
[INFO] [stdout] 2026-07-11T12:11:25.488516Z 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] 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.489154Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.489632Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.489699Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.490048Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.490104Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.490483Z TRACE pause_fetch_irrecoverable: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[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, 1725713579), "last_update": (Integer, 1725713579), "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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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' (5183) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(16)) task 16 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf0184d53b - tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test::<tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5cbf01660e57 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_irrecoverable
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5cbf0162cc67 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5cbf01408636 - <tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_irrecoverable::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   44:     0x750c70849a64 - 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-07-11T12:11:24.248123Z 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/.tmp8g9JdO/t2usm.db", o2m_socket: "/tmp/.tmp8g9JdO/o2m", scratch_dir: Some("/tmp/.tmp8g9JdO/scratch"), archive_dir: "/tmp/.tmp8g9JdO/archive", template_dir: None, port_report_file: Some("/tmp/.tmp8g9JdO/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: -58058306, 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-07-11T12:11:24.775792Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="duplicate-of.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.777834Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-summary.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.794802Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forge-gitlab.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.825136Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.826691Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.827045Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.828358Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.829145Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2026-07-11T12:11:24.834714Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2026-07-11T12:11:24.835191Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="forges.html"
[INFO] [stdout] 2026-07-11T12:11:24.841164Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2026-07-11T12:11:24.842541Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="job.html"
[INFO] [stdout] 2026-07-11T12:11:24.855634Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2026-07-11T12:11:24.857297Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2026-07-11T12:11:24.875923Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2026-07-11T12:11:24.881380Z TRACE pause_fetch_failed: tag2upload_service_manager::ui_render: loading builtin templat name="email-body.txt"
[INFO] [stdout] 2026-07-11T12:11:24.898679Z DEBUG pause_fetch_failed: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmp8g9JdO/o2m"
[INFO] [stdout] 2026-07-11T12:11:24.898731Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task expiry
[INFO] [stdout] 2026-07-11T12:11:24.898772Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task unpause
[INFO] [stdout] 2026-07-11T12:11:24.898805Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task email
[INFO] [stdout] 2026-07-11T12:11:24.901674Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task rocket launcher
[INFO] [stdout] 2026-07-11T12:11:24.903589Z 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(1725713578)))
[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:52:58.000000000Z")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2026-07-11T12:11:24.935705Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task gitlab poll "salsa.debian.org"
[INFO] [stdout] 2026-07-11T12:11:24.935764Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 0]
[INFO] [stdout] 2026-07-11T12:11:24.935793Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 1]
[INFO] [stdout] 2026-07-11T12:11:24.935817Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task fetcher [salsa.debian.org gitlab-2 2]
[INFO] [stdout] 2026-07-11T12:11:24.935836Z TRACE pause_fetch_failed: tag2upload_service_manager::global: spawning task o2m listener
[INFO] [stdout] 2026-07-11T12:11:24.935854Z TRACE pause_fetch_failed: tag2upload_service_manager::global: writing port file="/tmp/.tmp8g9JdO/port"
[INFO] [stdout] 2026-07-11T12:11:24.935961Z  INFO pause_fetch_failed: tag2upload_service_manager::global: running running=Running { port: 35769 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:35769
[INFO] [stdout] 2026-07-11T12:11:24.936582Z TRACE pause_fetch_failed: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:58.936577792Z 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(1725713578)))
[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(1725713578)))
[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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.942324Z 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-07-11T12:11:24.942413Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.942755Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.942800Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.943099Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.943147Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.943493Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.943540Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.943862Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.943916Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.944254Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.944306Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.944624Z 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] [stderr] error: test failed, to rerun pass `--lib`
[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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.947330Z TRACE pause_fetch_failed: tag2upload_service_manager::email: preparing to send email jid=1
[INFO] [stdout] 2026-07-11T12:11:24.950375Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.950840Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.950903Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.952315Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:24.952380Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:24.952747Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.003317Z  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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:25.006865Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:25.007305Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.007373Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:25.007730Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.007790Z 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, 1725713578), "last_update": (Integer, 1725713578), "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-07-11T12:11:25.008137Z 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(1725713579)))
[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(1725713579)))
[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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.948408Z 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] 2026-07-11T12:11:25.948486Z 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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.948798Z 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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.948996Z TRACE pause_fetch_failed: tag2upload_service_manager::retry: no attempts yet, run right away
[INFO] [stdout] 2026-07-11T12:11:25.949024Z 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(1725713579)))
[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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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] 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.953489Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.953951Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.954018Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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-07-11T12:11:25.954433Z TRACE pause_fetch_failed: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2026-07-11T12:11:25.954542Z  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-07-11T12:11:25.954729Z  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-07-11T12:11:25.954770Z 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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' (5182) panicked at src/test/t_wrapper.rs:83:20:
[INFO] [stdout] test aborted/paniced: JoinError::Cancelled(Id(18)) task 18 was cancelled
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbf02de2871 - std[73adb7dc35730857]::backtrace_rs::backtrace::trace_unsynchronized::<std[73adb7dc35730857]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbf02de2871 - std[73adb7dc35730857]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5cbf02de2871 - <<std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[6883ba1bc0fe4ed1]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5cbf02dff46a - <core[6883ba1bc0fe4ed1]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5cbf02dff46a - core[6883ba1bc0fe4ed1]::fmt::write
[INFO] [stdout]    6:     0x5cbf02de9a1c - std[73adb7dc35730857]::io::default_write_fmt::<alloc[55a36b64bcbf2c0d]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:626:11
[INFO] [stdout]    7:     0x5cbf02de9a1c - <alloc[55a36b64bcbf2c0d]::vec::Vec<u8> as std[73adb7dc35730857]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/io/mod.rs:1730:13
[INFO] [stdout]    8:     0x5cbf02dbb906 - <std[73adb7dc35730857]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5cbf02dbb906 - std[73adb7dc35730857]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5cbf02dd8379 - std[73adb7dc35730857]::panicking::default_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5cbf01c2f550 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   12:     0x5cbf01c2f550 - test[980ffaebd391d06d]::test_main_inner::<test[980ffaebd391d06d]::test_main_static::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:155:21
[INFO] [stdout]   13:     0x5cbf02dd86a2 - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn for<'a, 'b> core[6883ba1bc0fe4ed1]::ops::function::Fn<(&'a std[73adb7dc35730857]::panic::PanicHookInfo<'b>,), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send + core[6883ba1bc0fe4ed1]::marker::Sync> as core[6883ba1bc0fe4ed1]::ops::function::Fn<(&std[73adb7dc35730857]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2333:9
[INFO] [stdout]   14:     0x5cbf02dd86a2 - std[73adb7dc35730857]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:823:13
[INFO] [stdout]   15:     0x5cbf02dbb9b2 - std[73adb7dc35730857]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:688:13
[INFO] [stdout]   16:     0x5cbf02db28e9 - std[73adb7dc35730857]::sys::backtrace::__rust_end_short_backtrace::<std[73adb7dc35730857]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5cbf02dbc99d - __rustc[a7b7b02e776dd976]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:679:5
[INFO] [stdout]   18:     0x5cbf02dffd1c - core[6883ba1bc0fe4ed1]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5cbf0184b19b - tag2upload_service_manager[2432bb48cf351ffe]::test::t_wrapper::run_async_test::<tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_failed::{closure#1}, tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_failed::{closure#1}::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:83:20
[INFO] [stdout]   20:     0x5cbf0165f4d7 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_failed
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:10:5
[INFO] [stdout]   21:     0x5cbf0162b057 - tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_failed::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/test/t_wrapper.rs:25:15
[INFO] [stdout]   22:     0x5cbf014084b6 - <tag2upload_service_manager[2432bb48cf351ffe]::test::t_jcoalesce::pause_fetch_failed::{closure#0} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x5cbf01c2288b - <fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x5cbf01c2288b - test[980ffaebd391d06d]::__rust_begin_short_backtrace::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, fn() -> core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:724:18
[INFO] [stdout]   25:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:74
[INFO] [stdout]   26:     0x5cbf01c2fed5 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   27:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   28:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panicking::catch_unwind::<core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>, core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   29:     0x5cbf01c2fed5 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<test[980ffaebd391d06d]::run_test_in_process::{closure#0}>, core[6883ba1bc0fe4ed1]::result::Result<(), alloc[55a36b64bcbf2c0d]::string::String>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   30:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test_in_process
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:747:27
[INFO] [stdout]   31:     0x5cbf01c2fed5 - test[980ffaebd391d06d]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:668:43
[INFO] [stdout]   32:     0x5cbf01c2a984 - test[980ffaebd391d06d]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/test/src/lib.rs:698:41
[INFO] [stdout]   33:     0x5cbf01c2a984 - std[73adb7dc35730857]::sys::backtrace::__rust_begin_short_backtrace::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   34:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:70:13
[INFO] [stdout]   35:     0x5cbf01c33022 - <core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/panic/unwind_safe.rs:275:9
[INFO] [stdout]   36:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::do_call::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:576:43
[INFO] [stdout]   37:     0x5cbf01c33022 - std[73adb7dc35730857]::panicking::catch_unwind::<(), core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panicking.rs:544:19
[INFO] [stdout]   38:     0x5cbf01c33022 - std[73adb7dc35730857]::panic::catch_unwind::<core[6883ba1bc0fe4ed1]::panic::unwind_safe::AssertUnwindSafe<std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/panic.rs:359:14
[INFO] [stdout]   39:     0x5cbf01c33022 - std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked::<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/thread/lifecycle.rs:68:26
[INFO] [stdout]   40:     0x5cbf01c33022 - <std[73adb7dc35730857]::thread::lifecycle::spawn_unchecked<test[980ffaebd391d06d]::run_test::{closure#1}, ()>::{closure#1} as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5cbf02de127f - <alloc[55a36b64bcbf2c0d]::boxed::Box<dyn core[6883ba1bc0fe4ed1]::ops::function::FnOnce<(), Output = ()> + core[6883ba1bc0fe4ed1]::marker::Send> as core[6883ba1bc0fe4ed1]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/alloc/src/boxed.rs:2319:9
[INFO] [stdout]   42:     0x5cbf02de127f - <std[73adb7dc35730857]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/6b3fa26749ab40e159b2dd5cf577acaaf5902772/library/std/src/sys/thread/unix.rs:123:17
[INFO] [stdout]   43:     0x750c707bcaa4 - <unknown>
[INFO] [stdout]   44:     0x750c70849a64 - 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, 1725713578), "last_update": (Integer, 1725713578), "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, 1725713579), "last_update": (Integer, 1725713579), "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 60.35s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5", kill_on_drop: false }`
[INFO] [stdout] d4b67ba774446c5f66cbb7e5466f1d42b1db073b758e36fc08f878aee5e87db5
