vm-test-run-zhost-sync
checks.x86_64-linux.nixos-sync
· build #7
· raw
1Machine state will be reset. To keep it, pass --keep-machine-state2start all VLans3(finished: start all VLans, in 0.00 seconds)4Test will time out and terminate in 3600.0 seconds5run the VM test script6additionally exposed symbols:7 machine,8 vlan1,9 start_all, test_script, machines, machines_qemu, machines_nspawn, vlans, driver, log, os, create_machine, subtest, run_tests, join_all, retry, serial_stdout_off, serial_stdout_on, polling_condition, BaseMachine, QemuMachine, NspawnMachine, t, debug, dump_machine_ssh10machine: waiting for unit postgresql.service11machine: waiting for the VM to finish booting12machine: starting vm13machine # Disk image does not exist, creating the virtualisation disk image...14machine: QEMU running (pid 45)15machine # Formatting '/build/vm-state-machine/tmp.aLDhWxajtI', fmt=raw size=107374182416machine # mke2fs 1.47.4 (6-Mar-2025)17machine # Discarding device blocks: 0/262144 done18machine # Creating filesystem with 262144 4k blocks and 65536 inodes19machine # Filesystem UUID: 95795e78-4a63-493f-abff-fd744b35a5f920machine # Superblock backups stored on blocks:21machine # 32768, 98304, 163840, 22937622machine # 23machine # Allocating group tables: 0/8 done24machine # Writing inode tables: 0/8 done25machine # Creating journal (8192 blocks): done26machine # Writing superblocks and filesystem accounting information: 0/8 done27machine # 28machine # Virtualisation disk image created.29machine # Starting virtiofs daemons...30machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)31machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether32machine # [2026-09-23T21:45:50Z INFO virtiofsd] Waiting for vhost-user socket connection...33machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)34machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether35machine # [2026-09-23T21:45:50Z INFO virtiofsd] Waiting for vhost-user socket connection...36machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)37machine # [2026-09-23T21:45:50Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether38machine # [2026-09-23T21:45:50Z INFO virtiofsd] Waiting for vhost-user socket connection...39machine # [2026-09-23T21:45:50Z INFO virtiofsd] Client connected, servicing requests40machine # [2026-09-23T21:45:50Z INFO virtiofsd] Client connected, servicing requests41machine # [2026-09-23T21:45:50Z INFO virtiofsd] Client connected, servicing requests42machine # SeaBIOS (version rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org)43machine # 44machine # 45machine # iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+3EFCC730+3EF2C730 CA0046machine # Press Ctrl-B to configure iPXE (PCI 00:02.0)...47machine # 48machine # 49machine # 50machine # 51machine # iPXE (http://ipxe.org) 00:05.0 CB00 PCI2.10 PnP PMM 3EFCC730 3EF2C730 CB0052machine # Press Ctrl-B to configure iPXE (PCI 00:05.0)...53machine # 54machine # 55machine # Booting from ROM...56machine # Probing EDD (edd=off to disable)... ok[ 0.000000] Linux version 6.18.52 (nixbld@localhost) (gcc (GCC) 15.3.0, GNU ld (GNU Binutils) 2.46) #1-NixOS SMP PREEMPT_DYNAMIC Mon Sep 14 11:36:19 UTC 202657machine # [ 0.000000] Command line: console=ttyS0 console=tty0 panic=1 boot.panic_on_fail clocksource=acpi_pm root=fstab loglevel=7 net.ifnames=0 lsm=landlock,yama,bpf init=/nix/store/k9zmdm9diivmzbp131b3wp1jj2i3gcs3-nixos-system-machine-test/init regInfo=/nix/store/ib8l0723iswvqp7xsryvqxap617gnvi4-closure-info/registration console=ttyS0,115200n8 console=tty058machine # [ 0.000000] x86 CPU feature dependency check failure: CPU0 has '18*32+31' enabled but '18*32+26' disabled. Kernel might be fine, but no guarantees.59machine # [ 0.000000] BIOS-provided physical RAM map:60machine # [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable61machine # [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved62machine # [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved63machine # [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffd7fff] usable64machine # [ 0.000000] BIOS-e820: [mem 0x000000003ffd8000-0x000000003fffffff] reserved65machine # [ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved66machine # [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved67machine # [ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved68machine # [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved69machine # [ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved70machine # [ 0.000000] NX (Execute Disable) protection: active71machine # [ 0.000000] APIC: Static calls initialized72machine # [ 0.000000] SMBIOS 2.8 present.73machine # [ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/201474machine # [ 0.000000] DMI: Memory slots populated: 1/175machine # [ 0.000000] Hypervisor detected: KVM76machine # [ 0.000000] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000077machine # [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d0078machine # [ 0.000000] kvm-clock: using sched offset of 438419401 cycles79machine # [ 0.000001] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns80machine # [ 0.000004] tsc: Detected 3792.874 MHz processor81machine # [ 0.000656] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000082machine # [ 0.000680] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs83machine # [ 0.000682] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT84machine # [ 0.002213] found SMP MP-table at [mem 0x000f5450-0x000f545f]85machine # [ 0.002224] Using GB pages for direct mapping86machine # [ 0.002308] RAMDISK: [mem 0x3e370000-0x3ffcffff]87machine # [ 0.002314] ACPI: Early table checksum verification disabled88machine # [ 0.002315] ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS )89machine # [ 0.002318] ACPI: RSDT 0x000000003FFE2422 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)90machine # [ 0.002322] ACPI: FACP 0x000000003FFE221A 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001)91machine # [ 0.002327] ACPI: DSDT 0x000000003FFE0040 0021DA (v01 BOCHS BXPC 00000001 BXPC 00000001)92machine # [ 0.002329] ACPI: FACS 0x000000003FFE0000 00004093machine # [ 0.002330] ACPI: APIC 0x000000003FFE230E 000078 (v03 BOCHS BXPC 00000001 BXPC 00000001)94machine # [ 0.002331] ACPI: HPET 0x000000003FFE2386 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)95machine # [ 0.002333] ACPI: MCFG 0x000000003FFE23BE 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001)96machine # [ 0.002334] ACPI: WAET 0x000000003FFE23FA 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)97machine # [ 0.002335] ACPI: Reserving FACP table memory at [mem 0x3ffe221a-0x3ffe230d]98machine # [ 0.002336] ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe2219]99machine # [ 0.002337] ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]100machine # [ 0.002337] ACPI: Reserving APIC table memory at [mem 0x3ffe230e-0x3ffe2385]101machine # [ 0.002337] ACPI: Reserving HPET table memory at [mem 0x3ffe2386-0x3ffe23bd]102machine # [ 0.002338] ACPI: Reserving MCFG table memory at [mem 0x3ffe23be-0x3ffe23f9]103machine # [ 0.002338] ACPI: Reserving WAET table memory at [mem 0x3ffe23fa-0x3ffe2421]104machine # [ 0.002716] No NUMA configuration found105machine # [ 0.002717] Faking a node at [mem 0x0000000000000000-0x000000003ffd7fff]106machine # [ 0.002720] NODE_DATA(0) allocated [mem 0x3ffd2780-0x3ffd7cff]107machine # [ 0.002796] Zone ranges:108machine # [ 0.002797] DMA [mem 0x0000000000001000-0x0000000000ffffff]109machine # [ 0.002798] DMA32 [mem 0x0000000001000000-0x000000003ffd7fff]110machine # [ 0.002799] Normal empty111machine # [ 0.002799] Device empty112machine # [ 0.002800] Movable zone start for each node113machine # [ 0.002800] Early memory node ranges114machine # [ 0.002800] node 0: [mem 0x0000000000001000-0x000000000009efff]115machine # [ 0.002801] node 0: [mem 0x0000000000100000-0x000000003ffd7fff]116machine # [ 0.002802] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffd7fff]117machine # [ 0.002820] On node 0, zone DMA: 1 pages in unavailable ranges118machine # [ 0.003047] On node 0, zone DMA: 97 pages in unavailable ranges119machine # [ 0.017557] On node 0, zone DMA32: 40 pages in unavailable ranges120machine # [ 0.018424] ACPI: PM-Timer IO Port: 0x608121machine # [ 0.018431] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])122machine # [ 0.018451] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23123machine # [ 0.018453] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)124machine # [ 0.018454] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)125machine # [ 0.018455] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)126machine # [ 0.018456] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)127machine # [ 0.018456] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)128machine # [ 0.018458] ACPI: Using ACPI (MADT) for SMP configuration information129machine # [ 0.018459] ACPI: HPET id: 0x8086a201 base: 0xfed00000130machine # [ 0.018461] TSC deadline timer available131machine # [ 0.018464] CPU topo: Max. logical packages: 1132machine # [ 0.018465] CPU topo: Max. logical dies: 1133machine # [ 0.018465] CPU topo: Max. dies per package: 1134machine # [ 0.018468] CPU topo: Max. threads per core: 1135machine # [ 0.018469] CPU topo: Num. cores per package: 1136machine # [ 0.018469] CPU topo: Num. threads per package: 1137machine # [ 0.018469] CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs138machine # [ 0.018480] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()139machine # [ 0.018502] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]140machine # [ 0.018503] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]141machine # [ 0.018504] [mem 0x40000000-0xafffffff] available for PCI devices142machine # [ 0.018505] Booting paravirtualized kernel on KVM143machine # [ 0.018507] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns144machine # [ 0.022210] setup_percpu: NR_CPUS:384 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1145machine # [ 0.024288] percpu: Embedded 98 pages/cpu s278528 r8192 d114688 u2097152146machine # [ 0.024320] kvm-guest: PV spinlocks disabled, single CPU147machine # [ 0.024322] Kernel command line: console=ttyS0 console=tty0 panic=1 boot.panic_on_fail clocksource=acpi_pm root=fstab loglevel=7 net.ifnames=0 lsm=landlock,yama,bpf init=/nix/store/k9zmdm9diivmzbp131b3wp1jj2i3gcs3-nixos-system-machine-test/init regInfo=/nix/store/ib8l0723iswvqp7xsryvqxap617gnvi4-closure-info/registration console=ttyS0,115200n8 console=tty0148machine # [ 0.024392] Unknown kernel command line parameters "regInfo=/nix/store/ib8l0723iswvqp7xsryvqxap617gnvi4-closure-info/registration", will be passed to user space.149machine # [ 0.024409] random: crng init done150machine # [ 0.024410] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes151machine # [ 0.025277] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)152machine # [ 0.025305] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)153machine # [ 0.025328] Fallback order for Node 0: 0154machine # [ 0.025330] Built 1 zonelists, mobility grouping on. Total pages: 262006155machine # [ 0.025330] Policy zone: DMA32156machine # [ 0.027311] mem auto-init: stack:all(zero), heap alloc:on, heap free:off157machine # [ 0.029985] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1158machine # [ 0.031793] allocated 2097152 bytes of page_ext159machine # [ 0.039991] ftrace: allocating 48787 entries in 192 pages160machine # [ 0.039992] ftrace: allocated 192 pages with 2 groups161machine # [ 0.040642] Dynamic Preempt: lazy162machine # [ 0.040770] rcu: Preemptible hierarchical RCU implementation.163machine # [ 0.040771] rcu: RCU event tracing is enabled.164machine # [ 0.040771] rcu: RCU restricting CPUs from NR_CPUS=384 to nr_cpu_ids=1.165machine # [ 0.040772] Trampoline variant of Tasks RCU enabled.166machine # [ 0.040772] Rude variant of Tasks RCU enabled.167machine # [ 0.040773] Tracing variant of Tasks RCU enabled.168machine # [ 0.040773] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.169machine # [ 0.040774] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1170machine # [ 0.040821] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.171machine # [ 0.040822] RCU Tasks Rude: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.172machine # [ 0.040823] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.173machine # [ 0.044756] NR_IRQS: 24832, nr_irqs: 256, preallocated irqs: 16174machine # [ 0.044993] rcu: srcu_init: Setting srcu_struct sizes based on contention.175machine # [ 0.044997] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns176machine # [ 0.045078] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)177machine # [ 0.050690] Console: colour VGA+ 80x25178machine # [ 0.050692] printk: legacy console [tty0] enabled179machine # [ 0.083628] printk: legacy console [ttyS0] enabled180machine # [ 0.231238] ACPI: Core revision 20250807181machine # [ 0.232341] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns182machine # [ 0.234433] APIC: Switch to symmetric I/O mode setup183machine # [ 0.235708] x2apic enabled184machine # [ 0.236590] APIC: Switched APIC routing to: physical x2apic185machine # [ 0.238651] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1186machine # [ 0.239996] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns187machine # [ 0.242247] Calibrating delay loop (skipped) preset value.. 7585.74 BogoMIPS (lpj=3792874)188machine # [ 0.244317] x86/cpu: User Mode Instruction Prevention (UMIP) activated189machine # [ 0.245351] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127190machine # [ 0.246247] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0191machine # [ 0.247250] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto192machine # [ 0.249247] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl193machine # [ 0.250247] Spectre V2 : Mitigation: Retpolines194machine # [ 0.251247] Speculative Return Stack Overflow: Mitigation: Safe RET195machine # [ 0.252247] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization196machine # [ 0.254247] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT197machine # [ 0.255247] Spectre V2 : Enabling Restricted Speculation for firmware calls198machine # [ 0.256248] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier199machine # [ 0.258247] active return thunk: srso_alias_return_thunk200machine # [ 0.259261] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'201machine # [ 0.261247] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'202machine # [ 0.262247] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'203machine # [ 0.264247] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'204machine # [ 0.266246] x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'205machine # [ 0.267247] x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'206machine # [ 0.268247] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256207machine # [ 0.269247] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8208machine # [ 0.271247] x86/fpu: xstate_offset[11]: 840, xstate_sizes[11]: 16209machine # [ 0.272247] x86/fpu: xstate_offset[12]: 856, xstate_sizes[12]: 24210machine # [ 0.273247] x86/fpu: Enabled xstate features 0x1a07, context size is 880 bytes, using 'compacted' format.211machine # [ 0.300463] Freeing SMP alternatives memory: 44K212machine # [ 0.301248] pid_max: default: 32768 minimum: 301213machine # [ 0.302295] LSM: initializing lsm=capability,landlock,yama,bpf,ima214machine # [ 0.303337] landlock: Up and running.215machine # [ 0.304898] Yama: becoming mindful.216machine # [ 0.305451] LSM support for eBPF active217machine # [ 0.307007] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)218machine # [ 0.308266] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)219machine # [ 0.310063] smpboot: CPU0: AMD Ryzen Threadripper PRO 5965WX 24-Cores (family: 0x19, model: 0x8, stepping: 0x2)220machine # [ 0.310689] Performance Events: Fam17h+ core perfctr, AMD PMU driver.221machine # [ 0.311250] ... version: 0222machine # [ 0.312231] ... bit width: 48223machine # [ 0.313086] ... generic counters: 6224machine # [ 0.314022] ... generic bitmap: 000000000000003f225machine # [ 0.315248] ... fixed-purpose counters: 0226machine # [ 0.316230] ... fixed-purpose bitmap: 0000000000000000227machine # [ 0.317233] ... value mask: 0000ffffffffffff228machine # [ 0.318243] ... max period: 00007fffffffffff229machine # [ 0.319248] ... global_ctrl mask: 000000000000003f230machine # [ 0.320342] signal: max sigframe size: 3376231machine # [ 0.321354] rcu: Hierarchical SRCU implementation.232machine # [ 0.322253] rcu: Max phase no-delay instances is 400.233machine # [ 0.326920] smp: Bringing up secondary CPUs ...234machine # [ 0.327260] smp: Brought up 1 node, 1 CPU235machine # [ 0.328201] smpboot: Total of 1 processors activated (7585.74 BogoMIPS)236machine # [ 0.329388] Memory: 943036K/1048024K available (17247K kernel code, 2727K rwdata, 13616K rodata, 3652K init, 2976K bss, 97560K reserved, 0K cma-reserved)237machine # [ 0.330419] devtmpfs: initialized238machine # [ 0.331372] x86/mm: Memory block size: 128MB239machine # [ 0.333091] posixtimers hash table entries: 512 (order: 1, 8192 bytes, linear)240machine # [ 0.334278] futex hash table entries: 256 (16384 bytes on 1 NUMA nodes, total 16 KiB, linear).241machine # [ 0.335307] pinctrl core: initialized pinctrl subsystem242machine # [ 0.336524] PM: RTC time: 21:45:50, date: 2026-09-23243machine # [ 0.339557] NET: Registered PF_NETLINK/PF_ROUTE protocol family244machine # [ 0.340567] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations245machine # [ 0.341268] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations246machine # [ 0.342367] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations247machine # [ 0.343255] audit: initializing netlink subsys (disabled)248machine # [ 0.344490] thermal_sys: Registered thermal governor 'fair_share'249machine # [ 0.344492] thermal_sys: Registered thermal governor 'bang_bang'250machine # [ 0.345249] thermal_sys: Registered thermal governor 'step_wise'251machine # [ 0.346252] audit: type=2000 audit(1790199951.339:1): state=initialized audit_enabled=0 res=1252machine # [ 0.348250] thermal_sys: Registered thermal governor 'user_space'253machine # [ 0.348252] thermal_sys: Registered thermal governor 'power_allocator'254machine # [ 0.349263] cpuidle: using governor menu255machine # [ 0.352075] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5256machine # [ 0.353528] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]257machine # [ 0.354250] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry258machine # [ 0.355257] PCI: Using configuration type 1 for base access259machine # [ 0.356423] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.260machine # [ 0.365449] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages261machine # [ 0.366248] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page262machine # [ 0.371248] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages263machine # [ 0.372248] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page264machine # [ 0.378445] ACPI: Added _OSI(Module Device)265machine # [ 0.379249] ACPI: Added _OSI(Processor Device)266machine # [ 0.382248] ACPI: Added _OSI(Processor Aggregator Device)267machine # [ 0.387617] ACPI: 1 ACPI AML tables successfully acquired and loaded268machine # [ 0.393618] ACPI: Interpreter enabled269machine # [ 0.394262] ACPI: PM: (supports S0 S3 S4 S5)270machine # [ 0.395249] ACPI: Using IOAPIC for interrupt routing271machine # [ 0.396292] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug272machine # [ 0.399038] PCI: Using E820 reservations for host bridge windows273machine # [ 0.400386] ACPI: Enabled 2 GPEs in block 00 to 3F274machine # [ 0.405173] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])275machine # [ 0.406253] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]276machine # [ 0.407329] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]277machine # [ 0.408367] acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]278machine # [ 0.409695] PCI host bridge to bus 0000:00279machine # [ 0.410253] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]280machine # [ 0.411249] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]281machine # [ 0.412249] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]282machine # [ 0.413249] pci_bus 0000:00: root bus resource [mem 0x40000000-0xafffffff window]283machine # [ 0.414249] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]284machine # [ 0.415249] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]285machine # [ 0.416250] pci_bus 0000:00: root bus resource [bus 00-ff]286machine # [ 0.417342] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint287machine # [ 0.418969] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint288machine # [ 0.422335] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]289machine # [ 0.423271] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]290machine # [ 0.424304] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]291machine # [ 0.425538] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]292machine # [ 0.427109] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint293machine # [ 0.430261] pci 0000:00:02.0: BAR 0 [io 0xc100-0xc11f]294machine # [ 0.431260] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]295machine # [ 0.432292] pci 0000:00:02.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]296machine # [ 0.433261] pci 0000:00:02.0: ROM [mem 0xfeb40000-0xfeb7ffff pref]297machine # [ 0.435366] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint298machine # [ 0.437260] pci 0000:00:03.0: BAR 0 [io 0xc120-0xc13f]299machine # [ 0.438260] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]300machine # [ 0.439291] pci 0000:00:03.0: BAR 4 [mem 0xfe004000-0xfe007fff 64bit pref]301machine # [ 0.441209] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint302machine # [ 0.444207] pci 0000:00:04.0: BAR 0 [io 0xc000-0xc07f]303machine # [ 0.445270] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]304machine # [ 0.446329] pci 0000:00:04.0: BAR 4 [mem 0xfe008000-0xfe00bfff 64bit pref]305machine # [ 0.448380] pci 0000:00:05.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint306machine # [ 0.450268] pci 0000:00:05.0: BAR 0 [io 0xc140-0xc15f]307machine # [ 0.451261] pci 0000:00:05.0: BAR 1 [mem 0xfebd4000-0xfebd4fff]308machine # [ 0.452291] pci 0000:00:05.0: BAR 4 [mem 0xfe00c000-0xfe00ffff 64bit pref]309machine # [ 0.453261] pci 0000:00:05.0: ROM [mem 0xfeb80000-0xfebbffff pref]310machine # [ 0.455203] pci 0000:00:06.0: [1af4:1052] type 00 class 0x090000 conventional PCI endpoint311machine # [ 0.457156] pci 0000:00:06.0: BAR 1 [mem 0xfebd5000-0xfebd5fff]312machine # [ 0.458291] pci 0000:00:06.0: BAR 4 [mem 0xfe010000-0xfe013fff 64bit pref]313machine # [ 0.460249] pci 0000:00:07.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint314machine # [ 0.462278] pci 0000:00:07.0: BAR 1 [mem 0xfebd6000-0xfebd6fff]315machine # [ 0.463291] pci 0000:00:07.0: BAR 4 [mem 0xfe014000-0xfe017fff 64bit pref]316machine # [ 0.465238] pci 0000:00:08.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint317machine # [ 0.467270] pci 0000:00:08.0: BAR 1 [mem 0xfebd7000-0xfebd7fff]318machine # [ 0.468291] pci 0000:00:08.0: BAR 4 [mem 0xfe018000-0xfe01bfff 64bit pref]319machine # [ 0.470203] pci 0000:00:09.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint320machine # [ 0.472282] pci 0000:00:09.0: BAR 1 [mem 0xfebd8000-0xfebd8fff]321machine # [ 0.473315] pci 0000:00:09.0: BAR 4 [mem 0xfe01c000-0xfe01ffff 64bit pref]322machine # [ 0.475659] pci 0000:00:0a.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint323machine # [ 0.478097] pci 0000:00:0a.0: BAR 0 [io 0xc080-0xc0bf]324machine # [ 0.479268] pci 0000:00:0a.0: BAR 1 [mem 0xfebd9000-0xfebd9fff]325machine # [ 0.480328] pci 0000:00:0a.0: BAR 4 [mem 0xfe020000-0xfe023fff 64bit pref]326machine # [ 0.482518] pci 0000:00:0b.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint327machine # [ 0.484260] pci 0000:00:0b.0: BAR 0 [io 0xc160-0xc17f]328machine # [ 0.485261] pci 0000:00:0b.0: BAR 1 [mem 0xfebda000-0xfebdafff]329machine # [ 0.486297] pci 0000:00:0b.0: BAR 4 [mem 0xfe024000-0xfe027fff 64bit pref]330machine # [ 0.488247] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint331machine # [ 0.490132] pci 0000:00:1d.0: BAR 4 [io 0xc180-0xc19f]332machine # [ 0.491486] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint333machine # [ 0.492925] pci 0000:00:1d.1: BAR 4 [io 0xc1a0-0xc1bf]334machine # [ 0.493542] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint335machine # [ 0.497338] pci 0000:00:1d.2: BAR 4 [io 0xc1c0-0xc1df]336machine # [ 0.498787] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint337machine # [ 0.501265] pci 0000:00:1d.7: BAR 0 [mem 0xfebdb000-0xfebdbfff]338machine # [ 0.502656] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint339machine # [ 0.503847] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO340machine # [ 0.505763] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint341machine # [ 0.508048] pci 0000:00:1f.2: BAR 4 [io 0xc1e0-0xc1ff]342machine # [ 0.509268] pci 0000:00:1f.2: BAR 5 [mem 0xfebdc000-0xfebdcfff]343machine # [ 0.510945] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint344machine # [ 0.513074] pci 0000:00:1f.3: BAR 4 [io 0x0700-0x073f]345machine # [ 0.520745] ACPI: PCI: Interrupt link LNKA configured for IRQ 10346machine # [ 0.521440] ACPI: PCI: Interrupt link LNKB configured for IRQ 10347machine # [ 0.522422] ACPI: PCI: Interrupt link LNKC configured for IRQ 11348machine # [ 0.523411] ACPI: PCI: Interrupt link LNKD configured for IRQ 11349machine # [ 0.524434] ACPI: PCI: Interrupt link LNKE configured for IRQ 10350machine # [ 0.525453] ACPI: PCI: Interrupt link LNKF configured for IRQ 10351machine # [ 0.526494] ACPI: PCI: Interrupt link LNKG configured for IRQ 11352machine # [ 0.527419] ACPI: PCI: Interrupt link LNKH configured for IRQ 11353machine # [ 0.528310] ACPI: PCI: Interrupt link GSIA configured for IRQ 16354machine # [ 0.529265] ACPI: PCI: Interrupt link GSIB configured for IRQ 17355machine # [ 0.530266] ACPI: PCI: Interrupt link GSIC configured for IRQ 18356machine # [ 0.531263] ACPI: PCI: Interrupt link GSID configured for IRQ 19357machine # [ 0.532266] ACPI: PCI: Interrupt link GSIE configured for IRQ 20358machine # [ 0.533266] ACPI: PCI: Interrupt link GSIF configured for IRQ 21359machine # [ 0.534266] ACPI: PCI: Interrupt link GSIG configured for IRQ 22360machine # [ 0.535266] ACPI: PCI: Interrupt link GSIH configured for IRQ 23361machine # [ 0.537046] iommu: Default domain type: Translated362machine # [ 0.538116] iommu: DMA domain TLB invalidation policy: lazy mode363machine # [ 0.539461] ACPI: bus type USB registered364machine # [ 0.540301] usbcore: registered new interface driver usbfs365machine # [ 0.541266] usbcore: registered new interface driver hub366machine # [ 0.542260] usbcore: registered new device driver usb367machine # [ 0.543897] NetLabel: Initializing368machine # [ 0.544253] NetLabel: domain hash size = 128369machine # [ 0.545248] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO370machine # [ 0.546282] NetLabel: unlabeled traffic allowed by default371machine # [ 0.547260] PCI: Using ACPI for IRQ routing372machine # [ 0.637208] pci 0000:00:01.0: vgaarb: setting as boot VGA device373machine # [ 0.637244] pci 0000:00:01.0: vgaarb: bridge control possible374machine # [ 0.637244] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none375machine # [ 0.637253] vgaarb: loaded376machine # [ 0.638452] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0377machine # [ 0.639252] hpet0: 3 comparators, 64-bit 100.000000 MHz counter378machine # [ 0.644322] clocksource: Switched to clocksource kvm-clock379machine # [ 0.648904] VFS: Disk quotas dquot_6.6.0380machine # [ 0.650285] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)381machine # [ 0.652623] pnp: PnP ACPI init382machine # [ 0.653845] ACPI: IRQ 4 override to edge(!), high(!)383machine # [ 0.655329] system 00:04: [mem 0xb0000000-0xbfffffff window] has been reserved384machine # [ 0.657507] pnp: PnP ACPI: found 5 devices385machine # [ 0.665066] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns386machine # [ 0.666997] clocksource: Switched to clocksource acpi_pm387machine # [ 0.668327] NET: Registered PF_INET protocol family388machine # [ 0.669614] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)389machine # [ 0.684468] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)390machine # [ 0.686419] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)391machine # [ 0.688161] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)392machine # [ 0.689934] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)393machine # [ 0.691562] TCP: Hash tables configured (established 8192 bind 8192)394machine # [ 0.693023] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear)395machine # [ 0.694756] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)396machine # [ 0.696230] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)397machine # [ 0.697847] NET: Registered PF_UNIX/PF_LOCAL protocol family398machine # [ 0.699145] NET: Registered PF_XDP protocol family399machine # [ 0.700310] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]400machine # [ 0.701686] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]401machine # [ 0.703064] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]402machine # [ 0.704607] pci_bus 0000:00: resource 7 [mem 0x40000000-0xafffffff window]403machine # [ 0.706119] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]404machine # [ 0.707659] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]405machine # [ 0.709810] ACPI: \_SB_.GSIA: Enabled at IRQ 16406machine # [ 0.712015] ACPI: \_SB_.GSIB: Enabled at IRQ 17407machine # [ 0.714183] ACPI: \_SB_.GSIC: Enabled at IRQ 18408machine # [ 0.716379] ACPI: \_SB_.GSID: Enabled at IRQ 19409machine # [ 0.718231] PCI: CLS 0 bytes, default 64410machine # [ 0.719410] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns411machine # [ 0.721652] Trying to unpack rootfs image as initramfs...412machine # [ 0.761674] Initialise system trusted keyrings413machine # [ 0.765322] workingset: timestamp_bits=40 max_order=18 bucket_order=0414machine # [ 0.783975] Key type asymmetric registered415machine # [ 0.784972] Asymmetric key parser 'x509' registered416machine # [ 0.790320] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)417machine # [ 0.792091] io scheduler mq-deadline registered418machine # [ 0.793174] io scheduler kyber registered419machine # [ 0.797308] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled420machine # [ 0.798995] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A421machine # [ 0.805203] Linux agpgart interface v0.103422machine # [ 0.806235] ACPI: bus type drm_connector registered423machine # [ 0.811412] usbcore: registered new interface driver usbserial_generic424machine # [ 0.812876] usbserial: USB Serial support registered for generic425machine # [ 0.816290] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled426machine # [ 0.818067] drop_monitor: Initializing network drop monitor service427machine # [ 0.822413] NET: Registered PF_INET6 protocol family428machine # [ 0.826524] Segment Routing with IPv6429machine # [ 0.827462] In-situ OAM (IOAM) with IPv6430machine # [ 0.830580] IPI shorthand broadcast: enabled431machine # [ 0.838743] sched_clock: Marking stable (646024519, 192247781)->(964676903, -126404603)432machine # [ 0.844352] registered taskstats version 1433machine # [ 0.845540] Loading compiled-in X.509 certificates434machine # [ 0.862335] Demotion targets for Node 0: null435machine # [ 0.865326] Key type .fscrypt registered436machine # [ 0.866277] Key type fscrypt-provisioning registered437machine # [ 0.869378] ima: No TPM chip found, activating TPM-bypass!438machine # [ 0.870630] ima: Allocated hash algorithm: sha1439machine # [ 0.873302] ima: No architecture policies found440machine # [ 0.876291] PM: Magic number: 10:213:804441machine # [ 0.878043] RAS: Correctable Errors collector initialized.442machine # [ 0.888670] clk: Disabling unused clocks443machine # [ 0.891294] PM: genpd: Disabling unused power domains444machine # [ 1.014796] Freeing initrd memory: 29056K445machine # [ 1.017926] Freeing unused decrypted memory: 2028K446machine # [ 1.020564] Freeing unused kernel image (initmem) memory: 3652K447machine # [ 1.021970] Write protecting the kernel read-only data: 32768k448machine # [ 1.024047] Freeing unused kernel image (text/rodata gap) memory: 1184K449machine # [ 1.025884] Freeing unused kernel image (rodata/data gap) memory: 720K450machine # [ 1.067087] x86/mm: Checked W+X mappings: passed, no W+X pages found.451machine # [ 1.068573] Run /init as init process452machine # [ 1.077944] systemd[1]: Inserted module 'autofs4'453machine # [ 1.096676] fuse: init (API version 7.45)454machine # [ 1.103717] ACPI: \_SB_.GSIG: Enabled at IRQ 22455machine # [ 1.106608] ACPI: \_SB_.GSIH: Enabled at IRQ 23456machine # [ 1.110204] ACPI: \_SB_.GSIE: Enabled at IRQ 20457machine # [ 1.113001] ACPI: \_SB_.GSIF: Enabled at IRQ 21458machine # [ 1.119150] virtiofs virtio5: discovered new tag: nix-store459machine # [ 1.121498] virtiofs virtio5: virtio_fs_setup_dax: No cache capability460machine # [ 1.129384] virtiofs virtio6: discovered new tag: shared461machine # [ 1.132686] virtiofs virtio6: virtio_fs_setup_dax: No cache capability462machine # [ 1.138404] virtiofs virtio7: discovered new tag: xchg463machine # [ 1.141148] virtiofs virtio7: virtio_fs_setup_dax: No cache capability464machine # [ 1.162349] systemd[1]: Successfully made /usr/ read-only.465machine # [ 1.499129] systemd[1]: systemd 261.2 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)466machine # [ 1.508194] systemd[1]: Detected virtualization kvm.467machine # [ 1.509588] systemd[1]: Detected architecture x86-64.468machine # [ 1.510864] systemd[1]: Running in initrd.469machine # [ 1.512059] systemd[1]: Initializing machine ID from random generator.470machine # [ 1.513620] systemd[1]: Hostname set to <machine>.471machine # [ 1.705353] systemd[1]: bpf-restrict-fs: LSM BPF program attached472machine # [ 1.739728] systemd[1]: Queued start job for default target Initrd Default Target.473machine # [ 1.745208] systemd[1]: Created slice Slice /system/modprobe.474machine # [ 1.747026] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.475machine # [ 1.749701] systemd[1]: Expecting device /dev/disk/by-label/nixos...476machine # [ 1.751870] systemd[1]: Reached target Path Units.477machine # [ 1.753641] systemd[1]: Reached target Slice Units.478machine # [ 1.755350] systemd[1]: Reached target Swaps.479machine # [ 1.756730] systemd[1]: Reached target Timer Units.480machine # [ 1.758221] systemd[1]: Listening on D-Bus System Message Bus Socket.481machine # [ 1.759937] systemd[1]: Listening on Journal Socket (/dev/log).482machine # [ 1.761475] systemd[1]: Listening on Journal Sockets.483machine # [ 1.762815] systemd[1]: Listening on udev Control Socket.484machine # [ 1.764194] systemd[1]: Listening on udev Kernel Socket.485machine # [ 1.765554] systemd[1]: Reached target Socket Units.486machine # [ 1.767502] systemd[1]: Starting Create List of Static Device Nodes...487machine # [ 1.774617] systemd[1]: Starting Load Kernel Module configfs...488machine # [ 1.785412] systemd[1]: Starting Journal Service...489machine # [ 1.802165] systemd[1]: Starting Load Kernel Modules...490machine # [ 1.809382] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os491machine # [ 1.816643] systemd[1]: Starting Coldplug All udev Devices...492machine # [ 1.824532] systemd-journald[66]: Collecting audit messages is disabled.493machine # [ 1.835369] systemd[1]: Finished Create List of Static Device Nodes.494machine # [ 1.842874] systemd[1]: modprobe@configfs.service: Deactivated successfully.495machine # [ 1.850748] systemd[1]: Finished Load Kernel Module configfs.496machine # [ 1.856921] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.497machine # [ 1.860006] systemd[1]: Kernel Configuration File System skipped, unmet condition check ConditionPathExists=/sys/kernel/config498machine # [ 1.869477] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev499machine # [ 1.871578] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...500machine # [ 1.904570] systemd[1]: Finished Load Kernel Modules.501machine # [ 1.910373] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.502machine # [ 1.919431] systemd[1]: Starting Apply Kernel Variables...503machine # [ 1.932858] systemd[1]: Starting Create Static Device Nodes in /dev...504machine # [ 1.951443] systemd[1]: Finished Apply Kernel Variables.505machine # [ 1.960953] systemd[1]: Finished Create Static Device Nodes in /dev.506machine # [ 1.966557] systemd[1]: Reached target Preparation for Local File Systems.507machine # [ 1.972338] systemd[1]: Reached target Local File Systems.508machine # [ 1.978413] systemd[1]: Starting Rule-based Manager for Device Events and Files...509machine # [ 1.789534] systemd-modules-load[67]: Inserted module 'dm_mod'510machine # [ 1.792528] systemd-modules-load[67]: Inserted module 'virtio_balloon'511machine # [ 1.795378] systemd-modules-load[67]: Inserted module 'virtio_gpu'512machine # [ 1.993433] systemd[1]: Started Journal Service.513machine # [ 1.816417] systemd[1]: Starting Create System Files and Directories...514machine # [ 1.839563] systemd[1]: Finished Create System Files and Directories.515machine # [ 1.843430] systemd-udevd[74]: Using default interface naming scheme 'v261'.516machine # [ 1.869412] systemd[1]: Started Rule-based Manager for Device Events and Files.517machine # [ 1.894140] systemd[1]: Finished Coldplug All udev Devices.518machine # [ 1.895720] systemd[1]: Reached target System Initialization.519machine # [ 1.898083] systemd[1]: Reached target Basic System.520machine # [ 2.321976] virtio_blk virtio2: 1/0/0 default/read/poll queues521machine # [ 2.327039] ehci-pci 0000:00:1d.7: EHCI Host Controller522machine # [ 2.327983] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 1523machine # [ 2.330086] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebdb000524machine # [ 2.331800] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12525machine # [ 2.334012] virtio_blk virtio2: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)526machine # [ 2.337274] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00527machine # [ 2.338408] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.18528machine # [ 2.341259] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1529machine # [ 2.343724] serio: i8042 KBD port at 0x60,0x64 irq 1530machine # [ 2.344650] serio: i8042 AUX port at 0x60,0x64 irq 12531machine # [ 2.345769] usb usb1: Product: EHCI Host Controller532machine # [ 2.346781] usb usb1: Manufacturer: Linux 6.18.52 ehci_hcd533machine # [ 2.347864] usb usb1: SerialNumber: 0000:00:1d.7534machine # [ 2.349981] hub 1-0:1.0: USB hub found535machine # [ 2.352117] hub 1-0:1.0: 6 ports detected536machine # [ 2.359890] uhci_hcd 0000:00:1d.0: UHCI Host Controller537machine # [ 2.360824] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2538machine # [ 2.374682] uhci_hcd 0000:00:1d.0: detected 2 ports539machine # [ 2.381303] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c180540machine # [ 2.388779] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18541machine # [ 2.390204] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1542machine # [ 2.404778] usb usb2: Product: UHCI Host Controller543machine # [ 2.411074] usb usb2: Manufacturer: Linux 6.18.52 uhci_hcd544machine # [ 2.412177] usb usb2: SerialNumber: 0000:00:1d.0545machine # [ 2.416294] hub 2-0:1.0: USB hub found546machine # [ 2.422823] hub 2-0:1.0: 2 ports detected547machine # [ 2.431276] SCSI subsystem initialized548machine # [ 2.240455] systemd[1]: Starting Virtual Console Setup...549machine # [ 2.452289] uhci_hcd 0000:00:1d.1: UHCI Host Controller550machine # [ 2.453197] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3551machine # [ 2.266154] (udev-worker)[89]: Network interface NamePolicy= disabled on kernel command line.552machine # [ 2.272138] systemd-vconsole-setup[97]: Configuration of first virtual console was skipped, ignoring remaining ones.553machine # [ 2.274253] systemd[1]: Finished Virtual Console Setup.554machine # [ 2.287442] (udev-worker)[85]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.555machine # [ 2.290217] (udev-worker)[85]: Network interface NamePolicy= disabled on kernel command line.556machine # [ 2.485885] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0557machine # [ 2.490369] uhci_hcd 0000:00:1d.1: detected 2 ports558machine # [ 2.495369] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c1a0559machine # [ 2.507303] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18560machine # [ 2.508719] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1561machine # [ 2.325926] systemd[1]: Found device /dev/disk/by-label/nixos.562machine # [ 2.327978] systemd[1]: Reached target Initrd Root Device.563machine # [ 2.521356] usb usb3: Product: UHCI Host Controller564machine # [ 2.331173] systemd[1]: Starting File System Check on /dev/disk/by-label/nixos...565machine # [ 2.528449] usb usb3: Manufacturer: Linux 6.18.52 uhci_hcd566machine # [ 2.529595] usb usb3: SerialNumber: 0000:00:1d.1567machine # [ 2.530833] hub 3-0:1.0: USB hub found568machine # [ 2.538451] hub 3-0:1.0: 2 ports detected569machine # [ 2.544342] uhci_hcd 0000:00:1d.2: UHCI Host Controller570machine # [ 2.546294] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4571machine # [ 2.549334] uhci_hcd 0000:00:1d.2: detected 2 ports572machine # [ 2.552617] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c1c0573machine # [ 2.365224] systemd-fsck[106]: nixos: clean, 12/65536 files, 13019/262144 blocks574machine # [ 2.562423] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18575machine # [ 2.563865] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1576machine # [ 2.568400] usb usb4: Product: UHCI Host Controller577machine # [ 2.381218] systemd[1]: Finished File System Check on /dev/disk/by-label/nixos.578machine # [ 2.575200] usb usb4: Manufacturer: Linux 6.18.52 uhci_hcd579machine # [ 2.576409] usb usb4: SerialNumber: 0000:00:1d.2580machine # [ 2.578169] hub 4-0:1.0: USB hub found581machine # [ 2.579465] hub 4-0:1.0: 2 ports detected582machine # [ 2.581059] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode583machine # [ 2.589258] usb 1-1: new high-speed USB device number 2 using ehci-pci584machine # [ 2.594294] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)585machine # [ 2.595404] ahci 0000:00:1f.2: flags: 64bit ncq only586machine # [ 2.613172] scsi host0: ahci587machine # [ 2.616314] scsi host1: ahci588machine # [ 2.617695] scsi host2: ahci589machine # [ 2.622830] scsi host3: ahci590machine # [ 2.625575] scsi host4: ahci591machine # [ 2.629278] scsi host5: ahci592machine # [ 2.629954] ata1: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc100 irq 47 lpm-pol 1593machine # [ 2.633703] ata2: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc180 irq 47 lpm-pol 1594machine # [ 2.635199] ata3: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc200 irq 47 lpm-pol 1595machine # [ 2.636733] ata4: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc280 irq 47 lpm-pol 1596machine # [ 2.638261] ata5: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc300 irq 47 lpm-pol 1597machine # [ 2.639756] ata6: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc380 irq 47 lpm-pol 1598machine # [ 2.718555] usb 1-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00599machine # [ 2.720571] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=10600machine # [ 2.722737] usb 1-1: Product: QEMU USB Tablet601machine # [ 2.724115] usb 1-1: Manufacturer: QEMU602machine # [ 2.725393] usb 1-1: SerialNumber: 28754-0000:00:1d.7-1603machine # [ 2.741591] hid: raw HID events driver (C) Jiri Kosina604machine # [ 2.641506] systemd[1]: Mounting /sysroot...605machine # [ 2.949556] ata5: SATA link down (SStatus 0 SControl 300)606machine # [ 2.951309] ata6: SATA link down (SStatus 0 SControl 300)607machine # [ 2.953312] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)608machine # [ 2.955005] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100609machine # [ 2.956739] ata3.00: applying bridge limits610machine # [ 2.958095] ata3.00: configured for UDMA/100611machine # [ 2.959516] ata4: SATA link down (SStatus 0 SControl 300)612machine # [ 2.960988] ata2: SATA link down (SStatus 0 SControl 300)613machine # [ 2.962300] ata1: SATA link down (SStatus 0 SControl 300)614machine # [ 2.963842] scsi 2:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5615machine # [ 3.014975] usbcore: registered new interface driver usbhid616machine # [ 3.018685] usbhid: USB HID core driver617machine # [ 3.046412] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input2618machine # [ 3.053558] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0619machine # [ 3.058484] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray620machine # [ 3.066557] EXT4-fs (vda): mounted filesystem 95795e78-4a63-493f-abff-fd744b35a5f9 r/w with ordered data mode. Quota mode: none.621machine # [ 3.070988] cdrom: Uniform CD-ROM driver Revision: 3.20622machine # [ 2.882628] systemd[1]: Mounted /sysroot.623machine # [ 2.886089] systemd[1]: Reached target Initrd Root File System.624machine # [ 2.889958] systemd[1]: Starting Mountpoints Configured in the Real Root...625machine # [ 2.904397] systemd-sysroot-fstab-check[137]: /sysroot should be mounted in the initrd, will request daemon-reload.626machine # [ 2.907642] systemd[1]: Reload requested from client PID 137 ('systemd-sysroot') (unit initrd-parse-etc.service)...627machine # [ 2.910524] systemd[1]: Reloading...628machine # [ 2.985090] systemd[1]: Reloading finished in 75 ms.629machine # [ 2.992546] systemd-sysroot-fstab-check[137]: Requesting initrd-fs.target/start/replace...630machine # [ 2.996180] systemd-sysroot-fstab-check[137]: Requesting swap.target/start/replace...631machine # [ 3.001186] systemd[1]: initrd-parse-etc.service: Deactivated successfully.632machine # [ 3.003089] systemd[1]: Finished Mountpoints Configured in the Real Root.633machine # [ 3.004507] systemd[1]: initrd-parse-etc.service: Triggering OnSuccess= dependencies.634machine # [ 3.643141] systemd[1]: Mounting /sysroot/nix/.ro-store...635machine # [ 3.648090] systemd[1]: Mounting /sysroot/nix/.rw-store...636machine # [ 3.652802] systemd[1]: Mounting /sysroot/run...637machine # [ 3.655148] systemd[1]: Mounting /sysroot/tmp/shared...638machine # [ 3.661389] systemd[1]: Mounting /sysroot/tmp/xchg...639machine # [ 3.681802] systemd[1]: Mounted /sysroot/nix/.ro-store.640machine # [ 3.685340] systemd[1]: Mounted /sysroot/nix/.rw-store.641machine # [ 3.687739] systemd[1]: Mounted /sysroot/run.642machine # [ 3.690635] systemd[1]: Mounted /sysroot/tmp/shared.643machine # [ 3.691946] systemd[1]: Mounted /sysroot/tmp/xchg.644machine # [ 3.696677] systemd[1]: Starting rw-sysroot-nix-store.service...645machine # [ 3.706046] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.646machine # [ 3.708190] systemd[1]: Finished rw-sysroot-nix-store.service.647machine # [ 4.642212] systemd[1]: Mounting /sysroot/nix/store...648machine # [ 4.665220] systemd[1]: Mounted /sysroot/nix/store.649machine # [ 4.666262] systemd[1]: Reached target Initrd File Systems.650machine # [ 4.668361] systemd[1]: Starting Find NixOS closure...651machine # [ 4.672443] systemd[1]: Starting Create Volatile Files and Directories in the Real Root...652machine # [ 4.690183] systemd[1]: Finished Create Volatile Files and Directories in the Real Root.653machine # [ 4.692546] systemd[1]: sysroot-run-credentials-systemd\x2dtmpfiles\x2dsetup\x2dsysroot.service.mount: Deactivated successfully.654machine # [ 4.696461] systemd[1]: Finished Find NixOS closure.655machine # [ 4.698235] systemd[1]: Reached target Initrd Default Target.656machine # [ 4.700361] systemd[1]: Starting Cleaning Up and Shutting Down Daemons...657machine # [ 4.713217] systemd[1]: Stopped target Initrd Default Target.658machine # [ 4.714641] systemd[1]: Stopped target Basic System.659machine # [ 4.715961] systemd[1]: Stopped target Initrd Root Device.660machine # [ 4.718151] systemd[1]: Stopped target Path Units.661machine # [ 4.719169] systemd[1]: systemd-ask-password-console.path: Deactivated successfully.662machine # [ 4.720605] systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.663machine # [ 4.722229] systemd[1]: Stopped target Slice Units.664machine # [ 4.723272] systemd[1]: Stopped target Socket Units.665machine # [ 4.724716] systemd[1]: Stopped target System Initialization.666machine # [ 4.726364] systemd[1]: Stopped target Swaps.667machine # [ 4.727622] systemd[1]: Stopped target Timer Units.668machine # [ 4.729184] systemd[1]: dbus.socket: Deactivated successfully.669machine # [ 4.730367] systemd[1]: Closed D-Bus System Message Bus Socket.670machine # [ 4.731818] systemd[1]: initrd-find-nixos-closure.service: Deactivated successfully.671machine # [ 4.733555] systemd[1]: Stopped Find NixOS closure.672machine # [ 4.735173] systemd[1]: Starting rw-sysroot-nix-store.service...673machine # [ 4.736387] systemd[1]: systemd-sysctl.service: Deactivated successfully.674machine # [ 4.738149] systemd[1]: Stopped Apply Kernel Variables.675machine # [ 4.739311] systemd[1]: systemd-modules-load.service: Deactivated successfully.676machine # [ 4.742083] systemd[1]: Stopped Load Kernel Modules.677machine # [ 4.743140] systemd[1]: systemd-tmpfiles-setup-sysroot.service: Deactivated successfully.678machine # [ 4.744830] systemd[1]: Stopped Create Volatile Files and Directories in the Real Root.679machine # [ 4.747612] systemd[1]: systemd-tmpfiles-setup.service: Deactivated successfully.680machine # [ 4.750832] systemd[1]: Stopped Create System Files and Directories.681machine # [ 4.752117] systemd[1]: Stopped target Local File Systems.682machine # [ 4.753713] systemd[1]: Stopped target Preparation for Local File Systems.683machine # [ 4.755571] systemd[1]: systemd-udev-trigger.service: Deactivated successfully.684machine # [ 4.759934] systemd[1]: Stopped Coldplug All udev Devices.685machine # [ 4.761040] systemd[1]: Stopping Rule-based Manager for Device Events and Files...686machine # [ 4.762459] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.687machine # [ 4.763831] systemd[1]: Stopped Virtual Console Setup.688machine # [ 4.767551] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.689machine # [ 4.771368] systemd[1]: Finished rw-sysroot-nix-store.service.690machine # [ 4.773840] systemd[1]: initrd-cleanup.service: Deactivated successfully.691machine # [ 4.775892] systemd[1]: Finished Cleaning Up and Shutting Down Daemons.692machine # [ 4.778551] systemd[1]: systemd-udevd.service: Deactivated successfully.693machine # [ 4.780528] systemd[1]: Stopped Rule-based Manager for Device Events and Files.694machine # [ 4.783961] systemd[1]: systemd-udevd-control.socket: Deactivated successfully.695machine # [ 4.785601] systemd[1]: Closed udev Control Socket.696machine # [ 4.788095] systemd[1]: Starting Cleanup udev Database...697machine # [ 4.789212] systemd[1]: systemd-tmpfiles-setup-dev.service: Deactivated successfully.698machine # [ 4.790677] systemd[1]: Stopped Create Static Device Nodes in /dev.699machine # [ 4.792181] systemd[1]: systemd-tmpfiles-setup-dev-early.service: Deactivated successfully.700machine # [ 4.794170] systemd[1]: Stopped Create Static Device Nodes in /dev gracefully.701machine # [ 4.795545] systemd[1]: kmod-static-nodes.service: Deactivated successfully.702machine # [ 4.797129] systemd[1]: Stopped Create List of Static Device Nodes.703machine # [ 4.811196] systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.704machine # [ 4.814096] systemd[1]: Finished Cleanup udev Database.705machine # [ 4.815173] systemd[1]: Reached target Switch Root.706machine # [ 4.817153] systemd[1]: Starting NixOS Activation...707machine # [ 4.871872] initrd-nixos-activation-start[189]: booting system configuration /nix/store/k9zmdm9diivmzbp131b3wp1jj2i3gcs3-nixos-system-machine-test708machine # [ 4.895895] initrd-nixos-activation-start[189]: running activation script...709machine # [ 5.050420] initrd-nixos-activation-start[212]: setting up /etc...710machine # [ 5.145731] systemd[1]: initrd-nixos-activation.service: Deactivated successfully.711machine # [ 5.148134] systemd[1]: Finished NixOS Activation.712machine # [ 5.150148] systemd[1]: Starting Switch Root...713machine # [ 5.161896] systemd[1]: Switching root.714machine # [ 5.481444] systemd-journald[66]: Received SIGTERM from PID 1 (systemd).715machine # [ 5.656767] NET: Registered PF_VSOCK protocol family716machine # [ 6.010849] systemd[1]: systemd 261.2 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)717machine # [ 6.017763] systemd[1]: Detected virtualization kvm.718machine # [ 6.019014] systemd[1]: Detected architecture x86-64.719machine # [ 6.020262] systemd[1]: Detected first boot.720machine # [ 6.022141] systemd[1]: Initializing machine ID from random generator.721machine # [ 6.233500] systemd[1]: bpf-restrict-fs: LSM BPF program attached722machine # [ 6.294360] systemd[1]: Applying preset policy.723machine # [ 6.450670] systemd[1]: Populated /etc with preset unit settings.724machine # [ 6.634345] systemd[1]: initrd-switch-root.service: Deactivated successfully.725machine # [ 6.636066] systemd[1]: Stopped initrd-switch-root.service.726machine # [ 6.638641] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.727machine # [ 6.640998] systemd[1]: Created slice Slice /system/getty.728machine # [ 6.642600] systemd[1]: Created slice User and Session Slice.729machine # [ 6.643779] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.730machine # [ 6.645298] systemd[1]: Started Forward Password Requests to Wall Directory Watch.731machine # [ 6.646677] systemd[1]: Expecting device /dev/hvc0...732machine # [ 6.647637] systemd[1]: Expecting device /dev/ttyS0...733machine # [ 6.648666] systemd[1]: Reached target Local Encrypted Volumes.734machine # [ 6.649765] systemd[1]: Stopped target initrd-fs.target.735machine # [ 6.650748] systemd[1]: Stopped target initrd-root-fs.target.736machine # [ 6.651782] systemd[1]: Stopped target initrd-switch-root.target.737machine # [ 6.652889] systemd[1]: Reached target Virtual Machines and Containers.738machine # [ 6.654108] systemd[1]: Reached target Path Units.739machine # [ 6.655062] systemd[1]: Reached target Remote File Systems.740machine # [ 6.656109] systemd[1]: Reached target Slice Units.741machine # [ 6.667034] systemd[1]: Reached target Swaps.742machine # [ 6.668883] systemd[1]: Listening on Query the User Interactively for a Password.743machine # [ 6.671501] systemd[1]: Listening on Process Core Dump Socket.744machine # [ 6.673491] systemd[1]: Listening on Credential Encryption/Decryption.745machine # [ 6.675590] systemd[1]: Listening on Factory Reset Management.746machine # [ 6.676778] systemd[1]: Listening on Hostname Service Socket.747machine # [ 6.679509] systemd[1]: Starting Journal Log Access Socket...748machine # [ 6.681121] systemd[1]: Listening on Journal Audit Socket.749machine # [ 6.683936] systemd[1]: Listening on Console Output Muting Service Socket.750machine # [ 6.685358] systemd[1]: Listening on Userspace Out-Of-Memory (OOM) Killer Socket.751machine # [ 6.686747] systemd[1]: TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-os752machine # [ 6.688364] systemd[1]: Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki753machine # [ 6.692600] systemd[1]: Listening on Disk Repartitioning Service Socket.754machine # [ 6.693935] systemd[1]: Listening on udev Control Socket.755machine # [ 6.695048] systemd[1]: Listening on udev Varlink Socket.756machine # [ 6.697269] systemd[1]: Mounting Huge Pages File System...757machine # [ 6.700334] systemd[1]: Mounting POSIX Message Queue File System...758machine # [ 6.707689] systemd[1]: Mounting Kernel Debug File System...759machine # [ 6.714486] systemd[1]: Mounting Kernel Trace File System...760machine # [ 6.723474] systemd[1]: Starting Create List of Static Device Nodes...761machine # [ 6.737186] systemd[1]: Starting Load Kernel Module configfs...762machine # [ 6.746236] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm763machine # [ 6.756556] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore764machine # [ 6.760675] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse765machine # [ 6.763745] systemd[1]: Mounting FUSE Control File System...766machine # [ 6.766246] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67767machine # [ 6.773103] systemd[1]: Starting Journal Service...768machine # [ 6.784400] systemd[1]: Starting Load Kernel Modules...769machine # [ 6.792741] systemd[1]: Starting Userspace Out-Of-Memory (OOM) Killer...770machine # [ 6.804245] systemd[1]: Starting Remount Root and Kernel File Systems...771machine # [ 6.808698] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os772machine # [ 6.817812] systemd-journald[282]: Collecting audit messages is enabled.773machine # [ 6.821665] systemd[1]: Starting Coldplug All udev Devices...774machine # [ 6.832040] systemd[1]: Listening on Journal Log Access Socket.775machine # [ 6.837785] systemd[1]: Mounted Huge Pages File System.776machine # [ 6.843468] systemd[1]: Mounted POSIX Message Queue File System.777machine # [ 6.653700] systemd[1]: Queued start job for default target Multi-User System.778machine # [ 6.659495] systemd[1]: systemd-journald.service: Deactivated successfully.779machine # [ 6.855345] loop: module loaded780machine # [ 6.856537] systemd[1]: Started Journal Service.781machine # [ 6.667614] systemd-modules-load[283]: Inserted module 'loop'782machine # [ 6.680081] systemd[1]: Mounted Kernel Debug File System.783machine # [ 6.681253] systemd[1]: Mounted Kernel Trace File System.784machine # [ 6.683201] systemd[1]: Finished Create List of Static Device Nodes.785machine # [ 6.684469] systemd[1]: modprobe@configfs.service: Deactivated successfully.786machine # [ 6.689978] systemd[1]: Finished Load Kernel Module configfs.787machine # [ 6.694491] systemd[1]: Finished Load Kernel Modules.788machine # [ 6.892254] EXT4-fs (vda): re-mounted 95795e78-4a63-493f-abff-fd744b35a5f9.789machine # [ 6.711524] systemd[1]: Finished Remount Root and Kernel File Systems.790machine # [ 6.714652] systemd[1]: Mounted FUSE Control File System.791machine # [ 6.718295] systemd[1]: Listening on Disk Image Download Service Socket.792machine # [ 6.723194] systemd[1]: Mounting Kernel Configuration File System...793machine # [ 6.728203] systemd-oomd[285]: No swap; memory pressure usage will be degraded794machine # [ 6.730076] systemd[1]: Starting Firewall...795machine # [ 6.733977] systemd[1]: Starting Flush Journal to Persistent Storage...796machine # [ 6.735322] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore797machine # [ 6.744077] systemd[1]: Starting Load/Save OS Random Seed...798machine # [ 6.766453] systemd[1]: Starting Apply Kernel Variables...799machine # [ 6.773601] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...800machine # [ 6.775164] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os801machine # [ 6.778168] systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.802machine # [ 6.999352] systemd-journald[282]: Received client request to flush runtime journal.803machine # [ 6.994515] systemd[1]: Finished Load/Save OS Random Seed.804machine # [ 6.998215] systemd[1]: Reached target First Boot Complete.805machine # [ 6.999956] systemd[1]: Mounted Kernel Configuration File System.806machine # [ 7.002226] systemd[1]: Finished Apply Kernel Variables.807machine # [ 7.003545] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.808machine # [ 7.005197] systemd[1]: Starting Create Static Device Nodes in /dev...809machine # [ 7.008176] systemd[1]: Finished Flush Journal to Persistent Storage.810machine # [ 7.036272] systemd[1]: Finished Create Static Device Nodes in /dev.811machine # [ 7.038127] systemd[1]: Reached target Preparation for Local File Systems.812machine # [ 7.042724] systemd[1]: Starting Rule-based Manager for Device Events and Files...813machine # [ 7.061397] systemd[1]: Finished Coldplug All udev Devices.814machine # [ 7.087249] systemd-udevd[325]: Using default interface naming scheme 'v261'.815machine # [ 7.133109] systemd[1]: Started Rule-based Manager for Device Events and Files.816machine # [ 7.264518] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse817machine # [ 7.351156] systemd[1]: Condition check resulted in /dev/hvc0 being skipped.818machine # [ 7.375447] systemd[1]: Condition check resulted in /dev/ttyS0 being skipped.819machine # [ 7.392487] (udev-worker)[353]: Network interface NamePolicy= disabled on kernel command line.820machine # [ 7.398415] (udev-worker)[354]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.821machine # [ 7.404774] (udev-worker)[354]: Network interface NamePolicy= disabled on kernel command line.822machine # [ 7.446431] systemd[1]: Mounting /run/wrappers...823machine # [ 7.487337] systemd[1]: Mounted /run/wrappers.824machine # [ 7.488667] systemd[1]: Reached target Local File Systems.825machine # [ 7.492548] systemd[1]: Listening on Boot Loader Control Service Socket.826machine # [ 7.498226] systemd[1]: Starting register-nix-paths.service...827machine # [ 7.505464] systemd[1]: Starting Create SUID/SGID Wrappers...828machine # [ 7.506632] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.829machine # [ 7.520111] systemd[1]: Starting Save Transient machine-id to Disk...830machine # [ 7.534236] systemd[1]: Starting Create System Files and Directories...831machine # [ 7.580102] systemd[1]: Condition check resulted in Virtio network device being skipped.832machine # [ 7.584121] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore833machine # [ 7.586344] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.834machine # [ 7.588677] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67835machine # [ 7.593472] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore836machine # [ 7.597237] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os837machine # [ 7.600833] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os838machine # [ 7.664544] systemd[1]: etc-machine\x2did.mount: Deactivated successfully.839machine # [ 7.671335] systemd[1]: Finished Save Transient machine-id to Disk.840machine # [ 7.675269] systemd[1]: Finished Create System Files and Directories.841machine # [ 7.688345] systemd[1]: Starting Rebuild Journal Catalog...842machine # [ 7.695365] systemd[1]: Starting Record System Boot/Shutdown in UTMP...843machine # [ 7.782576] systemd[1]: Finished Record System Boot/Shutdown in UTMP.844machine # [ 7.806970] systemd[1]: Finished Rebuild Journal Catalog.845machine # [ 7.814592] systemd[1]: Starting Update is Completed...846machine # [ 7.872232] systemd[1]: Finished Update is Completed.847machine # [ 7.912459] systemd[1]: Finished Firewall.848machine # [ 8.124796] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console849machine # [ 8.130957] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3850machine # [ 8.135938] mousedev: PS/2 mouse device common for all mice851machine # [ 8.015930] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.852machine # [ 8.019109] systemd[1]: Finished Create SUID/SGID Wrappers.853machine # [ 8.184489] ACPI: button: Power Button [PWRF]854machine # [ 8.242458] rtc_cmos PNP0B00:00: RTC can wake from S4855machine # [ 8.253763] rtc_cmos PNP0B00:00: registered as rtc0856machine # [ 8.253861] rtc_cmos PNP0B00:00: setting system clock to 2026-09-23T21:45:58 UTC (1790199958)857machine # [ 8.253950] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs858machine # [ 8.254384] systemd-journald[282]: Time jumped backwards, rotating.859machine # [ 8.262027] input: QEMU Virtio Keyboard as /devices/pci0000:00/0000:00:06.0/virtio4/input/input4860machine # [ 8.269774] parport_pc 00:02: reported by Plug and Play ACPI861machine # [ 8.269868] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]862machine # [ 8.274221] Console: switching to colour dummy device 80x25863machine # [ 8.330378] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized864machine # [ 8.379074] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt865machine # [ 8.379212] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD866machine # [ 8.205117] systemd[1]: Finished register-nix-paths.service.867machine # [ 8.207537] systemd[1]: Reached target System Initialization.868machine # [ 8.209724] systemd[1]: Started Discard unused filesystem blocks once a week.869machine # [ 8.212208] systemd[1]: Started Daily Cleanup of Temporary Directories.870machine # [ 8.213506] systemd[1]: Reached target Timer Units.871machine # [ 8.214864] systemd[1]: Listening on D-Bus System Message Bus Socket.872machine # [ 8.217625] systemd[1]: Listening on Nix Daemon Socket.873machine # [ 8.218718] systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.874machine # [ 8.220843] systemd[1]: Reached target Socket Units.875machine # [ 8.223631] systemd[1]: Reached target Basic System.876machine # [ 8.225322] systemd[1]: Started backdoor.service.877machine # [ 8.227241] systemd[1]: Starting Import lastlog data into lastlog2 database...878machine # [ 8.236146] systemd[1]: Starting Name Service Cache Daemon (nsncd)...879machine # [ 8.429991] [drm] Found bochs VGA, ID 0xb0c5.880machine # [ 8.429993] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.881machine # [ 8.434225] bochs-drm 0000:00:01.0: [drm] Registered 1 planes with drm panic882machine # [ 8.435165] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0883machine # [ 8.249856] systemd[1]: Starting Post-Boot Actions...884machine # [ 8.256766] systemd[1]: Started Reset console on configuration changes.885machine # [ 8.273895] systemd[1]: Starting resolvconf update...886machine # connecting to host...887machine # [ 8.505754] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input6888machine # [ 8.321247] systemd[1]: Starting D-Bus System Message Bus...889machine # [ 8.515180] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input5890machine # [ 8.328572] nsncd[508]: Sep 23 21:45:58.766 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"891machine # [ 8.337075] systemd[1]: Started Name Service Cache Daemon (nsncd).892machine # [ 8.340647] systemd[1]: Finished Post-Boot Actions.893machine: Guest shell says: b'Spawning backdoor root shell...\n'894machine: connected to guest root shell895machine: (connecting took 9.11 seconds)896machine: (finished: waiting for the VM to finish booting, in 9.27 seconds)897machine # [ 8.359494] systemd[1]: Reached target Host and Network Name Lookups.898machine # [ 8.362166] systemd[1]: Reached target User and Group Name Lookups.899machine # [ 8.377510] systemd[1]: Starting User Login Management...900machine # [ 8.381904] systemd[1]: Finished Import lastlog data into lastlog2 database.901machine # [ 8.479938] dbus-broker-launch[518]: Looking up NSS user entry for 'systemd-timesync'...902machine # [ 8.703713] Console: switching to colour frame buffer device 160x50903machine # [ 8.716148] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device904machine # [ 8.530191] systemd-logind[537]: New seat seat0.905machine # [ 8.533527] systemd-logind[537]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)906machine # [ 8.536355] systemd[1]: Started User Login Management.907machine # [ 8.537422] systemd-logind[537]: Watching system buttons on /dev/input/event2 (Power Button)908machine # [ 8.547396] systemd[1]: Stopped target Host and Network Name Lookups.909machine # [ 8.550281] systemd[1]: Stopping Host and Network Name Lookups...910machine # [ 8.551547] dbus-broker-launch[518]: NSS returned no entry for 'systemd-timesync'911machine # [ 8.552935] dbus-broker-launch[518]: Invalid user-name in /nix/store/8vxb8g4ixa8lcpz3vajpsdvhkgs50p29-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"912machine # [ 8.555699] systemd[1]: Stopped target User and Group Name Lookups.913machine # [ 8.560821] systemd[1]: Stopping User and Group Name Lookups...914machine # [ 8.563613] systemd[1]: Starting linger-users.service...915machine # [ 8.564701] systemd[1]: Stopping Name Service Cache Daemon (nsncd)...916machine # [ 8.571277] systemd[1]: Starting Virtual Console Setup...917machine # [ 8.574750] systemd[1]: nscd.service: Deactivated successfully.918machine # [ 8.584918] systemd[1]: Stopped Name Service Cache Daemon (nsncd).919machine # [ 8.613758] systemd[1]: Started D-Bus System Message Bus.920machine # [ 8.632400] dbus-broker-launch[518]: Ready921machine # [ 8.653090] systemd[1]: linger-users.service: Deactivated successfully.922machine # [ 8.655084] systemd[1]: Finished linger-users.service.923machine # [ 8.667159] systemd[1]: Starting Name Service Cache Daemon (nsncd)...924machine # [ 8.705726] systemd[1]: Started Name Service Cache Daemon (nsncd).925machine # [ 8.709417] systemd[1]: Reached target Host and Network Name Lookups.926machine # [ 8.711512] nsncd[601]: Sep 23 21:45:59.146 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"927machine # [ 8.715221] systemd[1]: Reached target User and Group Name Lookups.928machine # [ 8.720090] systemd[1]: Finished resolvconf update.929machine # [ 8.721248] systemd[1]: Reached target Preparation for Network.930machine # [ 8.916242] ppdev: user-space parallel port driver931machine # [ 8.729901] systemd[1]: Starting DHCP Client...932machine # [ 8.736220] systemd[1]: Starting Address configuration of eth1...933machine # [ 8.748860] systemd-logind[537]: Watching system buttons on /dev/input/event3 (QEMU Virtio Keyboard)934machine # [ 8.766253] systemd[1]: Starting Extra networking commands....935machine # [ 8.838937] network-addresses-eth1-start[621]: adding address 192.168.1.1/24... done936machine # [ 8.856319] network-addresses-eth1-start[621]: adding address 2001:db8:1::1/64... done937machine # [ 9.052083] iTCO_wdt iTCO_wdt.1.auto: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)938machine # [ 8.877402] systemd[1]: Finished Address configuration of eth1.939machine # [ 8.894903] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.940machine # [ 8.897941] systemd[1]: Stopped Virtual Console Setup.941machine # [ 8.913739] systemd[1]: Starting Virtual Console Setup...942machine # [ 9.124489] iTCO_wdt iTCO_wdt.1.auto: initialized. heartbeat=30 sec (nowayout=0)943machine # [ 9.012404] dhcpcd[636]: dhcpcd-10.3.2 starting944machine # [ 9.018950] systemd[1]: Finished Extra networking commands..945machine # [ 9.024293] systemd[1]: Reached target Network.946machine # [ 9.041402] dhcpcd[690]: dev: loaded udev947machine # [ 9.044076] systemd[1]: Starting PostgreSQL Server...948machine # [ 9.048629] systemd[1]: Starting Permit User Sessions...949machine # [ 9.261617] 8021q: 802.1Q VLAN Support v1.8950machine # [ 9.265850] 8021q: adding VLAN 0 to HW filter on device eth1951machine # [ 9.100151] systemd[1]: Finished Permit User Sessions.952machine # [ 9.105344] systemd[1]: Started Getty on tty1.953machine # [ 9.108714] systemd[1]: Reached target Login Prompts.954machine # [ 9.323377] kvm_amd: TSC scaling supported955machine # [ 9.323928] kvm_amd: Nested Virtualization enabled956machine # [ 9.330196] kvm_amd: Nested Paging enabled957machine # [ 9.330735] kvm_amd: LBR virtualization supported958machine # [ 9.334252] kvm_amd: Virtual VMLOAD VMSAVE supported959machine # [ 9.334901] kvm_amd: Virtual GIF supported960machine # [ 9.148950] systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.961machine # [ 9.400467] cfg80211: Loading compiled-in X.509 certificates for regulatory database962machine # [ 9.417257] EDAC MC: Ver: 3.0.0963machine # [ 9.421372] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'964machine # [ 9.422244] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'965machine # [ 9.427085] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2966machine # [ 9.428250] cfg80211: failed to load regulatory.db967machine # [ 9.472346] 8021q: adding VLAN 0 to HW filter on device eth0968machine # [ 9.281366] dhcpcd[690]: eth0: waiting for carrier969machine # [ 9.282665] dhcpcd[690]: eth0: carrier acquired970machine # [ 9.289873] postgresql-pre-start[702]: The files belonging to this database system will be owned by user "postgres".971machine # [ 9.292285] postgresql-pre-start[702]: This user must also own the server process.972machine # [ 9.293948] dhcpcd[690]: DUID 00:01:00:01:32:47:05:17:52:54:00:12:34:56973machine # [ 9.295429] dhcpcd[690]: eth0: IAID 00:12:34:56974machine # [ 9.296584] dhcpcd[690]: eth0: adding address fe80::5054:ff:fe12:3456975machine # [ 9.298846] postgresql-pre-start[702]: The database cluster will be initialized with locale "en_US.UTF-8".976machine # [ 9.301201] postgresql-pre-start[702]: The default database encoding has accordingly been set to "UTF8".977machine # [ 9.302814] postgresql-pre-start[702]: The default text search configuration will be set to "english".978machine # [ 9.304481] postgresql-pre-start[702]: Data page checksums are enabled.979machine # [ 9.305736] postgresql-pre-start[702]: fixing permissions on existing directory /var/lib/postgresql/18 ... ok980machine # [ 9.307541] postgresql-pre-start[702]: creating subdirectories ... ok981machine # [ 9.308693] postgresql-pre-start[702]: selecting dynamic shared memory implementation ... posix982machine # [ 9.352681] postgresql-pre-start[702]: selecting default "max_connections" ... 100983machine # [ 9.363532] systemd-vconsole-setup[657]: Configuration of first virtual console was skipped, ignoring remaining ones.984machine # [ 9.368214] systemd[1]: Finished Virtual Console Setup.985machine # [ 9.396749] postgresql-pre-start[702]: selecting default "shared_buffers" ... 128MB986machine # [ 9.577287] dhcpcd[690]: eth0: soliciting a DHCP lease987machine # [ 9.802511] NET: Registered PF_PACKET protocol family988machine # [ 9.615479] dhcpcd[690]: eth0: offered 10.0.2.15 from 10.0.2.2989machine # [ 9.616731] dhcpcd[690]: eth0: probing address 10.0.2.15/24990machine # [ 9.956545] postgresql-pre-start[702]: selecting default time zone ... UTC991machine # [ 9.959155] postgresql-pre-start[702]: creating configuration files ... ok992machine # [ 10.111671] postgresql-pre-start[702]: running bootstrap script ... ok993machine # [ 10.473623] postgresql-pre-start[702]: performing post-bootstrap initialization ... ok994machine # [ 10.643318] postgresql-pre-start[702]: syncing data to disk ... ok995machine # [ 10.645118] postgresql-pre-start[702]: initdb: warning: enabling "trust" authentication for local connections996machine # [ 10.646775] postgresql-pre-start[702]: initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.997machine # [ 10.649336] postgresql-pre-start[702]: Success. You can now start the database server using:998machine # [ 10.650775] postgresql-pre-start[702]: pg_ctl -D /var/lib/postgresql/18 -l logfile start999machine # [ 10.752253] postgres[733]: [733] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-gnu, compiled by clang version 21.1.8, 64-bit1000machine # [ 10.756173] postgres[733]: [733] LOG: listening on IPv6 address "::1", port 54321001machine # [ 10.757624] postgres[733]: [733] LOG: listening on IPv4 address "127.0.0.1", port 54321002machine # [ 10.769893] postgres[733]: [733] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"1003machine # [ 10.803189] postgres[746]: [746] LOG: database system was shut down at 2026-09-23 21:46:00 GMT1004machine # [ 10.819621] postgres[733]: [733] LOG: database system is ready to accept connections1005machine # [ 10.835575] systemd[1]: Started PostgreSQL Server.1006machine # [ 10.842616] systemd[1]: Starting PostgreSQL Setup Scripts...1007machine # [ 10.995291] postgresql-setup-start[757]: CREATE DATABASE1008machine # [ 11.024790] postgresql-setup-start[762]: CREATE ROLE1009machine # [ 11.041519] postgresql-setup-start[764]: ALTER DATABASE1010machine # [ 11.045649] systemd[1]: Finished PostgreSQL Setup Scripts.1011machine # [ 11.047865] systemd[1]: Reached target PostgreSQL.1012machine # [ 11.460808] dhcpcd[690]: eth0: soliciting an IPv6 router1013machine # [ 11.463062] dhcpcd[690]: eth0: Router Advertisement from fe80::21014machine # [ 11.464751] dhcpcd[690]: eth0: adding address fec0::5054:ff:fe12:3456/641015machine # [ 11.466574] dhcpcd[690]: eth0: adding route to fec0::/641016machine # [ 11.468204] dhcpcd[690]: eth0: adding default route via fe80::21017machine: (finished: waiting for unit postgresql.service, in 12.65 seconds)1018machine: waiting for unit rustfs.service1019machine # [ 15.177492] dhcpcd[690]: eth0: leased 10.0.2.15 for 86400 seconds1020machine # [ 15.179361] dhcpcd[690]: eth0: adding route to 10.0.2.0/241021machine # [ 15.181510] dhcpcd[690]: eth0: adding default route via 10.0.2.21022machine # [ 15.235042] systemd[1]: Started DHCP Client.1023machine # [ 15.237395] systemd[1]: Reached target Network is Online.1024machine # [ 15.241056] systemd[1]: Starting RustFS Object Storage Server...1025machine # [ 15.870282] systemd[1]: Started RustFS Object Storage Server.1026machine # [ 15.876445] systemd[1]: Starting Self-hosted Zotero sync server...1027machine # [ 15.926771] systemd[1]: Started Self-hosted Zotero sync server.1028machine # [ 15.930442] systemd[1]: Reached target Multi-User System.1029machine # [ 15.932461] systemd[1]: Startup finished in 879ms (kernel) + 4.566s (initrd) + 10.486s (userspace) = 15.932s.1030machine: (finished: waiting for unit rustfs.service, in 4.21 seconds)1031machine: waiting for TCP port 9000 on localhost1032machine # Connection to localhost (::1) 9000 port [tcp/cslistener] succeeded!1033machine: (finished: waiting for TCP port 9000 on localhost, in 0.05 seconds)1034machine: waiting for unit zhost.service1035machine: (finished: waiting for unit zhost.service, in 0.04 seconds)1036machine: waiting for TCP port 8189 on localhost1037machine # [ 16.151253] zhost[883]: 2026-09-23T21:46:06.588989Z INFO zhost: zhost listening bind=127.0.0.1:81891038machine # Connection to localhost (127.0.0.1) 8189 port [tcp/*] succeeded!1039machine: (finished: waiting for TCP port 8189 on localhost, in 1.06 seconds)1040machine: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin1041machine: (finished: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin, in 0.19 seconds)1042machine: must succeed: mc mb s3/zotero1043machine: (finished: must succeed: mc mb s3/zotero, in 0.20 seconds)1044subtest: the module deploys a working service backed by postgres1045machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1046machine # [ 17.494773] zhost[883]: 2026-09-23T21:46:07.932734Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1047machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1048(finished: subtest: the module deploys a working service backed by postgres, in 0.03 seconds)1049subtest: login session hands out the key only after authorization1050machine: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess1051machine # [ 17.518906] zhost[883]: 2026-09-23T21:46:07.957039Z INFO zhost: request method=POST uri=/keys/sessions api_version=- if_unmod=- body={}1052machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess, in 0.02 seconds)1053machine: must succeed: jq -r .sessionToken /tmp/sess1054machine: (finished: must succeed: jq -r .sessionToken /tmp/sess, in 0.01 seconds)1055machine: must succeed: jq -r .loginURL /tmp/sess1056machine: (finished: must succeed: jq -r .loginURL /tmp/sess, in 0.01 seconds)1057machine: must succeed: curl -sf 'http://localhost:8189/login?session=3cc6ec1c47472fb9f3c0ac4a8f8ed351' | grep -qi 'Authorize'1058machine # [ 17.570895] zhost[883]: 2026-09-23T21:46:08.008685Z INFO zhost: request method=GET uri=/login?session=3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1059machine: (finished: must succeed: curl -sf 'http://localhost:8189/login?session=3cc6ec1c47472fb9f3c0ac4a8f8ed351' | grep -qi 'Authorize', in 0.03 seconds)1060machine: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "pending"'1061machine # [ 17.597559] zhost[883]: 2026-09-23T21:46:08.035299Z INFO zhost: request method=GET uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1062machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "pending"', in 0.03 seconds)1063machine: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.apiKey == null'1064machine # [ 17.621893] zhost[883]: 2026-09-23T21:46:08.060011Z INFO zhost: request method=GET uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1065machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.apiKey == null', in 0.03 seconds)1066machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'Origin: https://evil.example' -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351'1067machine # [ 17.648960] zhost[883]: 2026-09-23T21:46:08.087165Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=3cc6ec1c47472fb9f3c0ac4a8f8ed3511068machine # [ 17.653148] zhost[883]: 2026-09-23T21:46:08.091102Z WARN zhost: response error method=POST uri=/login status=4031069machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'Origin: https://evil.example' -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351', in 0.03 seconds)1070machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351'1071machine # [ 17.679619] zhost[883]: 2026-09-23T21:46:08.116821Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=3cc6ec1c47472fb9f3c0ac4a8f8ed3511072machine # [ 17.683538] zhost[883]: 2026-09-23T21:46:08.116848Z WARN zhost: response error method=POST uri=/login status=4031073machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351', in 0.03 seconds)1074machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: someone@else' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351'1075machine # [ 17.705561] zhost[883]: 2026-09-23T21:46:08.143091Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=3cc6ec1c47472fb9f3c0ac4a8f8ed3511076machine # [ 17.709391] zhost[883]: 2026-09-23T21:46:08.143118Z WARN zhost: response error method=POST uri=/login status=4031077machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: someone@else' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351', in 0.03 seconds)1078machine: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351'1079machine # [ 17.731741] zhost[883]: 2026-09-23T21:46:08.169839Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=3cc6ec1c47472fb9f3c0ac4a8f8ed3511080machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=3cc6ec1c47472fb9f3c0ac4a8f8ed351', in 0.02 seconds)1081machine: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "completed"'1082machine # [ 17.755123] zhost[883]: 2026-09-23T21:46:08.193166Z INFO zhost: request method=GET uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1083machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "completed"', in 0.02 seconds)1084machine: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.apiKey == "testtoken"'1085machine # [ 17.779437] zhost[883]: 2026-09-23T21:46:08.217645Z INFO zhost: request method=GET uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1086machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.apiKey == "testtoken"', in 0.02 seconds)1087machine: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed3511088machine # [ 17.801990] zhost[883]: 2026-09-23T21:46:08.240118Z INFO zhost: request method=DELETE uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1089machine: (finished: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351, in 0.02 seconds)1090machine: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "pending"'1091machine # [ 17.825270] zhost[883]: 2026-09-23T21:46:08.263396Z INFO zhost: request method=GET uri=/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 api_version=- if_unmod=- body=1092machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/3cc6ec1c47472fb9f3c0ac4a8f8ed351 | jq -e '.status == "pending"', in 0.02 seconds)1093(finished: subtest: login session hands out the key only after authorization, in 0.33 seconds)1094subtest: the login consent endpoint validates the session token1095machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login1096machine # [ 17.847496] zhost[883]: 2026-09-23T21:46:08.285611Z INFO zhost: request method=GET uri=/login api_version=- if_unmod=- body=1097machine # [ 17.851105] zhost[883]: 2026-09-23T21:46:08.285633Z WARN zhost: response error method=GET uri=/login status=4001098machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login, in 0.02 seconds)1099machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope1100machine # [ 17.872095] zhost[883]: 2026-09-23T21:46:08.309970Z INFO zhost: request method=GET uri=/login?session=nope api_version=- if_unmod=- body=1101machine # [ 17.875643] zhost[883]: 2026-09-23T21:46:08.309996Z WARN zhost: response error method=GET uri=/login?session=nope status=4041102machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope, in 0.02 seconds)1103machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=nope'1104machine # [ 17.896098] zhost[883]: 2026-09-23T21:46:08.334306Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=nope1105machine # [ 17.900040] zhost[883]: 2026-09-23T21:46:08.337795Z WARN zhost: response error method=POST uri=/login status=4041106machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=nope', in 0.02 seconds)1107(finished: subtest: the login consent endpoint validates the session token, in 0.07 seconds)1108subtest: groups endpoint returns an empty set (single personal library)1109machine: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1110machine # [ 17.922229] zhost[883]: 2026-09-23T21:46:08.360251Z INFO zhost: request method=GET uri=/users/1/groups api_version=3 if_unmod=- body=1111machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1112(finished: subtest: groups endpoint returns an empty set (single personal library), in 0.02 seconds)1113subtest: the api key is required off the bootstrap paths1114machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3'1115machine # [ 17.945082] zhost[883]: 2026-09-23T21:46:08.383197Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1116machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3', in 0.02 seconds)1117(finished: subtest: the api key is required off the bootstrap paths, in 0.02 seconds)1118subtest: a read-only key reads but cannot write1119machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3'1120machine # [ 17.966244] zhost[883]: 2026-09-23T21:46:08.404452Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1121machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1122machine: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == false'1123machine # [ 17.994239] zhost[883]: 2026-09-23T21:46:08.432356Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1124machine: (finished: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == false', in 0.02 seconds)1125machine: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == true'1126machine # [ 18.017826] zhost[883]: 2026-09-23T21:46:08.455897Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1127machine: (finished: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == true', in 0.02 seconds)1128machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"RDNLY222","itemType":"book"}]'1129machine # [ 18.040078] zhost[883]: 2026-09-23T21:46:08.477840Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"RDNLY222","itemType":"book"}]1130machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"RDNLY222","itemType":"book"}]', in 0.02 seconds)1131machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3'1132machine # [ 18.061804] zhost[883]: 2026-09-23T21:46:08.500007Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=- body=1133machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1134(finished: subtest: a read-only key reads but cannot write, in 0.12 seconds)1135subtest: an item round-trips through write and read1136machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ITEM2223","itemType":"book","title":"t"}]' | jq -e '.successful."0".key == "ITEM2223"'1137machine # [ 18.085502] zhost[883]: 2026-09-23T21:46:08.523673Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEM2223","itemType":"book","title":"t"}]1138machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ITEM2223","itemType":"book","title":"t"}]' | jq -e '.successful."0".key == "ITEM2223"', in 0.03 seconds)1139machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ITEM2223'1140machine # [ 18.116197] zhost[883]: 2026-09-23T21:46:08.554081Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1141machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ITEM2223', in 0.02 seconds)1142machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ITEM2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.itemType == "book"'1143machine # [ 18.140782] zhost[883]: 2026-09-23T21:46:08.578989Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ITEM2223&format=json api_version=3 if_unmod=- body=1144machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ITEM2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.itemType == "book"', in 0.02 seconds)1145(finished: subtest: an item round-trips through write and read, in 0.08 seconds)1146subtest: a stale write is rejected with 4121147machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ITEMSTAL","itemType":"book"}]'1148machine # [ 18.164576] zhost[883]: 2026-09-23T21:46:08.602639Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEMSTAL","itemType":"book"}]1149machine # [ 18.169103] zhost[883]: 2026-09-23T21:46:08.607161Z WARN zhost: response error method=POST uri=/users/1/items status=4121150machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ITEMSTAL","itemType":"book"}]', in 0.03 seconds)1151(finished: subtest: a stale write is rejected with 412, in 0.03 seconds)1152subtest: a write without If-Unmodified-Since-Version is rejected with 4281153machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d '[{"key":"NPRECN22","itemType":"book"}]'1154machine # [ 18.190094] zhost[883]: 2026-09-23T21:46:08.627876Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=- body=[{"key":"NPRECN22","itemType":"book"}]1155machine # [ 18.193975] zhost[883]: 2026-09-23T21:46:08.627903Z WARN zhost: response error method=POST uri=/users/1/items status=4281156machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d '[{"key":"NPRECN22","itemType":"book"}]', in 0.02 seconds)1157(finished: subtest: a write without If-Unmodified-Since-Version is rejected with 428, in 0.02 seconds)1158subtest: a malformed object key is rejected with 4001159machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21160machine # [ 18.220571] zhost[883]: 2026-09-23T21:46:08.658680Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1161machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1162machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HASOABC2","itemType":"book"}]'1163machine # [ 18.244686] zhost[883]: 2026-09-23T21:46:08.682446Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HASOABC2","itemType":"book"}]1164machine # [ 18.248586] zhost[883]: 2026-09-23T21:46:08.682474Z WARN zhost: response error method=POST uri=/users/1/items status=4001165machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HASOABC2","itemType":"book"}]', in 0.03 seconds)1166machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21167machine # [ 18.274865] zhost[883]: 2026-09-23T21:46:08.713025Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1168machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1169machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HAS0ABC2","itemType":"book"}]'1170machine # [ 18.298454] zhost[883]: 2026-09-23T21:46:08.736547Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HAS0ABC2","itemType":"book"}]1171machine # [ 18.302679] zhost[883]: 2026-09-23T21:46:08.736583Z WARN zhost: response error method=POST uri=/users/1/items status=4001172machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HAS0ABC2","itemType":"book"}]', in 0.02 seconds)1173machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21174machine # [ 18.327959] zhost[883]: 2026-09-23T21:46:08.766166Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1175machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1176machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"SHORTKY","itemType":"book"}]'1177machine # [ 18.352089] zhost[883]: 2026-09-23T21:46:08.789939Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"SHORTKY","itemType":"book"}]1178machine # [ 18.355924] zhost[883]: 2026-09-23T21:46:08.789967Z WARN zhost: response error method=POST uri=/users/1/items status=4001179machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"SHORTKY","itemType":"book"}]', in 0.02 seconds)1180machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21181machine # [ 18.381499] zhost[883]: 2026-09-23T21:46:08.819583Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1182machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1183machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"TOOLONGKY","itemType":"book"}]'1184machine # [ 18.405083] zhost[883]: 2026-09-23T21:46:08.843026Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"TOOLONGKY","itemType":"book"}]1185machine # [ 18.408939] zhost[883]: 2026-09-23T21:46:08.843053Z WARN zhost: response error method=POST uri=/users/1/items status=4001186machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"TOOLONGKY","itemType":"book"}]', in 0.02 seconds)1187machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21188machine # [ 18.434773] zhost[883]: 2026-09-23T21:46:08.872868Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1189machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1190machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"lowercs2","itemType":"book"}]'1191machine # [ 18.458455] zhost[883]: 2026-09-23T21:46:08.896547Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"lowercs2","itemType":"book"}]1192machine # [ 18.462992] zhost[883]: 2026-09-23T21:46:08.896583Z WARN zhost: response error method=POST uri=/users/1/items status=4001193machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"lowercs2","itemType":"book"}]', in 0.02 seconds)1194machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=HASOABC2&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == []'1195machine # [ 18.484826] zhost[883]: 2026-09-23T21:46:08.922940Z INFO zhost: request method=GET uri=/users/1/items?itemKey=HASOABC2&format=json api_version=3 if_unmod=- body=1196machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=HASOABC2&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == []', in 0.02 seconds)1197(finished: subtest: a malformed object key is rejected with 400, in 0.29 seconds)1198subtest: an empty batch does not bump the library version1199machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21200machine # [ 18.513293] zhost[883]: 2026-09-23T21:46:08.951053Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1201machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1202machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[]' | jq -e .successful1203machine # [ 18.538415] zhost[883]: 2026-09-23T21:46:08.976457Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[]1204machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[]' | jq -e .successful, in 0.02 seconds)1205machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21206machine # [ 18.565993] zhost[883]: 2026-09-23T21:46:09.003967Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1207machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1208(finished: subtest: an empty batch does not bump the library version, in 0.08 seconds)1209subtest: attachment data is emitted with linkMode first1210machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21211machine # [ 18.594200] zhost[883]: 2026-09-23T21:46:09.032246Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1212machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1213machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"ATTACH22","itemType":"attachment","linkMode":"imported_file","filename":"t.pdf","contentType":"application/pdf"}]' | jq -e .successful1214machine # [ 18.619166] zhost[883]: 2026-09-23T21:46:09.057202Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"ATTACH22","itemType":"attachment","linkMode":"imported_file","filename":"t.pdf","contentType":"application/pdf"}]1215machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"ATTACH22","itemType":"attachment","linkMode":"imported_file","filename":"t.pdf","contentType":"application/pdf"}]' | jq -e .successful, in 0.03 seconds)1216machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ATTACH22&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]'1217machine # [ 18.650081] zhost[883]: 2026-09-23T21:46:09.087813Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ATTACH22&format=json api_version=3 if_unmod=- body=1218machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ATTACH22&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]', in 0.02 seconds)1219(finished: subtest: attachment data is emitted with linkMode first, in 0.08 seconds)1220subtest: an attachment file uploads to S3 and downloads via a presigned URL1221machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=1700000000000' | jq -r .uploadKey1222machine # [ 18.674696] zhost[883]: 2026-09-23T21:46:09.112696Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=17000000000001223machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=1700000000000' | jq -r .uploadKey, in 0.03 seconds)1224machine: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/635ac11708307d44c571755f96d61471 --data-binary @-1225machine # [ 18.698583] zhost[883]: 2026-09-23T21:46:09.136737Z INFO zhost: request method=POST uri=/uploads/635ac11708307d44c571755f96d61471 api_version=- if_unmod=- body=hello1226machine: (finished: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/635ac11708307d44c571755f96d61471 --data-binary @-, in 0.04 seconds)1227machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'upload=635ac11708307d44c571755f96d61471'1228machine # [ 18.744630] zhost[883]: 2026-09-23T21:46:09.182683Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=upload=635ac11708307d44c571755f96d614711229machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'upload=635ac11708307d44c571755f96d61471', in 0.04 seconds)1230machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1231machine # [ 18.783547] zhost[883]: 2026-09-23T21:46:09.221464Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1232machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1233machine: must succeed: curl -sf -D /tmp/dlhdr -o /dev/null http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' && grep -i '^location:' /tmp/dlhdr | tr -d '\r' | awk '{print $2}'1234machine # [ 18.808665] zhost[883]: 2026-09-23T21:46:09.246818Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1235machine: (finished: must succeed: curl -sf -D /tmp/dlhdr -o /dev/null http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' && grep -i '^location:' /tmp/dlhdr | tr -d '\r' | awk '{print $2}', in 0.04 seconds)1236machine: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr1237machine: (finished: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr, in 0.02 seconds)1238machine: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260923%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260923T214609Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=e853e6cb298aa2315b41e38cd6b290da82d9a910b8fd91b1ea1795d14cc915ca'1239machine: (finished: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260923%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260923T214609Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=e853e6cb298aa2315b41e38cd6b290da82d9a910b8fd91b1ea1795d14cc915ca', in 0.04 seconds)1240(finished: subtest: an attachment file uploads to S3 and downloads via a presigned URL, in 0.23 seconds)1241subtest: re-authorizing the same file returns exists:1 (dedup)1242machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=1700000000000' | jq -e '.exists == 1'1243machine # [ 18.908646] zhost[883]: 2026-09-23T21:46:09.346573Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=17000000000001244machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=1700000000000' | jq -e '.exists == 1', in 0.03 seconds)1245(finished: subtest: re-authorizing the same file returns exists:1 (dedup), in 0.03 seconds)1246subtest: a file authorization without a precondition header is 4281247machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d 'md5=deadbeef&filename=t.pdf&filesize=5&mtime=1'1248machine # [ 18.936139] zhost[883]: 2026-09-23T21:46:09.374340Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=md5=deadbeef&filename=t.pdf&filesize=5&mtime=11249machine # [ 18.941404] zhost[883]: 2026-09-23T21:46:09.378591Z WARN zhost: response error method=POST uri=/users/1/items/ATTACH22/file status=4281250machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d 'md5=deadbeef&filename=t.pdf&filesize=5&mtime=1', in 0.03 seconds)1251(finished: subtest: a file authorization without a precondition header is 428, in 0.03 seconds)1252subtest: uploading bytes that do not match the declared md5 is rejected1253machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/BADHASH2/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=1' | jq -r .uploadKey1254machine # [ 18.964483] zhost[883]: 2026-09-23T21:46:09.402580Z INFO zhost: request method=POST uri=/users/1/items/BADHASH2/file api_version=3 if_unmod=- body=md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=11255machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/BADHASH2/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=1' | jq -r .uploadKey, in 0.03 seconds)1256machine: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/980ed573dfa89836b9bb0a444096a478 --data-binary @-1257machine # [ 18.992678] zhost[883]: 2026-09-23T21:46:09.430419Z INFO zhost: request method=POST uri=/uploads/980ed573dfa89836b9bb0a444096a478 api_version=- if_unmod=- body=hello1258machine # [ 18.996476] zhost[883]: 2026-09-23T21:46:09.430446Z WARN zhost: uploaded bytes do not match authorization key="BADHASH2" want_md5="00000000000000000000000000000000" got_md5="5d41402abc4b2a76b9719d911017c592"1259machine # [ 19.000629] zhost[883]: 2026-09-23T21:46:09.430462Z WARN zhost: response error method=POST uri=/uploads/980ed573dfa89836b9bb0a444096a478 status=4001260machine: (finished: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/980ed573dfa89836b9bb0a444096a478 --data-binary @-, in 0.03 seconds)1261(finished: subtest: uploading bytes that do not match the declared md5 is rejected, in 0.06 seconds)1262subtest: registering without a prior upload is rejected1263machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/NQUPLQAD/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=1' | jq -r .uploadKey1264machine # [ 19.025270] zhost[883]: 2026-09-23T21:46:09.463366Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=11265machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/NQUPLQAD/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=1' | jq -r .uploadKey, in 0.03 seconds)1266machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/NQUPLQAD/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'upload=e13265971b8b7b2261a8db5c5391dfdc'1267machine # [ 19.049241] zhost[883]: 2026-09-23T21:46:09.487341Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=upload=e13265971b8b7b2261a8db5c5391dfdc1268machine # [ 19.053643] zhost[883]: 2026-09-23T21:46:09.487368Z WARN zhost: response error method=POST uri=/users/1/items/NQUPLQAD/file status=4001269machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/NQUPLQAD/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'upload=e13265971b8b7b2261a8db5c5391dfdc', in 0.03 seconds)1270(finished: subtest: registering without a prior upload is rejected, in 0.05 seconds)1271subtest: non-alphanumeric keys are rejected from the file endpoint1272machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/bad..key/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=x&filename=t&filesize=1&mtime=1'1273machine # [ 19.075125] zhost[883]: 2026-09-23T21:46:09.512919Z INFO zhost: request method=POST uri=/users/1/items/bad..key/file api_version=3 if_unmod=- body=md5=x&filename=t&filesize=1&mtime=11274machine # [ 19.079252] zhost[883]: 2026-09-23T21:46:09.512949Z WARN zhost: response error method=POST uri=/users/1/items/bad..key/file status=4001275machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/bad..key/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=x&filename=t&filesize=1&mtime=1', in 0.03 seconds)1276(finished: subtest: non-alphanumeric keys are rejected from the file endpoint, in 0.03 seconds)1277subtest: annotations round-trip as ordinary items1278machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21279machine # [ 19.106052] zhost[883]: 2026-09-23T21:46:09.544220Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1280machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1281machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 3' -d '[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]' | jq -e '.successful."0".data.annotationText == "marked"'1282machine # [ 19.131509] zhost[883]: 2026-09-23T21:46:09.569501Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=3 body=[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]1283machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 3' -d '[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]' | jq -e '.successful."0".data.annotationText == "marked"', in 0.03 seconds)1284machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.annotationType == "highlight"'1285machine # [ 19.161850] zhost[883]: 2026-09-23T21:46:09.599888Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1286machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.annotationType == "highlight"', in 0.02 seconds)1287machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]'1288machine # [ 19.186312] zhost[883]: 2026-09-23T21:46:09.624420Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1289machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]', in 0.02 seconds)1290(finished: subtest: annotations round-trip as ordinary items, in 0.11 seconds)1291subtest: full-text content uploads, lists versions, and downloads1292machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21293machine # [ 19.215346] zhost[883]: 2026-09-23T21:46:09.653320Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1294machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1295machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/fulltext -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 4' -d '[{"key":"ATTACH22","content":"hello world","indexedChars":11,"totalChars":11,"indexedPages":1,"totalPages":1}]' | jq -e '.successful."0".key == "ATTACH22"'1296machine # [ 19.240667] zhost[883]: 2026-09-23T21:46:09.678750Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=4 body=[{"key":"ATTACH22","content":"hello world","indexedChars":11,"totalChars":11,"indexedPages":1,"totalPages":1}]1297machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/fulltext -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 4' -d '[{"key":"ATTACH22","content":"hello world","indexedChars":11,"totalChars":11,"indexedPages":1,"totalPages":1}]' | jq -e '.successful."0".key == "ATTACH22"', in 0.03 seconds)1298machine: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ATTACH22'1299machine # [ 19.271084] zhost[883]: 2026-09-23T21:46:09.708974Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1300machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ATTACH22', in 0.03 seconds)1301machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21302machine # [ 19.299829] zhost[883]: 2026-09-23T21:46:09.737898Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1303machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1304machine: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.ATTACH22'1305machine # [ 19.325266] zhost[883]: 2026-09-23T21:46:09.763330Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1306machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.ATTACH22', in 0.03 seconds)1307machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.content == "hello world" and .totalPages == 1'1308machine # [ 19.350700] zhost[883]: 2026-09-23T21:46:09.788797Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1309machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.content == "hello world" and .totalPages == 1', in 0.02 seconds)1310(finished: subtest: full-text content uploads, lists versions, and downloads, in 0.16 seconds)1311subtest: a stale full-text write is rejected with 4121312machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/fulltext -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ATTACH22","content":"x"}]'1313machine # [ 19.373981] zhost[883]: 2026-09-23T21:46:09.812131Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=0 body=[{"key":"ATTACH22","content":"x"}]1314machine # [ 19.378506] zhost[883]: 2026-09-23T21:46:09.816716Z WARN zhost: response error method=POST uri=/users/1/fulltext status=4121315machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/fulltext -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ATTACH22","content":"x"}]', in 0.03 seconds)1316(finished: subtest: a stale full-text write is rejected with 412, in 0.03 seconds)1317subtest: the query API filters, searches, sorts and paginates items1318machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21319machine # [ 19.405188] zhost[883]: 2026-09-23T21:46:09.843298Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1320machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1321machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 5' -d '[{"key":"QBQQK223","itemType":"book","title":"Borrow Checker","creators":[{"lastName":"Klabnik","firstName":"Steve"}],"tags":[{"tag":"rustlang"},{"tag":"systems"}]},{"key":"QART2223","itemType":"journalArticle","title":"Unrelated","tags":[{"tag":"rustlang"}]}]' | jq -e .successful1322machine # [ 19.430792] zhost[883]: 2026-09-23T21:46:09.868863Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=5 body=[{"key":"QBQQK223","itemType":"book","title":"Borrow Checker","creators":[{"lastName":"Klabnik","firstName":"Steve"}],"tags":[{"tag":"rustlang"},{"tag":"systems"}]},{"key":"QART2223","itemType":"journalArticle","title":"Unrelated","tags":[{"tag":"rustlang"}]}]1323machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 5' -d '[{"key":"QBQQK223","itemType":"book","title":"Borrow Checker","creators":[{"lastName":"Klabnik","firstName":"Steve"}],"tags":[{"tag":"rustlang"},{"tag":"systems"}]},{"key":"QART2223","itemType":"journalArticle","title":"Unrelated","tags":[{"tag":"rustlang"}]}]' | jq -e .successful, in 0.04 seconds)1324machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=borrow' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1325machine # [ 19.468327] zhost[883]: 2026-09-23T21:46:09.906412Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1326machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=borrow' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1327machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=klabnik' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1328machine # [ 19.494203] zhost[883]: 2026-09-23T21:46:09.932358Z INFO zhost: request method=GET uri=/users/1/items?q=klabnik api_version=3 if_unmod=- body=1329machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=klabnik' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1330machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1331machine # [ 19.525894] zhost[883]: 2026-09-23T21:46:09.963721Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1332machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1333machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1334machine # [ 19.552306] zhost[883]: 2026-09-23T21:46:09.990331Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1335machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1336machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=-book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1337machine # [ 19.577729] zhost[883]: 2026-09-23T21:46:10.015678Z INFO zhost: request method=GET uri=/users/1/items?itemType=-book api_version=3 if_unmod=- body=1338machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=-book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1339machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=rustlang&tag=systems' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1340machine # [ 19.604420] zhost[883]: 2026-09-23T21:46:10.042400Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang&tag=systems api_version=3 if_unmod=- body=1341machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=rustlang&tag=systems' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1342machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=rustlang' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1343machine # [ 19.630924] zhost[883]: 2026-09-23T21:46:10.068955Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang api_version=3 if_unmod=- body=1344machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=rustlang' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1345machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=world' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1346machine # [ 19.656198] zhost[883]: 2026-09-23T21:46:10.094357Z INFO zhost: request method=GET uri=/users/1/items?q=world api_version=3 if_unmod=- body=1347machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=world' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1348machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=world&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1349machine # [ 19.683547] zhost[883]: 2026-09-23T21:46:10.121662Z INFO zhost: request method=GET uri=/users/1/items?q=world&qmode=everything api_version=3 if_unmod=- body=1350machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=world&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1351(finished: subtest: the query API filters, searches, sorts and paginates items, in 0.31 seconds)1352subtest: the query API reports Total-Results and a next-page Link1353machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&sort=title&direction=asc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1354machine # [ 19.708551] zhost[883]: 2026-09-23T21:46:10.146531Z INFO zhost: request method=GET uri=/users/1/items?limit=1&sort=title&direction=asc api_version=3 if_unmod=- body=1355machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&sort=title&direction=asc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1356(finished: subtest: the query API reports Total-Results and a next-page Link, in 0.02 seconds)1357subtest: a read-only key can drive the query API1358machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=borrow' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3'1359machine # [ 19.736945] zhost[883]: 2026-09-23T21:46:10.175028Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1360machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=borrow' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1361(finished: subtest: a read-only key can drive the query API, in 0.03 seconds)1362subtest: convenience listings: top, trash, collection items and tags1363machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21364machine # [ 19.766365] zhost[883]: 2026-09-23T21:46:10.204357Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1365machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1366machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 6' -d '[{"key":"TQPITEM3","itemType":"book","title":"Shelf Book","collections":["CQLLXXXX"],"tags":[{"tag":"shelf"}]},{"key":"CHILDNQ3","itemType":"note","note":"child","parentItem":"TQPITEM3"},{"key":"TRASHED3","itemType":"book","title":"Gone","deleted":1}]' | jq -e .successful1367machine # [ 19.792473] zhost[883]: 2026-09-23T21:46:10.230412Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=6 body=[{"key":"TQPITEM3","itemType":"book","title":"Shelf Book","collections":["CQLLXXXX"],"tags":[{"tag":"shelf"}]},{"key":"CHILDNQ3","itemType":"note","note":"child","parentItem":"TQPITEM3"},{"key":"TRASHED3","itemType":"book","title":"Gone","deleted":1}]1368machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 6' -d '[{"key":"TQPITEM3","itemType":"book","title":"Shelf Book","collections":["CQLLXXXX"],"tags":[{"tag":"shelf"}]},{"key":"CHILDNQ3","itemType":"note","note":"child","parentItem":"TQPITEM3"},{"key":"TRASHED3","itemType":"book","title":"Gone","deleted":1}]' | jq -e .successful, in 0.03 seconds)1369machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/top' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1370machine # [ 19.826203] zhost[883]: 2026-09-23T21:46:10.264142Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1371machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.02 seconds)1372machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/trash' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1373machine # [ 19.851293] zhost[883]: 2026-09-23T21:46:10.289124Z INFO zhost: request method=GET uri=/users/1/items/trash api_version=3 if_unmod=- body=1374machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/trash' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1375machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections/CQLLXXXX/items' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1376machine # [ 19.877087] zhost[883]: 2026-09-23T21:46:10.315160Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items api_version=3 if_unmod=- body=1377machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections/CQLLXXXX/items' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1378machine: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "shelf") | .numItems == 1'1379machine # [ 19.902454] zhost[883]: 2026-09-23T21:46:10.340614Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1380machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "shelf") | .numItems == 1', in 0.02 seconds)1381(finished: subtest: convenience listings: top, trash, collection items and tags, in 0.17 seconds)1382subtest: top filtering covers parentItem:false and the versions view1383machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21384machine # [ 19.931697] zhost[883]: 2026-09-23T21:46:10.369812Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1385machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1386machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 7' -d '[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]' | jq -e .successful1387machine # [ 19.957312] zhost[883]: 2026-09-23T21:46:10.395327Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=7 body=[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]1388machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 7' -d '[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]' | jq -e .successful, in 0.03 seconds)1389machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/top' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|join("\n")'1390machine # [ 19.989379] zhost[883]: 2026-09-23T21:46:10.427483Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1391machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|join("\n")', in 0.03 seconds)1392machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e 'has("CHILDNQ3")|not'1393machine # [ 20.014827] zhost[883]: 2026-09-23T21:46:10.452870Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=0 api_version=3 if_unmod=- body=1394machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e 'has("CHILDNQ3")|not', in 0.02 seconds)1395machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CHILDNQ3'1396machine # [ 20.039244] zhost[883]: 2026-09-23T21:46:10.477298Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1397machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CHILDNQ3', in 0.02 seconds)1398(finished: subtest: top filtering covers parentItem:false and the versions view, in 0.14 seconds)1399subtest: malformed (non-array) item data does not 500 the query API1400machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21401machine # [ 20.068617] zhost[883]: 2026-09-23T21:46:10.506610Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1402machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1403machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 8' -d '[{"key":"MALFQRM3","itemType":"book","title":"weird","creators":"notarray","tags":"x","collections":"y"}]' | jq -e .successful1404machine # [ 20.094379] zhost[883]: 2026-09-23T21:46:10.532577Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=8 body=[{"key":"MALFQRM3","itemType":"book","title":"weird","creators":"notarray","tags":"x","collections":"y"}]1405machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 8' -d '[{"key":"MALFQRM3","itemType":"book","title":"weird","creators":"notarray","tags":"x","collections":"y"}]' | jq -e .successful, in 0.03 seconds)1406machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1407machine # [ 20.124193] zhost[883]: 2026-09-23T21:46:10.561981Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1408machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1409machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1410machine # [ 20.146370] zhost[883]: 2026-09-23T21:46:10.584404Z INFO zhost: request method=GET uri=/users/1/items?q=zzz api_version=3 if_unmod=- body=1411machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1412machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1413machine # [ 20.168707] zhost[883]: 2026-09-23T21:46:10.606800Z INFO zhost: request method=GET uri=/users/1/items?q=zzz&qmode=everything api_version=3 if_unmod=- body=1414machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1415machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?tag=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1416machine # [ 20.191665] zhost[883]: 2026-09-23T21:46:10.629873Z INFO zhost: request method=GET uri=/users/1/items?tag=zzz api_version=3 if_unmod=- body=1417machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?tag=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1418machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/collections/y/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1419machine # [ 20.214449] zhost[883]: 2026-09-23T21:46:10.652475Z INFO zhost: request method=GET uri=/users/1/collections/y/items api_version=3 if_unmod=- body=1420machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/collections/y/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1421machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21422machine # [ 20.242462] zhost[883]: 2026-09-23T21:46:10.680463Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1423machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1424machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 9' -d '[{"key":"BADTAGS3","itemType":"book","title":"bt","tags":[{"tag":"good"},123,"junk"]}]' | jq -e .successful1425machine # [ 20.267280] zhost[883]: 2026-09-23T21:46:10.705359Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=9 body=[{"key":"BADTAGS3","itemType":"book","title":"bt","tags":[{"tag":"good"},123,"junk"]}]1426machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 9' -d '[{"key":"BADTAGS3","itemType":"book","title":"bt","tags":[{"tag":"good"},123,"junk"]}]' | jq -e .successful, in 0.03 seconds)1427machine: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "good") | .numItems == 1'1428machine # [ 20.297349] zhost[883]: 2026-09-23T21:46:10.735354Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1429machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "good") | .numItems == 1', in 0.02 seconds)1430(finished: subtest: malformed (non-array) item data does not 500 the query API, in 0.26 seconds)1431subtest: Total-Results stays correct past the last page1432machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f21433machine # [ 20.325290] zhost[883]: 2026-09-23T21:46:10.763380Z INFO zhost: request method=GET uri=/users/1/items?limit=1 api_version=3 if_unmod=- body=1434machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1435machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&start=100000' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f21436machine # [ 20.354236] zhost[883]: 2026-09-23T21:46:10.792351Z INFO zhost: request method=GET uri=/users/1/items?limit=1&start=100000 api_version=3 if_unmod=- body=1437machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&start=100000' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1438(finished: subtest: Total-Results stays correct past the last page, in 0.06 seconds)1439subtest: query API: OR filters, descending sort and includeTrashed1440machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21441machine # [ 20.383526] zhost[883]: 2026-09-23T21:46:10.821494Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1442machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1443machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 10' -d '[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]' | jq -e .successful1444machine # [ 20.408768] zhost[883]: 2026-09-23T21:46:10.846787Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=10 body=[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]1445machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 10' -d '[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]' | jq -e .successful, in 0.03 seconds)1446machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa||bb&itemType=book||journalArticle' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1447machine # [ 20.441192] zhost[883]: 2026-09-23T21:46:10.879297Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&itemType=book||journalArticle api_version=3 if_unmod=- body=1448machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa||bb&itemType=book||journalArticle' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1449machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa||bb&sort=title&direction=desc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].key'1450machine # [ 20.466863] zhost[883]: 2026-09-23T21:46:10.904900Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&sort=title&direction=desc api_version=3 if_unmod=- body=1451machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa||bb&sort=title&direction=desc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].key', in 0.03 seconds)1452machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].key'1453machine # [ 20.492486] zhost[883]: 2026-09-23T21:46:10.930434Z INFO zhost: request method=GET uri=/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1 api_version=3 if_unmod=- body=1454machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].key', in 0.03 seconds)1455machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1456machine # [ 20.519081] zhost[883]: 2026-09-23T21:46:10.957206Z INFO zhost: request method=GET uri=/users/1/items?tag=aa api_version=3 if_unmod=- body=1457machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=aa' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1458(finished: subtest: query API: OR filters, descending sort and includeTrashed, in 0.16 seconds)1459subtest: sort=date orders by extracted year, not raw freeform text1460machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21461machine # [ 20.548726] zhost[883]: 2026-09-23T21:46:10.986631Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1462machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1463machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 11' -d '[{"key":"DATE2QLD","itemType":"book","title":"old","date":"circa 1850","tags":[{"tag":"era"}]},{"key":"DATE2MID","itemType":"book","title":"mid","date":"January 1960","tags":[{"tag":"era"}]},{"key":"DATE2NEW","itemType":"book","title":"new","date":"2020-05-01","tags":[{"tag":"era"}]}]' | jq -e .successful1464machine # [ 20.574102] zhost[883]: 2026-09-23T21:46:11.012135Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=11 body=[{"key":"DATE2QLD","itemType":"book","title":"old","date":"circa 1850","tags":[{"tag":"era"}]},{"key":"DATE2MID","itemType":"book","title":"mid","date":"January 1960","tags":[{"tag":"era"}]},{"key":"DATE2NEW","itemType":"book","title":"new","date":"2020-05-01","tags":[{"tag":"era"}]}]1465machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 11' -d '[{"key":"DATE2QLD","itemType":"book","title":"old","date":"circa 1850","tags":[{"tag":"era"}]},{"key":"DATE2MID","itemType":"book","title":"mid","date":"January 1960","tags":[{"tag":"era"}]},{"key":"DATE2NEW","itemType":"book","title":"new","date":"2020-05-01","tags":[{"tag":"era"}]}]' | jq -e .successful, in 0.04 seconds)1466machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=era&sort=date&direction=asc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|join(",")'1467machine # [ 20.614986] zhost[883]: 2026-09-23T21:46:11.052983Z INFO zhost: request method=GET uri=/users/1/items?tag=era&sort=date&direction=asc api_version=3 if_unmod=- body=1468machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?tag=era&sort=date&direction=asc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|join(",")', in 0.03 seconds)1469(finished: subtest: sort=date orders by extracted year, not raw freeform text, in 0.10 seconds)1470subtest: collection top items are served as a plain-text key list1471machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1472machine # [ 20.639131] zhost[883]: 2026-09-23T21:46:11.077185Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1473machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1474machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1475machine # [ 20.662079] zhost[883]: 2026-09-23T21:46:11.100185Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1476machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1477(finished: subtest: collection top items are served as a plain-text key list, in 0.05 seconds)1478subtest: a versions read with nothing newer returns 200 + empty map, not 3041479machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21480machine # [ 20.690983] zhost[883]: 2026-09-23T21:46:11.128977Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1481machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1482machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1483machine # [ 20.715094] zhost[883]: 2026-09-23T21:46:11.153143Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1484machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1485machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1486machine # [ 20.740643] zhost[883]: 2026-09-23T21:46:11.178460Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1487machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1488machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1489machine # [ 20.763229] zhost[883]: 2026-09-23T21:46:11.201391Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1490machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1491machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1492machine # [ 20.787284] zhost[883]: 2026-09-23T21:46:11.225297Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1493machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1494machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1495machine # [ 20.810632] zhost[883]: 2026-09-23T21:46:11.248671Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1496machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1497machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1498machine # [ 20.834490] zhost[883]: 2026-09-23T21:46:11.272652Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1499machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1500machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1501machine # [ 20.858281] zhost[883]: 2026-09-23T21:46:11.296182Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1502machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1503machine: must succeed: curl -sf 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1504machine # [ 20.882855] zhost[883]: 2026-09-23T21:46:11.320964Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1505machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1506machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1507machine # [ 20.907703] zhost[883]: 2026-09-23T21:46:11.345809Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1508machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1509machine: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1510machine # [ 20.932365] zhost[883]: 2026-09-23T21:46:11.370350Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1511machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1512machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -iq 'last-modified-version: 12'1513machine # [ 20.957157] zhost[883]: 2026-09-23T21:46:11.395154Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1514machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -iq 'last-modified-version: 12', in 0.02 seconds)1515machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/settings -H 'If-Modified-Since-Version: 12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1516machine # [ 20.980420] zhost[883]: 2026-09-23T21:46:11.418494Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1517machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/settings -H 'If-Modified-Since-Version: 12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1518(finished: subtest: a versions read with nothing newer returns 200 + empty map, not 304, in 0.32 seconds)1519subtest: collections round-trip through write, read, versions and delete1520machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21521machine # [ 21.007941] zhost[883]: 2026-09-23T21:46:11.445915Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1522machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1523machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/collections -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 12' -d '[{"key":"CQLL2223","name":"Papers"}]' | jq -e '.successful."0".key == "CQLL2223"'1524machine # [ 21.034498] zhost[883]: 2026-09-23T21:46:11.472162Z INFO zhost: request method=POST uri=/users/1/collections api_version=3 if_unmod=12 body=[{"key":"CQLL2223","name":"Papers"}]1525machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/collections -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 12' -d '[{"key":"CQLL2223","name":"Papers"}]' | jq -e '.successful."0".key == "CQLL2223"', in 0.03 seconds)1526machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Papers"'1527machine # [ 21.064422] zhost[883]: 2026-09-23T21:46:11.502335Z INFO zhost: request method=GET uri=/users/1/collections?collectionKey=CQLL2223&format=json api_version=3 if_unmod=- body=1528machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Papers"', in 0.03 seconds)1529machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CQLL2223'1530machine # [ 21.090187] zhost[883]: 2026-09-23T21:46:11.528294Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=0 api_version=3 if_unmod=- body=1531machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CQLL2223', in 0.03 seconds)1532machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21533machine # [ 21.119063] zhost[883]: 2026-09-23T21:46:11.557107Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1534machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1535machine: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 13'1536machine # [ 21.143082] zhost[883]: 2026-09-23T21:46:11.581133Z INFO zhost: request method=DELETE uri=/users/1/collections?collectionKey=CQLL2223 api_version=3 if_unmod=13 body=1537machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 13', in 0.03 seconds)1538machine: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.collections | index("CQLL2223")'1539machine # [ 21.171620] zhost[883]: 2026-09-23T21:46:11.609549Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1540machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.collections | index("CQLL2223")', in 0.02 seconds)1541(finished: subtest: collections round-trip through write, read, versions and delete, in 0.19 seconds)1542subtest: saved searches round-trip through write, read and delete1543machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21544machine # [ 21.199889] zhost[883]: 2026-09-23T21:46:11.637882Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1545machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1546machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/searches -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 14' -d '[{"key":"SRCH2223","name":"Recent","conditions":[]}]' | jq -e '.successful."0".key == "SRCH2223"'1547machine # [ 21.225586] zhost[883]: 2026-09-23T21:46:11.663604Z INFO zhost: request method=POST uri=/users/1/searches api_version=3 if_unmod=14 body=[{"key":"SRCH2223","name":"Recent","conditions":[]}]1548machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/searches -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 14' -d '[{"key":"SRCH2223","name":"Recent","conditions":[]}]' | jq -e '.successful."0".key == "SRCH2223"', in 0.03 seconds)1549machine: must succeed: curl -sf 'http://localhost:8189/users/1/searches?searchKey=SRCH2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Recent"'1550machine # [ 21.253883] zhost[883]: 2026-09-23T21:46:11.691911Z INFO zhost: request method=GET uri=/users/1/searches?searchKey=SRCH2223&format=json api_version=3 if_unmod=- body=1551machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/searches?searchKey=SRCH2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Recent"', in 0.03 seconds)1552machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21553machine # [ 21.292637] zhost[883]: 2026-09-23T21:46:11.730746Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1554machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.04 seconds)1555machine: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/searches?searchKey=SRCH2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 15'1556machine # [ 21.316725] zhost[883]: 2026-09-23T21:46:11.754883Z INFO zhost: request method=DELETE uri=/users/1/searches?searchKey=SRCH2223 api_version=3 if_unmod=15 body=1557machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/searches?searchKey=SRCH2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 15', in 0.03 seconds)1558machine: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.searches | index("SRCH2223")'1559machine # [ 21.344690] zhost[883]: 2026-09-23T21:46:11.782630Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1560machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.searches | index("SRCH2223")', in 0.02 seconds)1561(finished: subtest: saved searches round-trip through write, read and delete, in 0.17 seconds)1562subtest: settings round-trip through write, read and delete1563machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21564machine # [ 21.372594] zhost[883]: 2026-09-23T21:46:11.810754Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1565machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1566machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 16' -d '{"tagColors":{"value":[{"name":"x","color":"#fff"}]}}' 1567machine # [ 21.396249] zhost[883]: 2026-09-23T21:46:11.834131Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=16 body={"tagColors":{"value":[{"name":"x","color":"#fff"}]}}1568machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 16' -d '{"tagColors":{"value":[{"name":"x","color":"#fff"}]}}' , in 0.03 seconds)1569machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors.value[0].name == "x" and (.tagColors.version | type == "number")'1570machine # [ 21.422664] zhost[883]: 2026-09-23T21:46:11.860708Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1571machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors.value[0].name == "x" and (.tagColors.version | type == "number")', in 0.02 seconds)1572machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '{"k":{"value":1}}'1573machine # [ 21.445959] zhost[883]: 2026-09-23T21:46:11.884062Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=0 body={"k":{"value":1}}1574machine # [ 21.450235] zhost[883]: 2026-09-23T21:46:11.888054Z WARN zhost: response error method=POST uri=/users/1/settings status=4121575machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '{"k":{"value":1}}', in 0.03 seconds)1576machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21577machine # [ 21.476155] zhost[883]: 2026-09-23T21:46:11.914102Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1578machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1579machine: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/settings?settingKey=tagColors' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 17'1580machine # [ 21.499785] zhost[883]: 2026-09-23T21:46:11.937888Z INFO zhost: request method=DELETE uri=/users/1/settings?settingKey=tagColors api_version=3 if_unmod=17 body=1581machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/settings?settingKey=tagColors' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 17', in 0.02 seconds)1582machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null'1583machine # [ 21.527450] zhost[883]: 2026-09-23T21:46:11.965422Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1584machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null', in 0.03 seconds)1585machine: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.settings | index("tagColors")'1586machine # [ 21.553408] zhost[883]: 2026-09-23T21:46:11.990812Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1587machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.settings | index("tagColors")', in 0.03 seconds)1588(finished: subtest: settings round-trip through write, read and delete, in 0.21 seconds)1589subtest: a gzip-compressed write body is decoded1590machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21591machine # [ 21.581548] zhost[883]: 2026-09-23T21:46:12.019593Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1592machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1593machine: must succeed: printf '%s' '[{"key":"GZIP2223","itemType":"book","title":"zipped"}]' | gzip | curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 18' -H 'Content-Encoding: gzip' --data-binary @- | jq -e .successful1594machine # [ 21.608539] zhost[883]: 2026-09-23T21:46:12.046529Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=18 body=[{"key":"GZIP2223","itemType":"book","title":"zipped"}]1595machine: (finished: must succeed: printf '%s' '[{"key":"GZIP2223","itemType":"book","title":"zipped"}]' | gzip | curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 18' -H 'Content-Encoding: gzip' --data-binary @- | jq -e .successful, in 0.03 seconds)1596machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=GZIP2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title == "zipped"'1597machine # [ 21.637229] zhost[883]: 2026-09-23T21:46:12.075385Z INFO zhost: request method=GET uri=/users/1/items?itemKey=GZIP2223&format=json api_version=3 if_unmod=- body=1598machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=GZIP2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title == "zipped"', in 0.02 seconds)1599(finished: subtest: a gzip-compressed write body is decoded, in 0.08 seconds)1600subtest: PATCH updates items and is gated by the read-only key1601machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21602machine # [ 21.665920] zhost[883]: 2026-09-23T21:46:12.104039Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1603machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1604machine: must succeed: curl -sf -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 19' -d '[{"key":"GZIP2223","itemType":"book","title":"patched"}]' | jq -e '.successful."0".data.title == "patched"'1605machine # [ 21.691474] zhost[883]: 2026-09-23T21:46:12.129417Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=19 body=[{"key":"GZIP2223","itemType":"book","title":"patched"}]1606machine: (finished: must succeed: curl -sf -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 19' -d '[{"key":"GZIP2223","itemType":"book","title":"patched"}]' | jq -e '.successful."0".data.title == "patched"', in 0.03 seconds)1607machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"X","itemType":"book"}]'1608machine # [ 21.718361] zhost[883]: 2026-09-23T21:46:12.156364Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"X","itemType":"book"}]1609machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"X","itemType":"book"}]', in 0.02 seconds)1610(finished: subtest: PATCH updates items and is gated by the read-only key, in 0.08 seconds)1611subtest: PATCH merges: a partial update keeps unspecified fields1612machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21613machine # [ 21.745598] zhost[883]: 2026-09-23T21:46:12.183750Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1614machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1615machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 20' -d '[{"key":"MERGEIT2","itemType":"book","title":"orig","tags":[{"tag":"keep"}]}]' | jq -e .successful1616machine # [ 21.770836] zhost[883]: 2026-09-23T21:46:12.208988Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=20 body=[{"key":"MERGEIT2","itemType":"book","title":"orig","tags":[{"tag":"keep"}]}]1617machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 20' -d '[{"key":"MERGEIT2","itemType":"book","title":"orig","tags":[{"tag":"keep"}]}]' | jq -e .successful, in 0.03 seconds)1618machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21619machine # [ 21.802822] zhost[883]: 2026-09-23T21:46:12.240912Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1620machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1621machine: must succeed: curl -sf -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 21' -d '[{"key":"MERGEIT2","title":"new"}]'1622machine # [ 21.826571] zhost[883]: 2026-09-23T21:46:12.264675Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=21 body=[{"key":"MERGEIT2","title":"new"}]1623machine: (finished: must succeed: curl -sf -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 21' -d '[{"key":"MERGEIT2","title":"new"}]', in 0.02 seconds)1624machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=MERGEIT2&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title=="new" and .[0].data.itemType=="book" and .[0].data.tags[0].tag=="keep"'1625machine # [ 21.853091] zhost[883]: 2026-09-23T21:46:12.291065Z INFO zhost: request method=GET uri=/users/1/items?itemKey=MERGEIT2&format=json api_version=3 if_unmod=- body=1626machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=MERGEIT2&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title=="new" and .[0].data.itemType=="book" and .[0].data.tags[0].tag=="keep"', in 0.03 seconds)1627(finished: subtest: PATCH merges: a partial update keeps unspecified fields, in 0.14 seconds)1628subtest: POST also merges: a partial upload keeps unspecified fields1629machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21630machine # [ 21.882638] zhost[883]: 2026-09-23T21:46:12.320622Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1631machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1632machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 22' -d '[{"key":"PMERGEAT","itemType":"attachment","linkMode":"imported_file","filename":"f.pdf","contentType":"application/pdf"}]' | jq -e .successful1633machine # [ 21.907872] zhost[883]: 2026-09-23T21:46:12.345949Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=22 body=[{"key":"PMERGEAT","itemType":"attachment","linkMode":"imported_file","filename":"f.pdf","contentType":"application/pdf"}]1634machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 22' -d '[{"key":"PMERGEAT","itemType":"attachment","linkMode":"imported_file","filename":"f.pdf","contentType":"application/pdf"}]' | jq -e .successful, in 0.04 seconds)1635machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21636machine # [ 21.953225] zhost[883]: 2026-09-23T21:46:12.390892Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1637machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1638machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 23' -d '[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]'1639machine # [ 21.977243] zhost[883]: 2026-09-23T21:46:12.415182Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=23 body=[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]1640machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 23' -d '[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]', in 0.03 seconds)1641machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=PMERGEAT&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.itemType=="attachment" and .[0].data.linkMode=="imported_file" and .[0].data.filename=="f.pdf" and .[0].data.lastRead==1700000000'1642machine # [ 22.007505] zhost[883]: 2026-09-23T21:46:12.445493Z INFO zhost: request method=GET uri=/users/1/items?itemKey=PMERGEAT&format=json api_version=3 if_unmod=- body=1643machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=PMERGEAT&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.itemType=="attachment" and .[0].data.linkMode=="imported_file" and .[0].data.filename=="f.pdf" and .[0].data.lastRead==1700000000', in 0.03 seconds)1644(finished: subtest: POST also merges: a partial upload keeps unspecified fields, in 0.15 seconds)1645subtest: deletes are recorded in the deletion log1646machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21647machine # [ 22.047230] zhost[883]: 2026-09-23T21:46:12.485128Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1648machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.05 seconds)1649machine: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 24'1650machine # [ 22.083263] zhost[883]: 2026-09-23T21:46:12.521331Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=24 body=1651machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 24', in 0.03 seconds)1652machine: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.items | index("ITEM2223")'1653machine # [ 22.116134] zhost[883]: 2026-09-23T21:46:12.554183Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1654machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.items | index("ITEM2223")', in 0.03 seconds)1655(finished: subtest: deletes are recorded in the deletion log, in 0.11 seconds)1656(finished: run the VM test script, in 23.04 seconds)1657test script finished in 23.09s1658cleanup1659kill QemuMachine (pid 45)1660machine # qemu-system-x86_64: terminating on signal 15 from pid 39 (/nix/store/d64q19q1xjdwfhqx6czvrjgrhq0n3lcc-python3-3.14.7/bin/python3.14)1661machine # [2026-09-23T21:46:13Z INFO virtiofsd] Client disconnected, shutting down1662machine # [2026-09-23T21:46:13Z INFO virtiofsd] Client disconnected, shutting down1663machine # [2026-09-23T21:46:13Z INFO virtiofsd] Client disconnected, shutting down1664(finished: cleanup, in 0.17 seconds)