vm-test-run-zhost-sync
checks.x86_64-linux.nixos-sync
· build #12
· 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.Gh6KDM9hMO', 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: 72070417-6203-465c-9d2c-3bc0f15a126920machine # Superblock backups stored on blocks:21machine # 32768, 98304, 163840, 22937622machine # 23machine # Allocating group tables: 0/8 done24machine # Writing inode tables: 0/8 done25machine # Creating journal (8192 blocks): done26machine # Writing superblocks and filesystem accounting information: 0/8 done27machine # 28machine # Virtualisation disk image created.29machine # Starting virtiofs daemons...30machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)31machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether32machine # [2026-10-14T22:14:45Z INFO virtiofsd] Waiting for vhost-user socket connection...33machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)34machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether35machine # [2026-10-14T22:14:45Z INFO virtiofsd] Waiting for vhost-user socket connection...36machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)37machine # [2026-10-14T22:14:45Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether38machine # [2026-10-14T22:14:45Z INFO virtiofsd] Waiting for vhost-user socket connection...39machine # [2026-10-14T22:14:45Z INFO virtiofsd] Client connected, servicing requests40machine # [2026-10-14T22:14:45Z INFO virtiofsd] Client connected, servicing requests41machine # [2026-10-14T22:14:45Z INFO virtiofsd] Client connected, servicing requests42machine # SeaBIOS (version rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org)43machine # 44machine # 45machine # iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+3EFCC730+3EF2C730 CA00Press Ctrl-B to configure iPXE (PCI 00:02.0)...46machine # 47machine # 48machine # 49machine # 50machine # iPXE (http://ipxe.org) 00:05.0 CB00 PCI2.10 PnP PMM 3EFCC730 3EF2C730 CB0051machine # Press Ctrl-B to configure iPXE (PCI 00:05.0)...52machine # 53machine # 54machine # Booting from ROM...55machine # Probing EDD (edd=off to disable)... ok56machine # [ 0.000000] Linux version 6.18.55 (nixbld@localhost) (gcc (GCC) 16.2.0, GNU ld (GNU Binutils) 2.46) #1-NixOS SMP PREEMPT_DYNAMIC Sat Oct 3 10:39:03 UTC 202657machine # [ 0.000000] Command line: console=ttyS0 console=tty0 panic=1 boot.panic_on_fail clocksource=acpi_pm root=fstab loglevel=7 net.ifnames=0 lsm=landlock,yama,bpf init=/nix/store/kd62hp299x0vkg0lzinf4ig5553narvb-nixos-system-machine-test/init regInfo=/nix/.ro-store/jqxhix7ifdfb8p5xwd4b5kxkrg9vmz9b-closure-info/registration console=ttyS0,115200n8 console=tty058machine # [ 0.000000] x86 CPU feature dependency check failure: CPU0 has '18*32+31' enabled but '18*32+26' disabled. Kernel might be fine, but no guarantees.59machine # [ 0.000000] BIOS-provided physical RAM map:60machine # [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable61machine # [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved62machine # [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved63machine # [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffd7fff] usable64machine # [ 0.000000] BIOS-e820: [mem 0x000000003ffd8000-0x000000003fffffff] reserved65machine # [ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved66machine # [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved67machine # [ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved68machine # [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved69machine # [ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved70machine # [ 0.000000] NX (Execute Disable) protection: active71machine # [ 0.000000] APIC: Static calls initialized72machine # [ 0.000000] SMBIOS 2.8 present.73machine # [ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/201474machine # [ 0.000000] DMI: Memory slots populated: 1/175machine # [ 0.000000] Hypervisor detected: KVM76machine # [ 0.000000] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000077machine # [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d0078machine # [ 0.000000] kvm-clock: using sched offset of 445973247 cycles79machine # [ 0.000002] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns80machine # [ 0.000004] tsc: Detected 3792.874 MHz processor81machine # [ 0.000664] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000082machine # [ 0.000688] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs83machine # [ 0.000690] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT84machine # [ 0.002232] found SMP MP-table at [mem 0x000f5450-0x000f545f]85machine # [ 0.002243] Using GB pages for direct mapping86machine # [ 0.002307] RAMDISK: [mem 0x3e2e6000-0x3ffcffff]87machine # [ 0.002314] ACPI: Early table checksum verification disabled88machine # [ 0.002316] ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS )89machine # [ 0.002319] ACPI: RSDT 0x000000003FFE2422 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)90machine # [ 0.002322] ACPI: FACP 0x000000003FFE221A 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001)91machine # [ 0.002327] ACPI: DSDT 0x000000003FFE0040 0021DA (v01 BOCHS BXPC 00000001 BXPC 00000001)92machine # [ 0.002329] ACPI: FACS 0x000000003FFE0000 00004093machine # [ 0.002330] ACPI: APIC 0x000000003FFE230E 000078 (v03 BOCHS BXPC 00000001 BXPC 00000001)94machine # [ 0.002331] ACPI: HPET 0x000000003FFE2386 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)95machine # [ 0.002333] ACPI: MCFG 0x000000003FFE23BE 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001)96machine # [ 0.002334] ACPI: WAET 0x000000003FFE23FA 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)97machine # [ 0.002335] ACPI: Reserving FACP table memory at [mem 0x3ffe221a-0x3ffe230d]98machine # [ 0.002336] ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe2219]99machine # [ 0.002337] ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]100machine # [ 0.002337] ACPI: Reserving APIC table memory at [mem 0x3ffe230e-0x3ffe2385]101machine # [ 0.002337] ACPI: Reserving HPET table memory at [mem 0x3ffe2386-0x3ffe23bd]102machine # [ 0.002338] ACPI: Reserving MCFG table memory at [mem 0x3ffe23be-0x3ffe23f9]103machine # [ 0.002338] ACPI: Reserving WAET table memory at [mem 0x3ffe23fa-0x3ffe2421]104machine # [ 0.002716] No NUMA configuration found105machine # [ 0.002717] Faking a node at [mem 0x0000000000000000-0x000000003ffd7fff]106machine # [ 0.002720] NODE_DATA(0) allocated [mem 0x3ffd2780-0x3ffd7cff]107machine # [ 0.002794] Zone ranges:108machine # [ 0.002794] DMA [mem 0x0000000000001000-0x0000000000ffffff]109machine # [ 0.002795] DMA32 [mem 0x0000000001000000-0x000000003ffd7fff]110machine # [ 0.002796] Normal empty111machine # [ 0.002797] Device empty112machine # [ 0.002797] Movable zone start for each node113machine # [ 0.002798] Early memory node ranges114machine # [ 0.002798] node 0: [mem 0x0000000000001000-0x000000000009efff]115machine # [ 0.002799] node 0: [mem 0x0000000000100000-0x000000003ffd7fff]116machine # [ 0.002799] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffd7fff]117machine # [ 0.002819] On node 0, zone DMA: 1 pages in unavailable ranges118machine # [ 0.003038] On node 0, zone DMA: 97 pages in unavailable ranges119machine # [ 0.017528] On node 0, zone DMA32: 40 pages in unavailable ranges120machine # [ 0.018387] ACPI: PM-Timer IO Port: 0x608121machine # [ 0.018396] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])122machine # [ 0.018415] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23123machine # [ 0.018417] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)124machine # [ 0.018418] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)125machine # [ 0.018419] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)126machine # [ 0.018420] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)127machine # [ 0.018420] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)128machine # [ 0.018422] ACPI: Using ACPI (MADT) for SMP configuration information129machine # [ 0.018423] ACPI: HPET id: 0x8086a201 base: 0xfed00000130machine # [ 0.018425] TSC deadline timer available131machine # [ 0.018429] CPU topo: Max. logical packages: 1132machine # [ 0.018429] CPU topo: Max. logical dies: 1133machine # [ 0.018430] CPU topo: Max. dies per package: 1134machine # [ 0.018433] CPU topo: Max. threads per core: 1135machine # [ 0.018433] CPU topo: Num. cores per package: 1136machine # [ 0.018434] CPU topo: Num. threads per package: 1137machine # [ 0.018434] CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs138machine # [ 0.018445] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()139machine # [ 0.018469] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]140machine # [ 0.018470] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]141machine # [ 0.018471] [mem 0x40000000-0xafffffff] available for PCI devices142machine # [ 0.018472] Booting paravirtualized kernel on KVM143machine # [ 0.018474] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns144machine # [ 0.022279] setup_percpu: NR_CPUS:384 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1145machine # [ 0.024043] percpu: Embedded 98 pages/cpu s278528 r8192 d114688 u2097152146machine # [ 0.024075] kvm-guest: PV spinlocks disabled, single CPU147machine # [ 0.024077] 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/kd62hp299x0vkg0lzinf4ig5553narvb-nixos-system-machine-test/init regInfo=/nix/.ro-store/jqxhix7ifdfb8p5xwd4b5kxkrg9vmz9b-closure-info/registration console=ttyS0,115200n8 console=tty0148machine # [ 0.024154] Unknown kernel command line parameters "regInfo=/nix/.ro-store/jqxhix7ifdfb8p5xwd4b5kxkrg9vmz9b-closure-info/registration", will be passed to user space.149machine # [ 0.024171] random: crng init done150machine # [ 0.024171] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes151machine # [ 0.024212] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)152machine # [ 0.024649] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)153machine # [ 0.024672] Fallback order for Node 0: 0154machine # [ 0.024674] Built 1 zonelists, mobility grouping on. Total pages: 262006155machine # [ 0.024675] Policy zone: DMA32156machine # [ 0.026669] mem auto-init: stack:all(zero), heap alloc:on, heap free:off157machine # [ 0.029297] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1158machine # [ 0.031298] allocated 2097152 bytes of page_ext159machine # [ 0.039803] ftrace: allocating 48837 entries in 192 pages160machine # [ 0.039804] ftrace: allocated 192 pages with 2 groups161machine # [ 0.040469] Dynamic Preempt: lazy162machine # [ 0.040580] rcu: Preemptible hierarchical RCU implementation.163machine # [ 0.040580] rcu: RCU event tracing is enabled.164machine # [ 0.040581] rcu: RCU restricting CPUs from NR_CPUS=384 to nr_cpu_ids=1.165machine # [ 0.040582] Trampoline variant of Tasks RCU enabled.166machine # [ 0.040582] Rude variant of Tasks RCU enabled.167machine # [ 0.040582] Tracing variant of Tasks RCU enabled.168machine # [ 0.040583] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.169machine # [ 0.040584] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1170machine # [ 0.040627] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.171machine # [ 0.040628] RCU Tasks Rude: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.172machine # [ 0.040629] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.173machine # [ 0.044355] NR_IRQS: 24832, nr_irqs: 256, preallocated irqs: 16174machine # [ 0.044588] rcu: srcu_init: Setting srcu_struct sizes based on contention.175machine # [ 0.044592] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns176machine # [ 0.044672] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)177machine # [ 0.050243] Console: colour VGA+ 80x25178machine # [ 0.050245] printk: legacy console [tty0] enabled179machine # [ 0.082879] printk: legacy console [ttyS0] enabled180machine # [ 0.230408] ACPI: Core revision 20250807181machine # [ 0.231514] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns182machine # [ 0.233604] APIC: Switch to symmetric I/O mode setup183machine # [ 0.234870] x2apic enabled184machine # [ 0.235750] APIC: Switched APIC routing to: physical x2apic185machine # [ 0.237786] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1186machine # [ 0.239123] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns187machine # [ 0.241378] Calibrating delay loop (skipped) preset value.. 7585.74 BogoMIPS (lpj=3792874)188machine # [ 0.243448] x86/cpu: User Mode Instruction Prevention (UMIP) activated189machine # [ 0.244483] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127190machine # [ 0.245378] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0191machine # [ 0.246381] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto192machine # [ 0.248378] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl193machine # [ 0.249378] Spectre V2 : Mitigation: Retpolines194machine # [ 0.250378] Speculative Return Stack Overflow: Mitigation: Safe RET195machine # [ 0.251378] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization196machine # [ 0.253378] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT197machine # [ 0.254378] Spectre V2 : Enabling Restricted Speculation for firmware calls198machine # [ 0.255379] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier199machine # [ 0.256379] active return thunk: srso_alias_return_thunk200machine # [ 0.257392] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'201machine # [ 0.259378] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'202machine # [ 0.260378] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'203machine # [ 0.262378] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'204machine # [ 0.263378] x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'205machine # [ 0.265378] x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'206machine # [ 0.266378] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256207machine # [ 0.267378] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8208machine # [ 0.269378] x86/fpu: xstate_offset[11]: 840, xstate_sizes[11]: 16209machine # [ 0.270378] x86/fpu: xstate_offset[12]: 856, xstate_sizes[12]: 24210machine # [ 0.271378] x86/fpu: Enabled xstate features 0x1a07, context size is 880 bytes, using 'compacted' format.211machine # [ 0.297681] Freeing SMP alternatives memory: 48K212machine # [ 0.298379] pid_max: default: 32768 minimum: 301213machine # [ 0.299423] LSM: initializing lsm=capability,landlock,yama,bpf,ima214machine # [ 0.300464] landlock: Up and running.215machine # [ 0.302032] Yama: becoming mindful.216machine # [ 0.303195] LSM support for eBPF active217machine # [ 0.304163] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)218machine # [ 0.305397] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)219machine # [ 0.307459] smpboot: CPU0: AMD Ryzen Threadripper PRO 5965WX 24-Cores (family: 0x19, model: 0x8, stepping: 0x2)220machine # [ 0.308845] Performance Events: Fam17h+ core perfctr, AMD PMU driver.221machine # [ 0.309386] ... version: 0222machine # [ 0.310370] ... bit width: 48223machine # [ 0.311165] ... generic counters: 6224machine # [ 0.312150] ... generic bitmap: 000000000000003f225machine # [ 0.313374] ... fixed-purpose counters: 0226machine # [ 0.314146] ... fixed-purpose bitmap: 0000000000000000227machine # [ 0.315380] ... value mask: 0000ffffffffffff228machine # [ 0.316380] ... max period: 00007fffffffffff229machine # [ 0.317380] ... global_ctrl mask: 000000000000003f230machine # [ 0.318453] signal: max sigframe size: 3376231machine # [ 0.319482] rcu: Hierarchical SRCU implementation.232machine # [ 0.320383] rcu: Max phase no-delay instances is 400.233machine # [ 0.324980] smp: Bringing up secondary CPUs ...234machine # [ 0.325391] smp: Brought up 1 node, 1 CPU235machine # [ 0.326330] smpboot: Total of 1 processors activated (7585.74 BogoMIPS)236machine # [ 0.327484] Memory: 942688K/1048024K available (18124K kernel code, 2728K rwdata, 13644K rodata, 3656K init, 3632K bss, 98108K reserved, 0K cma-reserved)237machine # [ 0.328539] devtmpfs: initialized238machine # [ 0.329501] x86/mm: Memory block size: 128MB239machine # [ 0.331197] posixtimers hash table entries: 512 (order: 1, 8192 bytes, linear)240machine # [ 0.332407] futex hash table entries: 256 (16384 bytes on 1 NUMA nodes, total 16 KiB, linear).241machine # [ 0.333443] pinctrl core: initialized pinctrl subsystem242machine # [ 0.334659] PM: RTC time: 22:14:45, date: 2026-10-14243machine # [ 0.337653] NET: Registered PF_NETLINK/PF_ROUTE protocol family244machine # [ 0.338693] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations245machine # [ 0.339400] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations246machine # [ 0.340498] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations247machine # [ 0.341387] audit: initializing netlink subsys (disabled)248machine # [ 0.342587] thermal_sys: Registered thermal governor 'fair_share'249machine # [ 0.342588] thermal_sys: Registered thermal governor 'bang_bang'250machine # [ 0.343380] thermal_sys: Registered thermal governor 'step_wise'251machine # [ 0.344382] audit: type=2000 audit(1792016086.128:1): state=initialized audit_enabled=0 res=1252machine # [ 0.346382] thermal_sys: Registered thermal governor 'user_space'253machine # [ 0.346383] thermal_sys: Registered thermal governor 'power_allocator'254machine # [ 0.347392] cpuidle: using governor menu255machine # [ 0.350182] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5256machine # [ 0.351597] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]257machine # [ 0.352381] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry258machine # [ 0.353387] PCI: Using configuration type 1 for base access259machine # [ 0.354555] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.260machine # [ 0.359594] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages261machine # [ 0.360380] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page262machine # [ 0.365379] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages263machine # [ 0.366380] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page264machine # [ 0.376675] ACPI: Added _OSI(Module Device)265machine # [ 0.377380] ACPI: Added _OSI(Processor Device)266machine # [ 0.381379] ACPI: Added _OSI(Processor Aggregator Device)267machine # [ 0.386771] ACPI: 1 ACPI AML tables successfully acquired and loaded268machine # [ 0.390261] ACPI: Interpreter enabled269machine # [ 0.391063] ACPI: PM: (supports S0 S3 S4 S5)270machine # [ 0.391380] ACPI: Using IOAPIC for interrupt routing271machine # [ 0.394439] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug272machine # [ 0.395380] PCI: Using E820 reservations for host bridge windows273machine # [ 0.396637] ACPI: Enabled 2 GPEs in block 00 to 3F274machine # [ 0.401272] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])275machine # [ 0.402384] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]276machine # [ 0.403452] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]277machine # [ 0.404499] acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]278machine # [ 0.405806] PCI host bridge to bus 0000:00279machine # [ 0.406384] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]280machine # [ 0.407380] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]281machine # [ 0.408380] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]282machine # [ 0.409380] pci_bus 0000:00: root bus resource [mem 0x40000000-0xafffffff window]283machine # [ 0.410380] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]284machine # [ 0.411380] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]285machine # [ 0.412383] pci_bus 0000:00: root bus resource [bus 00-ff]286machine # [ 0.413524] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint287machine # [ 0.415077] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint288machine # [ 0.418417] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]289machine # [ 0.419402] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]290machine # [ 0.420422] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]291machine # [ 0.421555] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]292machine # [ 0.423154] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint293machine # [ 0.425392] pci 0000:00:02.0: BAR 0 [io 0xc100-0xc11f]294machine # [ 0.426392] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]295machine # [ 0.427422] pci 0000:00:02.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]296machine # [ 0.428392] pci 0000:00:02.0: ROM [mem 0xfeb40000-0xfeb7ffff pref]297machine # [ 0.430316] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint298machine # [ 0.432391] pci 0000:00:03.0: BAR 0 [io 0xc120-0xc13f]299machine # [ 0.433392] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]300machine # [ 0.434428] pci 0000:00:03.0: BAR 4 [mem 0xfe004000-0xfe007fff 64bit pref]301machine # [ 0.436328] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint302machine # [ 0.438946] pci 0000:00:04.0: BAR 0 [io 0xc000-0xc07f]303machine # [ 0.439392] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]304machine # [ 0.440422] pci 0000:00:04.0: BAR 4 [mem 0xfe008000-0xfe00bfff 64bit pref]305machine # [ 0.442335] pci 0000:00:05.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint306machine # [ 0.445391] pci 0000:00:05.0: BAR 0 [io 0xc140-0xc15f]307machine # [ 0.446392] pci 0000:00:05.0: BAR 1 [mem 0xfebd4000-0xfebd4fff]308machine # [ 0.447422] pci 0000:00:05.0: BAR 4 [mem 0xfe00c000-0xfe00ffff 64bit pref]309machine # [ 0.448392] pci 0000:00:05.0: ROM [mem 0xfeb80000-0xfebbffff pref]310machine # [ 0.450332] pci 0000:00:06.0: [1af4:1052] type 00 class 0x090000 conventional PCI endpoint311machine # [ 0.452401] pci 0000:00:06.0: BAR 1 [mem 0xfebd5000-0xfebd5fff]312machine # [ 0.453423] pci 0000:00:06.0: BAR 4 [mem 0xfe010000-0xfe013fff 64bit pref]313machine # [ 0.455335] pci 0000:00:07.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint314machine # [ 0.457409] pci 0000:00:07.0: BAR 1 [mem 0xfebd6000-0xfebd6fff]315machine # [ 0.458422] pci 0000:00:07.0: BAR 4 [mem 0xfe014000-0xfe017fff 64bit pref]316machine # [ 0.460391] pci 0000:00:08.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint317machine # [ 0.462402] pci 0000:00:08.0: BAR 1 [mem 0xfebd7000-0xfebd7fff]318machine # [ 0.463422] pci 0000:00:08.0: BAR 4 [mem 0xfe018000-0xfe01bfff 64bit pref]319machine # [ 0.465345] pci 0000:00:09.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint320machine # [ 0.467403] pci 0000:00:09.0: BAR 1 [mem 0xfebd8000-0xfebd8fff]321machine # [ 0.468423] pci 0000:00:09.0: BAR 4 [mem 0xfe01c000-0xfe01ffff 64bit pref]322machine # [ 0.470329] pci 0000:00:0a.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint323machine # [ 0.472391] pci 0000:00:0a.0: BAR 0 [io 0xc080-0xc0bf]324machine # [ 0.473392] pci 0000:00:0a.0: BAR 1 [mem 0xfebd9000-0xfebd9fff]325machine # [ 0.474422] pci 0000:00:0a.0: BAR 4 [mem 0xfe020000-0xfe023fff 64bit pref]326machine # [ 0.476317] pci 0000:00:0b.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint327machine # [ 0.478392] pci 0000:00:0b.0: BAR 0 [io 0xc160-0xc17f]328machine # [ 0.479392] pci 0000:00:0b.0: BAR 1 [mem 0xfebda000-0xfebdafff]329machine # [ 0.480422] pci 0000:00:0b.0: BAR 4 [mem 0xfe024000-0xfe027fff 64bit pref]330machine # [ 0.482354] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint331machine # [ 0.484164] pci 0000:00:1d.0: BAR 4 [io 0xc180-0xc19f]332machine # [ 0.485599] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint333machine # [ 0.487164] pci 0000:00:1d.1: BAR 4 [io 0xc1a0-0xc1bf]334machine # [ 0.488606] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint335machine # [ 0.491189] pci 0000:00:1d.2: BAR 4 [io 0xc1c0-0xc1df]336machine # [ 0.492717] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint337machine # [ 0.494091] pci 0000:00:1d.7: BAR 0 [mem 0xfebdb000-0xfebdbfff]338machine # [ 0.494743] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint339machine # [ 0.495898] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO340machine # [ 0.496752] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint341machine # [ 0.498432] pci 0000:00:1f.2: BAR 4 [io 0xc1e0-0xc1ff]342machine # [ 0.499392] pci 0000:00:1f.2: BAR 5 [mem 0xfebdc000-0xfebdcfff]343machine # [ 0.500891] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint344machine # [ 0.502162] pci 0000:00:1f.3: BAR 4 [io 0x0700-0x073f]345machine # [ 0.508801] ACPI: PCI: Interrupt link LNKA configured for IRQ 10346machine # [ 0.509516] ACPI: PCI: Interrupt link LNKB configured for IRQ 10347machine # [ 0.510527] ACPI: PCI: Interrupt link LNKC configured for IRQ 11348machine # [ 0.511524] ACPI: PCI: Interrupt link LNKD configured for IRQ 11349machine # [ 0.512509] ACPI: PCI: Interrupt link LNKE configured for IRQ 10350machine # [ 0.513525] ACPI: PCI: Interrupt link LNKF configured for IRQ 10351machine # [ 0.514513] ACPI: PCI: Interrupt link LNKG configured for IRQ 11352machine # [ 0.515512] ACPI: PCI: Interrupt link LNKH configured for IRQ 11353machine # [ 0.516476] ACPI: PCI: Interrupt link GSIA configured for IRQ 16354machine # [ 0.517537] ACPI: PCI: Interrupt link GSIB configured for IRQ 17355machine # [ 0.518395] ACPI: PCI: Interrupt link GSIC configured for IRQ 18356machine # [ 0.519394] ACPI: PCI: Interrupt link GSID configured for IRQ 19357machine # [ 0.520397] ACPI: PCI: Interrupt link GSIE configured for IRQ 20358machine # [ 0.521394] ACPI: PCI: Interrupt link GSIF configured for IRQ 21359machine # [ 0.522394] ACPI: PCI: Interrupt link GSIG configured for IRQ 22360machine # [ 0.523399] ACPI: PCI: Interrupt link GSIH configured for IRQ 23361machine # [ 0.525176] iommu: Default domain type: Translated362machine # [ 0.526253] iommu: DMA domain TLB invalidation policy: lazy mode363machine # [ 0.527570] ACPI: bus type USB registered364machine # [ 0.528436] usbcore: registered new interface driver usbfs365machine # [ 0.529397] usbcore: registered new interface driver hub366machine # [ 0.530392] usbcore: registered new device driver usb367machine # [ 0.532025] NetLabel: Initializing368machine # [ 0.532384] NetLabel: domain hash size = 128369machine # [ 0.533380] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO370machine # [ 0.534410] NetLabel: unlabeled traffic allowed by default371machine # [ 0.535392] PCI: Using ACPI for IRQ routing372machine # [ 0.619207] pci 0000:00:01.0: vgaarb: setting as boot VGA device373machine # [ 0.619376] pci 0000:00:01.0: vgaarb: bridge control possible374machine # [ 0.619376] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none375machine # [ 0.619382] vgaarb: loaded376machine # [ 0.620242] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0377machine # [ 0.621258] hpet0: 3 comparators, 64-bit 100.000000 MHz counter378machine # [ 0.625454] clocksource: Switched to clocksource kvm-clock379machine # [ 0.628725] VFS: Disk quotas dquot_6.6.0380machine # [ 0.629690] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)381machine # [ 0.631344] pnp: PnP ACPI init382machine # [ 0.632288] ACPI: IRQ 4 override to edge(!), high(!)383machine # [ 0.633514] system 00:04: [mem 0xb0000000-0xbfffffff window] has been reserved384machine # [ 0.635507] pnp: PnP ACPI: found 5 devices385machine # [ 0.643108] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns386machine # [ 0.645033] clocksource: Switched to clocksource acpi_pm387machine # [ 0.646315] NET: Registered PF_INET protocol family388machine # [ 0.647617] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)389machine # [ 0.663037] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)390machine # [ 0.665000] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)391machine # [ 0.666737] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)392machine # [ 0.668516] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)393machine # [ 0.670207] TCP: Hash tables configured (established 8192 bind 8192)394machine # [ 0.671673] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear)395machine # [ 0.673386] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)396machine # [ 0.674889] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)397machine # [ 0.676469] NET: Registered PF_UNIX/PF_LOCAL protocol family398machine # [ 0.677842] NET: Registered PF_XDP protocol family399machine # [ 0.678975] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]400machine # [ 0.680347] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]401machine # [ 0.681731] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]402machine # [ 0.683278] pci_bus 0000:00: resource 7 [mem 0x40000000-0xafffffff window]403machine # [ 0.684814] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]404machine # [ 0.686326] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]405machine # [ 0.688400] ACPI: \_SB_.GSIA: Enabled at IRQ 16406machine # [ 0.690629] ACPI: \_SB_.GSIB: Enabled at IRQ 17407machine # [ 0.692903] ACPI: \_SB_.GSIC: Enabled at IRQ 18408machine # [ 0.695108] ACPI: \_SB_.GSID: Enabled at IRQ 19409machine # [ 0.697045] PCI: CLS 0 bytes, default 64410machine # [ 0.698217] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns411machine # [ 0.700459] Trying to unpack rootfs image as initramfs...412machine # [ 0.742465] Initialise system trusted keyrings413machine # [ 0.743676] workingset: timestamp_bits=40 max_order=18 bucket_order=0414machine # [ 0.763437] Key type asymmetric registered415machine # [ 0.764434] Asymmetric key parser 'x509' registered416machine # [ 0.767854] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)417machine # [ 0.772856] io scheduler mq-deadline registered418machine # [ 0.773933] io scheduler kyber registered419machine # [ 0.777261] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled420machine # [ 0.781012] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A421machine # [ 0.786729] Linux agpgart interface v0.103422machine # [ 0.787760] ACPI: bus type drm_connector registered423machine # [ 0.791181] usbcore: registered new interface driver usbserial_generic424machine # [ 0.792648] usbserial: USB Serial support registered for generic425machine # [ 0.796828] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled426machine # [ 0.798573] drop_monitor: Initializing network drop monitor service427machine # [ 0.802919] NET: Registered PF_INET6 protocol family428machine # [ 0.807077] Segment Routing with IPv6429machine # [ 0.807999] In-situ OAM (IOAM) with IPv6430machine # [ 0.811115] IPI shorthand broadcast: enabled431machine # [ 0.819187] sched_clock: Marking stable (627024224, 191784022)->(926315815, -107507569)432machine # [ 0.824894] registered taskstats version 1433machine # [ 0.826059] Loading compiled-in X.509 certificates434machine # [ 0.842973] Demotion targets for Node 0: null435machine # [ 0.845854] Key type .fscrypt registered436machine # [ 0.846764] Key type fscrypt-provisioning registered437machine # [ 0.849923] ima: No TPM chip found, activating TPM-bypass!438machine # [ 0.851175] ima: Allocated hash algorithm: sha1439machine # [ 0.853841] ima: No architecture policies found440machine # [ 0.856821] PM: Magic number: 14:579:249441machine # [ 0.858512] RAS: Correctable Errors collector initialized.442machine # [ 0.869235] clk: Disabling unused clocks443machine # [ 0.871820] PM: genpd: Disabling unused power domains444machine # [ 0.995402] Freeing initrd memory: 29608K445machine # [ 0.998556] Freeing unused decrypted memory: 2028K446machine # [ 1.001315] Freeing unused kernel image (initmem) memory: 3656K447machine # [ 1.002731] Write protecting the kernel read-only data: 32768k448machine # [ 1.004357] Freeing unused kernel image (text/rodata gap) memory: 304K449machine # [ 1.006173] Freeing unused kernel image (rodata/data gap) memory: 692K450machine # [ 1.047612] x86/mm: Checked W+X mappings: passed, no W+X pages found.451machine # [ 1.049096] Run /init as init process452machine # [ 1.058384] systemd[1]: Inserted module 'autofs4'453machine # [ 1.076764] fuse: init (API version 7.45)454machine # [ 1.083760] ACPI: \_SB_.GSIG: Enabled at IRQ 22455machine # [ 1.086923] ACPI: \_SB_.GSIH: Enabled at IRQ 23456machine # [ 1.090450] ACPI: \_SB_.GSIE: Enabled at IRQ 20457machine # [ 1.093050] ACPI: \_SB_.GSIF: Enabled at IRQ 21458machine # [ 1.099107] virtiofs virtio5: discovered new tag: nix-store459machine # [ 1.101380] virtiofs virtio5: virtio_fs_setup_dax: No cache capability460machine # [ 1.110163] virtiofs virtio6: discovered new tag: shared461machine # [ 1.112375] virtiofs virtio6: virtio_fs_setup_dax: No cache capability462machine # [ 1.116384] virtiofs virtio7: discovered new tag: xchg463machine # [ 1.118853] virtiofs virtio7: virtio_fs_setup_dax: No cache capability464machine # [ 1.146849] systemd[1]: Successfully made /usr/ read-only.465machine # [ 1.484143] systemd[1]: systemd 261.3 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)466machine # [ 1.493247] systemd[1]: Detected virtualization kvm.467machine # [ 1.494599] systemd[1]: Detected architecture x86-64.468machine # [ 1.495907] systemd[1]: Running in initrd.469machine # [ 1.497127] systemd[1]: Initializing machine ID from random generator.470machine # [ 1.498657] systemd[1]: Hostname set to <machine>.471machine # [ 1.565719] systemd[1]: bpf-restrict-fs: LSM BPF program attached472machine # [ 1.599296] systemd[1]: Queued start job for default target Initrd Default Target.473machine # [ 1.604558] systemd[1]: Created slice Slice /system/modprobe.474machine # [ 1.606135] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.475machine # [ 1.607981] systemd[1]: Expecting device /dev/disk/by-label/nixos...476machine # [ 1.609467] systemd[1]: Reached target Path Units.477machine # [ 1.610661] systemd[1]: Reached target Slice Units.478machine # [ 1.611895] systemd[1]: Reached target Swaps.479machine # [ 1.613011] systemd[1]: Reached target Timer Units.480machine # [ 1.614313] systemd[1]: Listening on D-Bus System Message Bus Socket.481machine # [ 1.615957] systemd[1]: Listening on Journal Socket (/dev/log).482machine # [ 1.617506] systemd[1]: Listening on Journal Sockets.483machine # [ 1.618889] systemd[1]: Listening on udev Control Socket.484machine # [ 1.620262] systemd[1]: Listening on udev Kernel Socket.485machine # [ 1.621556] systemd[1]: Reached target Socket Units.486machine # [ 1.623523] systemd[1]: Starting Create List of Static Device Nodes...487machine # [ 1.628037] systemd[1]: Starting Load Kernel Module configfs...488machine # [ 1.639162] systemd[1]: Starting Journal Service...489machine # [ 1.660469] systemd[1]: Starting Load Kernel Modules...490machine # [ 1.667931] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os491machine # [ 1.676102] systemd[1]: Starting Coldplug All udev Devices...492machine # [ 1.683161] systemd-journald[65]: Collecting audit messages is disabled.493machine # [ 1.693954] systemd[1]: Finished Create List of Static Device Nodes.494machine # [ 1.701399] systemd[1]: modprobe@configfs.service: Deactivated successfully.495machine # [ 1.709305] systemd[1]: Finished Load Kernel Module configfs.496machine # [ 1.716262] systemd[1]: Kernel Configuration File System skipped, unmet condition check ConditionPathExists=/sys/kernel/config497machine # [ 1.720495] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.498machine # [ 1.732859] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...499machine # [ 1.736913] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev500machine # [ 1.765528] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.501machine # [ 1.774909] systemd[1]: Finished Load Kernel Modules.502machine # [ 1.780953] systemd[1]: Starting Apply Kernel Variables...503machine # [ 1.793384] systemd[1]: Starting Create Static Device Nodes in /dev...504machine # [ 1.811227] systemd[1]: Finished Apply Kernel Variables.505machine # [ 1.822462] systemd[1]: Finished Create Static Device Nodes in /dev.506machine # [ 1.827090] systemd[1]: Reached target Preparation for Local File Systems.507machine # [ 1.832882] systemd[1]: Reached target Local File Systems.508machine # [ 1.838948] systemd[1]: Starting Rule-based Manager for Device Events and Files...509machine # [ 1.654352] systemd-modules-load[66]: Inserted module 'dm_mod'510machine # [ 1.658235] systemd-modules-load[66]: Inserted module 'virtio_balloon'511machine # [ 1.659685] systemd-modules-load[66]: Inserted module 'virtio_gpu'512machine # [ 1.853972] systemd[1]: Started Journal Service.513machine # [ 1.678256] systemd[1]: Starting Create System Files and Directories...514machine # [ 1.700807] systemd[1]: Finished Create System Files and Directories.515machine # [ 1.704992] systemd-udevd[73]: Using default interface naming scheme 'v261'.516machine # [ 1.734101] systemd[1]: Started Rule-based Manager for Device Events and Files.517machine # [ 1.757158] systemd[1]: Finished Coldplug All udev Devices.518machine # [ 1.759762] systemd[1]: Reached target System Initialization.519machine # [ 1.760923] systemd[1]: Reached target Basic System.520machine # [ 2.180381] virtio_blk virtio2: 1/0/0 default/read/poll queues521machine # [ 2.182206] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12522machine # [ 2.185439] virtio_blk virtio2: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)523machine # [ 2.195416] serio: i8042 KBD port at 0x60,0x64 irq 1524machine # [ 2.196325] serio: i8042 AUX port at 0x60,0x64 irq 12525machine # [ 2.198924] ehci-pci 0000:00:1d.7: EHCI Host Controller526machine # [ 2.199857] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 1527machine # [ 2.202128] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebdb000528machine # [ 2.208819] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00529machine # [ 2.210476] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.18530machine # [ 2.213802] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1531machine # [ 2.216915] usb usb1: Product: EHCI Host Controller532machine # [ 2.218303] usb usb1: Manufacturer: Linux 6.18.55 ehci_hcd533machine # [ 2.220411] usb usb1: SerialNumber: 0000:00:1d.7534machine # [ 2.222347] hub 1-0:1.0: USB hub found535machine # [ 2.223515] hub 1-0:1.0: 6 ports detected536machine # [ 2.226793] uhci_hcd 0000:00:1d.0: UHCI Host Controller537machine # [ 2.227702] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2538machine # [ 2.243599] uhci_hcd 0000:00:1d.0: detected 2 ports539machine # [ 2.245465] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c180540machine # [ 2.255483] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18541machine # [ 2.266262] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1542machine # [ 2.276984] usb usb2: Product: UHCI Host Controller543machine # [ 2.286797] usb usb2: Manufacturer: Linux 6.18.55 uhci_hcd544machine # [ 2.287741] usb usb2: SerialNumber: 0000:00:1d.0545machine # [ 2.100160] systemd[1]: Starting Virtual Console Setup...546machine # [ 2.305387] hub 2-0:1.0: USB hub found547machine # [ 2.119759] (udev-worker)[91]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.548machine # [ 2.125036] (udev-worker)[84]: Network interface NamePolicy= disabled on kernel command line.549machine # [ 2.134204] systemd-vconsole-setup[96]: Configuration of first virtual console was skipped, ignoring remaining ones.550machine # [ 2.137518] (udev-worker)[91]: Network interface NamePolicy= disabled on kernel command line.551machine # [ 2.330845] hub 2-0:1.0: 2 ports detected552machine # [ 2.142431] systemd[1]: Finished Virtual Console Setup.553machine # [ 2.338688] uhci_hcd 0000:00:1d.1: UHCI Host Controller554machine # [ 2.345018] SCSI subsystem initialized555machine # [ 2.350571] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3556machine # [ 2.357391] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0557machine # [ 2.362966] uhci_hcd 0000:00:1d.1: detected 2 ports558machine # [ 2.173694] systemd[1]: Found device /dev/disk/by-label/nixos.559machine # [ 2.176082] systemd[1]: Reached target Initrd Root Device.560machine # [ 2.178263] systemd[1]: Starting File System Check on /dev/disk/by-label/nixos...561machine # [ 2.376931] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c1a0562machine # [ 2.381648] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18563machine # [ 2.388330] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1564machine # [ 2.391825] usb usb3: Product: UHCI Host Controller565machine # [ 2.392709] usb usb3: Manufacturer: Linux 6.18.55 uhci_hcd566machine # [ 2.395821] usb usb3: SerialNumber: 0000:00:1d.1567machine # [ 2.398497] hub 3-0:1.0: USB hub found568machine # [ 2.402326] hub 3-0:1.0: 2 ports detected569machine # [ 2.214519] systemd-fsck[103]: nixos: clean, 12/65536 files, 13019/262144 blocks570machine # [ 2.410986] uhci_hcd 0000:00:1d.2: UHCI Host Controller571machine # [ 2.411924] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4572machine # [ 2.414806] uhci_hcd 0000:00:1d.2: detected 2 ports573machine # [ 2.419058] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c1c0574machine # [ 2.230220] systemd[1]: Finished File System Check on /dev/disk/by-label/nixos.575machine # [ 2.424531] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18576machine # [ 2.430302] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1577machine # [ 2.432892] usb usb4: Product: UHCI Host Controller578machine # [ 2.435340] usb usb4: Manufacturer: Linux 6.18.55 uhci_hcd579machine # [ 2.437850] usb usb4: SerialNumber: 0000:00:1d.2580machine # [ 2.440432] hub 4-0:1.0: USB hub found581machine # [ 2.445503] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode582machine # [ 2.447299] hub 4-0:1.0: 2 ports detected583machine # [ 2.461799] usb 1-1: new high-speed USB device number 2 using ehci-pci584machine # [ 2.462965] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)585machine # [ 2.470985] ahci 0000:00:1f.2: flags: 64bit ncq only586machine # [ 2.482872] scsi host0: ahci587machine # [ 2.484849] scsi host1: ahci588machine # [ 2.486552] scsi host2: ahci589machine # [ 2.489266] scsi host3: ahci590machine # [ 2.491264] scsi host4: ahci591machine # [ 2.493235] scsi host5: ahci592machine # [ 2.494489] ata1: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc100 irq 47 lpm-pol 1593machine # [ 2.496543] ata2: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc180 irq 47 lpm-pol 1594machine # [ 2.498093] ata3: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc200 irq 47 lpm-pol 1595machine # [ 2.499602] ata4: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc280 irq 47 lpm-pol 1596machine # [ 2.501132] ata5: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc300 irq 47 lpm-pol 1597machine # [ 2.502641] ata6: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc380 irq 47 lpm-pol 1598machine # [ 2.592107] usb 1-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00599machine # [ 2.594187] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=10600machine # [ 2.596371] usb 1-1: Product: QEMU USB Tablet601machine # [ 2.597841] usb 1-1: Manufacturer: QEMU602machine # [ 2.599096] usb 1-1: SerialNumber: 28754-0000:00:1d.7-1603machine # [ 2.615139] hid: raw HID events driver (C) Jiri Kosina604machine # [ 2.500526] systemd[1]: Mounting /sysroot...605machine # [ 2.812255] ata2: SATA link down (SStatus 0 SControl 300)606machine # [ 2.814235] ata6: SATA link down (SStatus 0 SControl 300)607machine # [ 2.815964] ata4: SATA link down (SStatus 0 SControl 300)608machine # [ 2.817946] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)609machine # [ 2.819631] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100610machine # [ 2.821258] ata3.00: applying bridge limits611machine # [ 2.822578] ata5: SATA link down (SStatus 0 SControl 300)612machine # [ 2.823945] ata1: SATA link down (SStatus 0 SControl 300)613machine # [ 2.825323] ata3.00: configured for UDMA/100614machine # [ 2.826615] scsi 2:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5615machine # [ 2.877616] usbcore: registered new interface driver usbhid616machine # [ 2.880795] usbhid: USB HID core driver617machine # [ 2.911942] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb1/1-1/1-1:1.0/0003:0627:0001.0001/input/input2618machine # [ 2.914268] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0619machine # [ 2.921095] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray620machine # [ 2.933113] cdrom: Uniform CD-ROM driver Revision: 3.20621machine # [ 2.935253] EXT4-fs (vda): mounted filesystem 72070417-6203-465c-9d2c-3bc0f15a1269 r/w with ordered data mode. Quota mode: none.622machine # [ 2.752089] systemd[1]: Mounted /sysroot.623machine # [ 2.754654] systemd[1]: Reached target Initrd Root File System.624machine # [ 2.761153] systemd[1]: Starting Mountpoints Configured in the Real Root...625machine # [ 2.775229] systemd-sysroot-fstab-check[136]: /sysroot should be mounted in the initrd, will request daemon-reload.626machine # [ 2.780074] systemd[1]: Reload requested from client PID 136 ('systemd-sysroot') (unit initrd-parse-etc.service)...627machine # [ 2.783935] systemd[1]: Reloading...628machine # [ 2.859336] systemd[1]: Reloading finished in 75 ms.629machine # [ 2.867471] systemd-sysroot-fstab-check[136]: Requesting initrd-fs.target/start/replace...630machine # [ 2.872275] systemd-sysroot-fstab-check[136]: Requesting swap.target/start/replace...631machine # [ 2.875726] systemd[1]: initrd-parse-etc.service: Deactivated successfully.632machine # [ 2.877615] systemd[1]: Finished Mountpoints Configured in the Real Root.633machine # [ 2.879171] systemd[1]: initrd-parse-etc.service: Triggering OnSuccess= dependencies.634machine # [ 3.502335] systemd[1]: Mounting /sysroot/nix/.ro-store...635machine # [ 3.506129] systemd[1]: Mounting /sysroot/nix/.rw-store...636machine # [ 3.511161] systemd[1]: Mounting /sysroot/run...637machine # [ 3.516901] systemd[1]: Mounting /sysroot/tmp/shared...638machine # [ 3.523972] systemd[1]: Mounting /sysroot/tmp/xchg...639machine # [ 3.544893] systemd[1]: Mounted /sysroot/nix/.ro-store.640machine # [ 3.548092] systemd[1]: Mounted /sysroot/nix/.rw-store.641machine # [ 3.549459] systemd[1]: Mounted /sysroot/run.642machine # [ 3.551172] systemd[1]: Mounted /sysroot/tmp/shared.643machine # [ 3.552260] systemd[1]: Mounted /sysroot/tmp/xchg.644machine # [ 3.556537] systemd[1]: Starting rw-sysroot-nix-store.service...645machine # [ 3.565421] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.646machine # [ 3.568083] systemd[1]: Finished rw-sysroot-nix-store.service.647machine # [ 3.570087] systemd[1]: Mounting /sysroot/nix/store...648machine # [ 3.590270] systemd[1]: Mounted /sysroot/nix/store.649machine # [ 3.592135] systemd[1]: Reached target Initrd File Systems.650machine # [ 3.593476] systemd[1]: Starting Find NixOS closure...651machine # [ 3.596308] systemd[1]: Starting Create Volatile Files and Directories in the Real Root...652machine # [ 3.612373] systemd[1]: Finished Create Volatile Files and Directories in the Real Root.653machine # [ 3.619223] systemd[1]: Finished Find NixOS closure.654machine # [ 3.620800] systemd[1]: Reached target Initrd Default Target.655machine # [ 3.623106] systemd[1]: Starting Cleaning Up and Shutting Down Daemons...656machine # [ 3.635668] systemd[1]: Stopped target Initrd Default Target.657machine # [ 3.637143] systemd[1]: Stopped target Basic System.658machine # [ 3.638586] systemd[1]: Stopped target Initrd Root Device.659machine # [ 3.640148] systemd[1]: Stopped target Path Units.660machine # [ 3.641236] systemd[1]: systemd-ask-password-console.path: Deactivated successfully.661machine # [ 3.642985] systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.662machine # [ 3.644915] systemd[1]: Stopped target Slice Units.663machine # [ 3.646402] systemd[1]: Stopped target Socket Units.664machine # [ 3.648157] systemd[1]: Stopped target System Initialization.665machine # [ 3.649416] systemd[1]: Stopped target Swaps.666machine # [ 3.650364] systemd[1]: Stopped target Timer Units.667machine # [ 3.651915] systemd[1]: dbus.socket: Deactivated successfully.668machine # [ 3.653143] systemd[1]: Closed D-Bus System Message Bus Socket.669machine # [ 3.654552] systemd[1]: initrd-find-nixos-closure.service: Deactivated successfully.670machine # [ 3.657157] systemd[1]: Stopped Find NixOS closure.671machine # [ 3.658191] systemd[1]: Starting rw-sysroot-nix-store.service...672machine # [ 3.659393] systemd[1]: systemd-sysctl.service: Deactivated successfully.673machine # [ 3.660985] systemd[1]: Stopped Apply Kernel Variables.674machine # [ 3.662399] systemd[1]: systemd-modules-load.service: Deactivated successfully.675machine # [ 3.664235] systemd[1]: Stopped Load Kernel Modules.676machine # [ 3.665485] systemd[1]: systemd-tmpfiles-setup-sysroot.service: Deactivated successfully.677machine # [ 3.667957] systemd[1]: Stopped Create Volatile Files and Directories in the Real Root.678machine # [ 3.669478] systemd[1]: systemd-tmpfiles-setup.service: Deactivated successfully.679machine # [ 3.670884] systemd[1]: Stopped Create System Files and Directories.680machine # [ 3.672541] systemd[1]: Stopped target Local File Systems.681machine # [ 3.676205] systemd[1]: Stopped target Preparation for Local File Systems.682machine # [ 3.677589] systemd[1]: systemd-udev-trigger.service: Deactivated successfully.683machine # [ 3.679846] systemd[1]: Stopped Coldplug All udev Devices.684machine # [ 3.682201] systemd[1]: Stopping Rule-based Manager for Device Events and Files...685machine # [ 3.685516] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.686machine # [ 3.686940] systemd[1]: Stopped Virtual Console Setup.687machine # [ 3.692482] systemd[1]: initrd-cleanup.service: Deactivated successfully.688machine # [ 3.695641] systemd[1]: Finished Cleaning Up and Shutting Down Daemons.689machine # [ 3.698200] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.690machine # [ 3.699766] systemd[1]: Finished rw-sysroot-nix-store.service.691machine # [ 3.701513] systemd[1]: systemd-udevd.service: Deactivated successfully.692machine # [ 3.704090] systemd[1]: Stopped Rule-based Manager for Device Events and Files.693machine # [ 3.707693] systemd[1]: systemd-udevd-control.socket: Deactivated successfully.694machine # [ 3.710075] systemd[1]: Closed udev Control Socket.695machine # [ 3.711307] systemd[1]: Starting Cleanup udev Database...696machine # [ 3.713178] systemd[1]: systemd-tmpfiles-setup-dev.service: Deactivated successfully.697machine # [ 3.714671] systemd[1]: Stopped Create Static Device Nodes in /dev.698machine # [ 3.715925] systemd[1]: systemd-tmpfiles-setup-dev-early.service: Deactivated successfully.699machine # [ 3.718163] systemd[1]: Stopped Create Static Device Nodes in /dev gracefully.700machine # [ 3.719568] systemd[1]: kmod-static-nodes.service: Deactivated successfully.701machine # [ 3.720914] systemd[1]: Stopped Create List of Static Device Nodes.702machine # [ 3.733445] systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.703machine # [ 3.735600] systemd[1]: Finished Cleanup udev Database.704machine # [ 3.737178] systemd[1]: Reached target Switch Root.705machine # [ 3.738969] systemd[1]: Starting NixOS Activation...706machine # [ 3.795345] initrd-nixos-activation-start[188]: booting system configuration /nix/store/kd62hp299x0vkg0lzinf4ig5553narvb-nixos-system-machine-test707machine # [ 3.820083] initrd-nixos-activation-start[188]: running activation script...708machine # [ 3.986610] initrd-nixos-activation-start[211]: setting up /etc...709machine # [ 4.086396] systemd[1]: initrd-nixos-activation.service: Deactivated successfully.710machine # [ 4.088423] systemd[1]: Finished NixOS Activation.711machine # [ 4.090707] systemd[1]: Starting Switch Root...712machine # [ 4.102085] systemd[1]: Switching root.713machine # [ 4.424935] systemd-journald[65]: Received SIGTERM from PID 1 (systemd).714machine # [ 4.530146] NET: Registered PF_VSOCK protocol family715machine # [ 4.886065] systemd[1]: systemd 261.3 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)716machine # [ 4.893058] systemd[1]: Detected virtualization kvm.717machine # [ 4.894252] systemd[1]: Detected architecture x86-64.718machine # [ 4.895413] systemd[1]: Detected first boot.719machine # [ 4.897368] systemd[1]: Initializing machine ID from random generator.720machine # [ 4.987843] systemd[1]: bpf-restrict-fs: LSM BPF program attached721machine # [ 5.055857] systemd[1]: Applying preset policy.722machine # [ 5.224469] systemd[1]: Populated /etc with preset unit settings.723machine # [ 5.420217] systemd[1]: initrd-switch-root.service: Deactivated successfully.724machine # [ 5.421984] systemd[1]: Stopped initrd-switch-root.service.725machine # [ 5.424658] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.726machine # [ 5.427254] systemd[1]: Created slice Slice /system/getty.727machine # [ 5.428881] systemd[1]: Created slice User and Session Slice.728machine # [ 5.430039] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.729machine # [ 5.431550] systemd[1]: Started Forward Password Requests to Wall Directory Watch.730machine # [ 5.432961] systemd[1]: Expecting device /dev/hvc0...731machine # [ 5.433922] systemd[1]: Expecting device /dev/ttyS0...732machine # [ 5.434920] systemd[1]: Reached target Local Encrypted Volumes.733machine # [ 5.435999] systemd[1]: Stopped target initrd-fs.target.734machine # [ 5.436990] systemd[1]: Stopped target initrd-root-fs.target.735machine # [ 5.438046] systemd[1]: Stopped target initrd-switch-root.target.736machine # [ 5.439180] systemd[1]: Reached target Virtual Machines and Containers.737machine # [ 5.440387] systemd[1]: Reached target Path Units.738machine # [ 5.441349] systemd[1]: Reached target Remote File Systems.739machine # [ 5.442408] systemd[1]: Reached target Slice Units.740machine # [ 5.453440] systemd[1]: Reached target Swaps.741machine # [ 5.455535] systemd[1]: Listening on Query the User Interactively for a Password.742machine # [ 5.458288] systemd[1]: Listening on Process Core Dump Socket.743machine # [ 5.460359] systemd[1]: Listening on Credential Encryption/Decryption.744machine # [ 5.462527] systemd[1]: Listening on Factory Reset Management.745machine # [ 5.463759] systemd[1]: Listening on Hostname Service Socket.746machine # [ 5.466522] systemd[1]: Starting Journal Log Access Socket...747machine # [ 5.468041] systemd[1]: Listening on Journal Audit Socket.748machine # [ 5.470891] systemd[1]: Listening on Console Output Muting Service Socket.749machine # [ 5.472291] systemd[1]: Listening on Userspace Out-Of-Memory (OOM) Killer Socket.750machine # [ 5.473686] systemd[1]: TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-os751machine # [ 5.475378] systemd[1]: Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki752machine # [ 5.479832] systemd[1]: Listening on Disk Repartitioning Service Socket.753machine # [ 5.481138] systemd[1]: Listening on udev Control Socket.754machine # [ 5.482277] systemd[1]: Listening on udev Varlink Socket.755machine # [ 5.484495] systemd[1]: Mounting Huge Pages File System...756machine # [ 5.487965] systemd[1]: Mounting POSIX Message Queue File System...757machine # [ 5.495595] systemd[1]: Mounting Kernel Debug File System...758machine # [ 5.502336] systemd[1]: Mounting Kernel Trace File System...759machine # [ 5.513744] systemd[1]: Starting Create List of Static Device Nodes...760machine # [ 5.526661] systemd[1]: Starting Load Kernel Module configfs...761machine # [ 5.535398] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm762machine # [ 5.543527] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore763machine # [ 5.546954] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse764machine # [ 5.555305] systemd[1]: Mounting FUSE Control File System...765machine # [ 5.557441] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67766machine # [ 5.567288] systemd[1]: Starting Journal Service...767machine # [ 5.574844] systemd[1]: Starting Load Kernel Modules...768machine # [ 5.587467] systemd[1]: Starting Userspace Out-Of-Memory (OOM) Killer...769machine # [ 5.595304] systemd[1]: Starting Remount Root and Kernel File Systems...770machine # [ 5.599812] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os771machine # [ 5.612513] systemd-journald[281]: Collecting audit messages is enabled.772machine # [ 5.615564] systemd[1]: Starting Coldplug All udev Devices...773machine # [ 5.623667] systemd[1]: Listening on Journal Log Access Socket.774machine # [ 5.632074] systemd[1]: Mounted Huge Pages File System.775machine # [ 5.637123] systemd[1]: Mounted POSIX Message Queue File System.776machine # [ 5.643088] systemd[1]: Mounted Kernel Debug File System.777machine # [ 5.644405] loop: module loaded778machine # [ 5.455562] systemd[1]: Queued start job for default target Multi-User System.779machine # [ 5.458461] systemd[1]: systemd-journald.service: Deactivated successfully.780machine # [ 5.651673] systemd[1]: Started Journal Service.781machine # [ 5.461730] systemd-modules-load[282]: Inserted module 'loop'782machine # [ 5.465767] systemd[1]: Mounted Kernel Trace File System.783machine # [ 5.473412] systemd[1]: Finished Create List of Static Device Nodes.784machine # [ 5.479712] systemd[1]: modprobe@configfs.service: Deactivated successfully.785machine # [ 5.484089] systemd[1]: Finished Load Kernel Module configfs.786machine # [ 5.485333] systemd[1]: Mounted FUSE Control File System.787machine # [ 5.491065] systemd[1]: Finished Load Kernel Modules.788machine # [ 5.684755] EXT4-fs (vda): re-mounted 72070417-6203-465c-9d2c-3bc0f15a1269.789machine # [ 5.507112] systemd[1]: Finished Remount Root and Kernel File Systems.790machine # [ 5.511884] systemd[1]: Listening on Disk Image Download Service Socket.791machine # [ 5.516117] systemd[1]: Mounting Kernel Configuration File System...792machine # [ 5.519423] systemd[1]: Starting Firewall...793machine # [ 5.526154] systemd[1]: Starting Flush Journal to Persistent Storage...794machine # [ 5.527486] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore795machine # [ 5.532922] systemd-oomd[284]: No swap; memory pressure usage will be degraded796machine # [ 5.541091] systemd[1]: Starting Load/Save OS Random Seed...797machine # [ 5.550985] systemd[1]: Starting Apply Kernel Variables...798machine # [ 5.565160] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...799machine # [ 5.566638] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os800machine # [ 5.570465] systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.801machine # [ 5.796958] systemd-journald[281]: Received client request to flush runtime journal.802machine # [ 5.806838] systemd[1]: Mounted Kernel Configuration File System.803machine # [ 5.809715] systemd[1]: Finished Load/Save OS Random Seed.804machine # [ 5.814430] systemd[1]: Reached target First Boot Complete.805machine # [ 5.815590] systemd[1]: Finished Apply Kernel Variables.806machine # [ 5.816926] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.807machine # [ 5.819167] systemd[1]: Starting Create Static Device Nodes in /dev...808machine # [ 5.821181] systemd[1]: Finished Flush Journal to Persistent Storage.809machine # [ 5.867687] systemd[1]: Finished Coldplug All udev Devices.810machine # [ 5.876599] systemd[1]: Finished Create Static Device Nodes in /dev.811machine # [ 5.879157] systemd[1]: Reached target Preparation for Local File Systems.812machine # [ 5.881430] systemd[1]: Starting Rule-based Manager for Device Events and Files...813machine # [ 5.919240] systemd-udevd[325]: Using default interface naming scheme 'v261'.814machine # [ 5.967084] systemd[1]: Started Rule-based Manager for Device Events and Files.815machine # [ 6.095204] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse816machine # [ 6.181245] systemd[1]: Condition check resulted in /dev/hvc0 being skipped.817machine # [ 6.218320] systemd[1]: Condition check resulted in /dev/ttyS0 being skipped.818machine # [ 6.233306] systemd[1]: Mounting /run/wrappers...819machine # [ 6.238743] (udev-worker)[347]: Network interface NamePolicy= disabled on kernel command line.820machine # [ 6.243464] (udev-worker)[348]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.821machine # [ 6.247213] (udev-worker)[348]: Network interface NamePolicy= disabled on kernel command line.822machine # [ 6.271228] systemd[1]: Mounted /run/wrappers.823machine # [ 6.272239] systemd[1]: Reached target Local File Systems.824machine # [ 6.276470] systemd[1]: Listening on Boot Loader Control Service Socket.825machine # [ 6.280962] systemd[1]: Starting register-nix-paths.service...826machine # [ 6.285592] systemd[1]: Starting Create SUID/SGID Wrappers...827machine # [ 6.286753] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.828machine # [ 6.294973] systemd[1]: Starting Save Transient machine-id to Disk...829machine # [ 6.302835] systemd[1]: Starting Create System Files and Directories...830machine # [ 6.400242] systemd[1]: etc-machine\x2did.mount: Deactivated successfully.831machine # [ 6.407835] systemd[1]: Finished Save Transient machine-id to Disk.832machine # [ 6.444310] systemd[1]: Finished Create System Files and Directories.833machine # [ 6.452362] systemd[1]: Starting Rebuild Journal Catalog...834machine # [ 6.466603] systemd[1]: Starting Record System Boot/Shutdown in UTMP...835machine # [ 6.473495] systemd[1]: Condition check resulted in Virtio network device being skipped.836machine # [ 6.476089] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore837machine # [ 6.478505] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.838machine # [ 6.481309] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67839machine # [ 6.484731] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore840machine # [ 6.488549] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os841machine # [ 6.492177] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os842machine # [ 6.556985] systemd[1]: Finished Record System Boot/Shutdown in UTMP.843machine # [ 6.585711] systemd[1]: Finished Rebuild Journal Catalog.844machine # [ 6.592380] systemd[1]: Starting Update is Completed...845machine # [ 6.663213] systemd[1]: Finished Update is Completed.846machine # [ 6.984359] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3847machine # [ 7.001070] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console848machine # [ 6.817103] systemd[1]: Finished Firewall.849machine # [ 7.015101] mousedev: PS/2 mouse device common for all mice850machine # [ 7.019483] input: QEMU Virtio Keyboard as /devices/pci0000:00/0000:00:06.0/virtio4/input/input4851machine # [ 6.856426] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.852machine # [ 6.859821] systemd[1]: Finished Create SUID/SGID Wrappers.853machine # [ 7.032575] ACPI: button: Power Button [PWRF]854machine # [ 7.089642] rtc_cmos PNP0B00:00: RTC can wake from S4855machine # [ 7.107279] Console: switching to colour dummy device 80x25856machine # [ 7.125374] rtc_cmos PNP0B00:00: registered as rtc0857machine # [ 7.125507] rtc_cmos PNP0B00:00: setting system clock to 2026-10-14T22:14:52 UTC (1792016092)858machine # [ 7.125599] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs859machine # [ 7.125900] systemd-journald[281]: Time jumped backwards, rotating.860machine # [ 7.134246] parport_pc 00:02: reported by Plug and Play ACPI861machine # [ 7.134335] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]862machine # [ 7.158535] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized863machine # [ 7.196377] [drm] Found bochs VGA, ID 0xb0c5.864machine # [ 7.196379] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.865machine # [ 7.015552] systemd[1]: Finished register-nix-paths.service.866machine # [ 7.018778] systemd[1]: Reached target System Initialization.867machine # [ 7.024753] systemd[1]: Started Discard unused filesystem blocks once a week.868machine # [ 7.027484] systemd[1]: Started Daily Cleanup of Temporary Directories.869machine # [ 7.028749] systemd[1]: Reached target Timer Units.870machine # [ 7.031209] systemd[1]: Listening on D-Bus System Message Bus Socket.871machine # [ 7.032601] systemd[1]: Listening on Nix Daemon Socket.872machine # [ 7.033670] systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.873machine # [ 7.036230] systemd[1]: Reached target Socket Units.874machine # [ 7.038053] systemd[1]: Reached target Basic System.875machine # [ 7.040173] systemd[1]: Started backdoor.service.876machine # [ 7.041867] systemd[1]: Starting Import lastlog data into lastlog2 database...877machine # [ 7.048316] systemd[1]: Starting Name Service Cache Daemon (nsncd)...878machine # [ 7.058451] systemd[1]: Starting Post-Boot Actions...879machine # [ 7.253006] bochs-drm 0000:00:01.0: [drm] Registered 1 planes with drm panic880machine # [ 7.253932] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0881machine # [ 7.067177] systemd[1]: Started Reset console on configuration changes.882machine # [ 7.084522] systemd[1]: Starting resolvconf update...883machine # connecting to host...884machine # [ 7.123890] systemd[1]: Starting D-Bus System Message Bus...885machine # [ 7.130231] nsncd[506]: Oct 14 22:14:52.695 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"886machine # [ 7.134468] systemd[1]: Started Name Service Cache Daemon (nsncd).887machine # [ 7.138220] systemd[1]: Reached target Host and Network Name Lookups.888machine # [ 7.140286] systemd[1]: Reached target User and Group Name Lookups.889machine: Guest shell says: b'Spawning backdoor root shell...\n'890machine: connected to guest root shell891machine: (connecting took 7.91 seconds)892machine: (finished: waiting for the VM to finish booting, in 8.08 seconds)893machine # [ 7.382026] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt894machine # [ 7.382913] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD895machine # [ 7.197265] systemd[1]: Starting User Login Management...896machine # [ 7.204984] systemd[1]: Finished Post-Boot Actions.897machine # [ 7.208568] systemd[1]: Finished Import lastlog data into lastlog2 database.898machine # [ 7.273614] dbus-broker-launch[515]: Looking up NSS user entry for 'systemd-timesync'...899machine # [ 7.479536] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input6900machine # [ 7.479896] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input5901machine # [ 7.541546] Console: switching to colour frame buffer device 160x50902machine # [ 7.621648] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device903machine # [ 7.330047] dbus-broker-launch[515]: NSS returned no entry for 'systemd-timesync'904machine # [ 7.434056] dbus-broker-launch[515]: Invalid user-name in /nix/store/c7if57az75jdv2srlympmgb9m7qdjic1-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"905machine # [ 7.436839] systemd[1]: Stopped target Host and Network Name Lookups.906machine # [ 7.438292] systemd[1]: Stopping Host and Network Name Lookups...907machine # [ 7.442817] systemd[1]: Stopped target User and Group Name Lookups.908machine # [ 7.447626] nsncd[589]: Oct 14 22:14:52.988 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"909machine # [ 7.452362] systemd[1]: Stopping User and Group Name Lookups...910machine # [ 7.455213] systemd[1]: Stopping Name Service Cache Daemon (nsncd)...911machine # [ 7.456452] systemd[1]: nscd.service: Deactivated successfully.912machine # [ 7.457640] systemd[1]: Stopped Name Service Cache Daemon (nsncd).913machine # [ 7.458830] systemd[1]: Started D-Bus System Message Bus.914machine # [ 7.461850] systemd[1]: Starting Name Service Cache Daemon (nsncd)...915machine # [ 7.465089] dbus-broker-launch[515]: Ready916machine # [ 7.467111] systemd[1]: Starting Virtual Console Setup...917machine # [ 7.468227] systemd[1]: Started Name Service Cache Daemon (nsncd).918machine # [ 7.469447] systemd[1]: Reached target Host and Network Name Lookups.919machine # [ 7.470656] systemd[1]: Reached target User and Group Name Lookups.920machine # [ 7.474343] systemd-logind[535]: New seat seat0.921machine # [ 7.475737] systemd[1]: Started User Login Management.922machine # [ 7.478346] systemd[1]: Starting linger-users.service...923machine # [ 7.487227] systemd-logind[535]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)924machine # [ 7.489244] systemd[1]: Finished resolvconf update.925machine # [ 7.493365] systemd[1]: Reached target Preparation for Network.926machine # [ 7.496798] systemd-logind[535]: Watching system buttons on /dev/input/event2 (Power Button)927machine # [ 7.502420] systemd[1]: Starting DHCP Client...928machine # [ 7.508122] systemd[1]: Starting Address configuration of eth1...929machine # [ 7.515087] systemd[1]: Starting Extra networking commands....930machine # [ 7.550080] systemd[1]: linger-users.service: Deactivated successfully.931machine # [ 7.555407] systemd[1]: Finished linger-users.service.932machine # [ 7.563922] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.933machine # [ 7.567321] systemd[1]: Stopped Virtual Console Setup.934machine # [ 7.588151] systemd[1]: Starting Virtual Console Setup...935machine # [ 7.627568] network-addresses-eth1-start[619]: adding address 192.168.1.1/24... done936machine # [ 7.644881] systemd-logind[535]: Watching system buttons on /dev/input/event3 (QEMU Virtio Keyboard)937machine # [ 7.648483] network-addresses-eth1-start[619]: adding address 2001:db8:1::1/64... done938machine # [ 7.674124] systemd[1]: Finished Address configuration of eth1.939machine # [ 7.906194] ppdev: user-space parallel port driver940machine # [ 7.757271] systemd[1]: Finished Extra networking commands..941machine # [ 7.761470] systemd[1]: Reached target Network.942machine # [ 7.768088] systemd[1]: Starting PostgreSQL Server...943machine # [ 7.772934] systemd[1]: Starting Permit User Sessions...944machine # [ 7.776539] dhcpcd[639]: dhcpcd-10.3.2 starting945machine # [ 7.785225] dhcpcd[692]: dev: loaded udev946machine # [ 7.979437] iTCO_wdt iTCO_wdt.1.auto: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)947machine # [ 8.001514] 8021q: 802.1Q VLAN Support v1.8948machine # [ 8.002118] 8021q: adding VLAN 0 to HW filter on device eth1949machine # [ 7.829162] systemd[1]: Finished Permit User Sessions.950machine # [ 7.836192] systemd[1]: Started Getty on tty1.951machine # [ 7.837171] systemd[1]: Reached target Login Prompts.952machine # [ 7.845396] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.953machine # [ 7.849700] systemd[1]: Stopped Virtual Console Setup.954machine # [ 8.049932] iTCO_wdt iTCO_wdt.1.auto: initialized. heartbeat=30 sec (nowayout=0)955machine # [ 7.879096] systemd[1]: Starting Virtual Console Setup...956machine # [ 7.944961] systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.957machine # [ 8.183353] cfg80211: Loading compiled-in X.509 certificates for regulatory database958machine # [ 8.213014] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'959machine # [ 8.213870] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'960machine # [ 8.218273] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2961machine # [ 8.219748] cfg80211: failed to load regulatory.db962machine # [ 8.276497] kvm_amd: TSC scaling supported963machine # [ 8.088993] postgresql-pre-start[703]: The files belonging to this database system will be owned by user "postgres".964machine # [ 8.090933] postgresql-pre-start[703]: This user must also own the server process.965machine # [ 8.284890] kvm_amd: Nested Virtualization enabled966machine # [ 8.285526] kvm_amd: Nested Paging enabled967machine # [ 8.286110] kvm_amd: LBR virtualization supported968machine # [ 8.287290] kvm_amd: Virtual VMLOAD VMSAVE supported969machine # [ 8.098966] postgresql-pre-start[703]: The database cluster will be initialized with locale "en_US.UTF-8".970machine # [ 8.100703] postgresql-pre-start[703]: The default database encoding has accordingly been set to "UTF8".971machine # [ 8.102358] postgresql-pre-start[703]: The default text search configuration will be set to "english".972machine # [ 8.104722] postgresql-pre-start[703]: Data page checksums are enabled.973machine # [ 8.297703] kvm_amd: Virtual GIF supported974machine # [ 8.105996] postgresql-pre-start[703]: fixing permissions on existing directory /var/lib/postgresql/18 ... ok975machine # [ 8.109207] postgresql-pre-start[703]: creating subdirectories ... ok976machine # [ 8.110519] postgresql-pre-start[703]: selecting dynamic shared memory implementation ... posix977machine # [ 8.308686] 8021q: adding VLAN 0 to HW filter on device eth0978machine # [ 8.120245] dhcpcd[692]: eth0: waiting for carrier979machine # [ 8.121299] dhcpcd[692]: eth0: carrier acquired980machine # [ 8.129838] dhcpcd[692]: DUID 00:01:00:01:32:62:bb:5d:52:54:00:12:34:56981machine # [ 8.131115] dhcpcd[692]: eth0: IAID 00:12:34:56982machine # [ 8.132129] dhcpcd[692]: eth0: adding address fe80::5054:ff:fe12:3456983machine # [ 8.354270] EDAC MC: Ver: 3.0.0984machine # [ 8.179709] postgresql-pre-start[703]: selecting default "max_connections" ... 100985machine # [ 8.217668] postgresql-pre-start[703]: selecting default "shared_buffers" ... 128MB986machine # [ 8.259176] systemd-vconsole-setup[701]: Configuration of first virtual console was skipped, ignoring remaining ones.987machine # [ 8.263739] systemd[1]: Finished Virtual Console Setup.988machine # [ 8.791104] postgresql-pre-start[703]: selecting default time zone ... UTC989machine # [ 8.793573] postgresql-pre-start[703]: creating configuration files ... ok990machine # [ 8.941954] postgresql-pre-start[703]: running bootstrap script ... ok991machine # [ 9.103543] dhcpcd[692]: eth0: soliciting a DHCP lease992machine # [ 9.310343] NET: Registered PF_PACKET protocol family993machine # [ 9.125452] dhcpcd[692]: eth0: offered 10.0.2.15 from 10.0.2.2994machine # [ 9.127173] dhcpcd[692]: eth0: probing address 10.0.2.15/24995machine # [ 9.334306] postgresql-pre-start[703]: performing post-bootstrap initialization ... ok996machine # [ 9.517705] postgresql-pre-start[703]: syncing data to disk ... ok997machine # [ 9.518923] postgresql-pre-start[703]: initdb: warning: enabling "trust" authentication for local connections998machine # [ 9.520580] postgresql-pre-start[703]: 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.999machine # [ 9.523181] postgresql-pre-start[703]: Success. You can now start the database server using:1000machine # [ 9.524738] postgresql-pre-start[703]: pg_ctl -D /var/lib/postgresql/18 -l logfile start1001machine # [ 9.602934] dhcpcd[692]: eth0: soliciting an IPv6 router1002machine # [ 9.605168] dhcpcd[692]: eth0: Router Advertisement from fe80::21003machine # [ 9.606881] dhcpcd[692]: eth0: adding address fec0::5054:ff:fe12:3456/641004machine # [ 9.609228] dhcpcd[692]: eth0: adding route to fec0::/641005machine # [ 9.612262] dhcpcd[692]: eth0: adding default route via fe80::21006machine # [ 9.621249] postgres[740]: [740] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-gnu, compiled by clang version 21.1.8, 64-bit1007machine # [ 9.625038] postgres[740]: [740] LOG: listening on IPv6 address "::1", port 54321008machine # [ 9.626509] postgres[740]: [740] LOG: listening on IPv4 address "127.0.0.1", port 54321009machine # [ 9.638953] postgres[740]: [740] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"1010machine # [ 9.671839] postgres[749]: [749] LOG: database system was shut down at 2026-10-14 22:14:54 GMT1011machine # [ 9.689246] postgres[740]: [740] LOG: database system is ready to accept connections1012machine # [ 9.703608] systemd[1]: Started PostgreSQL Server.1013machine # [ 9.711800] systemd[1]: Starting PostgreSQL Setup Scripts...1014machine # [ 9.860922] postgresql-setup-start[760]: CREATE DATABASE1015machine # [ 9.887754] postgresql-setup-start[765]: CREATE ROLE1016machine # [ 9.899116] postgresql-setup-start[767]: ALTER DATABASE1017machine # [ 9.903502] systemd[1]: Finished PostgreSQL Setup Scripts.1018machine # [ 9.905940] systemd[1]: Reached target PostgreSQL.1019machine: (finished: waiting for unit postgresql.service, in 11.41 seconds)1020machine: waiting for unit rustfs.service1021machine # [ 14.018872] dhcpcd[692]: eth0: leased 10.0.2.15 for 86400 seconds1022machine # [ 14.020650] dhcpcd[692]: eth0: adding route to 10.0.2.0/241023machine # [ 14.022530] dhcpcd[692]: eth0: adding default route via 10.0.2.21024machine # [ 14.075561] systemd[1]: Started DHCP Client.1025machine # [ 14.078100] systemd[1]: Reached target Network is Online.1026machine # [ 14.081737] systemd[1]: Starting RustFS Object Storage Server...1027machine # [ 14.628540] systemd[1]: Started RustFS Object Storage Server.1028machine # [ 14.633786] systemd[1]: Starting Self-hosted Zotero sync server...1029machine # [ 14.682666] systemd[1]: Started Self-hosted Zotero sync server.1030machine # [ 14.685753] systemd[1]: Reached target Multi-User System.1031machine # [ 14.687472] systemd[1]: Startup finished in 860ms (kernel) + 3.460s (initrd) + 10.365s (userspace) = 14.686s.1032machine: (finished: waiting for unit rustfs.service, in 4.21 seconds)1033machine: waiting for TCP port 9000 on localhost1034machine # Connection to localhost (::1) 9000 port [tcp/cslistener] succeeded!1035machine: (finished: waiting for TCP port 9000 on localhost, in 0.05 seconds)1036machine: waiting for unit zhost.service1037machine: (finished: waiting for unit zhost.service, in 0.03 seconds)1038machine: waiting for TCP port 8189 on localhost1039machine # [ 14.920231] zhost[885]: 2026-10-14T22:15:00.485942Z INFO zhost: zhost listening bind=127.0.0.1:81891040machine # Connection to localhost (127.0.0.1) 8189 port [tcp/*] succeeded!1041machine: (finished: waiting for TCP port 8189 on localhost, in 1.04 seconds)1042machine: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin1043machine: (finished: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin, in 0.11 seconds)1044machine: must succeed: mc mb s3/zotero1045machine: (finished: must succeed: mc mb s3/zotero, in 0.19 seconds)1046subtest: the module deploys a working service backed by postgres1047machine: 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'1048machine # [ 16.144659] zhost[885]: 2026-10-14T22:15:01.710524Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1049machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1050(finished: subtest: the module deploys a working service backed by postgres, in 0.03 seconds)1051subtest: login session hands out the key only after authorization1052machine: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess1053machine # [ 16.168910] zhost[885]: 2026-10-14T22:15:01.734970Z INFO zhost: request method=POST uri=/keys/sessions api_version=- if_unmod=- body={}1054machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess, in 0.02 seconds)1055machine: must succeed: jq -r .sessionToken /tmp/sess1056machine: (finished: must succeed: jq -r .sessionToken /tmp/sess, in 0.01 seconds)1057machine: must succeed: jq -r .loginURL /tmp/sess1058machine: (finished: must succeed: jq -r .loginURL /tmp/sess, in 0.01 seconds)1059machine: must succeed: curl -sf 'http://localhost:8189/login?session=0ddb8e67e159e0e4316f4d4ef4e0eae0' | grep -qi 'Authorize'1060machine # [ 16.219512] zhost[885]: 2026-10-14T22:15:01.784584Z INFO zhost: request method=GET uri=/login?session=0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1061machine: (finished: must succeed: curl -sf 'http://localhost:8189/login?session=0ddb8e67e159e0e4316f4d4ef4e0eae0' | grep -qi 'Authorize', in 0.03 seconds)1062machine: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "pending"'1063machine # [ 16.248436] zhost[885]: 2026-10-14T22:15:01.814445Z INFO zhost: request method=GET uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1064machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "pending"', in 0.03 seconds)1065machine: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.apiKey == null'1066machine # [ 16.284614] zhost[885]: 2026-10-14T22:15:01.850640Z INFO zhost: request method=GET uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1067machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.apiKey == null', in 0.04 seconds)1068machine: 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=0ddb8e67e159e0e4316f4d4ef4e0eae0'1069machine # [ 16.320273] zhost[885]: 2026-10-14T22:15:01.886242Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=0ddb8e67e159e0e4316f4d4ef4e0eae01070machine # [ 16.324119] zhost[885]: 2026-10-14T22:15:01.886288Z WARN zhost: response error method=POST uri=/login status=4031071machine: (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=0ddb8e67e159e0e4316f4d4ef4e0eae0', in 0.03 seconds)1072machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=0ddb8e67e159e0e4316f4d4ef4e0eae0'1073machine # [ 16.349245] zhost[885]: 2026-10-14T22:15:01.914738Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=0ddb8e67e159e0e4316f4d4ef4e0eae01074machine # [ 16.353155] zhost[885]: 2026-10-14T22:15:01.914767Z WARN zhost: response error method=POST uri=/login status=4031075machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=0ddb8e67e159e0e4316f4d4ef4e0eae0', in 0.03 seconds)1076machine: 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=0ddb8e67e159e0e4316f4d4ef4e0eae0'1077machine # [ 16.374398] zhost[885]: 2026-10-14T22:15:01.940348Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=0ddb8e67e159e0e4316f4d4ef4e0eae01078machine # [ 16.378552] zhost[885]: 2026-10-14T22:15:01.940374Z WARN zhost: response error method=POST uri=/login status=4031079machine: (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=0ddb8e67e159e0e4316f4d4ef4e0eae0', in 0.03 seconds)1080machine: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=0ddb8e67e159e0e4316f4d4ef4e0eae0'1081machine # [ 16.399895] zhost[885]: 2026-10-14T22:15:01.965951Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=0ddb8e67e159e0e4316f4d4ef4e0eae01082machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=0ddb8e67e159e0e4316f4d4ef4e0eae0', in 0.02 seconds)1083machine: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "completed"'1084machine # [ 16.423381] zhost[885]: 2026-10-14T22:15:01.989401Z INFO zhost: request method=GET uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1085machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "completed"', in 0.02 seconds)1086machine: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.apiKey == "testtoken"'1087machine # [ 16.447405] zhost[885]: 2026-10-14T22:15:02.013430Z INFO zhost: request method=GET uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1088machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.apiKey == "testtoken"', in 0.02 seconds)1089machine: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae01090machine # [ 16.470081] zhost[885]: 2026-10-14T22:15:02.036000Z INFO zhost: request method=DELETE uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1091machine: (finished: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0, in 0.02 seconds)1092machine: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "pending"'1093machine # [ 16.493193] zhost[885]: 2026-10-14T22:15:02.059302Z INFO zhost: request method=GET uri=/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 api_version=- if_unmod=- body=1094machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/0ddb8e67e159e0e4316f4d4ef4e0eae0 | jq -e '.status == "pending"', in 0.02 seconds)1095(finished: subtest: login session hands out the key only after authorization, in 0.35 seconds)1096subtest: the login consent endpoint validates the session token1097machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login1098machine # [ 16.515801] zhost[885]: 2026-10-14T22:15:02.081912Z INFO zhost: request method=GET uri=/login api_version=- if_unmod=- body=1099machine # [ 16.519284] zhost[885]: 2026-10-14T22:15:02.085322Z WARN zhost: response error method=GET uri=/login status=4001100machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login, in 0.02 seconds)1101machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope1102machine # [ 16.540087] zhost[885]: 2026-10-14T22:15:02.106160Z INFO zhost: request method=GET uri=/login?session=nope api_version=- if_unmod=- body=1103machine # [ 16.543662] zhost[885]: 2026-10-14T22:15:02.109702Z WARN zhost: response error method=GET uri=/login?session=nope status=4041104machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope, in 0.02 seconds)1105machine: 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'1106machine # [ 16.564558] zhost[885]: 2026-10-14T22:15:02.130561Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=nope1107machine # [ 16.568127] zhost[885]: 2026-10-14T22:15:02.130589Z WARN zhost: response error method=POST uri=/login status=4041108machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=nope', in 0.02 seconds)1109(finished: subtest: the login consent endpoint validates the session token, in 0.07 seconds)1110subtest: groups endpoint returns an empty set (single personal library)1111machine: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1112machine # [ 16.590338] zhost[885]: 2026-10-14T22:15:02.156311Z INFO zhost: request method=GET uri=/users/1/groups api_version=3 if_unmod=- body=1113machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1114(finished: subtest: groups endpoint returns an empty set (single personal library), in 0.02 seconds)1115subtest: the api key is required off the bootstrap paths1116machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3'1117machine # [ 16.613240] zhost[885]: 2026-10-14T22:15:02.179275Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1118machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3', in 0.02 seconds)1119(finished: subtest: the api key is required off the bootstrap paths, in 0.02 seconds)1120subtest: a read-only key reads but cannot write1121machine: 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'1122machine # [ 16.634778] zhost[885]: 2026-10-14T22:15:02.200892Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1123machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1124machine: 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'1125machine # [ 16.663128] zhost[885]: 2026-10-14T22:15:02.228988Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1126machine: (finished: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == false', in 0.02 seconds)1127machine: 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'1128machine # [ 16.686563] zhost[885]: 2026-10-14T22:15:02.252586Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1129machine: (finished: must succeed: curl -sf http://localhost:8189/keys/current -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.access.user.write == true', in 0.02 seconds)1130machine: 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"}]'1131machine # [ 16.708912] zhost[885]: 2026-10-14T22:15:02.274597Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"RDNLY222","itemType":"book"}]1132machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"RDNLY222","itemType":"book"}]', in 0.02 seconds)1133machine: 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'1134machine # [ 16.731764] zhost[885]: 2026-10-14T22:15:02.296600Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=- body=1135machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1136(finished: subtest: a read-only key reads but cannot write, in 0.12 seconds)1137subtest: an item round-trips through write and read1138machine: 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"'1139machine # [ 16.755153] zhost[885]: 2026-10-14T22:15:02.321232Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEM2223","itemType":"book","title":"t"}]1140machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"ITEM2223","itemType":"book","title":"t"}]' | jq -e '.successful."0".key == "ITEM2223"', in 0.03 seconds)1141machine: 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'1142machine # [ 16.786083] zhost[885]: 2026-10-14T22:15:02.352027Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1143machine: (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)1144machine: 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"'1145machine # [ 16.811126] zhost[885]: 2026-10-14T22:15:02.377079Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ITEM2223&format=json api_version=3 if_unmod=- body=1146machine: (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)1147(finished: subtest: an item round-trips through write and read, in 0.08 seconds)1148subtest: a stale write is rejected with 4121149machine: 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"}]'1150machine # [ 16.835199] zhost[885]: 2026-10-14T22:15:02.401069Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEMSTAL","itemType":"book"}]1151machine # [ 16.839649] zhost[885]: 2026-10-14T22:15:02.405648Z WARN zhost: response error method=POST uri=/users/1/items status=4121152machine: (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)1153(finished: subtest: a stale write is rejected with 412, in 0.03 seconds)1154subtest: a write without If-Unmodified-Since-Version is rejected with 4281155machine: 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"}]'1156machine # [ 16.860924] zhost[885]: 2026-10-14T22:15:02.426592Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=- body=[{"key":"NPRECN22","itemType":"book"}]1157machine # [ 16.864783] zhost[885]: 2026-10-14T22:15:02.426616Z WARN zhost: response error method=POST uri=/users/1/items status=4281158machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d '[{"key":"NPRECN22","itemType":"book"}]', in 0.02 seconds)1159(finished: subtest: a write without If-Unmodified-Since-Version is rejected with 428, in 0.02 seconds)1160subtest: a malformed object key is rejected with 4001161machine: 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' ' -f21162machine # [ 16.890980] zhost[885]: 2026-10-14T22:15:02.456987Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1163machine: (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)1164machine: 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"}]'1165machine # [ 16.915145] zhost[885]: 2026-10-14T22:15:02.480933Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HASOABC2","itemType":"book"}]1166machine # [ 16.919348] zhost[885]: 2026-10-14T22:15:02.480962Z WARN zhost: response error method=POST uri=/users/1/items status=4001167machine: (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)1168machine: 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' ' -f21169machine # [ 16.945659] zhost[885]: 2026-10-14T22:15:02.511417Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1170machine: (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)1171machine: 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"}]'1172machine # [ 16.969637] zhost[885]: 2026-10-14T22:15:02.535628Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HAS0ABC2","itemType":"book"}]1173machine # [ 16.974251] zhost[885]: 2026-10-14T22:15:02.535660Z WARN zhost: response error method=POST uri=/users/1/items status=4001174machine: (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)1175machine: 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' ' -f21176machine # [ 16.999678] zhost[885]: 2026-10-14T22:15:02.565694Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1177machine: (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)1178machine: 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"}]'1179machine # [ 17.023879] zhost[885]: 2026-10-14T22:15:02.589541Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"SHORTKY","itemType":"book"}]1180machine # [ 17.027722] zhost[885]: 2026-10-14T22:15:02.589570Z WARN zhost: response error method=POST uri=/users/1/items status=4001181machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"SHORTKY","itemType":"book"}]', in 0.02 seconds)1182machine: 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' ' -f21183machine # [ 17.053335] zhost[885]: 2026-10-14T22:15:02.619275Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1184machine: (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)1185machine: 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"}]'1186machine # [ 17.077083] zhost[885]: 2026-10-14T22:15:02.643050Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"TOOLONGKY","itemType":"book"}]1187machine # [ 17.081711] zhost[885]: 2026-10-14T22:15:02.643077Z WARN zhost: response error method=POST uri=/users/1/items status=4001188machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"TOOLONGKY","itemType":"book"}]', in 0.02 seconds)1189machine: 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' ' -f21190machine # [ 17.106926] zhost[885]: 2026-10-14T22:15:02.672916Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1191machine: (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)1192machine: 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"}]'1193machine # [ 17.130698] zhost[885]: 2026-10-14T22:15:02.696706Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"lowercs2","itemType":"book"}]1194machine # [ 17.135313] zhost[885]: 2026-10-14T22:15:02.696731Z WARN zhost: response error method=POST uri=/users/1/items status=4001195machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"lowercs2","itemType":"book"}]', in 0.02 seconds)1196machine: 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 '. == []'1197machine # [ 17.157427] zhost[885]: 2026-10-14T22:15:02.723239Z INFO zhost: request method=GET uri=/users/1/items?itemKey=HASOABC2&format=json api_version=3 if_unmod=- body=1198machine: (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)1199(finished: subtest: a malformed object key is rejected with 400, in 0.30 seconds)1200subtest: an empty batch does not bump the library version1201machine: 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' ' -f21202machine # [ 17.186135] zhost[885]: 2026-10-14T22:15:02.752089Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1203machine: (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)1204machine: 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 .successful1205machine # [ 17.211788] zhost[885]: 2026-10-14T22:15:02.777685Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[]1206machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[]' | jq -e .successful, in 0.02 seconds)1207machine: 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 # [ 17.239614] zhost[885]: 2026-10-14T22:15:02.805676Z 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.03 seconds)1210(finished: subtest: an empty batch does not bump the library version, in 0.08 seconds)1211subtest: attachment data is emitted with linkMode first1212machine: 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' ' -f21213machine # [ 17.268179] zhost[885]: 2026-10-14T22:15:02.834291Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1214machine: (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)1215machine: 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 .successful1216machine # [ 17.293415] zhost[885]: 2026-10-14T22:15:02.859270Z 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"}]1217machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"ATTACH22","itemType":"attachment","linkMode":"imported_file","filename":"t.pdf","contentType":"application/pdf"}]' | jq -e .successful, in 0.03 seconds)1218machine: 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]'1219machine # [ 17.326135] zhost[885]: 2026-10-14T22:15:02.891937Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ATTACH22&format=json api_version=3 if_unmod=- body=1220machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ATTACH22&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]', in 0.02 seconds)1221(finished: subtest: attachment data is emitted with linkMode first, in 0.09 seconds)1222subtest: an attachment file uploads to S3 and downloads via a presigned URL1223machine: 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 .uploadKey1224machine # [ 17.357850] zhost[885]: 2026-10-14T22:15:02.923698Z 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=17000000000001225machine: (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)1226machine: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/2b2f57263bb53d98bfbd940da8982d27 --data-binary @-1227machine # [ 17.381849] zhost[885]: 2026-10-14T22:15:02.947908Z INFO zhost: request method=POST uri=/uploads/2b2f57263bb53d98bfbd940da8982d27 api_version=- if_unmod=- body=hello1228machine: (finished: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/2b2f57263bb53d98bfbd940da8982d27 --data-binary @-, in 0.07 seconds)1229machine: 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=2b2f57263bb53d98bfbd940da8982d27'1230machine # [ 17.461157] zhost[885]: 2026-10-14T22:15:03.027089Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=upload=2b2f57263bb53d98bfbd940da8982d271231machine: (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=2b2f57263bb53d98bfbd940da8982d27', in 0.04 seconds)1232machine: 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'1233machine # [ 17.499238] zhost[885]: 2026-10-14T22:15:03.065130Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1234machine: (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)1235machine: 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}'1236machine # [ 17.527731] zhost[885]: 2026-10-14T22:15:03.093623Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1237machine: (finished: must succeed: curl -sf -D /tmp/dlhdr -o /dev/null http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' && grep -i '^location:' /tmp/dlhdr | tr -d '\r' | awk '{print $2}', in 0.04 seconds)1238machine: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr1239machine: (finished: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr, in 0.01 seconds)1240machine: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20261014%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261014T221503Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=cc35e210c11b3a79e81da7cb46c4fc7a9fd5ab47dbe5d9cacf8e7f4cda4f245a'1241machine: (finished: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20261014%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261014T221503Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=cc35e210c11b3a79e81da7cb46c4fc7a9fd5ab47dbe5d9cacf8e7f4cda4f245a', in 0.02 seconds)1242(finished: subtest: an attachment file uploads to S3 and downloads via a presigned URL, in 0.25 seconds)1243subtest: re-authorizing the same file returns exists:1 (dedup)1244machine: 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'1245machine # [ 17.603037] zhost[885]: 2026-10-14T22:15:03.168798Z 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=17000000000001246machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=5d41402abc4b2a76b9719d911017c592&filename=t.pdf&filesize=5&mtime=1700000000000' | jq -e '.exists == 1', in 0.03 seconds)1247(finished: subtest: re-authorizing the same file returns exists:1 (dedup), in 0.03 seconds)1248subtest: a file authorization without a precondition header is 4281249machine: 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'1250machine # [ 17.651080] zhost[885]: 2026-10-14T22:15:03.216939Z 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=11251machine # [ 17.655924] zhost[885]: 2026-10-14T22:15:03.217019Z WARN zhost: response error method=POST uri=/users/1/items/ATTACH22/file status=4281252machine: (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.05 seconds)1253(finished: subtest: a file authorization without a precondition header is 428, in 0.05 seconds)1254subtest: uploading bytes that do not match the declared md5 is rejected1255machine: 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 .uploadKey1256machine # [ 17.689855] zhost[885]: 2026-10-14T22:15:03.255545Z INFO zhost: request method=POST uri=/users/1/items/BADHASH2/file api_version=3 if_unmod=- body=md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=11257machine: (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.04 seconds)1258machine: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/c57960c3370444607a9a0e812d84733d --data-binary @-1259machine # [ 17.716845] zhost[885]: 2026-10-14T22:15:03.282499Z INFO zhost: request method=POST uri=/uploads/c57960c3370444607a9a0e812d84733d api_version=- if_unmod=- body=hello1260machine # [ 17.721134] zhost[885]: 2026-10-14T22:15:03.282537Z WARN zhost: uploaded bytes do not match authorization key="BADHASH2" want_md5="00000000000000000000000000000000" got_md5="5d41402abc4b2a76b9719d911017c592"1261machine # [ 17.725416] zhost[885]: 2026-10-14T22:15:03.282553Z WARN zhost: response error method=POST uri=/uploads/c57960c3370444607a9a0e812d84733d status=4001262machine: (finished: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/c57960c3370444607a9a0e812d84733d --data-binary @-, in 0.03 seconds)1263(finished: subtest: uploading bytes that do not match the declared md5 is rejected, in 0.07 seconds)1264subtest: registering without a prior upload is rejected1265machine: 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 .uploadKey1266machine # [ 17.752311] zhost[885]: 2026-10-14T22:15:03.318417Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=11267machine: (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)1268machine: 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=c7551a6aa3d5ee761f5c1b7c355e1d69'1269machine # [ 17.777745] zhost[885]: 2026-10-14T22:15:03.343284Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=upload=c7551a6aa3d5ee761f5c1b7c355e1d691270machine # [ 17.781833] zhost[885]: 2026-10-14T22:15:03.343313Z WARN zhost: response error method=POST uri=/users/1/items/NQUPLQAD/file status=4001271machine: (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=c7551a6aa3d5ee761f5c1b7c355e1d69', in 0.03 seconds)1272(finished: subtest: registering without a prior upload is rejected, in 0.05 seconds)1273subtest: non-alphanumeric keys are rejected from the file endpoint1274machine: 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'1275machine # [ 17.807657] zhost[885]: 2026-10-14T22:15:03.373662Z 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=11276machine # [ 17.812113] zhost[885]: 2026-10-14T22:15:03.373689Z WARN zhost: response error method=POST uri=/users/1/items/bad..key/file status=4001277machine: (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)1278(finished: subtest: non-alphanumeric keys are rejected from the file endpoint, in 0.03 seconds)1279subtest: annotations round-trip as ordinary items1280machine: 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' ' -f21281machine # [ 17.839975] zhost[885]: 2026-10-14T22:15:03.405922Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1282machine: (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)1283machine: 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"'1284machine # [ 17.865479] zhost[885]: 2026-10-14T22:15:03.431458Z 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"}]1285machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 3' -d '[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]' | jq -e '.successful."0".data.annotationText == "marked"', in 0.03 seconds)1286machine: 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"'1287machine # [ 17.898525] zhost[885]: 2026-10-14T22:15:03.464306Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1288machine: (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)1289machine: 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]'1290machine # [ 17.926410] zhost[885]: 2026-10-14T22:15:03.492345Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1291machine: (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)1292(finished: subtest: annotations round-trip as ordinary items, in 0.12 seconds)1293subtest: full-text content uploads, lists versions, and downloads1294machine: 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' ' -f21295machine # [ 17.956501] zhost[885]: 2026-10-14T22:15:03.522466Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1296machine: (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)1297machine: 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"'1298machine # [ 17.982688] zhost[885]: 2026-10-14T22:15:03.548484Z 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}]1299machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/fulltext -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 4' -d '[{"key":"ATTACH22","content":"hello world","indexedChars":11,"totalChars":11,"indexedPages":1,"totalPages":1}]' | jq -e '.successful."0".key == "ATTACH22"', in 0.03 seconds)1300machine: 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'1301machine # [ 18.016232] zhost[885]: 2026-10-14T22:15:03.582021Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1302machine: (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)1303machine: 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' ' -f21304machine # [ 18.048081] zhost[885]: 2026-10-14T22:15:03.614017Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1305machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1306machine: 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'1307machine # [ 18.074206] zhost[885]: 2026-10-14T22:15:03.640098Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1308machine: (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)1309machine: 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'1310machine # [ 18.100776] zhost[885]: 2026-10-14T22:15:03.666661Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1311machine: (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)1312(finished: subtest: full-text content uploads, lists versions, and downloads, in 0.17 seconds)1313subtest: a stale full-text write is rejected with 4121314machine: 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"}]'1315machine # [ 18.124570] zhost[885]: 2026-10-14T22:15:03.690573Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=0 body=[{"key":"ATTACH22","content":"x"}]1316machine # [ 18.129157] zhost[885]: 2026-10-14T22:15:03.695128Z WARN zhost: response error method=POST uri=/users/1/fulltext status=4121317machine: (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)1318(finished: subtest: a stale full-text write is rejected with 412, in 0.03 seconds)1319subtest: the query API filters, searches, sorts and paginates items1320machine: 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' ' -f21321machine # [ 18.157688] zhost[885]: 2026-10-14T22:15:03.723378Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1322machine: (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)1323machine: 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 .successful1324machine # [ 18.185190] zhost[885]: 2026-10-14T22:15:03.751095Z 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"}]}]1325machine: (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.03 seconds)1326machine: 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(",")'1327machine # [ 18.219073] zhost[885]: 2026-10-14T22:15:03.785022Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1328machine: (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)1329machine: 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(",")'1330machine # [ 18.252323] zhost[885]: 2026-10-14T22:15:03.818159Z INFO zhost: request method=GET uri=/users/1/items?q=klabnik api_version=3 if_unmod=- body=1331machine: (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)1332machine: 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(",")'1333machine # [ 18.278383] zhost[885]: 2026-10-14T22:15:03.844401Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1334machine: (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)1335machine: 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(",")'1336machine # [ 18.304519] zhost[885]: 2026-10-14T22:15:03.870530Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1337machine: (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)1338machine: 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(",")'1339machine # [ 18.331479] zhost[885]: 2026-10-14T22:15:03.897471Z INFO zhost: request method=GET uri=/users/1/items?itemType=-book api_version=3 if_unmod=- body=1340machine: (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)1341machine: 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(",")'1342machine # [ 18.358769] zhost[885]: 2026-10-14T22:15:03.924646Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang&tag=systems api_version=3 if_unmod=- body=1343machine: (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)1344machine: 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(",")'1345machine # [ 18.385521] zhost[885]: 2026-10-14T22:15:03.951535Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang api_version=3 if_unmod=- body=1346machine: (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)1347machine: 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(",")'1348machine # [ 18.412389] zhost[885]: 2026-10-14T22:15:03.978404Z INFO zhost: request method=GET uri=/users/1/items?q=world api_version=3 if_unmod=- body=1349machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?q=world' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1350machine: 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(",")'1351machine # [ 18.441184] zhost[885]: 2026-10-14T22:15:04.007120Z INFO zhost: request method=GET uri=/users/1/items?q=world&qmode=everything api_version=3 if_unmod=- body=1352machine: (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)1353(finished: subtest: the query API filters, searches, sorts and paginates items, in 0.32 seconds)1354subtest: the query API reports Total-Results and a next-page Link1355machine: 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'1356machine # [ 18.466685] zhost[885]: 2026-10-14T22:15:04.032336Z INFO zhost: request method=GET uri=/users/1/items?limit=1&sort=title&direction=asc api_version=3 if_unmod=- body=1357machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&sort=title&direction=asc' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1358(finished: subtest: the query API reports Total-Results and a next-page Link, in 0.02 seconds)1359subtest: a read-only key can drive the query API1360machine: 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'1361machine # [ 18.490159] zhost[885]: 2026-10-14T22:15:04.056089Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1362machine: (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.02 seconds)1363(finished: subtest: a read-only key can drive the query API, in 0.02 seconds)1364subtest: convenience listings: top, trash, collection items and tags1365machine: 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' ' -f21366machine # [ 18.520595] zhost[885]: 2026-10-14T22:15:04.086546Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1367machine: (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)1368machine: 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 .successful1369machine # [ 18.547204] zhost[885]: 2026-10-14T22:15:04.113312Z 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}]1370machine: (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.04 seconds)1371machine: 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(",")'1372machine # [ 18.583084] zhost[885]: 2026-10-14T22:15:04.148520Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1373machine: (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)1374machine: 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(",")'1375machine # [ 18.608691] zhost[885]: 2026-10-14T22:15:04.174673Z INFO zhost: request method=GET uri=/users/1/items/trash api_version=3 if_unmod=- body=1376machine: (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)1377machine: 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(",")'1378machine # [ 18.634380] zhost[885]: 2026-10-14T22:15:04.200462Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items api_version=3 if_unmod=- body=1379machine: (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)1380machine: 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'1381machine # [ 18.667100] zhost[885]: 2026-10-14T22:15:04.233140Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1382machine: (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)1383(finished: subtest: convenience listings: top, trash, collection items and tags, in 0.18 seconds)1384subtest: top filtering covers parentItem:false and the versions view1385machine: 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' ' -f21386machine # [ 18.697035] zhost[885]: 2026-10-14T22:15:04.262932Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1387machine: (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)1388machine: 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 .successful1389machine # [ 18.722136] zhost[885]: 2026-10-14T22:15:04.288152Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=7 body=[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]1390machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 7' -d '[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]' | jq -e .successful, in 0.03 seconds)1391machine: 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")'1392machine # [ 18.753524] zhost[885]: 2026-10-14T22:15:04.319616Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1393machine: (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)1394machine: 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'1395machine # [ 18.781517] zhost[885]: 2026-10-14T22:15:04.347483Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=0 api_version=3 if_unmod=- body=1396machine: (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)1397machine: 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'1398machine # [ 18.808162] zhost[885]: 2026-10-14T22:15:04.374040Z 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 '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)1400(finished: subtest: top filtering covers parentItem:false and the versions view, in 0.14 seconds)1401subtest: malformed (non-array) item data does not 500 the query API1402machine: 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' ' -f21403machine # [ 18.841825] zhost[885]: 2026-10-14T22:15:04.407660Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1404machine: (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)1405machine: 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 .successful1406machine # [ 18.872510] zhost[885]: 2026-10-14T22:15:04.438485Z 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"}]1407machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 8' -d '[{"key":"MALFQRM3","itemType":"book","title":"weird","creators":"notarray","tags":"x","collections":"y"}]' | jq -e .successful, in 0.03 seconds)1408machine: 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'1409machine # [ 18.904664] zhost[885]: 2026-10-14T22:15:04.470770Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1410machine: (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)1411machine: 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'1412machine # [ 18.927232] zhost[885]: 2026-10-14T22:15:04.493214Z INFO zhost: request method=GET uri=/users/1/items?q=zzz api_version=3 if_unmod=- body=1413machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1414machine: 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'1415machine # [ 18.949868] zhost[885]: 2026-10-14T22:15:04.515858Z INFO zhost: request method=GET uri=/users/1/items?q=zzz&qmode=everything api_version=3 if_unmod=- body=1416machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1417machine: 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'1418machine # [ 18.973233] zhost[885]: 2026-10-14T22:15:04.539346Z INFO zhost: request method=GET uri=/users/1/items?tag=zzz api_version=3 if_unmod=- body=1419machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?tag=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1420machine: 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'1421machine # [ 18.996168] zhost[885]: 2026-10-14T22:15:04.562126Z INFO zhost: request method=GET uri=/users/1/collections/y/items api_version=3 if_unmod=- body=1422machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/collections/y/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1423machine: 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' ' -f21424machine # [ 19.024332] zhost[885]: 2026-10-14T22:15:04.590355Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1425machine: (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)1426machine: 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 .successful1427machine # [ 19.049216] zhost[885]: 2026-10-14T22:15:04.615128Z 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"]}]1428machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 9' -d '[{"key":"BADTAGS3","itemType":"book","title":"bt","tags":[{"tag":"good"},123,"junk"]}]' | jq -e .successful, in 0.03 seconds)1429machine: 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'1430machine # [ 19.079885] zhost[885]: 2026-10-14T22:15:04.645783Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1431machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "good") | .numItems == 1', in 0.02 seconds)1432(finished: subtest: malformed (non-array) item data does not 500 the query API, in 0.27 seconds)1433subtest: Total-Results stays correct past the last page1434machine: 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' ' -f21435machine # [ 19.108192] zhost[885]: 2026-10-14T22:15:04.674091Z INFO zhost: request method=GET uri=/users/1/items?limit=1 api_version=3 if_unmod=- body=1436machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1437machine: 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' ' -f21438machine # [ 19.137255] zhost[885]: 2026-10-14T22:15:04.703269Z INFO zhost: request method=GET uri=/users/1/items?limit=1&start=100000 api_version=3 if_unmod=- body=1439machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?limit=1&start=100000' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i total-results | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1440(finished: subtest: Total-Results stays correct past the last page, in 0.06 seconds)1441subtest: query API: OR filters, descending sort and includeTrashed1442machine: 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' ' -f21443machine # [ 19.167203] zhost[885]: 2026-10-14T22:15:04.732623Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1444machine: (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)1445machine: 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 .successful1446machine # [ 19.192430] zhost[885]: 2026-10-14T22:15:04.758330Z 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"}]}]1447machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 10' -d '[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]' | jq -e .successful, in 0.03 seconds)1448machine: 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(",")'1449machine # [ 19.227261] zhost[885]: 2026-10-14T22:15:04.792892Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&itemType=book||journalArticle api_version=3 if_unmod=- body=1450machine: (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)1451machine: 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'1452machine # [ 19.252603] zhost[885]: 2026-10-14T22:15:04.818623Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&sort=title&direction=desc api_version=3 if_unmod=- body=1453machine: (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)1454machine: 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'1455machine # [ 19.278139] zhost[885]: 2026-10-14T22:15:04.844116Z INFO zhost: request method=GET uri=/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1 api_version=3 if_unmod=- body=1456machine: (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)1457machine: 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(",")'1458machine # [ 19.304132] zhost[885]: 2026-10-14T22:15:04.870049Z INFO zhost: request method=GET uri=/users/1/items?tag=aa api_version=3 if_unmod=- body=1459machine: (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.02 seconds)1460(finished: subtest: query API: OR filters, descending sort and includeTrashed, in 0.17 seconds)1461subtest: sort=date orders by extracted year, not raw freeform text1462machine: 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' ' -f21463machine # [ 19.332562] zhost[885]: 2026-10-14T22:15:04.898462Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1464machine: (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)1465machine: 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 .successful1466machine # [ 19.357362] zhost[885]: 2026-10-14T22:15:04.923475Z 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"}]}]1467machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 11' -d '[{"key":"DATE2QLD","itemType":"book","title":"old","date":"circa 1850","tags":[{"tag":"era"}]},{"key":"DATE2MID","itemType":"book","title":"mid","date":"January 1960","tags":[{"tag":"era"}]},{"key":"DATE2NEW","itemType":"book","title":"new","date":"2020-05-01","tags":[{"tag":"era"}]}]' | jq -e .successful, in 0.04 seconds)1468machine: 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(",")'1469machine # [ 19.394035] zhost[885]: 2026-10-14T22:15:04.959791Z INFO zhost: request method=GET uri=/users/1/items?tag=era&sort=date&direction=asc api_version=3 if_unmod=- body=1470machine: (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)1471(finished: subtest: sort=date orders by extracted year, not raw freeform text, in 0.09 seconds)1472subtest: collection top items are served as a plain-text key list1473machine: 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'1474machine # [ 19.417480] zhost[885]: 2026-10-14T22:15:04.983403Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1475machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1476machine: 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'1477machine # [ 19.440122] zhost[885]: 2026-10-14T22:15:05.005937Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1478machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1479(finished: subtest: collection top items are served as a plain-text key list, in 0.05 seconds)1480subtest: a versions read with nothing newer returns 200 + empty map, not 3041481machine: 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' ' -f21482machine # [ 19.468590] zhost[885]: 2026-10-14T22:15:05.034502Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1483machine: (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)1484machine: 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'1485machine # [ 19.493164] zhost[885]: 2026-10-14T22:15:05.059094Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1486machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1487machine: 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 '. == {}'1488machine # [ 19.518083] zhost[885]: 2026-10-14T22:15:05.084047Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1489machine: (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.02 seconds)1490machine: 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'1491machine # [ 19.541202] zhost[885]: 2026-10-14T22:15:05.107269Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1492machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1493machine: 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 '. == {}'1494machine # [ 19.565284] zhost[885]: 2026-10-14T22:15:05.131297Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1495machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1496machine: 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'1497machine # [ 19.588377] zhost[885]: 2026-10-14T22:15:05.154249Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1498machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1499machine: 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 '. == {}'1500machine # [ 19.612107] zhost[885]: 2026-10-14T22:15:05.178017Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1501machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1502machine: 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'1503machine # [ 19.635161] zhost[885]: 2026-10-14T22:15:05.201041Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1504machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1505machine: 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 '. == {}'1506machine # [ 19.660198] zhost[885]: 2026-10-14T22:15:05.226045Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1507machine: (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)1508machine: 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'1509machine # [ 19.683284] zhost[885]: 2026-10-14T22:15:05.249248Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1510machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1511machine: 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 '. == {}'1512machine # [ 19.707253] zhost[885]: 2026-10-14T22:15:05.273242Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1513machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.02 seconds)1514machine: 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'1515machine # [ 19.731978] zhost[885]: 2026-10-14T22:15:05.297619Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1516machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -iq 'last-modified-version: 12', in 0.02 seconds)1517machine: 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'1518machine # [ 19.755163] zhost[885]: 2026-10-14T22:15:05.320900Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1519machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/settings -H 'If-Modified-Since-Version: 12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1520(finished: subtest: a versions read with nothing newer returns 200 + empty map, not 304, in 0.31 seconds)1521subtest: collections round-trip through write, read, versions and delete1522machine: 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' ' -f21523machine # [ 19.781737] zhost[885]: 2026-10-14T22:15:05.347851Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1524machine: (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)1525machine: 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"'1526machine # [ 19.806995] zhost[885]: 2026-10-14T22:15:05.373107Z INFO zhost: request method=POST uri=/users/1/collections api_version=3 if_unmod=12 body=[{"key":"CQLL2223","name":"Papers"}]1527machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/collections -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 12' -d '[{"key":"CQLL2223","name":"Papers"}]' | jq -e '.successful."0".key == "CQLL2223"', in 0.03 seconds)1528machine: 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"'1529machine # [ 19.836770] zhost[885]: 2026-10-14T22:15:05.402714Z INFO zhost: request method=GET uri=/users/1/collections?collectionKey=CQLL2223&format=json api_version=3 if_unmod=- body=1530machine: (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.02 seconds)1531machine: 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'1532machine # [ 19.861526] zhost[885]: 2026-10-14T22:15:05.427516Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=0 api_version=3 if_unmod=- body=1533machine: (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.02 seconds)1534machine: 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' ' -f21535machine # [ 19.889363] zhost[885]: 2026-10-14T22:15:05.455266Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1536machine: (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)1537machine: 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'1538machine # [ 19.912449] zhost[885]: 2026-10-14T22:15:05.478472Z INFO zhost: request method=DELETE uri=/users/1/collections?collectionKey=CQLL2223 api_version=3 if_unmod=13 body=1539machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 13', in 0.03 seconds)1540machine: 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")'1541machine # [ 19.940260] zhost[885]: 2026-10-14T22:15:05.505943Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1542machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.collections | index("CQLL2223")', in 0.02 seconds)1543(finished: subtest: collections round-trip through write, read, versions and delete, in 0.19 seconds)1544subtest: saved searches round-trip through write, read and delete1545machine: 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' ' -f21546machine # [ 19.968148] zhost[885]: 2026-10-14T22:15:05.534206Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1547machine: (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)1548machine: 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"'1549machine # [ 19.993178] zhost[885]: 2026-10-14T22:15:05.559031Z INFO zhost: request method=POST uri=/users/1/searches api_version=3 if_unmod=14 body=[{"key":"SRCH2223","name":"Recent","conditions":[]}]1550machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/searches -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 14' -d '[{"key":"SRCH2223","name":"Recent","conditions":[]}]' | jq -e '.successful."0".key == "SRCH2223"', in 0.03 seconds)1551machine: 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"'1552machine # [ 20.022557] zhost[885]: 2026-10-14T22:15:05.588539Z INFO zhost: request method=GET uri=/users/1/searches?searchKey=SRCH2223&format=json api_version=3 if_unmod=- body=1553machine: (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.02 seconds)1554machine: 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' ' -f21555machine # [ 20.051204] zhost[885]: 2026-10-14T22:15:05.617133Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1556machine: (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)1557machine: 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'1558machine # [ 20.074540] zhost[885]: 2026-10-14T22:15:05.640408Z INFO zhost: request method=DELETE uri=/users/1/searches?searchKey=SRCH2223 api_version=3 if_unmod=15 body=1559machine: (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)1560machine: 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")'1561machine # [ 20.102602] zhost[885]: 2026-10-14T22:15:05.668465Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1562machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.searches | index("SRCH2223")', in 0.02 seconds)1563(finished: subtest: saved searches round-trip through write, read and delete, in 0.16 seconds)1564subtest: settings round-trip through write, read and delete1565machine: 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' ' -f21566machine # [ 20.131099] zhost[885]: 2026-10-14T22:15:05.697001Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1567machine: (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)1568machine: 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"}]}}' 1569machine # [ 20.154909] zhost[885]: 2026-10-14T22:15:05.720793Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=16 body={"tagColors":{"value":[{"name":"x","color":"#fff"}]}}1570machine: (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)1571machine: 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")'1572machine # [ 20.182487] zhost[885]: 2026-10-14T22:15:05.747877Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1573machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors.value[0].name == "x" and (.tagColors.version | type == "number")', in 0.02 seconds)1574machine: 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}}'1575machine # [ 20.205568] zhost[885]: 2026-10-14T22:15:05.771477Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=0 body={"k":{"value":1}}1576machine # [ 20.209496] zhost[885]: 2026-10-14T22:15:05.775612Z WARN zhost: response error method=POST uri=/users/1/settings status=4121577machine: (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)1578machine: 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' ' -f21579machine # [ 20.235575] zhost[885]: 2026-10-14T22:15:05.801402Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1580machine: (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)1581machine: 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'1582machine # [ 20.258701] zhost[885]: 2026-10-14T22:15:05.824714Z INFO zhost: request method=DELETE uri=/users/1/settings?settingKey=tagColors api_version=3 if_unmod=17 body=1583machine: (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)1584machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null'1585machine # [ 20.286357] zhost[885]: 2026-10-14T22:15:05.851918Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1586machine: (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.02 seconds)1587machine: 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")'1588machine # [ 20.310509] zhost[885]: 2026-10-14T22:15:05.876405Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1589machine: (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.02 seconds)1590(finished: subtest: settings round-trip through write, read and delete, in 0.21 seconds)1591subtest: a gzip-compressed write body is decoded1592machine: 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' ' -f21593machine # [ 20.338278] zhost[885]: 2026-10-14T22:15:05.904264Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1594machine: (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)1595machine: 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 .successful1596machine # [ 20.364644] zhost[885]: 2026-10-14T22:15:05.930315Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=18 body=[{"key":"GZIP2223","itemType":"book","title":"zipped"}]1597machine: (finished: must succeed: printf '%s' '[{"key":"GZIP2223","itemType":"book","title":"zipped"}]' | gzip | curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 18' -H 'Content-Encoding: gzip' --data-binary @- | jq -e .successful, in 0.03 seconds)1598machine: 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"'1599machine # [ 20.393243] zhost[885]: 2026-10-14T22:15:05.959260Z INFO zhost: request method=GET uri=/users/1/items?itemKey=GZIP2223&format=json api_version=3 if_unmod=- body=1600machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=GZIP2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title == "zipped"', in 0.02 seconds)1601(finished: subtest: a gzip-compressed write body is decoded, in 0.08 seconds)1602subtest: PATCH updates items and is gated by the read-only key1603machine: 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' ' -f21604machine # [ 20.421594] zhost[885]: 2026-10-14T22:15:05.987699Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1605machine: (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)1606machine: 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"'1607machine # [ 20.448175] zhost[885]: 2026-10-14T22:15:06.014121Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=19 body=[{"key":"GZIP2223","itemType":"book","title":"patched"}]1608machine: (finished: must succeed: curl -sf -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 19' -d '[{"key":"GZIP2223","itemType":"book","title":"patched"}]' | jq -e '.successful."0".data.title == "patched"', in 0.03 seconds)1609machine: 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"}]'1610machine # [ 20.480227] zhost[885]: 2026-10-14T22:15:06.046221Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"X","itemType":"book"}]1611machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X PATCH http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"X","itemType":"book"}]', in 0.02 seconds)1612(finished: subtest: PATCH updates items and is gated by the read-only key, in 0.09 seconds)1613subtest: PATCH merges: a partial update keeps unspecified fields1614machine: 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' ' -f21615machine # [ 20.508415] zhost[885]: 2026-10-14T22:15:06.074447Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1616machine: (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)1617machine: 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 .successful1618machine # [ 20.534488] zhost[885]: 2026-10-14T22:15:06.100370Z 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"}]}]1619machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 20' -d '[{"key":"MERGEIT2","itemType":"book","title":"orig","tags":[{"tag":"keep"}]}]' | jq -e .successful, in 0.03 seconds)1620machine: 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' ' -f21621machine # [ 20.568386] zhost[885]: 2026-10-14T22:15:06.133958Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1622machine: (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)1623machine: 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"}]'1624machine # [ 20.593631] zhost[885]: 2026-10-14T22:15:06.159514Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=21 body=[{"key":"MERGEIT2","title":"new"}]1625machine: (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)1626machine: 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"'1627machine # [ 20.627273] zhost[885]: 2026-10-14T22:15:06.193297Z INFO zhost: request method=GET uri=/users/1/items?itemKey=MERGEIT2&format=json api_version=3 if_unmod=- body=1628machine: (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)1629(finished: subtest: PATCH merges: a partial update keeps unspecified fields, in 0.15 seconds)1630subtest: POST also merges: a partial upload keeps unspecified fields1631machine: 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' ' -f21632machine # [ 20.662355] zhost[885]: 2026-10-14T22:15:06.227992Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1633machine: (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)1634machine: 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 .successful1635machine # [ 20.692108] zhost[885]: 2026-10-14T22:15:06.258107Z 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"}]1636machine: (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)1637machine: 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' ' -f21638machine # [ 20.734677] zhost[885]: 2026-10-14T22:15:06.300523Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1639machine: (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)1640machine: 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":[]}]'1641machine # [ 20.766926] zhost[885]: 2026-10-14T22:15:06.332693Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=23 body=[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]1642machine: (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.04 seconds)1643machine: 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'1644machine # [ 20.801924] zhost[885]: 2026-10-14T22:15:06.367871Z INFO zhost: request method=GET uri=/users/1/items?itemKey=PMERGEAT&format=json api_version=3 if_unmod=- body=1645machine: (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)1646(finished: subtest: POST also merges: a partial upload keeps unspecified fields, in 0.17 seconds)1647subtest: deletes are recorded in the deletion log1648machine: 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' ' -f21649machine # [ 20.857779] zhost[885]: 2026-10-14T22:15:06.423593Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1650machine: (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.06 seconds)1651machine: 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'1652machine # [ 20.896144] zhost[885]: 2026-10-14T22:15:06.461956Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=24 body=1653machine: (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.04 seconds)1654machine: 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")'1655machine # [ 20.927899] zhost[885]: 2026-10-14T22:15:06.493867Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1656machine: (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)1657(finished: subtest: deletes are recorded in the deletion log, in 0.13 seconds)1658(finished: run the VM test script, in 21.86 seconds)1659test script finished in 21.94s1660cleanup1661kill QemuMachine (pid 45)1662machine # qemu-system-x86_64: terminating on signal 15 from pid 39 (/nix/store/lb41b0anx1f98y9y5s9mdv97gjgsq740-python3-3.14.7/bin/python3.14)1663machine # [2026-10-14T22:15:07Z INFO virtiofsd] Client disconnected, shutting down1664machine # [2026-10-14T22:15:07Z INFO virtiofsd] Client disconnected, shutting down1665machine # [2026-10-14T22:15:07Z INFO virtiofsd] Client disconnected, shutting down1666(finished: cleanup, in 0.19 seconds)