vm-test-run-zhost-sync
checks.x86_64-linux.nixos-sync
· build #4
· 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.rDMu2uLRrj', 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: 2475113d-37e2-42e5-8eda-c9440ba1f07a20machine # 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 # SeaBIOS (version rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org)30machine # 31machine # 32machine # iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+3EFCC730+3EF2C730 CA0033machine # Press Ctrl-B to configure iPXE (PCI 00:02.0)...34machine # 35machine # 36machine # 37machine # 38machine # iPXE (http://ipxe.org) 00:08.0 CB00 PCI2.10 PnP PMM 3EFCC730 3EF2C730 CB0039machine # Press Ctrl-B to configure iPXE (PCI 00:08.0)...40machine # 41machine # 42machine # Booting from ROM...43machine # Probing EDD (edd=off to disable)... ok[ 0.000000] Linux version 6.18.48 (nixbld@localhost) (gcc (GCC) 15.3.0, GNU ld (GNU Binutils) 2.46) #1-NixOS SMP PREEMPT_DYNAMIC Fri Aug 28 06:22:54 UTC 202644machine # [ 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/daijd1rzziiha5762mxn2201q555ryw0-nixos-system-machine-test/init regInfo=/nix/store/dz6k66y78xrh46cfpc3y2gxv9v72adi2-closure-info/registration console=ttyS0,115200n8 console=tty045machine # [ 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.46machine # [ 0.000000] BIOS-provided physical RAM map:47machine # [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable48machine # [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved49machine # [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved50machine # [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffd7fff] usable51machine # [ 0.000000] BIOS-e820: [mem 0x000000003ffd8000-0x000000003fffffff] reserved52machine # [ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved53machine # [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved54machine # [ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved55machine # [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved56machine # [ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved57machine # [ 0.000000] NX (Execute Disable) protection: active58machine # [ 0.000000] APIC: Static calls initialized59machine # [ 0.000000] SMBIOS 2.8 present.60machine # [ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/201461machine # [ 0.000000] DMI: Memory slots populated: 1/162machine # [ 0.000000] Hypervisor detected: KVM63machine # [ 0.000000] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000064machine # [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d0065machine # [ 0.000000] kvm-clock: using sched offset of 437609697 cycles66machine # [ 0.000001] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns67machine # [ 0.000004] tsc: Detected 3792.874 MHz processor68machine # [ 0.000663] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000069machine # [ 0.000687] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs70machine # [ 0.000689] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT71machine # [ 0.002222] found SMP MP-table at [mem 0x000f5450-0x000f545f]72machine # [ 0.002231] Using GB pages for direct mapping73machine # [ 0.002301] RAMDISK: [mem 0x3e36a000-0x3ffcffff]74machine # [ 0.002306] ACPI: Early table checksum verification disabled75machine # [ 0.002308] ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS )76machine # [ 0.002311] ACPI: RSDT 0x000000003FFE2422 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)77machine # [ 0.002314] ACPI: FACP 0x000000003FFE221A 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001)78machine # [ 0.002319] ACPI: DSDT 0x000000003FFE0040 0021DA (v01 BOCHS BXPC 00000001 BXPC 00000001)79machine # [ 0.002321] ACPI: FACS 0x000000003FFE0000 00004080machine # [ 0.002322] ACPI: APIC 0x000000003FFE230E 000078 (v03 BOCHS BXPC 00000001 BXPC 00000001)81machine # [ 0.002323] ACPI: HPET 0x000000003FFE2386 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)82machine # [ 0.002325] ACPI: MCFG 0x000000003FFE23BE 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001)83machine # [ 0.002326] ACPI: WAET 0x000000003FFE23FA 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)84machine # [ 0.002327] ACPI: Reserving FACP table memory at [mem 0x3ffe221a-0x3ffe230d]85machine # [ 0.002328] ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe2219]86machine # [ 0.002329] ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]87machine # [ 0.002329] ACPI: Reserving APIC table memory at [mem 0x3ffe230e-0x3ffe2385]88machine # [ 0.002330] ACPI: Reserving HPET table memory at [mem 0x3ffe2386-0x3ffe23bd]89machine # [ 0.002330] ACPI: Reserving MCFG table memory at [mem 0x3ffe23be-0x3ffe23f9]90machine # [ 0.002330] ACPI: Reserving WAET table memory at [mem 0x3ffe23fa-0x3ffe2421]91machine # [ 0.002710] No NUMA configuration found92machine # [ 0.002711] Faking a node at [mem 0x0000000000000000-0x000000003ffd7fff]93machine # [ 0.002713] NODE_DATA(0) allocated [mem 0x3ffd2780-0x3ffd7cff]94machine # [ 0.002789] Zone ranges:95machine # [ 0.002789] DMA [mem 0x0000000000001000-0x0000000000ffffff]96machine # [ 0.002791] DMA32 [mem 0x0000000001000000-0x000000003ffd7fff]97machine # [ 0.002792] Normal empty98machine # [ 0.002792] Device empty99machine # [ 0.002793] Movable zone start for each node100machine # [ 0.002793] Early memory node ranges101machine # [ 0.002793] node 0: [mem 0x0000000000001000-0x000000000009efff]102machine # [ 0.002794] node 0: [mem 0x0000000000100000-0x000000003ffd7fff]103machine # [ 0.002795] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffd7fff]104machine # [ 0.002813] On node 0, zone DMA: 1 pages in unavailable ranges105machine # [ 0.003029] On node 0, zone DMA: 97 pages in unavailable ranges106machine # [ 0.017509] On node 0, zone DMA32: 40 pages in unavailable ranges107machine # [ 0.018374] ACPI: PM-Timer IO Port: 0x608108machine # [ 0.018382] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])109machine # [ 0.018401] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23110machine # [ 0.018403] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)111machine # [ 0.018404] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)112machine # [ 0.018404] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)113machine # [ 0.018405] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)114machine # [ 0.018406] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)115machine # [ 0.018408] ACPI: Using ACPI (MADT) for SMP configuration information116machine # [ 0.018408] ACPI: HPET id: 0x8086a201 base: 0xfed00000117machine # [ 0.018410] TSC deadline timer available118machine # [ 0.018414] CPU topo: Max. logical packages: 1119machine # [ 0.018414] CPU topo: Max. logical dies: 1120machine # [ 0.018415] CPU topo: Max. dies per package: 1121machine # [ 0.018418] CPU topo: Max. threads per core: 1122machine # [ 0.018418] CPU topo: Num. cores per package: 1123machine # [ 0.018419] CPU topo: Num. threads per package: 1124machine # [ 0.018419] CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs125machine # [ 0.018430] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()126machine # [ 0.018454] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]127machine # [ 0.018455] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]128machine # [ 0.018456] [mem 0x40000000-0xafffffff] available for PCI devices129machine # [ 0.018457] Booting paravirtualized kernel on KVM130machine # [ 0.018459] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns131machine # [ 0.022143] setup_percpu: NR_CPUS:384 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1132machine # [ 0.024111] percpu: Embedded 98 pages/cpu s278528 r8192 d114688 u2097152133machine # [ 0.024144] kvm-guest: PV spinlocks disabled, single CPU134machine # [ 0.024145] 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/daijd1rzziiha5762mxn2201q555ryw0-nixos-system-machine-test/init regInfo=/nix/store/dz6k66y78xrh46cfpc3y2gxv9v72adi2-closure-info/registration console=ttyS0,115200n8 console=tty0135machine # [ 0.024216] Unknown kernel command line parameters "regInfo=/nix/store/dz6k66y78xrh46cfpc3y2gxv9v72adi2-closure-info/registration", will be passed to user space.136machine # [ 0.024233] random: crng init done137machine # [ 0.024233] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes138machine # [ 0.025102] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)139machine # [ 0.025128] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)140machine # [ 0.025151] Fallback order for Node 0: 0141machine # [ 0.025153] Built 1 zonelists, mobility grouping on. Total pages: 262006142machine # [ 0.025154] Policy zone: DMA32143machine # [ 0.027133] mem auto-init: stack:all(zero), heap alloc:on, heap free:off144machine # [ 0.029696] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1145machine # [ 0.031502] allocated 2097152 bytes of page_ext146machine # [ 0.039457] ftrace: allocating 48733 entries in 192 pages147machine # [ 0.039458] ftrace: allocated 192 pages with 2 groups148machine # [ 0.040082] Dynamic Preempt: lazy149machine # [ 0.040207] rcu: Preemptible hierarchical RCU implementation.150machine # [ 0.040207] rcu: RCU event tracing is enabled.151machine # [ 0.040208] rcu: RCU restricting CPUs from NR_CPUS=384 to nr_cpu_ids=1.152machine # [ 0.040209] Trampoline variant of Tasks RCU enabled.153machine # [ 0.040209] Rude variant of Tasks RCU enabled.154machine # [ 0.040209] Tracing variant of Tasks RCU enabled.155machine # [ 0.040210] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.156machine # [ 0.040211] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1157machine # [ 0.040232] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.158machine # [ 0.040233] RCU Tasks Rude: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.159machine # [ 0.040234] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.160machine # [ 0.043967] NR_IRQS: 24832, nr_irqs: 256, preallocated irqs: 16161machine # [ 0.044186] rcu: srcu_init: Setting srcu_struct sizes based on contention.162machine # [ 0.044190] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns163machine # [ 0.044271] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)164machine # [ 0.049882] Console: colour VGA+ 80x25165machine # [ 0.049885] printk: legacy console [tty0] enabled166machine # [ 0.082724] printk: legacy console [ttyS0] enabled167machine # [ 0.231572] ACPI: Core revision 20250807168machine # [ 0.232706] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns169machine # [ 0.234817] APIC: Switch to symmetric I/O mode setup170machine # [ 0.236151] x2apic enabled171machine # [ 0.237076] APIC: Switched APIC routing to: physical x2apic172machine # [ 0.239158] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1173machine # [ 0.240541] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns174machine # [ 0.242803] Calibrating delay loop (skipped) preset value.. 7585.74 BogoMIPS (lpj=3792874)175machine # [ 0.244877] x86/cpu: User Mode Instruction Prevention (UMIP) activated176machine # [ 0.246912] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127177machine # [ 0.247803] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0178machine # [ 0.249806] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto179machine # [ 0.250804] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl180machine # [ 0.251804] Spectre V2 : Mitigation: Retpolines181machine # [ 0.252803] Speculative Return Stack Overflow: Mitigation: Safe RET182machine # [ 0.253803] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization183machine # [ 0.255803] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT184machine # [ 0.257803] Spectre V2 : Enabling Restricted Speculation for firmware calls185machine # [ 0.258805] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier186machine # [ 0.259804] active return thunk: srso_alias_return_thunk187machine # [ 0.261821] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'188machine # [ 0.262803] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'189machine # [ 0.264803] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'190machine # [ 0.265803] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'191machine # [ 0.267803] x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'192machine # [ 0.268803] x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'193machine # [ 0.269803] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256194machine # [ 0.270804] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8195machine # [ 0.271803] x86/fpu: xstate_offset[11]: 840, xstate_sizes[11]: 16196machine # [ 0.272803] x86/fpu: xstate_offset[12]: 856, xstate_sizes[12]: 24197machine # [ 0.273803] x86/fpu: Enabled xstate features 0x1a07, context size is 880 bytes, using 'compacted' format.198machine # [ 0.301004] Freeing SMP alternatives memory: 44K199machine # [ 0.301804] pid_max: default: 32768 minimum: 301200machine # [ 0.302857] LSM: initializing lsm=capability,landlock,yama,bpf,ima201machine # [ 0.303893] landlock: Up and running.202machine # [ 0.305460] Yama: becoming mindful.203machine # [ 0.306015] LSM support for eBPF active204machine # [ 0.307598] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)205machine # [ 0.308829] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)206machine # [ 0.310949] smpboot: CPU0: AMD Ryzen Threadripper PRO 5965WX 24-Cores (family: 0x19, model: 0x8, stepping: 0x2)207machine # [ 0.312270] Performance Events: Fam17h+ core perfctr, AMD PMU driver.208machine # [ 0.312810] ... version: 0209machine # [ 0.313804] ... bit width: 48210machine # [ 0.314804] ... generic counters: 6211machine # [ 0.315804] ... generic bitmap: 000000000000003f212machine # [ 0.316804] ... fixed-purpose counters: 0213machine # [ 0.317798] ... fixed-purpose bitmap: 0000000000000000214machine # [ 0.318804] ... value mask: 0000ffffffffffff215machine # [ 0.319804] ... max period: 00007fffffffffff216machine # [ 0.320805] ... global_ctrl mask: 000000000000003f217machine # [ 0.321885] signal: max sigframe size: 3376218machine # [ 0.322874] rcu: Hierarchical SRCU implementation.219machine # [ 0.323809] rcu: Max phase no-delay instances is 400.220machine # [ 0.328422] smp: Bringing up secondary CPUs ...221machine # [ 0.328819] smp: Brought up 1 node, 1 CPU222machine # [ 0.329766] smpboot: Total of 1 processors activated (7585.74 BogoMIPS)223machine # [ 0.330934] Memory: 943024K/1048024K available (17215K kernel code, 2726K rwdata, 13580K rodata, 3644K init, 2988K bss, 97584K reserved, 0K cma-reserved)224machine # [ 0.331975] devtmpfs: initialized225machine # [ 0.333007] x86/mm: Memory block size: 128MB226machine # [ 0.334623] posixtimers hash table entries: 512 (order: 1, 8192 bytes, linear)227machine # [ 0.335837] futex hash table entries: 256 (16384 bytes on 1 NUMA nodes, total 16 KiB, linear).228machine # [ 0.336872] pinctrl core: initialized pinctrl subsystem229machine # [ 0.338069] PM: RTC time: 21:46:08, date: 2026-09-02230machine # [ 0.341073] NET: Registered PF_NETLINK/PF_ROUTE protocol family231machine # [ 0.342109] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations232machine # [ 0.342826] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations233machine # [ 0.343930] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations234machine # [ 0.344815] audit: initializing netlink subsys (disabled)235machine # [ 0.346095] thermal_sys: Registered thermal governor 'fair_share'236machine # [ 0.346097] thermal_sys: Registered thermal governor 'bang_bang'237machine # [ 0.346805] thermal_sys: Registered thermal governor 'step_wise'238machine # [ 0.347809] audit: type=2000 audit(1788385568.835:1): state=initialized audit_enabled=0 res=1239machine # [ 0.349807] thermal_sys: Registered thermal governor 'user_space'240machine # [ 0.349809] thermal_sys: Registered thermal governor 'power_allocator'241machine # [ 0.350832] cpuidle: using governor menu242machine # [ 0.353649] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5243machine # [ 0.355032] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]244machine # [ 0.355806] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry245machine # [ 0.356839] PCI: Using configuration type 1 for base access246machine # [ 0.358070] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.247machine # [ 0.363103] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages248machine # [ 0.363806] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page249machine # [ 0.368806] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages250machine # [ 0.369807] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page251machine # [ 0.380161] ACPI: Added _OSI(Module Device)252machine # [ 0.380806] ACPI: Added _OSI(Processor Device)253machine # [ 0.385804] ACPI: Added _OSI(Processor Aggregator Device)254machine # [ 0.391158] ACPI: 1 ACPI AML tables successfully acquired and loaded255machine # [ 0.394746] ACPI: Interpreter enabled256machine # [ 0.395506] ACPI: PM: (supports S0 S3 S4 S5)257machine # [ 0.395817] ACPI: Using IOAPIC for interrupt routing258machine # [ 0.400841] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug259machine # [ 0.401805] PCI: Using E820 reservations for host bridge windows260machine # [ 0.403951] ACPI: Enabled 2 GPEs in block 00 to 3F261machine # [ 0.408721] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])262machine # [ 0.409809] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]263machine # [ 0.410885] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]264machine # [ 0.411931] acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]265machine # [ 0.413236] PCI host bridge to bus 0000:00266machine # [ 0.413811] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]267machine # [ 0.414823] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]268machine # [ 0.415806] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]269machine # [ 0.416806] pci_bus 0000:00: root bus resource [mem 0x40000000-0xafffffff window]270machine # [ 0.417806] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]271machine # [ 0.418806] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]272machine # [ 0.419806] pci_bus 0000:00: root bus resource [bus 00-ff]273machine # [ 0.420904] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint274machine # [ 0.422513] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint275machine # [ 0.425862] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]276machine # [ 0.426831] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]277machine # [ 0.427852] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]278machine # [ 0.428979] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]279machine # [ 0.430709] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint280machine # [ 0.432816] pci 0000:00:02.0: BAR 0 [io 0xc140-0xc15f]281machine # [ 0.433819] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]282machine # [ 0.434852] pci 0000:00:02.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]283machine # [ 0.435820] pci 0000:00:02.0: ROM [mem 0xfeb40000-0xfeb7ffff pref]284machine # [ 0.438047] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint285machine # [ 0.440788] pci 0000:00:03.0: BAR 0 [io 0xc160-0xc17f]286machine # [ 0.441790] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]287machine # [ 0.442858] pci 0000:00:03.0: BAR 4 [mem 0xfe004000-0xfe007fff 64bit pref]288machine # [ 0.444774] pci 0000:00:04.0: [1af4:1009] type 00 class 0x000200 conventional PCI endpoint289machine # [ 0.446816] pci 0000:00:04.0: BAR 0 [io 0xc080-0xc0bf]290machine # [ 0.447816] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]291machine # [ 0.448847] pci 0000:00:04.0: BAR 4 [mem 0xfe008000-0xfe00bfff 64bit pref]292machine # [ 0.450785] pci 0000:00:05.0: [1af4:1009] type 00 class 0x000200 conventional PCI endpoint293machine # [ 0.453774] pci 0000:00:05.0: BAR 0 [io 0xc180-0xc19f]294machine # [ 0.454766] pci 0000:00:05.0: BAR 1 [mem 0xfebd4000-0xfebd4fff]295machine # [ 0.455848] pci 0000:00:05.0: BAR 4 [mem 0xfe00c000-0xfe00ffff 64bit pref]296machine # [ 0.457778] pci 0000:00:06.0: [1af4:1009] type 00 class 0x000200 conventional PCI endpoint297machine # [ 0.459816] pci 0000:00:06.0: BAR 0 [io 0xc1a0-0xc1bf]298machine # [ 0.460817] pci 0000:00:06.0: BAR 1 [mem 0xfebd5000-0xfebd5fff]299machine # [ 0.461847] pci 0000:00:06.0: BAR 4 [mem 0xfe010000-0xfe013fff 64bit pref]300machine # [ 0.463793] pci 0000:00:07.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint301machine # [ 0.465816] pci 0000:00:07.0: BAR 0 [io 0xc000-0xc07f]302machine # [ 0.466817] pci 0000:00:07.0: BAR 1 [mem 0xfebd6000-0xfebd6fff]303machine # [ 0.467847] pci 0000:00:07.0: BAR 4 [mem 0xfe014000-0xfe017fff 64bit pref]304machine # [ 0.469792] pci 0000:00:08.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint305machine # [ 0.471816] pci 0000:00:08.0: BAR 0 [io 0xc1c0-0xc1df]306machine # [ 0.472817] pci 0000:00:08.0: BAR 1 [mem 0xfebd7000-0xfebd7fff]307machine # [ 0.473847] pci 0000:00:08.0: BAR 4 [mem 0xfe018000-0xfe01bfff 64bit pref]308machine # [ 0.474817] pci 0000:00:08.0: ROM [mem 0xfeb80000-0xfebbffff pref]309machine # [ 0.476759] pci 0000:00:09.0: [1af4:1052] type 00 class 0x090000 conventional PCI endpoint310machine # [ 0.478692] pci 0000:00:09.0: BAR 1 [mem 0xfebd8000-0xfebd8fff]311machine # [ 0.479847] pci 0000:00:09.0: BAR 4 [mem 0xfe01c000-0xfe01ffff 64bit pref]312machine # [ 0.481773] pci 0000:00:0a.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint313machine # [ 0.484249] pci 0000:00:0a.0: BAR 0 [io 0xc0c0-0xc0ff]314machine # [ 0.484817] pci 0000:00:0a.0: BAR 1 [mem 0xfebd9000-0xfebd9fff]315machine # [ 0.485847] pci 0000:00:0a.0: BAR 4 [mem 0xfe020000-0xfe023fff 64bit pref]316machine # [ 0.487768] pci 0000:00:0b.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint317machine # [ 0.489816] pci 0000:00:0b.0: BAR 0 [io 0xc1e0-0xc1ff]318machine # [ 0.490817] pci 0000:00:0b.0: BAR 1 [mem 0xfebda000-0xfebdafff]319machine # [ 0.491847] pci 0000:00:0b.0: BAR 4 [mem 0xfe024000-0xfe027fff 64bit pref]320machine # [ 0.493797] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint321machine # [ 0.495510] pci 0000:00:1d.0: BAR 4 [io 0xc200-0xc21f]322machine # [ 0.496110] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint323machine # [ 0.498504] pci 0000:00:1d.1: BAR 4 [io 0xc220-0xc23f]324machine # [ 0.499099] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint325machine # [ 0.500509] pci 0000:00:1d.2: BAR 4 [io 0xc240-0xc25f]326machine # [ 0.501170] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint327machine # [ 0.502489] pci 0000:00:1d.7: BAR 0 [mem 0xfebdb000-0xfebdbfff]328machine # [ 0.503130] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint329machine # [ 0.504328] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO330machine # [ 0.505188] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint331machine # [ 0.506722] pci 0000:00:1f.2: BAR 4 [io 0xc260-0xc27f]332machine # [ 0.507763] pci 0000:00:1f.2: BAR 5 [mem 0xfebdc000-0xfebdcfff]333machine # [ 0.509324] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint334machine # [ 0.510517] pci 0000:00:1f.3: BAR 4 [io 0x0700-0x073f]335machine # [ 0.515779] ACPI: PCI: Interrupt link LNKA configured for IRQ 10336machine # [ 0.516989] ACPI: PCI: Interrupt link LNKB configured for IRQ 10337machine # [ 0.518072] ACPI: PCI: Interrupt link LNKC configured for IRQ 11338machine # [ 0.518937] ACPI: PCI: Interrupt link LNKD configured for IRQ 11339machine # [ 0.519937] ACPI: PCI: Interrupt link LNKE configured for IRQ 10340machine # [ 0.520936] ACPI: PCI: Interrupt link LNKF configured for IRQ 10341machine # [ 0.521940] ACPI: PCI: Interrupt link LNKG configured for IRQ 11342machine # [ 0.522942] ACPI: PCI: Interrupt link LNKH configured for IRQ 11343machine # [ 0.523857] ACPI: PCI: Interrupt link GSIA configured for IRQ 16344machine # [ 0.524822] ACPI: PCI: Interrupt link GSIB configured for IRQ 17345machine # [ 0.525819] ACPI: PCI: Interrupt link GSIC configured for IRQ 18346machine # [ 0.526819] ACPI: PCI: Interrupt link GSID configured for IRQ 19347machine # [ 0.527819] ACPI: PCI: Interrupt link GSIE configured for IRQ 20348machine # [ 0.528819] ACPI: PCI: Interrupt link GSIF configured for IRQ 21349machine # [ 0.529822] ACPI: PCI: Interrupt link GSIG configured for IRQ 22350machine # [ 0.530822] ACPI: PCI: Interrupt link GSIH configured for IRQ 23351machine # [ 0.532570] iommu: Default domain type: Translated352machine # [ 0.533674] iommu: DMA domain TLB invalidation policy: lazy mode353machine # [ 0.535003] ACPI: bus type USB registered354machine # [ 0.535859] usbcore: registered new interface driver usbfs355machine # [ 0.536821] usbcore: registered new interface driver hub356machine # [ 0.537825] usbcore: registered new device driver usb357machine # [ 0.539472] NetLabel: Initializing358machine # [ 0.539809] NetLabel: domain hash size = 128359machine # [ 0.540804] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO360machine # [ 0.541858] NetLabel: unlabeled traffic allowed by default361machine # [ 0.542814] PCI: Using ACPI for IRQ routing362machine # [ 0.627717] pci 0000:00:01.0: vgaarb: setting as boot VGA device363machine # [ 0.627800] pci 0000:00:01.0: vgaarb: bridge control possible364machine # [ 0.627800] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none365machine # [ 0.627806] vgaarb: loaded366machine # [ 0.628676] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0367machine # [ 0.629674] hpet0: 3 comparators, 64-bit 100.000000 MHz counter368machine # [ 0.633886] clocksource: Switched to clocksource kvm-clock369machine # [ 0.637157] VFS: Disk quotas dquot_6.6.0370machine # [ 0.638125] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)371machine # [ 0.639802] pnp: PnP ACPI init372machine # [ 0.640785] ACPI: IRQ 4 override to edge(!), high(!)373machine # [ 0.642070] system 00:05: [mem 0xb0000000-0xbfffffff window] has been reserved374machine # [ 0.644078] pnp: PnP ACPI: found 6 devices375machine # [ 0.651673] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns376machine # [ 0.653633] clocksource: Switched to clocksource acpi_pm377machine # [ 0.654924] NET: Registered PF_INET protocol family378machine # [ 0.656242] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)379machine # [ 0.671139] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)380machine # [ 0.673118] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)381machine # [ 0.674871] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)382machine # [ 0.676662] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)383machine # [ 0.678322] TCP: Hash tables configured (established 8192 bind 8192)384machine # [ 0.679821] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear)385machine # [ 0.681567] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)386machine # [ 0.683096] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)387machine # [ 0.684712] NET: Registered PF_UNIX/PF_LOCAL protocol family388machine # [ 0.686033] NET: Registered PF_XDP protocol family389machine # [ 0.687177] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]390machine # [ 0.688584] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]391machine # [ 0.690011] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]392machine # [ 0.691545] pci_bus 0000:00: resource 7 [mem 0x40000000-0xafffffff window]393machine # [ 0.693105] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]394machine # [ 0.694657] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]395machine # [ 0.696805] ACPI: \_SB_.GSIA: Enabled at IRQ 16396machine # [ 0.699013] ACPI: \_SB_.GSIB: Enabled at IRQ 17397machine # [ 0.701203] ACPI: \_SB_.GSIC: Enabled at IRQ 18398machine # [ 0.703390] ACPI: \_SB_.GSID: Enabled at IRQ 19399machine # [ 0.705320] PCI: CLS 0 bytes, default 64400machine # [ 0.706481] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns401machine # [ 0.708777] Trying to unpack rootfs image as initramfs...402machine # [ 0.749975] Initialise system trusted keyrings403machine # [ 0.751197] workingset: timestamp_bits=40 max_order=18 bucket_order=0404machine # [ 0.772576] Key type asymmetric registered405machine # [ 0.773576] Asymmetric key parser 'x509' registered406machine # [ 0.778680] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)407machine # [ 0.780473] io scheduler mq-deadline registered408machine # [ 0.781570] io scheduler kyber registered409machine # [ 0.785071] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled410machine # [ 0.788850] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A411machine # [ 0.795767] Linux agpgart interface v0.103412machine # [ 0.796813] ACPI: bus type drm_connector registered413machine # [ 0.800015] usbcore: registered new interface driver usbserial_generic414machine # [ 0.801492] usbserial: USB Serial support registered for generic415machine # [ 0.805658] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled416machine # [ 0.807432] drop_monitor: Initializing network drop monitor service417machine # [ 0.812765] NET: Registered PF_INET6 protocol family418machine # [ 0.814332] Segment Routing with IPv6419machine # [ 0.817667] In-situ OAM (IOAM) with IPv6420machine # [ 0.818942] IPI shorthand broadcast: enabled421machine # [ 0.826968] sched_clock: Marking stable (634024164, 192610575)->(941066399, -114431660)422machine # [ 0.832873] registered taskstats version 1423machine # [ 0.834056] Loading compiled-in X.509 certificates424machine # [ 0.850538] Demotion targets for Node 0: null425machine # [ 0.853687] Key type .fscrypt registered426machine # [ 0.854649] Key type fscrypt-provisioning registered427machine # [ 0.857735] ima: No TPM chip found, activating TPM-bypass!428machine # [ 0.859004] ima: Allocated hash algorithm: sha1429machine # [ 0.861666] ima: No architecture policies found430machine # [ 0.864649] PM: Magic number: 10:632:802431machine # [ 0.866388] RAS: Correctable Errors collector initialized.432machine # [ 0.877008] clk: Disabling unused clocks433machine # [ 0.879650] PM: genpd: Disabling unused power domains434machine # [ 1.000852] Freeing initrd memory: 29080K435machine # [ 1.003973] Freeing unused decrypted memory: 2028K436machine # [ 1.006596] Freeing unused kernel image (initmem) memory: 3644K437machine # [ 1.008052] Write protecting the kernel read-only data: 32768k438machine # [ 1.010160] Freeing unused kernel image (text/rodata gap) memory: 1216K439machine # [ 1.012024] Freeing unused kernel image (rodata/data gap) memory: 756K440machine # [ 1.053304] x86/mm: Checked W+X mappings: passed, no W+X pages found.441machine # [ 1.054781] Run /init as init process442machine # [ 1.063515] systemd[1]: Inserted module 'autofs4'443machine # [ 1.077847] fuse: init (API version 7.45)444machine # [ 1.083123] ACPI: \_SB_.GSIG: Enabled at IRQ 22445machine # [ 1.086043] ACPI: \_SB_.GSIH: Enabled at IRQ 23446machine # [ 1.089693] ACPI: \_SB_.GSIE: Enabled at IRQ 20447machine # [ 1.092434] ACPI: \_SB_.GSIF: Enabled at IRQ 21448machine # [ 1.120410] systemd[1]: Successfully made /usr/ read-only.449machine # [ 1.457049] 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)450machine # [ 1.466228] systemd[1]: Detected virtualization kvm.451machine # [ 1.467580] systemd[1]: Detected architecture x86-64.452machine # [ 1.468902] systemd[1]: Running in initrd.453machine # [ 1.470135] systemd[1]: Initializing machine ID from random generator.454machine # [ 1.471710] systemd[1]: Hostname set to <machine>.455machine # [ 1.657236] systemd[1]: bpf-restrict-fs: LSM BPF program attached456machine # [ 1.691581] systemd[1]: Queued start job for default target Initrd Default Target.457machine # [ 1.695913] systemd[1]: Created slice Slice /system/modprobe.458machine # [ 1.697495] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.459machine # [ 1.699387] systemd[1]: Expecting device /dev/disk/by-label/nixos...460machine # [ 1.700974] systemd[1]: Reached target Path Units.461machine # [ 1.702180] systemd[1]: Reached target Slice Units.462machine # [ 1.703394] systemd[1]: Reached target Swaps.463machine # [ 1.704508] systemd[1]: Reached target Timer Units.464machine # [ 1.705862] systemd[1]: Listening on D-Bus System Message Bus Socket.465machine # [ 1.707479] systemd[1]: Listening on Journal Socket (/dev/log).466machine # [ 1.709069] systemd[1]: Listening on Journal Sockets.467machine # [ 1.710427] systemd[1]: Listening on udev Control Socket.468machine # [ 1.711876] systemd[1]: Listening on udev Kernel Socket.469machine # [ 1.713181] systemd[1]: Reached target Socket Units.470machine # [ 1.715142] systemd[1]: Starting Create List of Static Device Nodes...471machine # [ 1.722273] systemd[1]: Starting Load Kernel Module 9pnet_virtio...472machine # [ 1.729354] systemd[1]: Starting Load Kernel Module configfs...473machine # [ 1.741072] systemd[1]: Starting Journal Service...474machine # [ 1.750448] systemd[1]: Starting Load Kernel Modules...475machine # [ 1.757699] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os476machine # [ 1.771466] netfs: FS-Cache loaded477machine # [ 1.776179] 9pnet: Installing 9P2000 support478machine # [ 1.789808] systemd[1]: Starting Coldplug All udev Devices...479machine # [ 1.797977] systemd-journald[67]: Collecting audit messages is disabled.480machine # [ 1.807084] systemd[1]: Finished Create List of Static Device Nodes.481machine # [ 1.816283] systemd[1]: modprobe@9pnet_virtio.service: Deactivated successfully.482machine # [ 1.822399] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.483machine # [ 1.828096] systemd[1]: Finished Load Kernel Module 9pnet_virtio.484machine # [ 1.832995] systemd[1]: modprobe@configfs.service: Deactivated successfully.485machine # [ 1.838723] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev486machine # [ 1.841249] systemd[1]: Finished Load Kernel Module configfs.487machine # [ 1.847191] systemd[1]: Kernel Configuration File System skipped, unmet condition check ConditionPathExists=/sys/kernel/config488machine # [ 1.861438] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...489machine # [ 1.876768] systemd[1]: Finished Load Kernel Modules.490machine # [ 1.886847] systemd[1]: Starting Apply Kernel Variables...491machine # [ 1.903969] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.492machine # [ 1.913824] systemd[1]: Starting Create Static Device Nodes in /dev...493machine # [ 1.929756] systemd[1]: Finished Apply Kernel Variables.494machine # [ 1.944327] systemd[1]: Finished Create Static Device Nodes in /dev.495machine # [ 1.951002] systemd[1]: Reached target Preparation for Local File Systems.496machine # [ 1.956721] systemd[1]: Reached target Local File Systems.497machine # [ 1.766059] systemd-modules-load[68]: Inserted module 'dm_mod'498machine # [ 1.769329] systemd-modules-load[68]: Inserted module 'virtio_balloon'499machine # [ 1.771268] systemd-modules-load[68]: Inserted module 'virtio_gpu'500machine # [ 1.965791] systemd[1]: Starting Rule-based Manager for Device Events and Files...501machine # [ 1.973907] systemd[1]: Started Journal Service.502machine # [ 1.802096] systemd[1]: Starting Create System Files and Directories...503machine # [ 1.828609] systemd[1]: Finished Create System Files and Directories.504machine # [ 1.832235] systemd-udevd[75]: Using default interface naming scheme 'v261'.505machine # [ 1.860080] systemd[1]: Started Rule-based Manager for Device Events and Files.506machine # [ 1.874996] systemd[1]: Finished Coldplug All udev Devices.507machine # [ 1.876299] systemd[1]: Reached target System Initialization.508machine # [ 1.877463] systemd[1]: Reached target Basic System.509machine # [ 2.300290] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12510machine # [ 2.309042] virtio_blk virtio5: 1/0/0 default/read/poll queues511machine # [ 2.323563] virtio_blk virtio5: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)512machine # [ 2.333410] serio: i8042 KBD port at 0x60,0x64 irq 1513machine # [ 2.334311] serio: i8042 AUX port at 0x60,0x64 irq 12514machine # [ 2.336845] uhci_hcd 0000:00:1d.0: UHCI Host Controller515machine # [ 2.345232] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1516machine # [ 2.351014] uhci_hcd 0000:00:1d.0: detected 2 ports517machine # [ 2.353730] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c200518machine # [ 2.356787] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18519machine # [ 2.360615] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1520machine # [ 2.362093] usb usb1: Product: UHCI Host Controller521machine # [ 2.365614] usb usb1: Manufacturer: Linux 6.18.48 uhci_hcd522machine # [ 2.366731] usb usb1: SerialNumber: 0000:00:1d.0523machine # [ 2.367940] SCSI subsystem initialized524machine # [ 2.369261] hub 1-0:1.0: USB hub found525machine # [ 2.370288] hub 1-0:1.0: 2 ports detected526machine # [ 2.372932] ehci-pci 0000:00:1d.7: EHCI Host Controller527machine # [ 2.373921] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2528machine # [ 2.375969] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebdb000529machine # [ 2.383723] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00530machine # [ 2.385460] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.18531machine # [ 2.387086] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1532machine # [ 2.388937] usb usb2: Product: EHCI Host Controller533machine # [ 2.389941] usb usb2: Manufacturer: Linux 6.18.48 ehci_hcd534machine # [ 2.391032] usb usb2: SerialNumber: 0000:00:1d.7535machine # [ 2.392267] hub 2-0:1.0: USB hub found536machine # [ 2.393421] hub 2-0:1.0: 6 ports detected537machine # [ 2.416268] hub 1-0:1.0: USB hub found538machine # [ 2.417866] hub 1-0:1.0: 2 ports detected539machine # [ 2.421706] uhci_hcd 0000:00:1d.1: UHCI Host Controller540machine # [ 2.423109] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3541machine # [ 2.444231] uhci_hcd 0000:00:1d.1: detected 2 ports542machine # [ 2.451169] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c220543machine # [ 2.460072] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18544machine # [ 2.461527] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1545machine # [ 2.483625] usb usb3: Product: UHCI Host Controller546machine # [ 2.484508] usb usb3: Manufacturer: Linux 6.18.48 uhci_hcd547machine # [ 2.298495] systemd[1]: Starting Virtual Console Setup...548machine # [ 2.495827] usb usb3: SerialNumber: 0000:00:1d.1549machine # [ 2.305522] (udev-worker)[93]: Network interface NamePolicy= disabled on kernel command line.550machine # [ 2.518683] hub 3-0:1.0: USB hub found551machine # [ 2.330391] (udev-worker)[97]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.552machine # [ 2.333510] (udev-worker)[97]: Network interface NamePolicy= disabled on kernel command line.553machine # [ 2.336071] systemd-vconsole-setup[100]: Configuration of first virtual console was skipped, ignoring remaining ones.554machine # [ 2.532675] hub 3-0:1.0: 2 ports detected555machine # [ 2.341914] systemd[1]: Finished Virtual Console Setup.556machine # [ 2.544703] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0557machine # [ 2.551665] uhci_hcd 0000:00:1d.2: UHCI Host Controller558machine # [ 2.552629] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4559machine # [ 2.371978] systemd[1]: Found device /dev/disk/by-label/nixos.560machine # [ 2.374852] systemd[1]: Reached target Initrd Root Device.561machine # [ 2.378085] systemd[1]: Starting File System Check on /dev/disk/by-label/nixos...562machine # [ 2.575013] uhci_hcd 0000:00:1d.2: detected 2 ports563machine # [ 2.580821] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c240564machine # [ 2.585268] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode565machine # [ 2.588397] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18566machine # [ 2.590352] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)567machine # [ 2.591532] ahci 0000:00:1f.2: flags: 64bit ncq only568machine # [ 2.594131] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1569machine # [ 2.596131] usb usb4: Product: UHCI Host Controller570machine # [ 2.600010] usb usb4: Manufacturer: Linux 6.18.48 uhci_hcd571machine # [ 2.409744] systemd-fsck[109]: nixos: clean, 12/65536 files, 13019/262144 blocks572machine # [ 2.605623] usb usb4: SerialNumber: 0000:00:1d.2573machine # [ 2.606898] scsi host0: ahci574machine # [ 2.608665] hub 4-0:1.0: USB hub found575machine # [ 2.609557] scsi host1: ahci576machine # [ 2.611756] hub 4-0:1.0: 2 ports detected577machine # [ 2.612888] scsi host2: ahci578machine # [ 2.616117] scsi host3: ahci579machine # [ 2.618000] scsi host4: ahci580machine # [ 2.623035] scsi host5: ahci581machine # [ 2.433439] systemd[1]: Finished File System Check on /dev/disk/by-label/nixos.582machine # [ 2.628477] ata1: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc100 irq 44 lpm-pol 1583machine # [ 2.637161] ata2: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc180 irq 44 lpm-pol 1584machine # [ 2.638619] usb 2-1: new high-speed USB device number 2 using ehci-pci585machine # [ 2.648824] ata3: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc200 irq 44 lpm-pol 1586machine # [ 2.654359] ata4: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc280 irq 44 lpm-pol 1587machine # [ 2.661626] ata5: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc300 irq 44 lpm-pol 1588machine # [ 2.666354] ata6: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc380 irq 44 lpm-pol 1589machine # [ 2.768035] usb 2-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00590machine # [ 2.770013] usb 2-1: New USB device strings: Mfr=1, Product=3, SerialNumber=10591machine # [ 2.771920] usb 2-1: Product: QEMU USB Tablet592machine # [ 2.773023] usb 2-1: Manufacturer: QEMU593machine # [ 2.773984] usb 2-1: SerialNumber: 28754-0000:00:1d.7-1594machine # [ 2.792088] hid: raw HID events driver (C) Jiri Kosina595machine # [ 2.614152] systemd[1]: Mounting /sysroot...596machine # [ 2.981961] ata2: SATA link down (SStatus 0 SControl 300)597machine # [ 2.983976] ata5: SATA link down (SStatus 0 SControl 300)598machine # [ 2.985988] ata6: SATA link down (SStatus 0 SControl 300)599machine # [ 2.987887] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)600machine # [ 2.989557] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100601machine # [ 2.991132] ata3.00: applying bridge limits602machine # [ 2.992415] ata4: SATA link down (SStatus 0 SControl 300)603machine # [ 2.993766] ata1: SATA link down (SStatus 0 SControl 300)604machine # [ 2.995143] ata3.00: configured for UDMA/100605machine # [ 2.996409] scsi 2:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5606machine # [ 3.046807] usbcore: registered new interface driver usbhid607machine # [ 3.053602] usbhid: USB HID core driver608machine # [ 3.069874] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/0003:0627:0001.0001/input/input2609machine # [ 3.071958] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0610machine # [ 3.081137] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray611machine # [ 3.089690] EXT4-fs (vda): mounted filesystem 2475113d-37e2-42e5-8eda-c9440ba1f07a r/w with ordered data mode. Quota mode: none.612machine # [ 3.094216] cdrom: Uniform CD-ROM driver Revision: 3.20613machine # [ 2.905089] systemd[1]: Mounted /sysroot.614machine # [ 2.906101] systemd[1]: Reached target Initrd Root File System.615machine # [ 2.911091] systemd[1]: Starting Mountpoints Configured in the Real Root...616machine # [ 2.924150] systemd-sysroot-fstab-check[141]: /sysroot should be mounted in the initrd, will request daemon-reload.617machine # [ 2.928486] systemd[1]: Reload requested from client PID 141 ('systemd-sysroot') (unit initrd-parse-etc.service)...618machine # [ 2.931082] systemd[1]: Reloading...619machine # [ 3.005585] systemd[1]: Reloading finished in 74 ms.620machine # [ 3.015586] systemd-sysroot-fstab-check[141]: Requesting initrd-fs.target/start/replace...621machine # [ 3.019192] systemd-sysroot-fstab-check[141]: Requesting swap.target/start/replace...622machine # [ 3.025190] systemd[1]: Load Kernel Module 9pnet_virtio skipped, unmet condition check ConditionKernelModuleLoaded=!9pnet_virtio623machine # [ 3.028187] systemd[1]: initrd-parse-etc.service: Deactivated successfully.624machine # [ 3.029637] systemd[1]: Finished Mountpoints Configured in the Real Root.625machine # [ 3.031475] systemd[1]: initrd-parse-etc.service: Triggering OnSuccess= dependencies.626machine # [ 3.615907] systemd[1]: Mounting /sysroot/nix/.ro-store...627machine # [ 3.621056] systemd[1]: Mounting /sysroot/nix/.rw-store...628machine # [ 3.625344] systemd[1]: Mounting /sysroot/run...629machine # [ 3.632606] systemd[1]: Mounting /sysroot/tmp/shared...630machine # [ 3.640157] systemd[1]: Mounting /sysroot/tmp/xchg...631machine # [ 3.844319] 9p: Installing v9fs 9p2000 file system support632machine # [ 3.657675] systemd[1]: Mounted /sysroot/nix/.rw-store.633machine # [ 3.659080] systemd[1]: Mounted /sysroot/run.634machine # [ 3.664086] systemd[1]: Mounted /sysroot/nix/.ro-store.635machine # [ 3.668115] systemd[1]: Mounted /sysroot/tmp/shared.636machine # [ 3.671208] systemd[1]: Mounted /sysroot/tmp/xchg.637machine # [ 3.674768] systemd[1]: Starting rw-sysroot-nix-store.service...638machine # [ 3.683367] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.639machine # [ 3.685382] systemd[1]: Finished rw-sysroot-nix-store.service.640machine # [ 4.614885] systemd[1]: Mounting /sysroot/nix/store...641machine # [ 4.636144] systemd[1]: Mounted /sysroot/nix/store.642machine # [ 4.637672] systemd[1]: Reached target Initrd File Systems.643machine # [ 4.639762] systemd[1]: Starting Find NixOS closure...644machine # [ 4.642528] systemd[1]: Starting Create Volatile Files and Directories in the Real Root...645machine # [ 4.658919] systemd[1]: Finished Create Volatile Files and Directories in the Real Root.646machine # [ 4.661087] systemd[1]: sysroot-run-credentials-systemd\x2dtmpfiles\x2dsetup\x2dsysroot.service.mount: Deactivated successfully.647machine # [ 4.668771] systemd[1]: Finished Find NixOS closure.648machine # [ 4.670451] systemd[1]: Reached target Initrd Default Target.649machine # [ 4.672858] systemd[1]: Starting Cleaning Up and Shutting Down Daemons...650machine # [ 4.684550] systemd[1]: Stopped target Initrd Default Target.651machine # [ 4.686344] systemd[1]: Stopped target Basic System.652machine # [ 4.687659] systemd[1]: Stopped target Initrd Root Device.653machine # [ 4.690155] systemd[1]: Stopped target Path Units.654machine # [ 4.691172] systemd[1]: systemd-ask-password-console.path: Deactivated successfully.655machine # [ 4.692753] systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.656machine # [ 4.694241] systemd[1]: Stopped target Slice Units.657machine # [ 4.695273] systemd[1]: Stopped target Socket Units.658machine # [ 4.696324] systemd[1]: Stopped target System Initialization.659machine # [ 4.697858] systemd[1]: Stopped target Swaps.660machine # [ 4.699193] systemd[1]: Stopped target Timer Units.661machine # [ 4.700982] systemd[1]: dbus.socket: Deactivated successfully.662machine # [ 4.702220] systemd[1]: Closed D-Bus System Message Bus Socket.663machine # [ 4.703513] systemd[1]: initrd-find-nixos-closure.service: Deactivated successfully.664machine # [ 4.706174] systemd[1]: Stopped Find NixOS closure.665machine # [ 4.707198] systemd[1]: Load Kernel Module 9pnet_virtio skipped, unmet condition check ConditionKernelModuleLoaded=!9pnet_virtio666machine # [ 4.709399] systemd[1]: Starting rw-sysroot-nix-store.service...667machine # [ 4.711166] systemd[1]: systemd-sysctl.service: Deactivated successfully.668machine # [ 4.712539] systemd[1]: Stopped Apply Kernel Variables.669machine # [ 4.713616] systemd[1]: systemd-modules-load.service: Deactivated successfully.670machine # [ 4.715429] systemd[1]: Stopped Load Kernel Modules.671machine # [ 4.717150] systemd[1]: systemd-tmpfiles-setup-sysroot.service: Deactivated successfully.672machine # [ 4.719182] systemd[1]: Stopped Create Volatile Files and Directories in the Real Root.673machine # [ 4.721526] systemd[1]: systemd-tmpfiles-setup.service: Deactivated successfully.674machine # [ 4.722924] systemd[1]: Stopped Create System Files and Directories.675machine # [ 4.724514] systemd[1]: Stopped target Local File Systems.676machine # [ 4.726311] systemd[1]: Stopped target Preparation for Local File Systems.677machine # [ 4.727907] systemd[1]: systemd-udev-trigger.service: Deactivated successfully.678machine # [ 4.731188] systemd[1]: Stopped Coldplug All udev Devices.679machine # [ 4.733359] systemd[1]: Stopping Rule-based Manager for Device Events and Files...680machine # [ 4.734900] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.681machine # [ 4.738155] systemd[1]: Stopped Virtual Console Setup.682machine # [ 4.742607] systemd[1]: initrd-cleanup.service: Deactivated successfully.683machine # [ 4.745840] systemd[1]: Finished Cleaning Up and Shutting Down Daemons.684machine # [ 4.748390] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.685machine # [ 4.749866] systemd[1]: Finished rw-sysroot-nix-store.service.686machine # [ 4.751562] systemd[1]: systemd-udevd.service: Deactivated successfully.687machine # [ 4.753447] systemd[1]: Stopped Rule-based Manager for Device Events and Files.688machine # [ 4.757681] systemd[1]: systemd-udevd-control.socket: Deactivated successfully.689machine # [ 4.759972] systemd[1]: Closed udev Control Socket.690machine # [ 4.761255] systemd[1]: Starting Cleanup udev Database...691machine # [ 4.762412] systemd[1]: systemd-tmpfiles-setup-dev.service: Deactivated successfully.692machine # [ 4.764245] systemd[1]: Stopped Create Static Device Nodes in /dev.693machine # [ 4.765568] systemd[1]: systemd-tmpfiles-setup-dev-early.service: Deactivated successfully.694machine # [ 4.767661] systemd[1]: Stopped Create Static Device Nodes in /dev gracefully.695machine # [ 4.769063] systemd[1]: kmod-static-nodes.service: Deactivated successfully.696machine # [ 4.771149] systemd[1]: Stopped Create List of Static Device Nodes.697machine # [ 4.782844] systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.698machine # [ 4.785177] systemd[1]: Finished Cleanup udev Database.699machine # [ 4.786702] systemd[1]: Reached target Switch Root.700machine # [ 4.788701] systemd[1]: Starting NixOS Activation...701machine # [ 4.895514] initrd-nixos-activation-start[194]: booting system configuration /nix/store/daijd1rzziiha5762mxn2201q555ryw0-nixos-system-machine-test702machine # [ 4.937778] initrd-nixos-activation-start[194]: running activation script...703machine # [ 5.218519] initrd-nixos-activation-start[217]: setting up /etc...704machine # [ 5.395817] systemd[1]: initrd-nixos-activation.service: Deactivated successfully.705machine # [ 5.398272] systemd[1]: Finished NixOS Activation.706machine # [ 5.399991] systemd[1]: Starting Switch Root...707machine # [ 5.412149] systemd[1]: Switching root.708machine # [ 5.731670] systemd-journald[67]: Received SIGTERM from PID 1 (systemd).709machine # [ 5.848598] NET: Registered PF_VSOCK protocol family710machine # [ 6.214801] 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)711machine # [ 6.221704] systemd[1]: Detected virtualization kvm.712machine # [ 6.222922] systemd[1]: Detected architecture x86-64.713machine # [ 6.224090] systemd[1]: Detected first boot.714machine # [ 6.227101] systemd[1]: Initializing machine ID from random generator.715machine # [ 6.449583] systemd[1]: bpf-restrict-fs: LSM BPF program attached716machine # [ 6.535859] systemd[1]: Applying preset policy.717machine # [ 6.835488] systemd[1]: Populated /etc with preset unit settings.718machine # [ 7.145453] systemd[1]: initrd-switch-root.service: Deactivated successfully.719machine # [ 7.147205] systemd[1]: Stopped initrd-switch-root.service.720machine # [ 7.149938] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.721machine # [ 7.152314] systemd[1]: Created slice Slice /system/getty.722machine # [ 7.153922] systemd[1]: Created slice User and Session Slice.723machine # [ 7.155085] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.724machine # [ 7.156628] systemd[1]: Started Forward Password Requests to Wall Directory Watch.725machine # [ 7.158016] systemd[1]: Expecting device /dev/hvc0...726machine # [ 7.158970] systemd[1]: Expecting device /dev/ttyS0...727machine # [ 7.159962] systemd[1]: Reached target Local Encrypted Volumes.728machine # [ 7.161037] systemd[1]: Stopped target initrd-fs.target.729machine # [ 7.171878] systemd[1]: Stopped target initrd-root-fs.target.730machine # [ 7.172935] systemd[1]: Stopped target initrd-switch-root.target.731machine # [ 7.174062] systemd[1]: Reached target Virtual Machines and Containers.732machine # [ 7.175249] systemd[1]: Reached target Path Units.733machine # [ 7.176186] systemd[1]: Reached target Remote File Systems.734machine # [ 7.177231] systemd[1]: Reached target Slice Units.735machine # [ 7.178194] systemd[1]: Reached target Swaps.736machine # [ 7.180624] systemd[1]: Listening on Query the User Interactively for a Password.737machine # [ 7.183708] systemd[1]: Listening on Process Core Dump Socket.738machine # [ 7.186133] systemd[1]: Listening on Credential Encryption/Decryption.739machine # [ 7.188634] systemd[1]: Listening on Factory Reset Management.740machine # [ 7.189829] systemd[1]: Listening on Hostname Service Socket.741machine # [ 7.192928] systemd[1]: Starting Journal Log Access Socket...742machine # [ 7.194477] systemd[1]: Listening on Journal Audit Socket.743machine # [ 7.197410] systemd[1]: Listening on Console Output Muting Service Socket.744machine # [ 7.198820] systemd[1]: Listening on Userspace Out-Of-Memory (OOM) Killer Socket.745machine # [ 7.200343] systemd[1]: TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-os746machine # [ 7.202018] systemd[1]: Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki747machine # [ 7.207962] systemd[1]: Listening on Disk Repartitioning Service Socket.748machine # [ 7.209265] systemd[1]: Listening on udev Control Socket.749machine # [ 7.210407] systemd[1]: Listening on udev Varlink Socket.750machine # [ 7.213322] systemd[1]: Mounting Huge Pages File System...751machine # [ 7.216375] systemd[1]: Mounting POSIX Message Queue File System...752machine # [ 7.222084] systemd[1]: Mounting Kernel Debug File System...753machine # [ 7.226811] systemd[1]: Mounting Kernel Trace File System...754machine # [ 7.232385] systemd[1]: Starting Create List of Static Device Nodes...755machine # [ 7.236300] systemd[1]: Load Kernel Module 9pnet_virtio skipped, unmet condition check ConditionKernelModuleLoaded=!9pnet_virtio756machine # [ 7.246213] systemd[1]: Starting Load Kernel Module configfs...757machine # [ 7.248272] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm758machine # [ 7.261936] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore759machine # [ 7.265653] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse760machine # [ 7.275756] systemd[1]: Mounting FUSE Control File System...761machine # [ 7.282967] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67762machine # [ 7.294700] systemd[1]: Starting Journal Service...763machine # [ 7.300601] systemd[1]: Starting Load Kernel Modules...764machine # [ 7.311029] systemd[1]: Starting Userspace Out-Of-Memory (OOM) Killer...765machine # [ 7.325194] systemd[1]: Starting Remount Root and Kernel File Systems...766machine # [ 7.328599] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os767machine # [ 7.343615] systemd[1]: Starting Coldplug All udev Devices...768machine # [ 7.347413] systemd-journald[287]: Collecting audit messages is enabled.769machine # [ 7.361965] loop: module loaded770machine # [ 7.369268] systemd[1]: Listening on Journal Log Access Socket.771machine # [ 7.376762] systemd[1]: Mounted Huge Pages File System.772machine # [ 7.380334] systemd[1]: Mounted POSIX Message Queue File System.773machine # [ 7.385607] EXT4-fs (vda): re-mounted 2475113d-37e2-42e5-8eda-c9440ba1f07a.774machine # [ 7.388578] systemd[1]: Mounted Kernel Debug File System.775machine # [ 7.393866] systemd[1]: Mounted Kernel Trace File System.776machine # [ 7.204632] systemd[1]: Queued start job for default target Multi-User System.777machine # [ 7.399320] systemd[1]: Started Journal Service.778machine # [ 7.210155] systemd[1]: systemd-journald.service: Deactivated successfully.779machine # [ 7.214702] systemd-modules-load[288]: Inserted module 'loop'780machine # [ 7.218243] systemd[1]: Finished Create List of Static Device Nodes.781machine # [ 7.219796] systemd[1]: modprobe@configfs.service: Deactivated successfully.782machine # [ 7.224488] systemd[1]: Finished Load Kernel Module configfs.783machine # [ 7.225901] systemd[1]: Mounted FUSE Control File System.784machine # [ 7.229520] systemd[1]: Finished Load Kernel Modules.785machine # [ 7.236095] systemd[1]: Finished Remount Root and Kernel File Systems.786machine # [ 7.250553] systemd[1]: Listening on Disk Image Download Service Socket.787machine # [ 7.256139] systemd-oomd[290]: No swap; memory pressure usage will be degraded788machine # [ 7.259459] systemd[1]: Mounting Kernel Configuration File System...789machine # [ 7.265126] systemd[1]: Starting Firewall...790machine # [ 7.271081] systemd[1]: Starting Flush Journal to Persistent Storage...791machine # [ 7.273563] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore792machine # [ 7.282721] systemd[1]: Starting Load/Save OS Random Seed...793machine # [ 7.299105] systemd[1]: Starting Apply Kernel Variables...794machine # [ 7.308487] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...795machine # [ 7.311081] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os796machine # [ 7.315077] systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.797machine # [ 7.352974] systemd[1]: Mounted Kernel Configuration File System.798machine # [ 7.562300] systemd-journald[287]: Received client request to flush runtime journal.799machine # [ 7.594859] systemd[1]: Finished Load/Save OS Random Seed.800machine # [ 7.599198] systemd[1]: Reached target First Boot Complete.801machine # [ 7.600870] systemd[1]: Finished Apply Kernel Variables.802machine # [ 7.604988] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.803machine # [ 7.608279] systemd[1]: Starting Create Static Device Nodes in /dev...804machine # [ 7.610346] systemd[1]: Finished Create Static Device Nodes in /dev.805machine # [ 7.612732] systemd[1]: Reached target Preparation for Local File Systems.806machine # [ 7.614762] systemd[1]: Starting Rule-based Manager for Device Events and Files...807machine # [ 7.617204] systemd[1]: Finished Flush Journal to Persistent Storage.808machine # [ 7.618864] systemd-udevd[326]: Using default interface naming scheme 'v261'.809machine # [ 7.634625] systemd[1]: Finished Coldplug All udev Devices.810machine # [ 7.703982] systemd[1]: Started Rule-based Manager for Device Events and Files.811machine # [ 7.875892] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse812machine # [ 7.958379] systemd[1]: Mounting /run/wrappers...813machine # [ 7.977120] systemd[1]: Condition check resulted in /dev/hvc0 being skipped.814machine # [ 7.992882] systemd[1]: Mounted /run/wrappers.815machine # [ 7.995098] systemd[1]: Reached target Local File Systems.816machine # [ 7.999983] systemd[1]: Listening on Boot Loader Control Service Socket.817machine # [ 8.003294] systemd[1]: Starting register-nix-paths.service...818machine # [ 8.009061] systemd[1]: Starting Create SUID/SGID Wrappers...819machine # [ 8.010206] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.820machine # [ 8.018785] systemd[1]: Starting Save Transient machine-id to Disk...821machine # [ 8.032159] systemd[1]: Starting Create System Files and Directories...822machine # [ 8.039110] systemd[1]: Condition check resulted in /dev/ttyS0 being skipped.823machine # [ 8.108559] (udev-worker)[372]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.824machine # [ 8.114468] (udev-worker)[372]: Network interface NamePolicy= disabled on kernel command line.825machine # [ 8.120953] (udev-worker)[370]: Network interface NamePolicy= disabled on kernel command line.826machine # [ 8.133745] systemd[1]: etc-machine\x2did.mount: Deactivated successfully.827machine # [ 8.138675] systemd[1]: Finished Save Transient machine-id to Disk.828machine # [ 8.170413] systemd[1]: Finished Create System Files and Directories.829machine # [ 8.180184] systemd[1]: Starting Rebuild Journal Catalog...830machine # [ 8.190169] systemd[1]: Starting Record System Boot/Shutdown in UTMP...831machine # [ 8.262613] systemd[1]: Finished Record System Boot/Shutdown in UTMP.832machine # [ 8.297188] systemd[1]: Finished Firewall.833machine # [ 8.300664] systemd[1]: Finished Rebuild Journal Catalog.834machine # [ 8.310132] systemd[1]: Starting Update is Completed...835machine # [ 8.345656] systemd[1]: Condition check resulted in Virtio network device being skipped.836machine # [ 8.347315] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore837machine # [ 8.349655] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.838machine # [ 8.352490] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67839machine # [ 8.356796] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore840machine # [ 8.359692] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os841machine # [ 8.362553] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os842machine # [ 8.364977] systemd[1]: Finished Update is Completed.843machine # [ 8.516733] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.844machine # [ 8.520858] systemd[1]: Finished Create SUID/SGID Wrappers.845machine # [ 8.771529] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3846machine # [ 8.778520] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console847machine # [ 8.784686] mousedev: PS/2 mouse device common for all mice848machine # [ 8.801543] ACPI: button: Power Button [PWRF]849machine # [ 8.830740] rtc_cmos 00:04: RTC can wake from S4850machine # [ 8.859574] rtc_cmos 00:04: registered as rtc0851machine # [ 8.859671] rtc_cmos 00:04: setting system clock to 2026-09-02T21:46:17 UTC (1788385577)852machine # [ 8.859769] rtc_cmos 00:04: alarms up to one day, y3k, 242 bytes nvram, hpet irqs853machine # [ 8.871093] parport_pc 00:02: reported by Plug and Play ACPI854machine # [ 8.871183] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]855machine # [ 8.758875] systemd[1]: Finished register-nix-paths.service.856machine # [ 8.760407] systemd[1]: Reached target System Initialization.857machine # [ 8.763076] systemd[1]: Started Discard unused filesystem blocks once a week.858machine # [ 8.764703] systemd[1]: Started Daily Cleanup of Temporary Directories.859machine # [ 8.767944] systemd[1]: Reached target Timer Units.860machine # [ 8.769113] systemd[1]: Listening on D-Bus System Message Bus Socket.861machine # [ 8.770392] systemd[1]: Listening on Nix Daemon Socket.862machine # [ 8.772419] systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.863machine # [ 8.774613] systemd[1]: Reached target Socket Units.864machine # [ 8.775732] systemd[1]: Reached target Basic System.865machine # [ 8.778302] systemd[1]: Started backdoor.service.866machine # [ 8.882287] input: QEMU Virtio Keyboard as /devices/pci0000:00/0000:00:09.0/virtio7/input/input4867machine # [ 8.899390] Console: switching to colour dummy device 80x25868machine # [ 8.918086] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized869machine # [ 8.787099] systemd[1]: Starting Import lastlog data into lastlog2 database...870machine # [ 8.789648] systemd[1]: Starting Name Service Cache Daemon (nsncd)...871machine # [ 8.802239] systemd[1]: Starting Post-Boot Actions...872machine # [ 8.818254] systemd[1]: Started Reset console on configuration changes.873machine # [ 8.839686] systemd[1]: Starting resolvconf update...874machine # connecting to host...875machine # [ 8.884576] nsncd[511]: Sep 02 21:46:17.716 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"876machine: Guest shell says: b'Spawning backdoor root shell...\n'877machine # [ 8.889500] systemd[1]: Started Name Service Cache Daemon (nsncd).878machine # [ 8.894605] systemd[1]: Finished Post-Boot Actions.879machine: connected to guest root shell880machine: (connecting took 9.64 seconds)881machine: (finished: waiting for the VM to finish booting, in 9.84 seconds)882machine # [ 9.063456] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt883machine # [ 9.063610] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD884machine # [ 8.905819] systemd[1]: Reached target Host and Network Name Lookups.885machine # [ 8.907085] systemd[1]: Reached target User and Group Name Lookups.886machine # [ 8.917168] systemd[1]: Starting D-Bus System Message Bus...887machine # [ 8.937224] systemd[1]: Starting User Login Management...888machine # [ 9.149903] [drm] Found bochs VGA, ID 0xb0c5.889machine # [ 9.149905] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.890machine # [ 9.155132] bochs-drm 0000:00:01.0: [drm] Registered 1 planes with drm panic891machine # [ 9.156078] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0892machine # [ 8.976336] systemd[1]: Finished Import lastlog data into lastlog2 database.893machine # [ 9.177313] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input6894machine # [ 9.182030] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input5895machine # [ 9.079536] systemd[1]: Stopped target Host and Network Name Lookups.896machine # [ 9.080851] systemd[1]: Stopping Host and Network Name Lookups...897machine # [ 9.082044] systemd[1]: Stopped target User and Group Name Lookups.898machine # [ 9.083256] systemd[1]: Stopping User and Group Name Lookups...899machine # [ 9.087669] systemd[1]: Stopping Name Service Cache Daemon (nsncd)...900machine # [ 9.095465] dbus-broker-launch[536]: Looking up NSS user entry for 'systemd-timesync'...901machine # [ 9.097474] systemd[1]: nscd.service: Deactivated successfully.902machine # [ 9.103639] systemd[1]: Stopped Name Service Cache Daemon (nsncd).903machine # [ 9.106203] dbus-broker-launch[536]: NSS returned no entry for 'systemd-timesync'904machine # [ 9.109330] dbus-broker-launch[536]: Invalid user-name in /nix/store/c2wib9pq82dxjv5ndzi4viqw2v2g257l-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"905machine # [ 9.127721] systemd-logind[540]: New seat seat0.906machine # [ 9.134847] systemd[1]: Started User Login Management.907machine # [ 9.141330] systemd[1]: Started D-Bus System Message Bus.908machine # [ 9.146204] systemd[1]: Starting linger-users.service...909machine # [ 9.149560] systemd[1]: Starting Name Service Cache Daemon (nsncd)...910machine # [ 9.176738] systemd[1]: Starting Virtual Console Setup...911machine # [ 9.185790] dbus-broker-launch[536]: Ready912machine # [ 9.210066] systemd[1]: Finished resolvconf update.913machine # [ 9.215918] systemd[1]: linger-users.service: Deactivated successfully.914machine # [ 9.218696] systemd[1]: Finished linger-users.service.915machine # [ 9.227270] nsncd[601]: Sep 02 21:46:18.059 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"916machine # [ 9.234923] systemd[1]: Started Name Service Cache Daemon (nsncd).917machine # [ 9.484177] Console: switching to colour frame buffer device 160x50918machine # [ 9.517260] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device919machine # [ 9.239440] systemd[1]: Reached target Preparation for Network.920machine # [ 9.327104] systemd[1]: Reached target Host and Network Name Lookups.921machine # [ 9.328435] systemd[1]: Reached target User and Group Name Lookups.922machine # [ 9.336172] systemd[1]: Starting DHCP Client...923machine # [ 9.337320] systemd[1]: Starting Address configuration of eth1...924machine # [ 9.340793] systemd[1]: Starting Extra networking commands....925machine # [ 9.342887] systemd-logind[540]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)926machine # [ 9.347369] systemd-logind[540]: Watching system buttons on /dev/input/event2 (Power Button)927machine # [ 9.368810] network-addresses-eth1-start[623]: adding address 192.168.1.1/24... done928machine # [ 9.385370] network-addresses-eth1-start[623]: adding address 2001:db8:1::1/64... done929machine # [ 9.397096] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.930machine # [ 9.401848] systemd[1]: Stopped Virtual Console Setup.931machine # [ 9.416180] systemd[1]: Finished Address configuration of eth1.932machine # [ 9.428610] systemd[1]: Starting Virtual Console Setup...933machine # [ 9.496256] dhcpcd[632]: dhcpcd-10.3.2 starting934machine # [ 9.690153] ppdev: user-space parallel port driver935machine # [ 9.505696] dhcpcd[691]: dev: loaded udev936machine # [ 9.510687] systemd[1]: Finished Extra networking commands..937machine # [ 9.515224] systemd[1]: Reached target Network.938machine # [ 9.522201] systemd[1]: Starting PostgreSQL Server...939machine # [ 9.722038] 8021q: 802.1Q VLAN Support v1.8940machine # [ 9.532784] systemd[1]: Starting Permit User Sessions...941machine # [ 9.727419] 8021q: adding VLAN 0 to HW filter on device eth1942machine # [ 9.582824] systemd[1]: Finished Permit User Sessions.943machine # [ 9.594212] systemd[1]: Started Getty on tty1.944machine # [ 9.595242] systemd[1]: Reached target Login Prompts.945machine # [ 9.791526] iTCO_wdt iTCO_wdt.1.auto: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)946machine # [ 9.612992] systemd-logind[540]: Watching system buttons on /dev/input/event3 (QEMU Virtio Keyboard)947machine # [ 9.856563] iTCO_wdt iTCO_wdt.1.auto: initialized. heartbeat=30 sec (nowayout=0)948machine # [ 9.931022] cfg80211: Loading compiled-in X.509 certificates for regulatory database949machine # [ 9.951405] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'950machine # [ 9.953320] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'951machine # [ 9.957694] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2952machine # [ 9.958841] cfg80211: failed to load regulatory.db953machine # [ 9.797837] postgresql-pre-start[705]: The files belonging to this database system will be owned by user "postgres".954machine # [ 9.799670] postgresql-pre-start[705]: This user must also own the server process.955machine # [ 9.812490] postgresql-pre-start[705]: The database cluster will be initialized with locale "en_US.UTF-8".956machine # [ 9.814273] postgresql-pre-start[705]: The default database encoding has accordingly been set to "UTF8".957machine # [ 9.817086] postgresql-pre-start[705]: The default text search configuration will be set to "english".958machine # [ 9.819571] postgresql-pre-start[705]: Data page checksums are enabled.959machine # [ 9.821728] postgresql-pre-start[705]: fixing permissions on existing directory /var/lib/postgresql/18 ... ok960machine # [ 9.824945] postgresql-pre-start[705]: creating subdirectories ... ok961machine # [ 9.827198] postgresql-pre-start[705]: selecting dynamic shared memory implementation ... posix962machine # [ 9.830090] systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.963machine # [ 9.839941] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.964machine # [ 9.844278] systemd[1]: Stopped Virtual Console Setup.965machine # [ 10.044744] 8021q: adding VLAN 0 to HW filter on device eth0966machine # [ 9.857040] dhcpcd[691]: eth0: waiting for carrier967machine # [ 9.859080] dhcpcd[691]: eth0: carrier acquired968machine # [ 9.862467] systemd[1]: Starting Virtual Console Setup...969machine # [ 9.880563] dhcpcd[691]: DUID 00:01:00:01:32:2b:55:aa:52:54:00:12:34:56970machine # [ 9.882087] dhcpcd[691]: eth0: IAID 00:12:34:56971machine # [ 9.883347] dhcpcd[691]: eth0: adding address fe80::5054:ff:fe12:3456972machine # [ 10.140152] kvm_amd: TSC scaling supported973machine # [ 10.141918] kvm_amd: Nested Virtualization enabled974machine # [ 10.142973] kvm_amd: Nested Paging enabled975machine # [ 10.143977] kvm_amd: LBR virtualization supported976machine # [ 10.144921] kvm_amd: Virtual VMLOAD VMSAVE supported977machine # [ 10.146035] kvm_amd: Virtual GIF supported978machine # [ 9.963138] postgresql-pre-start[705]: selecting default "max_connections" ... 100979machine # [ 10.195064] EDAC MC: Ver: 3.0.0980machine # [ 10.030664] postgresql-pre-start[705]: selecting default "shared_buffers" ... 128MB981machine # [ 10.111105] systemd-vconsole-setup[721]: Configuration of first virtual console was skipped, ignoring remaining ones.982machine # [ 10.115710] systemd[1]: Finished Virtual Console Setup.983machine # [ 11.329256] postgresql-pre-start[705]: selecting default time zone ... UTC984machine # [ 11.332668] postgresql-pre-start[705]: creating configuration files ... ok985machine # [ 11.508757] postgresql-pre-start[705]: running bootstrap script ... ok986machine # [ 11.656329] dhcpcd[691]: eth0: soliciting a DHCP lease987machine # [ 11.863263] NET: Registered PF_PACKET protocol family988machine # [ 11.675489] dhcpcd[691]: eth0: offered 10.0.2.15 from 10.0.2.2989machine # [ 11.678180] dhcpcd[691]: eth0: probing address 10.0.2.15/24990machine # [ 11.962152] postgresql-pre-start[705]: performing post-bootstrap initialization ... ok991machine # [ 12.139445] postgresql-pre-start[705]: syncing data to disk ... ok992machine # [ 12.140643] postgresql-pre-start[705]: initdb: warning: enabling "trust" authentication for local connections993machine # [ 12.142306] postgresql-pre-start[705]: 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.994machine # [ 12.144875] postgresql-pre-start[705]: Success. You can now start the database server using:995machine # [ 12.146325] postgresql-pre-start[705]: pg_ctl -D /var/lib/postgresql/18 -l logfile start996machine # [ 12.253893] postgres[745]: [745] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-gnu, compiled by clang version 21.1.8, 64-bit997machine # [ 12.261859] postgres[745]: [745] LOG: listening on IPv6 address "::1", port 5432998machine # [ 12.263309] postgres[745]: [745] LOG: listening on IPv4 address "127.0.0.1", port 5432999machine # [ 12.276439] postgres[745]: [745] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"1000machine # [ 12.310673] postgres[758]: [758] LOG: database system was shut down at 2026-09-02 21:46:20 GMT1001machine # [ 12.326843] postgres[745]: [745] LOG: database system is ready to accept connections1002machine # [ 12.341535] systemd[1]: Started PostgreSQL Server.1003machine # [ 12.350352] systemd[1]: Starting PostgreSQL Setup Scripts...1004machine # [ 12.474604] dhcpcd[691]: eth0: soliciting an IPv6 router1005machine # [ 12.476639] dhcpcd[691]: eth0: Router Advertisement from fe80::21006machine # [ 12.478842] dhcpcd[691]: eth0: adding address fec0::5054:ff:fe12:3456/641007machine # [ 12.480657] dhcpcd[691]: eth0: adding route to fec0::/641008machine # [ 12.481769] dhcpcd[691]: eth0: adding default route via fe80::21009machine # [ 12.536815] postgresql-setup-start[769]: CREATE DATABASE1010machine # [ 12.568636] postgresql-setup-start[774]: CREATE ROLE1011machine # [ 12.584126] postgresql-setup-start[776]: ALTER DATABASE1012machine # [ 12.589156] systemd[1]: Finished PostgreSQL Setup Scripts.1013machine # [ 12.591487] systemd[1]: Reached target PostgreSQL.1014machine: (finished: waiting for unit postgresql.service, in 14.21 seconds)1015machine: waiting for unit rustfs.service1016machine # [ 16.346172] dhcpcd[691]: eth0: leased 10.0.2.15 for 86400 seconds1017machine # [ 16.347888] dhcpcd[691]: eth0: adding route to 10.0.2.0/241018machine # [ 16.349793] dhcpcd[691]: eth0: adding default route via 10.0.2.21019machine # [ 16.418244] systemd[1]: Started DHCP Client.1020machine # [ 16.421769] systemd[1]: Reached target Network is Online.1021machine # [ 16.428549] systemd[1]: Starting RustFS Object Storage Server...1022machine # [ 16.994464] systemd[1]: Started RustFS Object Storage Server.1023machine # [ 17.001591] systemd[1]: Starting Self-hosted Zotero sync server...1024machine # [ 17.040543] systemd[1]: Started Self-hosted Zotero sync server.1025machine # [ 17.043326] systemd[1]: Reached target Multi-User System.1026machine # [ 17.044890] systemd[1]: Startup finished in 865ms (kernel) + 4.751s (initrd) + 11.428s (userspace) = 17.044s.1027machine # [ 17.243693] zhost[887]: 2026-09-02T21:46:26.075951Z INFO zhost: zhost listening bind=127.0.0.1:81891028machine: (finished: waiting for unit rustfs.service, in 4.21 seconds)1029machine: waiting for TCP port 9000 on localhost1030machine # Connection to localhost (::1) 9000 port [tcp/cslistener] succeeded!1031machine: (finished: waiting for TCP port 9000 on localhost, in 0.04 seconds)1032machine: waiting for unit zhost.service1033machine: (finished: waiting for unit zhost.service, in 0.03 seconds)1034machine: waiting for TCP port 8189 on localhost1035machine # Connection to localhost (127.0.0.1) 8189 port [tcp/*] succeeded!1036machine: (finished: waiting for TCP port 8189 on localhost, in 0.02 seconds)1037machine: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin1038machine: (finished: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin, in 0.20 seconds)1039machine: must succeed: mc mb s3/zotero1040machine: (finished: must succeed: mc mb s3/zotero, in 0.20 seconds)1041subtest: the module deploys a working service backed by postgres1042machine: 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'1043machine # [ 18.022523] zhost[887]: 2026-09-02T21:46:26.855093Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1044machine: (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.05 seconds)1045(finished: subtest: the module deploys a working service backed by postgres, in 0.05 seconds)1046subtest: login session hands out the key only after authorization1047machine: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess1048machine # [ 18.057366] zhost[887]: 2026-09-02T21:46:26.889776Z INFO zhost: request method=POST uri=/keys/sessions api_version=- if_unmod=- body={}1049machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess, in 0.03 seconds)1050machine: must succeed: jq -r .sessionToken /tmp/sess1051machine: (finished: must succeed: jq -r .sessionToken /tmp/sess, in 0.02 seconds)1052machine: must succeed: jq -r .loginURL /tmp/sess1053machine: (finished: must succeed: jq -r .loginURL /tmp/sess, in 0.02 seconds)1054machine: must succeed: curl -sf 'http://localhost:8189/login?session=ed39cc3b10ed91f3489cec1edad4199b' | grep -qi 'Authorize'1055machine # [ 18.135882] zhost[887]: 2026-09-02T21:46:26.968476Z INFO zhost: request method=GET uri=/login?session=ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1056machine: (finished: must succeed: curl -sf 'http://localhost:8189/login?session=ed39cc3b10ed91f3489cec1edad4199b' | grep -qi 'Authorize', in 0.04 seconds)1057machine: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "pending"'1058machine # [ 18.171335] zhost[887]: 2026-09-02T21:46:27.003952Z INFO zhost: request method=GET uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1059machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "pending"', in 0.04 seconds)1060machine: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.apiKey == null'1061machine # [ 18.207172] zhost[887]: 2026-09-02T21:46:27.039481Z INFO zhost: request method=GET uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1062machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.apiKey == null', in 0.03 seconds)1063machine: 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=ed39cc3b10ed91f3489cec1edad4199b'1064machine # [ 18.239423] zhost[887]: 2026-09-02T21:46:27.072138Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=ed39cc3b10ed91f3489cec1edad4199b1065machine # [ 18.243446] zhost[887]: 2026-09-02T21:46:27.076079Z WARN zhost: response error method=POST uri=/login status=4031066machine: (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=ed39cc3b10ed91f3489cec1edad4199b', in 0.03 seconds)1067machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=ed39cc3b10ed91f3489cec1edad4199b'1068machine # [ 18.273554] zhost[887]: 2026-09-02T21:46:27.105928Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=ed39cc3b10ed91f3489cec1edad4199b1069machine # [ 18.277698] zhost[887]: 2026-09-02T21:46:27.105954Z WARN zhost: response error method=POST uri=/login status=4031070machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=ed39cc3b10ed91f3489cec1edad4199b', in 0.03 seconds)1071machine: 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=ed39cc3b10ed91f3489cec1edad4199b'1072machine # [ 18.306723] zhost[887]: 2026-09-02T21:46:27.139366Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=ed39cc3b10ed91f3489cec1edad4199b1073machine # [ 18.310491] zhost[887]: 2026-09-02T21:46:27.139391Z WARN zhost: response error method=POST uri=/login status=4031074machine: (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=ed39cc3b10ed91f3489cec1edad4199b', in 0.03 seconds)1075machine: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=ed39cc3b10ed91f3489cec1edad4199b'1076machine # [ 18.339082] zhost[887]: 2026-09-02T21:46:27.171695Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=ed39cc3b10ed91f3489cec1edad4199b1077machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=ed39cc3b10ed91f3489cec1edad4199b', in 0.03 seconds)1078machine: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "completed"'1079machine # [ 18.370114] zhost[887]: 2026-09-02T21:46:27.202864Z INFO zhost: request method=GET uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1080machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "completed"', in 0.03 seconds)1081machine: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.apiKey == "testtoken"'1082machine # [ 18.401326] zhost[887]: 2026-09-02T21:46:27.233974Z INFO zhost: request method=GET uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1083machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.apiKey == "testtoken"', in 0.03 seconds)1084machine: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b1085machine # [ 18.431985] zhost[887]: 2026-09-02T21:46:27.264689Z INFO zhost: request method=DELETE uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1086machine: (finished: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b, in 0.03 seconds)1087machine: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "pending"'1088machine # [ 18.462122] zhost[887]: 2026-09-02T21:46:27.294752Z INFO zhost: request method=GET uri=/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b api_version=- if_unmod=- body=1089machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/ed39cc3b10ed91f3489cec1edad4199b | jq -e '.status == "pending"', in 0.03 seconds)1090(finished: subtest: login session hands out the key only after authorization, in 0.44 seconds)1091subtest: the login consent endpoint validates the session token1092machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login1093machine # [ 18.492514] zhost[887]: 2026-09-02T21:46:27.325169Z INFO zhost: request method=GET uri=/login api_version=- if_unmod=- body=1094machine # [ 18.495768] zhost[887]: 2026-09-02T21:46:27.325191Z WARN zhost: response error method=GET uri=/login status=4001095machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login, in 0.03 seconds)1096machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope1097machine # [ 18.523743] zhost[887]: 2026-09-02T21:46:27.356349Z INFO zhost: request method=GET uri=/login?session=nope api_version=- if_unmod=- body=1098machine # [ 18.527173] zhost[887]: 2026-09-02T21:46:27.356372Z WARN zhost: response error method=GET uri=/login?session=nope status=4041099machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope, in 0.03 seconds)1100machine: 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'1101machine # [ 18.555866] zhost[887]: 2026-09-02T21:46:27.388509Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=nope1102machine # [ 18.559276] zhost[887]: 2026-09-02T21:46:27.388534Z WARN zhost: response error method=POST uri=/login status=4041103machine: (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.03 seconds)1104(finished: subtest: the login consent endpoint validates the session token, in 0.10 seconds)1105subtest: groups endpoint returns an empty set (single personal library)1106machine: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1107machine # [ 18.588100] zhost[887]: 2026-09-02T21:46:27.420784Z INFO zhost: request method=GET uri=/users/1/groups api_version=3 if_unmod=- body=1108machine: (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.03 seconds)1109(finished: subtest: groups endpoint returns an empty set (single personal library), in 0.03 seconds)1110subtest: the api key is required off the bootstrap paths1111machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3'1112machine # [ 18.619541] zhost[887]: 2026-09-02T21:46:27.451878Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1113machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3', in 0.03 seconds)1114(finished: subtest: the api key is required off the bootstrap paths, in 0.03 seconds)1115subtest: a read-only key reads but cannot write1116machine: 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'1117machine # [ 18.648202] zhost[887]: 2026-09-02T21:46:27.480899Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1118machine: (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.04 seconds)1119machine: 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'1120machine # [ 18.685567] zhost[887]: 2026-09-02T21:46:27.517444Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1121machine: (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.03 seconds)1122machine: 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'1123machine # [ 18.714771] zhost[887]: 2026-09-02T21:46:27.547522Z 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: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == true', in 0.03 seconds)1125machine: 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"}]'1126machine # [ 18.745310] zhost[887]: 2026-09-02T21:46:27.577560Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"RDNLY222","itemType":"book"}]1127machine: (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.03 seconds)1128machine: 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'1129machine # [ 18.774316] zhost[887]: 2026-09-02T21:46:27.606789Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=- body=1130machine: (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.03 seconds)1131(finished: subtest: a read-only key reads but cannot write, in 0.16 seconds)1132subtest: an item round-trips through write and read1133machine: 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"'1134machine # [ 18.804476] zhost[887]: 2026-09-02T21:46:27.637183Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEM2223","itemType":"book","title":"t"}]1135machine: (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.04 seconds)1136machine: 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'1137machine # [ 18.843613] zhost[887]: 2026-09-02T21:46:27.676245Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1138machine: (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.03 seconds)1139machine: 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"'1140machine # [ 18.875476] zhost[887]: 2026-09-02T21:46:27.708098Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ITEM2223&format=json api_version=3 if_unmod=- body=1141machine: (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.03 seconds)1142(finished: subtest: an item round-trips through write and read, in 0.10 seconds)1143subtest: a stale write is rejected with 4121144machine: 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"}]'1145machine # [ 18.906820] zhost[887]: 2026-09-02T21:46:27.739412Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEMSTAL","itemType":"book"}]1146machine # [ 18.911708] zhost[887]: 2026-09-02T21:46:27.743758Z WARN zhost: response error method=POST uri=/users/1/items status=4121147machine: (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)1148(finished: subtest: a stale write is rejected with 412, in 0.03 seconds)1149subtest: a write without If-Unmodified-Since-Version is rejected with 4281150machine: 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"}]'1151machine # [ 18.941294] zhost[887]: 2026-09-02T21:46:27.773474Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=- body=[{"key":"NPRECN22","itemType":"book"}]1152machine # [ 18.945177] zhost[887]: 2026-09-02T21:46:27.773505Z WARN zhost: response error method=POST uri=/users/1/items status=4281153machine: (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.03 seconds)1154(finished: subtest: a write without If-Unmodified-Since-Version is rejected with 428, in 0.03 seconds)1155subtest: a malformed object key is rejected with 4001156machine: 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' ' -f21157machine # [ 18.980572] zhost[887]: 2026-09-02T21:46:27.813076Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1158machine: (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)1159machine: 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"}]'1160machine # [ 19.013387] zhost[887]: 2026-09-02T21:46:27.846014Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HASOABC2","itemType":"book"}]1161machine # [ 19.017629] zhost[887]: 2026-09-02T21:46:27.846055Z WARN zhost: response error method=POST uri=/users/1/items status=4001162machine: (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)1163machine: 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' ' -f21164machine # [ 19.050360] zhost[887]: 2026-09-02T21:46:27.882926Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1165machine: (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)1166machine: 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"}]'1167machine # [ 19.082686] zhost[887]: 2026-09-02T21:46:27.915330Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HAS0ABC2","itemType":"book"}]1168machine # [ 19.086509] zhost[887]: 2026-09-02T21:46:27.915357Z WARN zhost: response error method=POST uri=/users/1/items status=4001169machine: (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.03 seconds)1170machine: 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' ' -f21171machine # [ 19.119206] zhost[887]: 2026-09-02T21:46:27.951627Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1172machine: (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)1173machine: 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"}]'1174machine # [ 19.150962] zhost[887]: 2026-09-02T21:46:27.983259Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"SHORTKY","itemType":"book"}]1175machine # [ 19.154810] zhost[887]: 2026-09-02T21:46:27.983285Z WARN zhost: response error method=POST uri=/users/1/items status=4001176machine: (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.03 seconds)1177machine: 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' ' -f21178machine # [ 19.186975] zhost[887]: 2026-09-02T21:46:28.019260Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1179machine: (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)1180machine: 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"}]'1181machine # [ 19.218254] zhost[887]: 2026-09-02T21:46:28.050886Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"TOOLONGKY","itemType":"book"}]1182machine # [ 19.222236] zhost[887]: 2026-09-02T21:46:28.050913Z WARN zhost: response error method=POST uri=/users/1/items status=4001183machine: (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.03 seconds)1184machine: 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' ' -f21185machine # [ 19.257416] zhost[887]: 2026-09-02T21:46:28.090049Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1186machine: (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)1187machine: 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"}]'1188machine # [ 19.289872] zhost[887]: 2026-09-02T21:46:28.122308Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"lowercs2","itemType":"book"}]1189machine # [ 19.293695] zhost[887]: 2026-09-02T21:46:28.122334Z WARN zhost: response error method=POST uri=/users/1/items status=4001190machine: (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.03 seconds)1191machine: 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 '. == []'1192machine # [ 19.324082] zhost[887]: 2026-09-02T21:46:28.156305Z INFO zhost: request method=GET uri=/users/1/items?itemKey=HASOABC2&format=json api_version=3 if_unmod=- body=1193machine: (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.03 seconds)1194(finished: subtest: a malformed object key is rejected with 400, in 0.38 seconds)1195subtest: an empty batch does not bump the library version1196machine: 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' ' -f21197machine # [ 19.371641] zhost[887]: 2026-09-02T21:46:28.204261Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1198machine: (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)1199machine: 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 .successful1200machine # [ 19.411384] zhost[887]: 2026-09-02T21:46:28.243938Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[]1201machine: (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.04 seconds)1202machine: 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' ' -f21203machine # [ 19.445639] zhost[887]: 2026-09-02T21:46:28.278339Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1204machine: (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)1205(finished: subtest: an empty batch does not bump the library version, in 0.12 seconds)1206subtest: attachment data is emitted with linkMode first1207machine: 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' ' -f21208machine # [ 19.481085] zhost[887]: 2026-09-02T21:46:28.313549Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1209machine: (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)1210machine: 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 .successful1211machine # [ 19.513771] zhost[887]: 2026-09-02T21:46:28.346297Z 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"}]1212machine: (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.04 seconds)1213machine: 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]'1214machine # [ 19.555811] zhost[887]: 2026-09-02T21:46:28.387974Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ATTACH22&format=json api_version=3 if_unmod=- body=1215machine: (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.03 seconds)1216(finished: subtest: attachment data is emitted with linkMode first, in 0.11 seconds)1217subtest: an attachment file uploads to S3 and downloads via a presigned URL1218machine: 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 .uploadKey1219machine # [ 19.588450] zhost[887]: 2026-09-02T21:46:28.420994Z 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=17000000000001220machine: (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)1221machine: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/7ac36b3fecad03de95afff1413bbd995 --data-binary @-1222machine # [ 19.620356] zhost[887]: 2026-09-02T21:46:28.453066Z INFO zhost: request method=POST uri=/uploads/7ac36b3fecad03de95afff1413bbd995 api_version=- if_unmod=- body=hello1223machine: (finished: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/7ac36b3fecad03de95afff1413bbd995 --data-binary @-, in 0.06 seconds)1224machine: 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=7ac36b3fecad03de95afff1413bbd995'1225machine # [ 19.680858] zhost[887]: 2026-09-02T21:46:28.513535Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=upload=7ac36b3fecad03de95afff1413bbd9951226machine: (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=7ac36b3fecad03de95afff1413bbd995', in 0.05 seconds)1227machine: 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'1228machine # [ 19.728634] zhost[887]: 2026-09-02T21:46:28.561054Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1229machine: (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.03 seconds)1230machine: 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}'1231machine # [ 19.766893] zhost[887]: 2026-09-02T21:46:28.599395Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1232machine: (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.06 seconds)1233machine: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr1234machine: (finished: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr, in 0.02 seconds)1235machine: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260902T214628Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=43c57ff4992a9230fbbc3626fcf81d4700477e682adb13d4712ff869deef4506'1236machine: (finished: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260902T214628Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=43c57ff4992a9230fbbc3626fcf81d4700477e682adb13d4712ff869deef4506', in 0.04 seconds)1237(finished: subtest: an attachment file uploads to S3 and downloads via a presigned URL, in 0.29 seconds)1238subtest: re-authorizing the same file returns exists:1 (dedup)1239machine: 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'1240machine # [ 19.885286] zhost[887]: 2026-09-02T21:46:28.717958Z 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=17000000000001241machine: (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.04 seconds)1242(finished: subtest: re-authorizing the same file returns exists:1 (dedup), in 0.04 seconds)1243subtest: a file authorization without a precondition header is 4281244machine: 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'1245machine # [ 19.919929] zhost[887]: 2026-09-02T21:46:28.752479Z 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=11246machine # [ 19.924168] zhost[887]: 2026-09-02T21:46:28.752510Z WARN zhost: response error method=POST uri=/users/1/items/ATTACH22/file status=4281247machine: (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)1248(finished: subtest: a file authorization without a precondition header is 428, in 0.03 seconds)1249subtest: uploading bytes that do not match the declared md5 is rejected1250machine: 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 .uploadKey1251machine # [ 19.955234] zhost[887]: 2026-09-02T21:46:28.787977Z INFO zhost: request method=POST uri=/users/1/items/BADHASH2/file api_version=3 if_unmod=- body=md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=11252machine: (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)1253machine: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/9af58f723e499aa079d402fc1f9b5934 --data-binary @-1254machine # [ 19.988498] zhost[887]: 2026-09-02T21:46:28.821092Z INFO zhost: request method=POST uri=/uploads/9af58f723e499aa079d402fc1f9b5934 api_version=- if_unmod=- body=hello1255machine # [ 19.992638] zhost[887]: 2026-09-02T21:46:28.821117Z WARN zhost: uploaded bytes do not match authorization key="BADHASH2" want_md5="00000000000000000000000000000000" got_md5="5d41402abc4b2a76b9719d911017c592"1256machine # [ 19.996692] zhost[887]: 2026-09-02T21:46:28.821132Z WARN zhost: response error method=POST uri=/uploads/9af58f723e499aa079d402fc1f9b5934 status=4001257machine: (finished: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/9af58f723e499aa079d402fc1f9b5934 --data-binary @-, in 0.04 seconds)1258(finished: subtest: uploading bytes that do not match the declared md5 is rejected, in 0.07 seconds)1259subtest: registering without a prior upload is rejected1260machine: 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 .uploadKey1261machine # [ 20.027710] zhost[887]: 2026-09-02T21:46:28.860356Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=11262machine: (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)1263machine: 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=c1e4bd2fb7504ca92f3060d55f6c00ad'1264machine # [ 20.059365] zhost[887]: 2026-09-02T21:46:28.892002Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=upload=c1e4bd2fb7504ca92f3060d55f6c00ad1265machine # [ 20.063766] zhost[887]: 2026-09-02T21:46:28.892028Z WARN zhost: response error method=POST uri=/users/1/items/NQUPLQAD/file status=4001266machine: (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=c1e4bd2fb7504ca92f3060d55f6c00ad', in 0.03 seconds)1267(finished: subtest: registering without a prior upload is rejected, in 0.07 seconds)1268subtest: non-alphanumeric keys are rejected from the file endpoint1269machine: 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'1270machine # [ 20.093127] zhost[887]: 2026-09-02T21:46:28.924987Z 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=11271machine # [ 20.097126] zhost[887]: 2026-09-02T21:46:28.925014Z WARN zhost: response error method=POST uri=/users/1/items/bad..key/file status=4001272machine: (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)1273(finished: subtest: non-alphanumeric keys are rejected from the file endpoint, in 0.03 seconds)1274subtest: annotations round-trip as ordinary items1275machine: 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' ' -f21276machine # [ 20.130096] zhost[887]: 2026-09-02T21:46:28.962847Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1277machine: (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)1278machine: 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"'1279machine # [ 20.163977] zhost[887]: 2026-09-02T21:46:28.996313Z 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"}]1280machine: (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.04 seconds)1281machine: 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"'1282machine # [ 20.202460] zhost[887]: 2026-09-02T21:46:29.034766Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1283machine: (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.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 -r '.[0].data | keys_unsorted[0]'1285machine # [ 20.234787] zhost[887]: 2026-09-02T21:46:29.067426Z 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 -r '.[0].data | keys_unsorted[0]', in 0.03 seconds)1287(finished: subtest: annotations round-trip as ordinary items, in 0.14 seconds)1288subtest: full-text content uploads, lists versions, and downloads1289machine: 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' ' -f21290machine # [ 20.269954] zhost[887]: 2026-09-02T21:46:29.102593Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1291machine: (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)1292machine: 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"'1293machine # [ 20.302861] zhost[887]: 2026-09-02T21:46:29.135360Z 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}]1294machine: (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.04 seconds)1295machine: 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'1296machine # [ 20.340791] zhost[887]: 2026-09-02T21:46:29.173217Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1297machine: (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)1298machine: 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' ' -f21299machine # [ 20.375489] zhost[887]: 2026-09-02T21:46:29.207901Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1300machine: (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.04 seconds)1301machine: 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'1302machine # [ 20.407279] zhost[887]: 2026-09-02T21:46:29.239927Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1303machine: (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)1304machine: 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'1305machine # [ 20.439624] zhost[887]: 2026-09-02T21:46:29.272138Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1306machine: (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.03 seconds)1307(finished: subtest: full-text content uploads, lists versions, and downloads, in 0.20 seconds)1308subtest: a stale full-text write is rejected with 4121309machine: 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"}]'1310machine # [ 20.470520] zhost[887]: 2026-09-02T21:46:29.303223Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=0 body=[{"key":"ATTACH22","content":"x"}]1311machine # [ 20.474806] zhost[887]: 2026-09-02T21:46:29.307561Z WARN zhost: response error method=POST uri=/users/1/fulltext status=4121312machine: (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)1313(finished: subtest: a stale full-text write is rejected with 412, in 0.03 seconds)1314subtest: the query API filters, searches, sorts and paginates items1315machine: 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' ' -f21316machine # [ 20.507394] zhost[887]: 2026-09-02T21:46:29.339988Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1317machine: (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)1318machine: 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 .successful1319machine # [ 20.541595] zhost[887]: 2026-09-02T21:46:29.374109Z 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"}]}]1320machine: (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)1321machine: 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(",")'1322machine # [ 20.582496] zhost[887]: 2026-09-02T21:46:29.415101Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1323machine: (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)1324machine: 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(",")'1325machine # [ 20.617896] zhost[887]: 2026-09-02T21:46:29.450456Z INFO zhost: request method=GET uri=/users/1/items?q=klabnik api_version=3 if_unmod=- body=1326machine: (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)1327machine: 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(",")'1328machine # [ 20.650786] zhost[887]: 2026-09-02T21:46:29.483341Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1329machine: (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.04 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 # [ 20.689692] zhost[887]: 2026-09-02T21:46:29.522331Z 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 # [ 20.722675] zhost[887]: 2026-09-02T21:46:29.555197Z 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?tag=rustlang&tag=systems' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1337machine # [ 20.757049] zhost[887]: 2026-09-02T21:46:29.589225Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang&tag=systems api_version=3 if_unmod=- body=1338machine: (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)1339machine: 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(",")'1340machine # [ 20.792078] zhost[887]: 2026-09-02T21:46:29.624246Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang api_version=3 if_unmod=- body=1341machine: (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)1342machine: 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(",")'1343machine # [ 20.824715] zhost[887]: 2026-09-02T21:46:29.657265Z INFO zhost: request method=GET uri=/users/1/items?q=world api_version=3 if_unmod=- body=1344machine: (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.04 seconds)1345machine: 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(",")'1346machine # [ 20.860647] zhost[887]: 2026-09-02T21:46:29.693182Z INFO zhost: request method=GET uri=/users/1/items?q=world&qmode=everything api_version=3 if_unmod=- body=1347machine: (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)1348(finished: subtest: the query API filters, searches, sorts and paginates items, in 0.39 seconds)1349subtest: the query API reports Total-Results and a next-page Link1350machine: 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'1351machine # [ 20.893764] zhost[887]: 2026-09-02T21:46:29.726299Z INFO zhost: request method=GET uri=/users/1/items?limit=1&sort=title&direction=asc api_version=3 if_unmod=- body=1352machine: (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.03 seconds)1353(finished: subtest: the query API reports Total-Results and a next-page Link, in 0.03 seconds)1354subtest: a read-only key can drive the query API1355machine: 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'1356machine # [ 20.925696] zhost[887]: 2026-09-02T21:46:29.758354Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1357machine: (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)1358(finished: subtest: a read-only key can drive the query API, in 0.03 seconds)1359subtest: convenience listings: top, trash, collection items and tags1360machine: 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' ' -f21361machine # [ 20.961932] zhost[887]: 2026-09-02T21:46:29.794427Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1362machine: (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)1363machine: 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 .successful1364machine # [ 20.998613] zhost[887]: 2026-09-02T21:46:29.831276Z 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}]1365machine: (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.05 seconds)1366machine: 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(",")'1367machine # [ 21.041912] zhost[887]: 2026-09-02T21:46:29.874407Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1368machine: (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.03 seconds)1369machine: 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(",")'1370machine # [ 21.074550] zhost[887]: 2026-09-02T21:46:29.907111Z INFO zhost: request method=GET uri=/users/1/items/trash api_version=3 if_unmod=- body=1371machine: (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)1372machine: 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(",")'1373machine # [ 21.106697] zhost[887]: 2026-09-02T21:46:29.939312Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items api_version=3 if_unmod=- body=1374machine: (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)1375machine: 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'1376machine # [ 21.139650] zhost[887]: 2026-09-02T21:46:29.972314Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1377machine: (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.03 seconds)1378(finished: subtest: convenience listings: top, trash, collection items and tags, in 0.21 seconds)1379subtest: top filtering covers parentItem:false and the versions view1380machine: 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' ' -f21381machine # [ 21.174251] zhost[887]: 2026-09-02T21:46:30.006897Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1382machine: (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)1383machine: 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 .successful1384machine # [ 21.207600] zhost[887]: 2026-09-02T21:46:30.040115Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=7 body=[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]1385machine: (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.04 seconds)1386machine: 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")'1387machine # [ 21.244811] zhost[887]: 2026-09-02T21:46:30.077295Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1388machine: (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)1389machine: 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'1390machine # [ 21.277461] zhost[887]: 2026-09-02T21:46:30.109988Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=0 api_version=3 if_unmod=- body=1391machine: (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.03 seconds)1392machine: 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'1393machine # [ 21.310072] zhost[887]: 2026-09-02T21:46:30.142528Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1394machine: (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.03 seconds)1395(finished: subtest: top filtering covers parentItem:false and the versions view, in 0.17 seconds)1396subtest: malformed (non-array) item data does not 500 the query API1397machine: 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' ' -f21398machine # [ 21.345660] zhost[887]: 2026-09-02T21:46:30.178363Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1399machine: (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)1400machine: 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 .successful1401machine # [ 21.379725] zhost[887]: 2026-09-02T21:46:30.212260Z 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"}]1402machine: (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.04 seconds)1403machine: 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'1404machine # [ 21.417092] zhost[887]: 2026-09-02T21:46:30.249752Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1405machine: (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.03 seconds)1406machine: 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'1407machine # [ 21.447204] zhost[887]: 2026-09-02T21:46:30.279859Z INFO zhost: request method=GET uri=/users/1/items?q=zzz api_version=3 if_unmod=- body=1408machine: (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.03 seconds)1409machine: 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'1410machine # [ 21.477739] zhost[887]: 2026-09-02T21:46:30.310399Z INFO zhost: request method=GET uri=/users/1/items?q=zzz&qmode=everything 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&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1412machine: 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'1413machine # [ 21.509441] zhost[887]: 2026-09-02T21:46:30.341985Z INFO zhost: request method=GET uri=/users/1/items?tag=zzz api_version=3 if_unmod=- body=1414machine: (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.03 seconds)1415machine: 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'1416machine # [ 21.540670] zhost[887]: 2026-09-02T21:46:30.373183Z INFO zhost: request method=GET uri=/users/1/collections/y/items api_version=3 if_unmod=- body=1417machine: (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.03 seconds)1418machine: 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' ' -f21419machine # [ 21.574511] zhost[887]: 2026-09-02T21:46:30.407148Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1420machine: (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)1421machine: 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 .successful1422machine # [ 21.608472] zhost[887]: 2026-09-02T21:46:30.441091Z 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"]}]1423machine: (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.04 seconds)1424machine: 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'1425machine # [ 21.645696] zhost[887]: 2026-09-02T21:46:30.478355Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1426machine: (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.03 seconds)1427(finished: subtest: malformed (non-array) item data does not 500 the query API, in 0.34 seconds)1428subtest: Total-Results stays correct past the last page1429machine: 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' ' -f21430machine # [ 21.680827] zhost[887]: 2026-09-02T21:46:30.513526Z INFO zhost: request method=GET uri=/users/1/items?limit=1 api_version=3 if_unmod=- body=1431machine: (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.04 seconds)1432machine: 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' ' -f21433machine # [ 21.716677] zhost[887]: 2026-09-02T21:46:30.548979Z INFO zhost: request method=GET uri=/users/1/items?limit=1&start=100000 api_version=3 if_unmod=- body=1434machine: (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.04 seconds)1435(finished: subtest: Total-Results stays correct past the last page, in 0.07 seconds)1436subtest: query API: OR filters, descending sort and includeTrashed1437machine: 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' ' -f21438machine # [ 21.752972] zhost[887]: 2026-09-02T21:46:30.585634Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1439machine: (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)1440machine: 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 .successful1441machine # [ 21.786789] zhost[887]: 2026-09-02T21:46:30.619381Z 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"}]}]1442machine: (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.04 seconds)1443machine: 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(",")'1444machine # [ 21.830730] zhost[887]: 2026-09-02T21:46:30.663253Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&itemType=book||journalArticle api_version=3 if_unmod=- body=1445machine: (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)1446machine: 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'1447machine # [ 21.864694] zhost[887]: 2026-09-02T21:46:30.697351Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&sort=title&direction=desc api_version=3 if_unmod=- body=1448machine: (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)1449machine: 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'1450machine # [ 21.897730] zhost[887]: 2026-09-02T21:46:30.730387Z INFO zhost: request method=GET uri=/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1 api_version=3 if_unmod=- body=1451machine: (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)1452machine: 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(",")'1453machine # [ 21.931083] zhost[887]: 2026-09-02T21:46:30.763668Z INFO zhost: request method=GET uri=/users/1/items?tag=aa api_version=3 if_unmod=- body=1454machine: (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)1455(finished: subtest: query API: OR filters, descending sort and includeTrashed, in 0.21 seconds)1456subtest: sort=date orders by extracted year, not raw freeform text1457machine: 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' ' -f21458machine # [ 21.967077] zhost[887]: 2026-09-02T21:46:30.799698Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1459machine: (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)1460machine: 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 .successful1461machine # [ 22.000684] zhost[887]: 2026-09-02T21:46:30.833376Z 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"}]}]1462machine: (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.05 seconds)1463machine: 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(",")'1464machine # [ 22.045911] zhost[887]: 2026-09-02T21:46:30.878486Z INFO zhost: request method=GET uri=/users/1/items?tag=era&sort=date&direction=asc api_version=3 if_unmod=- body=1465machine: (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)1466(finished: subtest: sort=date orders by extracted year, not raw freeform text, in 0.12 seconds)1467subtest: collection top items are served as a plain-text key list1468machine: 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'1469machine # [ 22.078786] zhost[887]: 2026-09-02T21:46:30.911445Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1470machine: (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.03 seconds)1471machine: 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'1472machine # [ 22.110290] zhost[887]: 2026-09-02T21:46:30.942914Z 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 -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.03 seconds)1474(finished: subtest: collection top items are served as a plain-text key list, in 0.06 seconds)1475subtest: a versions read with nothing newer returns 200 + empty map, not 3041476machine: 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' ' -f21477machine # [ 22.145668] zhost[887]: 2026-09-02T21:46:30.978417Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1478machine: (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)1479machine: 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'1480machine # [ 22.178288] zhost[887]: 2026-09-02T21:46:31.010935Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1481machine: (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.03 seconds)1482machine: 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 '. == {}'1483machine # [ 22.209718] zhost[887]: 2026-09-02T21:46:31.042420Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1484machine: (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)1485machine: 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'1486machine # [ 22.241078] zhost[887]: 2026-09-02T21:46:31.073765Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1487machine: (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.03 seconds)1488machine: 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 '. == {}'1489machine # [ 22.272944] zhost[887]: 2026-09-02T21:46:31.105451Z 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 -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.03 seconds)1491machine: 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'1492machine # [ 22.304569] zhost[887]: 2026-09-02T21:46:31.137154Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1493machine: (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.03 seconds)1494machine: 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 '. == {}'1495machine # [ 22.336315] zhost[887]: 2026-09-02T21:46:31.168762Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1496machine: (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.03 seconds)1497machine: 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'1498machine # [ 22.367758] zhost[887]: 2026-09-02T21:46:31.200462Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1499machine: (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.03 seconds)1500machine: 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 '. == {}'1501machine # [ 22.399533] zhost[887]: 2026-09-02T21:46:31.232068Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1502machine: (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)1503machine: 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'1504machine # [ 22.430820] zhost[887]: 2026-09-02T21:46:31.263459Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1505machine: (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.03 seconds)1506machine: 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 '. == {}'1507machine # [ 22.463082] zhost[887]: 2026-09-02T21:46:31.295623Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1508machine: (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.03 seconds)1509machine: 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'1510machine # [ 22.495568] zhost[887]: 2026-09-02T21:46:31.328166Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1511machine: (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.03 seconds)1512machine: 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'1513machine # [ 22.531608] zhost[887]: 2026-09-02T21:46:31.364319Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1514machine: (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.03 seconds)1515(finished: subtest: a versions read with nothing newer returns 200 + empty map, not 304, in 0.42 seconds)1516subtest: collections round-trip through write, read, versions and delete1517machine: 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' ' -f21518machine # [ 22.580202] zhost[887]: 2026-09-02T21:46:31.412735Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1519machine: (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)1520machine: 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"'1521machine # [ 22.618862] zhost[887]: 2026-09-02T21:46:31.451384Z INFO zhost: request method=POST uri=/users/1/collections api_version=3 if_unmod=12 body=[{"key":"CQLL2223","name":"Papers"}]1522machine: (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.04 seconds)1523machine: 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"'1524machine # [ 22.656108] zhost[887]: 2026-09-02T21:46:31.488442Z INFO zhost: request method=GET uri=/users/1/collections?collectionKey=CQLL2223&format=json api_version=3 if_unmod=- body=1525machine: (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)1526machine: 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'1527machine # [ 22.688679] zhost[887]: 2026-09-02T21:46:31.521192Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=0 api_version=3 if_unmod=- body=1528machine: (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)1529machine: 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' ' -f21530machine # [ 22.725817] zhost[887]: 2026-09-02T21:46:31.558312Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1531machine: (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)1532machine: 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'1533machine # [ 22.760077] zhost[887]: 2026-09-02T21:46:31.592785Z INFO zhost: request method=DELETE uri=/users/1/collections?collectionKey=CQLL2223 api_version=3 if_unmod=13 body=1534machine: (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.04 seconds)1535machine: 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")'1536machine # [ 22.798627] zhost[887]: 2026-09-02T21:46:31.631297Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1537machine: (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.03 seconds)1538(finished: subtest: collections round-trip through write, read, versions and delete, in 0.27 seconds)1539subtest: saved searches round-trip through write, read and delete1540machine: 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' ' -f21541machine # [ 22.836528] zhost[887]: 2026-09-02T21:46:31.669011Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1542machine: (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)1543machine: 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"'1544machine # [ 22.871707] zhost[887]: 2026-09-02T21:46:31.704405Z INFO zhost: request method=POST uri=/users/1/searches api_version=3 if_unmod=14 body=[{"key":"SRCH2223","name":"Recent","conditions":[]}]1545machine: (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.04 seconds)1546machine: 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"'1547machine # [ 22.908297] zhost[887]: 2026-09-02T21:46:31.740663Z INFO zhost: request method=GET uri=/users/1/searches?searchKey=SRCH2223&format=json api_version=3 if_unmod=- body=1548machine: (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)1549machine: 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' ' -f21550machine # [ 22.943632] zhost[887]: 2026-09-02T21:46:31.776052Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1551machine: (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)1552machine: 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'1553machine # [ 22.976273] zhost[887]: 2026-09-02T21:46:31.808375Z INFO zhost: request method=DELETE uri=/users/1/searches?searchKey=SRCH2223 api_version=3 if_unmod=15 body=1554machine: (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)1555machine: 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")'1556machine # [ 23.010830] zhost[887]: 2026-09-02T21:46:31.843466Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1557machine: (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.03 seconds)1558(finished: subtest: saved searches round-trip through write, read and delete, in 0.21 seconds)1559subtest: settings round-trip through write, read and delete1560machine: 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' ' -f21561machine # [ 23.046360] zhost[887]: 2026-09-02T21:46:31.878986Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1562machine: (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)1563machine: 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"}]}}' 1564machine # [ 23.078500] zhost[887]: 2026-09-02T21:46:31.910981Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=16 body={"tagColors":{"value":[{"name":"x","color":"#fff"}]}}1565machine: (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)1566machine: 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")'1567machine # [ 23.113818] zhost[887]: 2026-09-02T21:46:31.946405Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1568machine: (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.03 seconds)1569machine: 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}}'1570machine # [ 23.145928] zhost[887]: 2026-09-02T21:46:31.978543Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=0 body={"k":{"value":1}}1571machine # [ 23.150867] zhost[887]: 2026-09-02T21:46:31.982664Z WARN zhost: response error method=POST uri=/users/1/settings status=4121572machine: (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)1573machine: 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' ' -f21574machine # [ 23.182577] zhost[887]: 2026-09-02T21:46:32.015327Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1575machine: (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)1576machine: 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'1577machine # [ 23.214463] zhost[887]: 2026-09-02T21:46:32.047018Z INFO zhost: request method=DELETE uri=/users/1/settings?settingKey=tagColors api_version=3 if_unmod=17 body=1578machine: (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.03 seconds)1579machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null'1580machine # [ 23.247604] zhost[887]: 2026-09-02T21:46:32.080235Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1581machine: (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)1582machine: 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")'1583machine # [ 23.279759] zhost[887]: 2026-09-02T21:46:32.112362Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1584machine: (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)1585(finished: subtest: settings round-trip through write, read and delete, in 0.27 seconds)1586subtest: a gzip-compressed write body is decoded1587machine: 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' ' -f21588machine # [ 23.314319] zhost[887]: 2026-09-02T21:46:32.147010Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1589machine: (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)1590machine: 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 .successful1591machine # [ 23.349711] zhost[887]: 2026-09-02T21:46:32.182143Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=18 body=[{"key":"GZIP2223","itemType":"book","title":"zipped"}]1592machine: (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.04 seconds)1593machine: 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"'1594machine # [ 23.387575] zhost[887]: 2026-09-02T21:46:32.220058Z INFO zhost: request method=GET uri=/users/1/items?itemKey=GZIP2223&format=json api_version=3 if_unmod=- body=1595machine: (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.03 seconds)1596(finished: subtest: a gzip-compressed write body is decoded, in 0.11 seconds)1597subtest: PATCH updates items and is gated by the read-only key1598machine: 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' ' -f21599machine # [ 23.423239] zhost[887]: 2026-09-02T21:46:32.255578Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1600machine: (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)1601machine: 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"'1602machine # [ 23.455891] zhost[887]: 2026-09-02T21:46:32.288501Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=19 body=[{"key":"GZIP2223","itemType":"book","title":"patched"}]1603machine: (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.04 seconds)1604machine: 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"}]'1605machine # [ 23.492441] zhost[887]: 2026-09-02T21:46:32.325105Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"X","itemType":"book"}]1606machine: (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.03 seconds)1607(finished: subtest: PATCH updates items and is gated by the read-only key, in 0.10 seconds)1608subtest: PATCH merges: a partial update keeps unspecified fields1609machine: 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' ' -f21610machine # [ 23.526305] zhost[887]: 2026-09-02T21:46:32.358929Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1611machine: (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)1612machine: 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 .successful1613machine # [ 23.558993] zhost[887]: 2026-09-02T21:46:32.391628Z 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"}]}]1614machine: (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.04 seconds)1615machine: 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' ' -f21616machine # [ 23.596910] zhost[887]: 2026-09-02T21:46:32.429340Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1617machine: (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)1618machine: 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"}]'1619machine # [ 23.627695] zhost[887]: 2026-09-02T21:46:32.460323Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=21 body=[{"key":"MERGEIT2","title":"new"}]1620machine: (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.03 seconds)1621machine: 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"'1622machine # [ 23.662801] zhost[887]: 2026-09-02T21:46:32.495450Z INFO zhost: request method=GET uri=/users/1/items?itemKey=MERGEIT2&format=json api_version=3 if_unmod=- body=1623machine: (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)1624(finished: subtest: PATCH merges: a partial update keeps unspecified fields, in 0.17 seconds)1625subtest: POST also merges: a partial upload keeps unspecified fields1626machine: 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' ' -f21627machine # [ 23.698830] zhost[887]: 2026-09-02T21:46:32.531367Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1628machine: (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)1629machine: 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 .successful1630machine # [ 23.731725] zhost[887]: 2026-09-02T21:46:32.564349Z 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"}]1631machine: (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)1632machine: 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' ' -f21633machine # [ 23.772900] zhost[887]: 2026-09-02T21:46:32.605438Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1634machine: (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)1635machine: 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":[]}]'1636machine # [ 23.804660] zhost[887]: 2026-09-02T21:46:32.637304Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=23 body=[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]1637machine: (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)1638machine: 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'1639machine # [ 23.839900] zhost[887]: 2026-09-02T21:46:32.672600Z INFO zhost: request method=GET uri=/users/1/items?itemKey=PMERGEAT&format=json api_version=3 if_unmod=- body=1640machine: (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)1641(finished: subtest: POST also merges: a partial upload keeps unspecified fields, in 0.18 seconds)1642subtest: deletes are recorded in the deletion log1643machine: 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' ' -f21644machine # [ 23.875170] zhost[887]: 2026-09-02T21:46:32.707872Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1645machine: (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)1646machine: 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'1647machine # [ 23.907497] zhost[887]: 2026-09-02T21:46:32.740158Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=24 body=1648machine: (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)1649machine: 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")'1650machine # [ 23.941909] zhost[887]: 2026-09-02T21:46:32.774400Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1651machine: (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)1652(finished: subtest: deletes are recorded in the deletion log, in 0.10 seconds)1653(finished: run the VM test script, in 24.89 seconds)1654test script finished in 24.94s1655cleanup1656kill QemuMachine (pid 45)1657machine # qemu-system-x86_64: terminating on signal 15 from pid 39 (/nix/store/b5bpi6zfajzzrwwpgba2q6li3nnya4bs-python3-3.14.7/bin/python3.14)1658(finished: cleanup, in 0.15 seconds)