vm-test-run-zhost-sync
checks.x86_64-linux.nixos-sync
· build #6
· 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.au7FRlRO7F', 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: f60fb708-0eda-4cda-b033-5b2d49951e9920machine # Superblock backups stored on blocks:21machine # 32768, 98304, 163840, 22937622machine # 23machine # Allocating group tables: 0/8 done24machine # Writing inode tables: 0/8 done25machine # Creating journal (8192 blocks): done26machine # Writing superblocks and filesystem accounting information: 0/8 done27machine # 28machine # Virtualisation disk image created.29machine # Starting virtiofs daemons...30machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)31machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether32machine # [2026-09-16T21:47:32Z INFO virtiofsd] Waiting for vhost-user socket connection...33machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)34machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether35machine # [2026-09-16T21:47:32Z INFO virtiofsd] Waiting for vhost-user socket connection...36machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)37machine # [2026-09-16T21:47:32Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether38machine # [2026-09-16T21:47:32Z INFO virtiofsd] Waiting for vhost-user socket connection...39machine # [2026-09-16T21:47:32Z INFO virtiofsd] Client connected, servicing requests40machine # [2026-09-16T21:47:32Z INFO virtiofsd] Client connected, servicing requests41machine # [2026-09-16T21:47:32Z INFO virtiofsd] Client connected, servicing requests42machine # SeaBIOS (version rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org)43machine # 44machine # 45machine # iPXE (http://ipxe.org) 00:02.0 CA00 PCI2.10 PnP PMM+3EFCC730+3EF2C730 CA0046machine # Press Ctrl-B to configure iPXE (PCI 00:02.0)...47machine # 48machine # 49machine # 50machine # 51machine # iPXE (http://ipxe.org) 00:05.0 CB00 PCI2.10 PnP PMM 3EFCC730 3EF2C730 CB0052machine # Press Ctrl-B to configure iPXE (PCI 00:05.0)...53machine # 54machine # 55machine # Booting from ROM...56machine # Probing EDD (edd=off to disable)... ok57machine # [ 0.000000] Linux version 6.18.51 (nixbld@localhost) (gcc (GCC) 15.3.0, GNU ld (GNU Binutils) 2.46) #1-NixOS SMP PREEMPT_DYNAMIC Fri Sep 11 09:49:46 UTC 202658machine # [ 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/rpx060h7kly0p8c4ish1kzs60vf99kx1-nixos-system-machine-test/init regInfo=/nix/store/jqnswyiczh5d3p6rs98clldsl38njkk7-closure-info/registration console=ttyS0,115200n8 console=tty059machine # [ 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.60machine # [ 0.000000] BIOS-provided physical RAM map:61machine # [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable62machine # [ 0.000000] BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved63machine # [ 0.000000] BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved64machine # [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x000000003ffd7fff] usable65machine # [ 0.000000] BIOS-e820: [mem 0x000000003ffd8000-0x000000003fffffff] reserved66machine # [ 0.000000] BIOS-e820: [mem 0x00000000b0000000-0x00000000bfffffff] reserved67machine # [ 0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed1ffff] reserved68machine # [ 0.000000] BIOS-e820: [mem 0x00000000feffc000-0x00000000feffffff] reserved69machine # [ 0.000000] BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved70machine # [ 0.000000] BIOS-e820: [mem 0x000000fd00000000-0x000000ffffffffff] reserved71machine # [ 0.000000] NX (Execute Disable) protection: active72machine # [ 0.000000] APIC: Static calls initialized73machine # [ 0.000000] SMBIOS 2.8 present.74machine # [ 0.000000] DMI: QEMU Standard PC (Q35 + ICH9, 2009), BIOS rel-1.17.0-0-gb52ca86e094d-prebuilt.qemu.org 04/01/201475machine # [ 0.000000] DMI: Memory slots populated: 1/176machine # [ 0.000000] Hypervisor detected: KVM77machine # [ 0.000000] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000078machine # [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d0079machine # [ 0.000000] kvm-clock: using sched offset of 441014538 cycles80machine # [ 0.000002] clocksource: kvm-clock: mask: 0xffffffffffffffff max_cycles: 0x1cd42e4dffb, max_idle_ns: 881590591483 ns81machine # [ 0.000004] tsc: Detected 3792.874 MHz processor82machine # [ 0.000657] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000083machine # [ 0.000681] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs84machine # [ 0.000683] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT85machine # [ 0.002216] found SMP MP-table at [mem 0x000f5450-0x000f545f]86machine # [ 0.002227] Using GB pages for direct mapping87machine # [ 0.002305] RAMDISK: [mem 0x3e36b000-0x3ffcffff]88machine # [ 0.002310] ACPI: Early table checksum verification disabled89machine # [ 0.002312] ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS )90machine # [ 0.002315] ACPI: RSDT 0x000000003FFE2422 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)91machine # [ 0.002317] ACPI: FACP 0x000000003FFE221A 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001)92machine # [ 0.002323] ACPI: DSDT 0x000000003FFE0040 0021DA (v01 BOCHS BXPC 00000001 BXPC 00000001)93machine # [ 0.002325] ACPI: FACS 0x000000003FFE0000 00004094machine # [ 0.002326] ACPI: APIC 0x000000003FFE230E 000078 (v03 BOCHS BXPC 00000001 BXPC 00000001)95machine # [ 0.002327] ACPI: HPET 0x000000003FFE2386 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)96machine # [ 0.002329] ACPI: MCFG 0x000000003FFE23BE 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001)97machine # [ 0.002330] ACPI: WAET 0x000000003FFE23FA 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)98machine # [ 0.002331] ACPI: Reserving FACP table memory at [mem 0x3ffe221a-0x3ffe230d]99machine # [ 0.002332] ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe2219]100machine # [ 0.002332] ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]101machine # [ 0.002333] ACPI: Reserving APIC table memory at [mem 0x3ffe230e-0x3ffe2385]102machine # [ 0.002333] ACPI: Reserving HPET table memory at [mem 0x3ffe2386-0x3ffe23bd]103machine # [ 0.002334] ACPI: Reserving MCFG table memory at [mem 0x3ffe23be-0x3ffe23f9]104machine # [ 0.002334] ACPI: Reserving WAET table memory at [mem 0x3ffe23fa-0x3ffe2421]105machine # [ 0.002708] No NUMA configuration found106machine # [ 0.002709] Faking a node at [mem 0x0000000000000000-0x000000003ffd7fff]107machine # [ 0.002712] NODE_DATA(0) allocated [mem 0x3ffd2780-0x3ffd7cff]108machine # [ 0.002784] Zone ranges:109machine # [ 0.002785] DMA [mem 0x0000000000001000-0x0000000000ffffff]110machine # [ 0.002786] DMA32 [mem 0x0000000001000000-0x000000003ffd7fff]111machine # [ 0.002787] Normal empty112machine # [ 0.002788] Device empty113machine # [ 0.002788] Movable zone start for each node114machine # [ 0.002789] Early memory node ranges115machine # [ 0.002789] node 0: [mem 0x0000000000001000-0x000000000009efff]116machine # [ 0.002790] node 0: [mem 0x0000000000100000-0x000000003ffd7fff]117machine # [ 0.002790] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffd7fff]118machine # [ 0.002834] On node 0, zone DMA: 1 pages in unavailable ranges119machine # [ 0.003040] On node 0, zone DMA: 97 pages in unavailable ranges120machine # [ 0.016864] On node 0, zone DMA32: 40 pages in unavailable ranges121machine # [ 0.017714] ACPI: PM-Timer IO Port: 0x608122machine # [ 0.017722] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])123machine # [ 0.017740] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23124machine # [ 0.017742] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)125machine # [ 0.017743] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)126machine # [ 0.017744] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)127machine # [ 0.017745] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)128machine # [ 0.017745] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)129machine # [ 0.017747] ACPI: Using ACPI (MADT) for SMP configuration information130machine # [ 0.017748] ACPI: HPET id: 0x8086a201 base: 0xfed00000131machine # [ 0.017750] TSC deadline timer available132machine # [ 0.017753] CPU topo: Max. logical packages: 1133machine # [ 0.017754] CPU topo: Max. logical dies: 1134machine # [ 0.017754] CPU topo: Max. dies per package: 1135machine # [ 0.017758] CPU topo: Max. threads per core: 1136machine # [ 0.017758] CPU topo: Num. cores per package: 1137machine # [ 0.017759] CPU topo: Num. threads per package: 1138machine # [ 0.017759] CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs139machine # [ 0.017770] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()140machine # [ 0.017794] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]141machine # [ 0.017795] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]142machine # [ 0.017796] [mem 0x40000000-0xafffffff] available for PCI devices143machine # [ 0.017797] Booting paravirtualized kernel on KVM144machine # [ 0.017799] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns145machine # [ 0.021503] setup_percpu: NR_CPUS:384 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1146machine # [ 0.023344] percpu: Embedded 98 pages/cpu s278528 r8192 d114688 u2097152147machine # [ 0.023377] kvm-guest: PV spinlocks disabled, single CPU148machine # [ 0.023378] 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/rpx060h7kly0p8c4ish1kzs60vf99kx1-nixos-system-machine-test/init regInfo=/nix/store/jqnswyiczh5d3p6rs98clldsl38njkk7-closure-info/registration console=ttyS0,115200n8 console=tty0149machine # [ 0.023451] Unknown kernel command line parameters "regInfo=/nix/store/jqnswyiczh5d3p6rs98clldsl38njkk7-closure-info/registration", will be passed to user space.150machine # [ 0.023468] random: crng init done151machine # [ 0.023468] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes152machine # [ 0.024310] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)153machine # [ 0.024339] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)154machine # [ 0.024362] Fallback order for Node 0: 0155machine # [ 0.024364] Built 1 zonelists, mobility grouping on. Total pages: 262006156machine # [ 0.024365] Policy zone: DMA32157machine # [ 0.026291] mem auto-init: stack:all(zero), heap alloc:on, heap free:off158machine # [ 0.029084] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1159machine # [ 0.030841] allocated 2097152 bytes of page_ext160machine # [ 0.039057] ftrace: allocating 48736 entries in 192 pages161machine # [ 0.039058] ftrace: allocated 192 pages with 2 groups162machine # [ 0.039685] Dynamic Preempt: lazy163machine # [ 0.039833] rcu: Preemptible hierarchical RCU implementation.164machine # [ 0.039834] rcu: RCU event tracing is enabled.165machine # [ 0.039834] rcu: RCU restricting CPUs from NR_CPUS=384 to nr_cpu_ids=1.166machine # [ 0.039835] Trampoline variant of Tasks RCU enabled.167machine # [ 0.039836] Rude variant of Tasks RCU enabled.168machine # [ 0.039836] Tracing variant of Tasks RCU enabled.169machine # [ 0.039837] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.170machine # [ 0.039838] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1171machine # [ 0.039850] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.172machine # [ 0.039851] RCU Tasks Rude: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.173machine # [ 0.039852] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.174machine # [ 0.043750] NR_IRQS: 24832, nr_irqs: 256, preallocated irqs: 16175machine # [ 0.043988] rcu: srcu_init: Setting srcu_struct sizes based on contention.176machine # [ 0.043992] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns177machine # [ 0.044075] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)178machine # [ 0.049668] Console: colour VGA+ 80x25179machine # [ 0.049670] printk: legacy console [tty0] enabled180machine # [ 0.082631] printk: legacy console [ttyS0] enabled181machine # [ 0.230270] ACPI: Core revision 20250807182machine # [ 0.231399] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns183machine # [ 0.234515] APIC: Switch to symmetric I/O mode setup184machine # [ 0.236344] x2apic enabled185machine # [ 0.237616] APIC: Switched APIC routing to: physical x2apic186machine # [ 0.240518] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1187machine # [ 0.242233] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns188machine # [ 0.244818] Calibrating delay loop (skipped) preset value.. 7585.74 BogoMIPS (lpj=3792874)189machine # [ 0.245880] x86/cpu: User Mode Instruction Prevention (UMIP) activated190machine # [ 0.246908] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127191machine # [ 0.248809] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0192machine # [ 0.249812] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto193machine # [ 0.250809] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl194machine # [ 0.252809] Spectre V2 : Mitigation: Retpolines195machine # [ 0.253809] Speculative Return Stack Overflow: Mitigation: Safe RET196machine # [ 0.255809] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization197machine # [ 0.257809] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT198machine # [ 0.259809] Spectre V2 : Enabling Restricted Speculation for firmware calls199machine # [ 0.261811] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier200machine # [ 0.262809] active return thunk: srso_alias_return_thunk201machine # [ 0.263823] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'202machine # [ 0.264809] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'203machine # [ 0.265809] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'204machine # [ 0.266809] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'205machine # [ 0.268809] x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'206machine # [ 0.269809] x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'207machine # [ 0.270809] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256208machine # [ 0.271809] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8209machine # [ 0.272809] x86/fpu: xstate_offset[11]: 840, xstate_sizes[11]: 16210machine # [ 0.274809] x86/fpu: xstate_offset[12]: 856, xstate_sizes[12]: 24211machine # [ 0.275809] x86/fpu: Enabled xstate features 0x1a07, context size is 880 bytes, using 'compacted' format.212machine # [ 0.303814] Freeing SMP alternatives memory: 44K213machine # [ 0.304810] pid_max: default: 32768 minimum: 301214machine # [ 0.305857] LSM: initializing lsm=capability,landlock,yama,bpf,ima215machine # [ 0.306894] landlock: Up and running.216machine # [ 0.307809] Yama: becoming mindful.217machine # [ 0.309016] LSM support for eBPF active218machine # [ 0.309891] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)219machine # [ 0.310828] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)220machine # [ 0.313579] smpboot: CPU0: AMD Ryzen Threadripper PRO 5965WX 24-Cores (family: 0x19, model: 0x8, stepping: 0x2)221machine # [ 0.314209] Performance Events: Fam17h+ core perfctr, AMD PMU driver.222machine # [ 0.314812] ... version: 0223machine # [ 0.315799] ... bit width: 48224machine # [ 0.316595] ... generic counters: 6225machine # [ 0.317628] ... generic bitmap: 000000000000003f226machine # [ 0.318785] ... fixed-purpose counters: 0227machine # [ 0.319567] ... fixed-purpose bitmap: 0000000000000000228machine # [ 0.320804] ... value mask: 0000ffffffffffff229machine # [ 0.321800] ... max period: 00007fffffffffff230machine # [ 0.322802] ... global_ctrl mask: 000000000000003f231machine # [ 0.323890] signal: max sigframe size: 3376232machine # [ 0.324876] rcu: Hierarchical SRCU implementation.233machine # [ 0.325814] rcu: Max phase no-delay instances is 400.234machine # [ 0.330452] smp: Bringing up secondary CPUs ...235machine # [ 0.330822] smp: Brought up 1 node, 1 CPU236machine # [ 0.331755] smpboot: Total of 1 processors activated (7585.74 BogoMIPS)237machine # [ 0.332996] Memory: 943020K/1048024K available (17231K kernel code, 2726K rwdata, 13600K rodata, 3644K init, 2988K bss, 97580K reserved, 0K cma-reserved)238machine # [ 0.333970] devtmpfs: initialized239machine # [ 0.334961] x86/mm: Memory block size: 128MB240machine # [ 0.336620] posixtimers hash table entries: 512 (order: 1, 8192 bytes, linear)241machine # [ 0.337837] futex hash table entries: 256 (16384 bytes on 1 NUMA nodes, total 16 KiB, linear).242machine # [ 0.338868] pinctrl core: initialized pinctrl subsystem243machine # [ 0.340122] PM: RTC time: 21:47:32, date: 2026-09-16244machine # [ 0.343160] NET: Registered PF_NETLINK/PF_ROUTE protocol family245machine # [ 0.344122] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations246machine # [ 0.344830] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations247machine # [ 0.345924] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations248machine # [ 0.346818] audit: initializing netlink subsys (disabled)249machine # [ 0.348009] thermal_sys: Registered thermal governor 'fair_share'250machine # [ 0.348010] thermal_sys: Registered thermal governor 'bang_bang'251machine # [ 0.348823] audit: type=2000 audit(1789595253.334:1): state=initialized audit_enabled=0 res=1252machine # [ 0.350813] thermal_sys: Registered thermal governor 'step_wise'253machine # [ 0.350814] thermal_sys: Registered thermal governor 'user_space'254machine # [ 0.351811] thermal_sys: Registered thermal governor 'power_allocator'255machine # [ 0.352824] cpuidle: using governor menu256machine # [ 0.355642] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5257machine # [ 0.357047] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]258machine # [ 0.357812] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry259machine # [ 0.358819] PCI: Using configuration type 1 for base access260machine # [ 0.359967] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.261machine # [ 0.367066] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages262machine # [ 0.367811] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page263machine # [ 0.372810] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages264machine # [ 0.373811] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page265machine # [ 0.384161] ACPI: Added _OSI(Module Device)266machine # [ 0.384811] ACPI: Added _OSI(Processor Device)267machine # [ 0.388810] ACPI: Added _OSI(Processor Aggregator Device)268machine # [ 0.392176] ACPI: 1 ACPI AML tables successfully acquired and loaded269machine # [ 0.398190] ACPI: Interpreter enabled270machine # [ 0.398825] ACPI: PM: (supports S0 S3 S4 S5)271machine # [ 0.399812] ACPI: Using IOAPIC for interrupt routing272machine # [ 0.400863] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug273machine # [ 0.402257] PCI: Using E820 reservations for host bridge windows274machine # [ 0.402955] ACPI: Enabled 2 GPEs in block 00 to 3F275machine # [ 0.407736] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])276machine # [ 0.408815] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]277machine # [ 0.409883] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]278machine # [ 0.410930] acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]279machine # [ 0.412237] PCI host bridge to bus 0000:00280machine # [ 0.412816] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]281machine # [ 0.413811] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]282machine # [ 0.414811] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]283machine # [ 0.415811] pci_bus 0000:00: root bus resource [mem 0x40000000-0xafffffff window]284machine # [ 0.416811] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]285machine # [ 0.417812] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]286machine # [ 0.418811] pci_bus 0000:00: root bus resource [bus 00-ff]287machine # [ 0.419888] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint288machine # [ 0.421522] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint289machine # [ 0.424864] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]290machine # [ 0.425833] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]291machine # [ 0.426867] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]292machine # [ 0.428085] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]293machine # [ 0.429696] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint294machine # [ 0.431822] pci 0000:00:02.0: BAR 0 [io 0xc100-0xc11f]295machine # [ 0.432823] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]296machine # [ 0.433853] pci 0000:00:02.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]297machine # [ 0.434823] pci 0000:00:02.0: ROM [mem 0xfeb40000-0xfeb7ffff pref]298machine # [ 0.436811] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint299machine # [ 0.438822] pci 0000:00:03.0: BAR 0 [io 0xc120-0xc13f]300machine # [ 0.439823] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]301machine # [ 0.440860] pci 0000:00:03.0: BAR 4 [mem 0xfe004000-0xfe007fff 64bit pref]302machine # [ 0.442779] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint303machine # [ 0.444831] pci 0000:00:04.0: BAR 0 [io 0xc000-0xc07f]304machine # [ 0.445823] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]305machine # [ 0.446853] pci 0000:00:04.0: BAR 4 [mem 0xfe008000-0xfe00bfff 64bit pref]306machine # [ 0.448769] pci 0000:00:05.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint307machine # [ 0.451933] pci 0000:00:05.0: BAR 0 [io 0xc140-0xc15f]308machine # [ 0.452823] pci 0000:00:05.0: BAR 1 [mem 0xfebd4000-0xfebd4fff]309machine # [ 0.453854] pci 0000:00:05.0: BAR 4 [mem 0xfe00c000-0xfe00ffff 64bit pref]310machine # [ 0.454823] pci 0000:00:05.0: ROM [mem 0xfeb80000-0xfebbffff pref]311machine # [ 0.456754] pci 0000:00:06.0: [1af4:1052] type 00 class 0x090000 conventional PCI endpoint312machine # [ 0.458832] pci 0000:00:06.0: BAR 1 [mem 0xfebd5000-0xfebd5fff]313machine # [ 0.459853] pci 0000:00:06.0: BAR 4 [mem 0xfe010000-0xfe013fff 64bit pref]314machine # [ 0.461776] pci 0000:00:07.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint315machine # [ 0.463740] pci 0000:00:07.0: BAR 1 [mem 0xfebd6000-0xfebd6fff]316machine # [ 0.464854] pci 0000:00:07.0: BAR 4 [mem 0xfe014000-0xfe017fff 64bit pref]317machine # [ 0.466811] pci 0000:00:08.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint318machine # [ 0.468742] pci 0000:00:08.0: BAR 1 [mem 0xfebd7000-0xfebd7fff]319machine # [ 0.469853] pci 0000:00:08.0: BAR 4 [mem 0xfe018000-0xfe01bfff 64bit pref]320machine # [ 0.471762] pci 0000:00:09.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint321machine # [ 0.473834] pci 0000:00:09.0: BAR 1 [mem 0xfebd8000-0xfebd8fff]322machine # [ 0.474853] pci 0000:00:09.0: BAR 4 [mem 0xfe01c000-0xfe01ffff 64bit pref]323machine # [ 0.476761] pci 0000:00:0a.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint324machine # [ 0.478830] pci 0000:00:0a.0: BAR 0 [io 0xc080-0xc0bf]325machine # [ 0.479823] pci 0000:00:0a.0: BAR 1 [mem 0xfebd9000-0xfebd9fff]326machine # [ 0.480853] pci 0000:00:0a.0: BAR 4 [mem 0xfe020000-0xfe023fff 64bit pref]327machine # [ 0.482947] pci 0000:00:0b.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint328machine # [ 0.484823] pci 0000:00:0b.0: BAR 0 [io 0xc160-0xc17f]329machine # [ 0.485823] pci 0000:00:0b.0: BAR 1 [mem 0xfebda000-0xfebdafff]330machine # [ 0.486853] pci 0000:00:0b.0: BAR 4 [mem 0xfe024000-0xfe027fff 64bit pref]331machine # [ 0.488802] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint332machine # [ 0.490490] pci 0000:00:1d.0: BAR 4 [io 0xc180-0xc19f]333machine # [ 0.491087] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint334machine # [ 0.492523] pci 0000:00:1d.1: BAR 4 [io 0xc1a0-0xc1bf]335machine # [ 0.493108] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint336machine # [ 0.495498] pci 0000:00:1d.2: BAR 4 [io 0xc1c0-0xc1df]337machine # [ 0.496133] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint338machine # [ 0.497502] pci 0000:00:1d.7: BAR 0 [mem 0xfebdb000-0xfebdbfff]339machine # [ 0.498179] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint340machine # [ 0.499343] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO341machine # [ 0.500179] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint342machine # [ 0.501739] pci 0000:00:1f.2: BAR 4 [io 0xc1e0-0xc1ff]343machine # [ 0.502781] pci 0000:00:1f.2: BAR 5 [mem 0xfebdc000-0xfebdcfff]344machine # [ 0.504345] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint345machine # [ 0.505549] pci 0000:00:1f.3: BAR 4 [io 0x0700-0x073f]346machine # [ 0.510983] ACPI: PCI: Interrupt link LNKA configured for IRQ 10347machine # [ 0.511947] ACPI: PCI: Interrupt link LNKB configured for IRQ 10348machine # [ 0.512945] ACPI: PCI: Interrupt link LNKC configured for IRQ 11349machine # [ 0.513943] ACPI: PCI: Interrupt link LNKD configured for IRQ 11350machine # [ 0.514940] ACPI: PCI: Interrupt link LNKE configured for IRQ 10351machine # [ 0.515940] ACPI: PCI: Interrupt link LNKF configured for IRQ 10352machine # [ 0.516973] ACPI: PCI: Interrupt link LNKG configured for IRQ 11353machine # [ 0.517940] ACPI: PCI: Interrupt link LNKH configured for IRQ 11354machine # [ 0.518864] ACPI: PCI: Interrupt link GSIA configured for IRQ 16355machine # [ 0.519829] ACPI: PCI: Interrupt link GSIB configured for IRQ 17356machine # [ 0.520829] ACPI: PCI: Interrupt link GSIC configured for IRQ 18357machine # [ 0.521828] ACPI: PCI: Interrupt link GSID configured for IRQ 19358machine # [ 0.522825] ACPI: PCI: Interrupt link GSIE configured for IRQ 20359machine # [ 0.523825] ACPI: PCI: Interrupt link GSIF configured for IRQ 21360machine # [ 0.524825] ACPI: PCI: Interrupt link GSIG configured for IRQ 22361machine # [ 0.525825] ACPI: PCI: Interrupt link GSIH configured for IRQ 23362machine # [ 0.527626] iommu: Default domain type: Translated363machine # [ 0.528681] iommu: DMA domain TLB invalidation policy: lazy mode364machine # [ 0.530024] ACPI: bus type USB registered365machine # [ 0.530865] usbcore: registered new interface driver usbfs366machine # [ 0.531830] usbcore: registered new interface driver hub367machine # [ 0.532830] usbcore: registered new device driver usb368machine # [ 0.534514] NetLabel: Initializing369machine # [ 0.534815] NetLabel: domain hash size = 128370machine # [ 0.535810] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO371machine # [ 0.536841] NetLabel: unlabeled traffic allowed by default372machine # [ 0.537821] PCI: Using ACPI for IRQ routing373machine # [ 0.621776] pci 0000:00:01.0: vgaarb: setting as boot VGA device374machine # [ 0.621807] pci 0000:00:01.0: vgaarb: bridge control possible375machine # [ 0.621807] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none376machine # [ 0.621813] vgaarb: loaded377machine # [ 0.622674] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0378machine # [ 0.623667] hpet0: 3 comparators, 64-bit 100.000000 MHz counter379machine # [ 0.627866] clocksource: Switched to clocksource kvm-clock380machine # [ 0.629716] VFS: Disk quotas dquot_6.6.0381machine # [ 0.632169] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)382machine # [ 0.633841] pnp: PnP ACPI init383machine # [ 0.634780] ACPI: IRQ 4 override to edge(!), high(!)384machine # [ 0.636012] system 00:04: [mem 0xb0000000-0xbfffffff window] has been reserved385machine # [ 0.638015] pnp: PnP ACPI: found 5 devices386machine # [ 0.645662] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns387machine # [ 0.647616] clocksource: Switched to clocksource acpi_pm388machine # [ 0.648946] NET: Registered PF_INET protocol family389machine # [ 0.650236] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)390machine # [ 0.664704] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)391machine # [ 0.666692] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)392machine # [ 0.668470] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)393machine # [ 0.670222] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)394machine # [ 0.671860] TCP: Hash tables configured (established 8192 bind 8192)395machine # [ 0.673307] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear)396machine # [ 0.674983] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)397machine # [ 0.676479] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)398machine # [ 0.678080] NET: Registered PF_UNIX/PF_LOCAL protocol family399machine # [ 0.679381] NET: Registered PF_XDP protocol family400machine # [ 0.680534] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]401machine # [ 0.681917] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]402machine # [ 0.683285] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]403machine # [ 0.684794] pci_bus 0000:00: resource 7 [mem 0x40000000-0xafffffff window]404machine # [ 0.686326] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]405machine # [ 0.687836] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]406machine # [ 0.689990] ACPI: \_SB_.GSIA: Enabled at IRQ 16407machine # [ 0.692153] ACPI: \_SB_.GSIB: Enabled at IRQ 17408machine # [ 0.694293] ACPI: \_SB_.GSIC: Enabled at IRQ 18409machine # [ 0.696427] ACPI: \_SB_.GSID: Enabled at IRQ 19410machine # [ 0.698300] PCI: CLS 0 bytes, default 64411machine # [ 0.699406] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns412machine # [ 0.701649] Trying to unpack rootfs image as initramfs...413machine # [ 0.741328] Initialise system trusted keyrings414machine # [ 0.744889] workingset: timestamp_bits=40 max_order=18 bucket_order=0415machine # [ 0.765578] Key type asymmetric registered416machine # [ 0.766572] Asymmetric key parser 'x509' registered417machine # [ 0.769888] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)418machine # [ 0.773900] io scheduler mq-deadline registered419machine # [ 0.776858] io scheduler kyber registered420machine # [ 0.779993] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled421machine # [ 0.781678] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A422machine # [ 0.787862] Linux agpgart interface v0.103423machine # [ 0.790901] ACPI: bus type drm_connector registered424machine # [ 0.792424] usbcore: registered new interface driver usbserial_generic425machine # [ 0.793880] usbserial: USB Serial support registered for generic426machine # [ 0.797854] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled427machine # [ 0.799614] drop_monitor: Initializing network drop monitor service428machine # [ 0.803978] NET: Registered PF_INET6 protocol family429machine # [ 0.808095] Segment Routing with IPv6430machine # [ 0.811861] In-situ OAM (IOAM) with IPv6431machine # [ 0.813130] IPI shorthand broadcast: enabled432machine # [ 0.821251] sched_clock: Marking stable (626024369, 194815031)->(926923746, -106084346)433machine # [ 0.826928] registered taskstats version 1434machine # [ 0.828087] Loading compiled-in X.509 certificates435machine # [ 0.845851] Demotion targets for Node 0: null436machine # [ 0.847007] Key type .fscrypt registered437machine # [ 0.849853] Key type fscrypt-provisioning registered438machine # [ 0.851087] ima: No TPM chip found, activating TPM-bypass!439machine # [ 0.853855] ima: Allocated hash algorithm: sha1440machine # [ 0.854944] ima: No architecture policies found441machine # [ 0.857998] PM: Magic number: 10:685:803442machine # [ 0.859697] RAS: Correctable Errors collector initialized.443machine # [ 0.870231] clk: Disabling unused clocks444machine # [ 0.873868] PM: genpd: Disabling unused power domains445machine # [ 0.990530] Freeing initrd memory: 29076K446machine # [ 0.993610] Freeing unused decrypted memory: 2028K447machine # [ 0.996270] Freeing unused kernel image (initmem) memory: 3644K448machine # [ 0.997678] Write protecting the kernel read-only data: 32768k449machine # [ 0.999761] Freeing unused kernel image (text/rodata gap) memory: 1200K450machine # [ 1.001589] Freeing unused kernel image (rodata/data gap) memory: 736K451machine # [ 1.043369] x86/mm: Checked W+X mappings: passed, no W+X pages found.452machine # [ 1.044806] Run /init as init process453machine # [ 1.054242] systemd[1]: Inserted module 'autofs4'454machine # [ 1.073053] fuse: init (API version 7.45)455machine # [ 1.080082] ACPI: \_SB_.GSIG: Enabled at IRQ 22456machine # [ 1.083042] ACPI: \_SB_.GSIH: Enabled at IRQ 23457machine # [ 1.086614] ACPI: \_SB_.GSIE: Enabled at IRQ 20458machine # [ 1.089210] ACPI: \_SB_.GSIF: Enabled at IRQ 21459machine # [ 1.095208] virtiofs virtio5: discovered new tag: nix-store460machine # [ 1.097474] virtiofs virtio5: virtio_fs_setup_dax: No cache capability461machine # [ 1.106606] virtiofs virtio6: discovered new tag: shared462machine # [ 1.109955] virtiofs virtio6: virtio_fs_setup_dax: No cache capability463machine # [ 1.115699] virtiofs virtio7: discovered new tag: xchg464machine # [ 1.119036] virtiofs virtio7: virtio_fs_setup_dax: No cache capability465machine # [ 1.143199] systemd[1]: Successfully made /usr/ read-only.466machine # [ 1.480242] systemd[1]: systemd 261.2 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)467machine # [ 1.489324] systemd[1]: Detected virtualization kvm.468machine # [ 1.490648] systemd[1]: Detected architecture x86-64.469machine # [ 1.491944] systemd[1]: Running in initrd.470machine # [ 1.493338] systemd[1]: Initializing machine ID from random generator.471machine # [ 1.495260] systemd[1]: Hostname set to <machine>.472machine # [ 1.682888] systemd[1]: bpf-restrict-fs: LSM BPF program attached473machine # [ 1.717126] systemd[1]: Queued start job for default target Initrd Default Target.474machine # [ 1.721133] systemd[1]: Created slice Slice /system/modprobe.475machine # [ 1.722723] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.476machine # [ 1.724605] systemd[1]: Expecting device /dev/disk/by-label/nixos...477machine # [ 1.726163] systemd[1]: Reached target Path Units.478machine # [ 1.727355] systemd[1]: Reached target Slice Units.479machine # [ 1.728583] systemd[1]: Reached target Swaps.480machine # [ 1.729694] systemd[1]: Reached target Timer Units.481machine # [ 1.731037] systemd[1]: Listening on D-Bus System Message Bus Socket.482machine # [ 1.732662] systemd[1]: Listening on Journal Socket (/dev/log).483machine # [ 1.734251] systemd[1]: Listening on Journal Sockets.484machine # [ 1.735602] systemd[1]: Listening on udev Control Socket.485machine # [ 1.737038] systemd[1]: Listening on udev Kernel Socket.486machine # [ 1.738349] systemd[1]: Reached target Socket Units.487machine # [ 1.740349] systemd[1]: Starting Create List of Static Device Nodes...488machine # [ 1.747452] systemd[1]: Starting Load Kernel Module configfs...489machine # [ 1.758295] systemd[1]: Starting Journal Service...490machine # [ 1.779987] systemd[1]: Starting Load Kernel Modules...491machine # [ 1.784924] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os492machine # [ 1.790889] systemd[1]: Starting Coldplug All udev Devices...493machine # [ 1.795781] systemd-journald[66]: Collecting audit messages is disabled.494machine # [ 1.804632] systemd[1]: Finished Create List of Static Device Nodes.495machine # [ 1.813413] systemd[1]: modprobe@configfs.service: Deactivated successfully.496machine # [ 1.822294] systemd[1]: Finished Load Kernel Module configfs.497machine # [ 1.829338] systemd[1]: Kernel Configuration File System skipped, unmet condition check ConditionPathExists=/sys/kernel/config498machine # [ 1.836355] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.499machine # [ 1.842514] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...500machine # [ 1.851948] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev501machine # [ 1.874892] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.502machine # [ 1.886983] systemd[1]: Starting Create Static Device Nodes in /dev...503machine # [ 1.899190] systemd[1]: Finished Load Kernel Modules.504machine # [ 1.907990] systemd[1]: Starting Apply Kernel Variables...505machine # [ 1.920257] systemd[1]: Finished Create Static Device Nodes in /dev.506machine # [ 1.928192] systemd[1]: Reached target Preparation for Local File Systems.507machine # [ 1.935205] systemd[1]: Reached target Local File Systems.508machine # [ 1.941978] systemd[1]: Starting Rule-based Manager for Device Events and Files...509machine # [ 1.957206] systemd[1]: Finished Apply Kernel Variables.510machine # [ 1.766580] systemd-modules-load[68]: Inserted module 'dm_mod'[ 1.964030] systemd[1]: Started Journal Service.511machine # 512machine # [ 1.770604] systemd-modules-load[68]: Inserted module 'virtio_balloon'513machine # [ 1.772460] systemd-modules-load[68]: Inserted module 'virtio_gpu'514machine # [ 1.790099] systemd[1]: Starting Create System Files and Directories...515machine # [ 1.804681] systemd-udevd[74]: Using default interface naming scheme 'v261'.516machine # [ 1.815114] systemd[1]: Finished Create System Files and Directories.517machine # [ 1.836079] systemd[1]: Started Rule-based Manager for Device Events and Files.518machine # [ 1.876186] systemd[1]: Finished Coldplug All udev Devices.519machine # [ 1.877627] systemd[1]: Reached target System Initialization.520machine # [ 1.878828] systemd[1]: Reached target Basic System.521machine # [ 2.255925] virtio_blk virtio2: 1/0/0 default/read/poll queues522machine # [ 2.272664] virtio_blk virtio2: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)523machine # [ 2.301859] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12524machine # [ 2.312198] serio: i8042 KBD port at 0x60,0x64 irq 1525machine # [ 2.320828] serio: i8042 AUX port at 0x60,0x64 irq 12526machine # [ 2.330453] ehci-pci 0000:00:1d.7: EHCI Host Controller527machine # [ 2.331381] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 1528machine # [ 2.333441] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebdb000529machine # [ 2.341853] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00530machine # [ 2.344150] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.18531machine # [ 2.347333] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1532machine # [ 2.350110] usb usb1: Product: EHCI Host Controller533machine # [ 2.352294] usb usb1: Manufacturer: Linux 6.18.51 ehci_hcd534machine # [ 2.354109] usb usb1: SerialNumber: 0000:00:1d.7535machine # [ 2.356238] hub 1-0:1.0: USB hub found536machine # [ 2.358021] hub 1-0:1.0: 6 ports detected537machine # [ 2.362822] uhci_hcd 0000:00:1d.0: UHCI Host Controller538machine # [ 2.363730] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 2539machine # [ 2.376980] uhci_hcd 0000:00:1d.0: detected 2 ports540machine # [ 2.384995] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c180541machine # [ 2.394135] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18542machine # [ 2.395538] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1543machine # [ 2.210787] (udev-worker)[89]: Network interface NamePolicy= disabled on kernel command line.544machine # [ 2.212790] systemd[1]: Starting Virtual Console Setup...545machine # [ 2.413418] SCSI subsystem initialized546machine # [ 2.238676] (udev-worker)[84]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.547machine # [ 2.241371] (udev-worker)[84]: Network interface NamePolicy= disabled on kernel command line.548machine # [ 2.246400] systemd-vconsole-setup[97]: Configuration of first virtual console was skipped, ignoring remaining ones.549machine # [ 2.248982] systemd[1]: Finished Virtual Console Setup.550machine # [ 2.446945] usb usb2: Product: UHCI Host Controller551machine # [ 2.452826] usb usb2: Manufacturer: Linux 6.18.51 uhci_hcd552machine # [ 2.453767] usb usb2: SerialNumber: 0000:00:1d.0553machine # [ 2.462489] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0554machine # [ 2.467850] hub 2-0:1.0: USB hub found555machine # [ 2.472327] hub 2-0:1.0: 2 ports detected556machine # [ 2.283524] systemd[1]: Found device /dev/disk/by-label/nixos.557machine # [ 2.285536] systemd[1]: Reached target Initrd Root Device.558machine # [ 2.290083] systemd[1]: Starting File System Check on /dev/disk/by-label/nixos...559machine # [ 2.490086] uhci_hcd 0000:00:1d.1: UHCI Host Controller560machine # [ 2.502601] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3561machine # [ 2.506904] uhci_hcd 0000:00:1d.1: detected 2 ports562machine # [ 2.508501] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c1a0563machine # [ 2.511608] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18564machine # [ 2.515929] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1565machine # [ 2.323300] systemd-fsck[104]: nixos: clean, 12/65536 files, 13019/262144 blocks566machine # [ 2.520824] usb usb3: Product: UHCI Host Controller567machine # [ 2.521695] usb usb3: Manufacturer: Linux 6.18.51 uhci_hcd568machine # [ 2.524816] usb usb3: SerialNumber: 0000:00:1d.1569machine # [ 2.528016] hub 3-0:1.0: USB hub found570machine # [ 2.529208] hub 3-0:1.0: 2 ports detected571machine # [ 2.535952] uhci_hcd 0000:00:1d.2: UHCI Host Controller572machine # [ 2.536899] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4573machine # [ 2.349618] systemd[1]: Finished File System Check on /dev/disk/by-label/nixos.574machine # [ 2.546408] uhci_hcd 0000:00:1d.2: detected 2 ports575machine # [ 2.548974] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c1c0576machine # [ 2.551397] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18577machine # [ 2.552830] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1578machine # [ 2.555720] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode579machine # [ 2.557245] usb usb4: Product: UHCI Host Controller580machine # [ 2.558526] usb usb4: Manufacturer: Linux 6.18.51 uhci_hcd581machine # [ 2.559679] usb usb4: SerialNumber: 0000:00:1d.2582machine # [ 2.561489] hub 4-0:1.0: USB hub found583machine # [ 2.562921] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)584machine # [ 2.564959] hub 4-0:1.0: 2 ports detected585machine # [ 2.566102] ahci 0000:00:1f.2: flags: 64bit ncq only586machine # [ 2.584914] scsi host0: ahci587machine # [ 2.587847] scsi host1: ahci588machine # [ 2.590894] scsi host2: ahci589machine # [ 2.592888] scsi host3: ahci590machine # [ 2.598872] usb 1-1: new high-speed USB device number 2 using ehci-pci591machine # [ 2.600573] scsi host4: ahci592machine # [ 2.604004] scsi host5: ahci593machine # [ 2.604678] ata1: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc100 irq 47 lpm-pol 1594machine # [ 2.613858] ata2: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc180 irq 47 lpm-pol 1595machine # [ 2.615500] ata3: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc200 irq 47 lpm-pol 1596machine # [ 2.617054] ata4: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc280 irq 47 lpm-pol 1597machine # [ 2.618571] ata5: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc300 irq 47 lpm-pol 1598machine # [ 2.620144] ata6: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc380 irq 47 lpm-pol 1599machine # [ 2.727971] usb 1-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00600machine # [ 2.729984] usb 1-1: New USB device strings: Mfr=1, Product=3, SerialNumber=10601machine # [ 2.732186] usb 1-1: Product: QEMU USB Tablet602machine # [ 2.733552] usb 1-1: Manufacturer: QEMU603machine # [ 2.734845] usb 1-1: SerialNumber: 28754-0000:00:1d.7-1604machine # [ 2.749030] hid: raw HID events driver (C) Jiri Kosina605machine # [ 2.608118] systemd[1]: Mounting /sysroot...606machine # [ 2.934485] ata4: SATA link down (SStatus 0 SControl 300)607machine # [ 2.936570] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)608machine # [ 2.938942] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100609machine # [ 2.940615] ata3.00: applying bridge limits610machine # [ 2.942470] ata6: SATA link down (SStatus 0 SControl 300)611machine # [ 2.944358] ata2: SATA link down (SStatus 0 SControl 300)612machine # [ 2.946055] ata1: SATA link down (SStatus 0 SControl 300)613machine # [ 2.947562] ata5: SATA link down (SStatus 0 SControl 300)614machine # [ 2.948981] ata3.00: configured for UDMA/100615machine # [ 2.950241] scsi 2:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5616machine # [ 3.004322] usbcore: registered new interface driver usbhid617machine # [ 3.011244] usbhid: USB HID core driver618machine # [ 3.035961] 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/input2619machine # [ 3.042092] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0620machine # [ 3.048099] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray621machine # [ 3.058231] EXT4-fs (vda): mounted filesystem f60fb708-0eda-4cda-b033-5b2d49951e99 r/w with ordered data mode. Quota mode: none.622machine # [ 3.060897] cdrom: Uniform CD-ROM driver Revision: 3.20623machine # [ 2.869869] systemd[1]: Mounted /sysroot.624machine # [ 2.872168] systemd[1]: Reached target Initrd Root File System.625machine # [ 2.875410] systemd[1]: Starting Mountpoints Configured in the Real Root...626machine # [ 2.891797] systemd-sysroot-fstab-check[138]: /sysroot should be mounted in the initrd, will request daemon-reload.627machine # [ 2.895982] systemd[1]: Reload requested from client PID 138 ('systemd-sysroot') (unit initrd-parse-etc.service)...628machine # [ 2.898049] systemd[1]: Reloading...629machine # [ 2.975503] systemd[1]: Reloading finished in 79 ms.630machine # [ 2.983655] systemd-sysroot-fstab-check[138]: Requesting initrd-fs.target/start/replace...631machine # [ 2.989146] systemd-sysroot-fstab-check[138]: Requesting swap.target/start/replace...632machine # [ 2.992422] systemd[1]: initrd-parse-etc.service: Deactivated successfully.633machine # [ 2.995139] systemd[1]: Finished Mountpoints Configured in the Real Root.634machine # [ 2.996459] systemd[1]: initrd-parse-etc.service: Triggering OnSuccess= dependencies.635machine # [ 3.609915] systemd[1]: Mounting /sysroot/nix/.ro-store...636machine # [ 3.614996] systemd[1]: Mounting /sysroot/nix/.rw-store...637machine # [ 3.619797] systemd[1]: Mounting /sysroot/run...638machine # [ 3.621146] systemd[1]: Mounting /sysroot/tmp/shared...639machine # [ 3.629328] systemd[1]: Mounting /sysroot/tmp/xchg...640machine # [ 3.652289] systemd[1]: Mounted /sysroot/nix/.ro-store.641machine # [ 3.653633] systemd[1]: Mounted /sysroot/nix/.rw-store.642machine # [ 3.655075] systemd[1]: Mounted /sysroot/run.643machine # [ 3.656890] systemd[1]: Mounted /sysroot/tmp/shared.644machine # [ 3.660192] systemd[1]: Mounted /sysroot/tmp/xchg.645machine # [ 3.663703] systemd[1]: Starting rw-sysroot-nix-store.service...646machine # [ 3.674108] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.647machine # [ 3.676127] systemd[1]: Finished rw-sysroot-nix-store.service.648machine # [ 4.609321] systemd[1]: Mounting /sysroot/nix/store...649machine # [ 4.632642] systemd[1]: Mounted /sysroot/nix/store.650machine # [ 4.634336] systemd[1]: Reached target Initrd File Systems.651machine # [ 4.636346] systemd[1]: Starting Find NixOS closure...652machine # [ 4.640147] systemd[1]: Starting Create Volatile Files and Directories in the Real Root...653machine # [ 4.656917] systemd[1]: Finished Create Volatile Files and Directories in the Real Root.654machine # [ 4.659860] systemd[1]: sysroot-run-credentials-systemd\x2dtmpfiles\x2dsetup\x2dsysroot.service.mount: Deactivated successfully.655machine # [ 4.664879] systemd[1]: Finished Find NixOS closure.656machine # [ 4.666915] systemd[1]: Reached target Initrd Default Target.657machine # [ 4.668351] systemd[1]: Starting Cleaning Up and Shutting Down Daemons...658machine # [ 4.680851] systemd[1]: Stopped target Initrd Default Target.659machine # [ 4.682533] systemd[1]: Stopped target Basic System.660machine # [ 4.684166] systemd[1]: Stopped target Initrd Root Device.661machine # [ 4.685355] systemd[1]: Stopped target Path Units.662machine # [ 4.686374] systemd[1]: systemd-ask-password-console.path: Deactivated successfully.663machine # [ 4.688270] systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.664machine # [ 4.691186] systemd[1]: Stopped target Slice Units.665machine # [ 4.692255] systemd[1]: Stopped target Socket Units.666machine # [ 4.693421] systemd[1]: Stopped target System Initialization.667machine # [ 4.694559] systemd[1]: Stopped target Swaps.668machine # [ 4.695512] systemd[1]: Stopped target Timer Units.669machine # [ 4.696682] systemd[1]: dbus.socket: Deactivated successfully.670machine # [ 4.698193] systemd[1]: Closed D-Bus System Message Bus Socket.671machine # [ 4.700188] systemd[1]: initrd-find-nixos-closure.service: Deactivated successfully.672machine # [ 4.701646] systemd[1]: Stopped Find NixOS closure.673machine # [ 4.702893] systemd[1]: Starting rw-sysroot-nix-store.service...674machine # [ 4.704250] systemd[1]: systemd-sysctl.service: Deactivated successfully.675machine # [ 4.706229] systemd[1]: Stopped Apply Kernel Variables.676machine # [ 4.707621] systemd[1]: systemd-modules-load.service: Deactivated successfully.677machine # [ 4.710249] systemd[1]: Stopped Load Kernel Modules.678machine # [ 4.711992] systemd[1]: systemd-tmpfiles-setup-sysroot.service: Deactivated successfully.679machine # [ 4.714415] systemd[1]: Stopped Create Volatile Files and Directories in the Real Root.680machine # [ 4.717240] systemd[1]: systemd-tmpfiles-setup.service: Deactivated successfully.681machine # [ 4.720321] systemd[1]: Stopped Create System Files and Directories.682machine # [ 4.721858] systemd[1]: Stopped target Local File Systems.683machine # [ 4.723909] systemd[1]: Stopped target Preparation for Local File Systems.684machine # [ 4.725948] systemd[1]: systemd-udev-trigger.service: Deactivated successfully.685machine # [ 4.728191] systemd[1]: Stopped Coldplug All udev Devices.686machine # [ 4.729548] systemd[1]: Stopping Rule-based Manager for Device Events and Files...687machine # [ 4.732884] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.688machine # [ 4.734305] systemd[1]: Stopped Virtual Console Setup.689machine # [ 4.743401] systemd[1]: systemd-udevd.service: Deactivated successfully.690machine # [ 4.745357] systemd[1]: Stopped Rule-based Manager for Device Events and Files.691machine # [ 4.747353] systemd[1]: initrd-cleanup.service: Deactivated successfully.692machine # [ 4.749320] systemd[1]: Finished Cleaning Up and Shutting Down Daemons.693machine # [ 4.751399] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.694machine # [ 4.752869] systemd[1]: Finished rw-sysroot-nix-store.service.695machine # [ 4.755470] systemd[1]: systemd-udevd-control.socket: Deactivated successfully.696machine # [ 4.756933] systemd[1]: Closed udev Control Socket.697machine # [ 4.759093] systemd[1]: Starting Cleanup udev Database...698machine # [ 4.760199] systemd[1]: systemd-tmpfiles-setup-dev.service: Deactivated successfully.699machine # [ 4.762169] systemd[1]: Stopped Create Static Device Nodes in /dev.700machine # [ 4.763382] systemd[1]: systemd-tmpfiles-setup-dev-early.service: Deactivated successfully.701machine # [ 4.765171] systemd[1]: Stopped Create Static Device Nodes in /dev gracefully.702machine # [ 4.766536] systemd[1]: kmod-static-nodes.service: Deactivated successfully.703machine # [ 4.769146] systemd[1]: Stopped Create List of Static Device Nodes.704machine # [ 4.782630] systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.705machine # [ 4.784287] systemd[1]: Finished Cleanup udev Database.706machine # [ 4.785664] systemd[1]: Reached target Switch Root.707machine # [ 4.787512] systemd[1]: Starting NixOS Activation...708machine # [ 4.839523] initrd-nixos-activation-start[190]: booting system configuration /nix/store/rpx060h7kly0p8c4ish1kzs60vf99kx1-nixos-system-machine-test709machine # [ 4.862354] initrd-nixos-activation-start[190]: running activation script...710machine # [ 5.020225] initrd-nixos-activation-start[213]: setting up /etc...711machine # [ 5.114766] systemd[1]: initrd-nixos-activation.service: Deactivated successfully.712machine # [ 5.117091] systemd[1]: Finished NixOS Activation.713machine # [ 5.118973] systemd[1]: Starting Switch Root...714machine # [ 5.130943] systemd[1]: Switching root.715machine # [ 5.450868] systemd-journald[66]: Received SIGTERM from PID 1 (systemd).716machine # [ 5.553922] NET: Registered PF_VSOCK protocol family717machine # [ 5.909775] systemd[1]: systemd 261.2 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)718machine # [ 5.917907] systemd[1]: Detected virtualization kvm.719machine # [ 5.919273] systemd[1]: Detected architecture x86-64.720machine # [ 5.920613] systemd[1]: Detected first boot.721machine # [ 5.922528] systemd[1]: Initializing machine ID from random generator.722machine # [ 6.139135] systemd[1]: bpf-restrict-fs: LSM BPF program attached723machine # [ 6.215248] systemd[1]: Applying preset policy.724machine # [ 6.372212] systemd[1]: Populated /etc with preset unit settings.725machine # [ 6.563645] systemd[1]: initrd-switch-root.service: Deactivated successfully.726machine # [ 6.565365] systemd[1]: Stopped initrd-switch-root.service.727machine # [ 6.568059] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.728machine # [ 6.570395] systemd[1]: Created slice Slice /system/getty.729machine # [ 6.571935] systemd[1]: Created slice User and Session Slice.730machine # [ 6.573070] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.731machine # [ 6.574541] systemd[1]: Started Forward Password Requests to Wall Directory Watch.732machine # [ 6.575903] systemd[1]: Expecting device /dev/hvc0...733machine # [ 6.576845] systemd[1]: Expecting device /dev/ttyS0...734machine # [ 6.577823] systemd[1]: Reached target Local Encrypted Volumes.735machine # [ 6.578890] systemd[1]: Stopped target initrd-fs.target.736machine # [ 6.579864] systemd[1]: Stopped target initrd-root-fs.target.737machine # [ 6.580897] systemd[1]: Stopped target initrd-switch-root.target.738machine # [ 6.582002] systemd[1]: Reached target Virtual Machines and Containers.739machine # [ 6.583169] systemd[1]: Reached target Path Units.740machine # [ 6.584078] systemd[1]: Reached target Remote File Systems.741machine # [ 6.585107] systemd[1]: Reached target Slice Units.742machine # [ 6.600022] systemd[1]: Reached target Swaps.743machine # [ 6.602264] systemd[1]: Listening on Query the User Interactively for a Password.744machine # [ 6.604971] systemd[1]: Listening on Process Core Dump Socket.745machine # [ 6.606965] systemd[1]: Listening on Credential Encryption/Decryption.746machine # [ 6.609080] systemd[1]: Listening on Factory Reset Management.747machine # [ 6.610263] systemd[1]: Listening on Hostname Service Socket.748machine # [ 6.613236] systemd[1]: Starting Journal Log Access Socket...749machine # [ 6.615686] systemd[1]: Listening on Journal Audit Socket.750machine # [ 6.617768] systemd[1]: Listening on Console Output Muting Service Socket.751machine # [ 6.619150] systemd[1]: Listening on Userspace Out-Of-Memory (OOM) Killer Socket.752machine # [ 6.620543] systemd[1]: TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-os753machine # [ 6.622220] systemd[1]: Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki754machine # [ 6.626398] systemd[1]: Listening on Disk Repartitioning Service Socket.755machine # [ 6.627762] systemd[1]: Listening on udev Control Socket.756machine # [ 6.628917] systemd[1]: Listening on udev Varlink Socket.757machine # [ 6.631173] systemd[1]: Mounting Huge Pages File System...758machine # [ 6.635235] systemd[1]: Mounting POSIX Message Queue File System...759machine # [ 6.641887] systemd[1]: Mounting Kernel Debug File System...760machine # [ 6.648473] systemd[1]: Mounting Kernel Trace File System...761machine # [ 6.657885] systemd[1]: Starting Create List of Static Device Nodes...762machine # [ 6.671987] systemd[1]: Starting Load Kernel Module configfs...763machine # [ 6.680352] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm764machine # [ 6.689438] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore765machine # [ 6.692649] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse766machine # [ 6.698469] systemd[1]: Mounting FUSE Control File System...767machine # [ 6.700414] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67768machine # [ 6.708789] systemd[1]: Starting Journal Service...769machine # [ 6.715512] systemd[1]: Starting Load Kernel Modules...770machine # [ 6.730361] systemd[1]: Starting Userspace Out-Of-Memory (OOM) Killer...771machine # [ 6.736806] systemd[1]: Starting Remount Root and Kernel File Systems...772machine # [ 6.739926] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os773machine # [ 6.750280] systemd[1]: Starting Coldplug All udev Devices...774machine # [ 6.753853] systemd-journald[283]: Collecting audit messages is enabled.775machine # [ 6.763701] systemd[1]: Listening on Journal Log Access Socket.776machine # [ 6.770006] systemd[1]: Mounted Huge Pages File System.777machine # [ 6.775873] systemd[1]: Mounted POSIX Message Queue File System.778machine # [ 6.786168] systemd[1]: Started Journal Service.779machine # [ 6.586990] systemd[1]: Queued start job for default target Multi-User System.780machine # [ 6.594838] systemd[1]: systemd-journald.service: Deactivated successfully.781machine # [ 6.796188] loop: module loaded782machine # [ 6.799805] EXT4-fs (vda): re-mounted f60fb708-0eda-4cda-b033-5b2d49951e99.783machine # [ 6.606839] systemd[1]: Mounted Kernel Debug File System.784machine # [ 6.609853] systemd-modules-load[284]: Inserted module 'loop'785machine # [ 6.613778] systemd[1]: Mounted Kernel Trace File System.786machine # [ 6.621127] systemd[1]: Finished Create List of Static Device Nodes.787machine # [ 6.622417] systemd[1]: modprobe@configfs.service: Deactivated successfully.788machine # [ 6.625129] systemd[1]: Finished Load Kernel Module configfs.789machine # [ 6.628121] systemd[1]: Finished Load Kernel Modules.790machine # [ 6.629285] systemd[1]: Finished Remount Root and Kernel File Systems.791machine # [ 6.633157] systemd[1]: Mounted FUSE Control File System.792machine # [ 6.645890] systemd[1]: Listening on Disk Image Download Service Socket.793machine # [ 6.652111] systemd[1]: Mounting Kernel Configuration File System...794machine # [ 6.655134] systemd[1]: Starting Firewall...795machine # [ 6.661208] systemd[1]: Starting Flush Journal to Persistent Storage...796machine # [ 6.664399] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore797machine # [ 6.679846] systemd[1]: Starting Load/Save OS Random Seed...798machine # [ 6.687569] systemd-oomd[286]: No swap; memory pressure usage will be degraded799machine # [ 6.701299] systemd[1]: Starting Apply Kernel Variables...800machine # [ 6.715816] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...801machine # [ 6.717346] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os802machine # [ 6.719580] systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.803machine # [ 6.940016] systemd-journald[283]: Received client request to flush runtime journal.804machine # [ 6.916407] systemd[1]: Finished Load/Save OS Random Seed.805machine # [ 6.920874] systemd[1]: Reached target First Boot Complete.806machine # [ 6.924368] systemd[1]: Mounted Kernel Configuration File System.807machine # [ 6.925581] systemd[1]: Finished Apply Kernel Variables.808machine # [ 6.926805] systemd[1]: Finished Flush Journal to Persistent Storage.809machine # [ 6.936239] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.810machine # [ 6.940814] systemd[1]: Starting Create Static Device Nodes in /dev...811machine # [ 6.987181] systemd[1]: Finished Coldplug All udev Devices.812machine # [ 6.999599] systemd[1]: Finished Create Static Device Nodes in /dev.813machine # [ 7.001703] systemd[1]: Reached target Preparation for Local File Systems.814machine # [ 7.004656] systemd[1]: Starting Rule-based Manager for Device Events and Files...815machine # [ 7.043539] systemd-udevd[328]: Using default interface naming scheme 'v261'.816machine # [ 7.091226] systemd[1]: Started Rule-based Manager for Device Events and Files.817machine # [ 7.235825] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse818machine # [ 7.311713] systemd[1]: Condition check resulted in /dev/hvc0 being skipped.819machine # [ 7.337097] systemd[1]: Condition check resulted in /dev/ttyS0 being skipped.820machine # [ 7.364797] (udev-worker)[352]: Network interface NamePolicy= disabled on kernel command line.821machine # [ 7.368228] (udev-worker)[356]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.822machine # [ 7.372209] (udev-worker)[356]: Network interface NamePolicy= disabled on kernel command line.823machine # [ 7.379062] systemd[1]: Mounting /run/wrappers...824machine # [ 7.409125] systemd[1]: Mounted /run/wrappers.825machine # [ 7.410277] systemd[1]: Reached target Local File Systems.826machine # [ 7.415092] systemd[1]: Listening on Boot Loader Control Service Socket.827machine # [ 7.420166] systemd[1]: Starting register-nix-paths.service...828machine # [ 7.426643] systemd[1]: Starting Create SUID/SGID Wrappers...829machine # [ 7.428992] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.830machine # [ 7.441074] systemd[1]: Starting Save Transient machine-id to Disk...831machine # [ 7.458828] systemd[1]: Starting Create System Files and Directories...832machine # [ 7.547087] systemd[1]: etc-machine\x2did.mount: Deactivated successfully.833machine # [ 7.556844] systemd[1]: Finished Save Transient machine-id to Disk.834machine # [ 7.581322] systemd[1]: Finished Create System Files and Directories.835machine # [ 7.589294] systemd[1]: Starting Rebuild Journal Catalog...836machine # [ 7.597626] systemd[1]: Starting Record System Boot/Shutdown in UTMP...837machine # [ 7.607937] systemd[1]: Condition check resulted in Virtio network device being skipped.838machine # [ 7.612446] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore839machine # [ 7.614739] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.840machine # [ 7.617462] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67841machine # [ 7.622200] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore842machine # [ 7.625354] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os843machine # [ 7.627104] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os844machine # [ 7.709286] systemd[1]: Finished Record System Boot/Shutdown in UTMP.845machine # [ 7.740284] systemd[1]: Finished Rebuild Journal Catalog.846machine # [ 7.748051] systemd[1]: Starting Update is Completed...847machine # [ 7.812843] systemd[1]: Finished Update is Completed.848machine # [ 7.874335] systemd[1]: Finished Firewall.849machine # [ 8.112954] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3850machine # [ 8.123474] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console851machine # [ 7.970331] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.852machine # [ 7.972709] systemd[1]: Finished Create SUID/SGID Wrappers.853machine # [ 8.148794] ACPI: button: Power Button [PWRF]854machine # [ 8.149481] mousedev: PS/2 mouse device common for all mice855machine # [ 8.245288] parport_pc 00:02: reported by Plug and Play ACPI856machine # [ 8.245377] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]857machine # [ 8.246630] rtc_cmos PNP0B00:00: RTC can wake from S4858machine # [ 8.250357] rtc_cmos PNP0B00:00: registered as rtc0859machine # [ 8.250453] rtc_cmos PNP0B00:00: setting system clock to 2026-09-16T21:47:40 UTC (1789595260)860machine # [ 8.250538] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs861machine # [ 8.113222] systemd[1]: Finished register-nix-paths.service.862machine # [ 8.115403] systemd[1]: Reached target System Initialization.863machine # [ 8.119078] systemd[1]: Started Discard unused filesystem blocks once a week.864machine # [ 8.120442] systemd[1]: Started Daily Cleanup of Temporary Directories.865machine # [ 8.121803] systemd[1]: Reached target Timer Units.866machine # [ 8.124192] systemd[1]: Listening on D-Bus System Message Bus Socket.867machine # [ 8.126356] systemd[1]: Listening on Nix Daemon Socket.868machine # [ 8.128046] systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.869machine # [ 8.131558] systemd[1]: Reached target Socket Units.870machine # [ 8.132636] systemd[1]: Reached target Basic System.871machine # [ 8.134105] systemd[1]: Started backdoor.service.872machine # [ 8.140137] systemd[1]: Starting Import lastlog data into lastlog2 database...873machine # [ 8.250936] systemd-journald[283]: Time jumped backwards, rotating.874machine # [ 8.253370] input: QEMU Virtio Keyboard as /devices/pci0000:00/0000:00:06.0/virtio4/input/input4875machine # [ 8.148182] systemd[1]: Starting Name Service Cache Daemon (nsncd)...876machine # [ 8.154777] systemd[1]: Starting Post-Boot Actions...877machine # [ 8.167522] systemd[1]: Started Reset console on configuration changes.878machine # [ 8.183087] systemd[1]: Starting resolvconf update...879machine # [ 8.202098] systemd[1]: Starting D-Bus System Message Bus...880machine # connecting to host...881machine # [ 8.253544] Console: switching to colour dummy device 80x25882machine # [ 8.285847] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized883machine # [ 8.412587] [drm] Found bochs VGA, ID 0xb0c5.884machine # [ 8.412589] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.885machine # [ 8.246487] systemd[1]: Finished Post-Boot Actions.886machine: Guest shell says: b'Spawning backdoor root shell...\n'887machine # [ 8.250281] nsncd[508]: Sep 16 21:47:40.694 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"888machine: connected to guest root shell889machine: (connecting took 9.00 seconds)890machine: (finished: waiting for the VM to finish booting, in 9.16 seconds)891machine # [ 8.261127] systemd[1]: Started Name Service Cache Daemon (nsncd).892machine # [ 8.266846] systemd[1]: Reached target Host and Network Name Lookups.893machine # [ 8.273262] systemd[1]: Reached target User and Group Name Lookups.894machine # [ 8.288370] systemd[1]: Starting User Login Management...895machine # [ 8.485955] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt896machine # [ 8.486858] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD897machine # [ 8.503507] bochs-drm 0000:00:01.0: [drm] Registered 1 planes with drm panic898machine # [ 8.504456] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0899machine # [ 8.316989] systemd[1]: Finished Import lastlog data into lastlog2 database.900machine # [ 8.368573] dbus-broker-launch[515]: Looking up NSS user entry for 'systemd-timesync'...901machine # [ 8.611917] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input6902machine # [ 8.614073] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input5903machine # [ 8.729638] Console: switching to colour frame buffer device 160x50904machine # [ 8.793845] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device905machine # [ 8.453280] dbus-broker-launch[515]: NSS returned no entry for 'systemd-timesync'906machine # [ 8.602138] dbus-broker-launch[515]: Invalid user-name in /nix/store/zn912clcp21z9f4hpydwyvgyqx4qa7bz-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"907machine # [ 8.605363] systemd[1]: Stopped target Host and Network Name Lookups.908machine # [ 8.612482] systemd[1]: Stopping Host and Network Name Lookups...909machine # [ 8.615936] nsncd[595]: Sep 16 21:47:40.993 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"910machine # [ 8.622223] systemd[1]: Stopped target User and Group Name Lookups.911machine # [ 8.626149] systemd[1]: Stopping User and Group Name Lookups...912machine # [ 8.627483] systemd[1]: Stopping Name Service Cache Daemon (nsncd)...913machine # [ 8.636210] systemd[1]: nscd.service: Deactivated successfully.914machine # [ 8.637461] systemd[1]: Stopped Name Service Cache Daemon (nsncd).915machine # [ 8.639436] systemd[1]: Started D-Bus System Message Bus.916machine # [ 8.643206] systemd[1]: Starting Name Service Cache Daemon (nsncd)...917machine # [ 8.644570] dbus-broker-launch[515]: Ready918machine # [ 8.647281] systemd[1]: Starting Virtual Console Setup...919machine # [ 8.651218] systemd[1]: Started Name Service Cache Daemon (nsncd).920machine # [ 8.652481] systemd[1]: Finished resolvconf update.921machine # [ 8.653485] systemd[1]: Reached target Preparation for Network.922machine # [ 8.654648] systemd[1]: Reached target Host and Network Name Lookups.923machine # [ 8.658297] systemd[1]: Reached target User and Group Name Lookups.924machine # [ 8.659490] systemd[1]: Starting DHCP Client...925machine # [ 8.660482] systemd[1]: Starting Address configuration of eth1...926machine # [ 8.661735] systemd[1]: Starting Extra networking commands....927machine # [ 8.667305] systemd-logind[536]: New seat seat0.928machine # [ 8.669959] systemd-logind[536]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)929machine # [ 8.673827] systemd-logind[536]: Watching system buttons on /dev/input/event2 (Power Button)930machine # [ 8.676797] systemd[1]: Started User Login Management.931machine # [ 8.678660] systemd[1]: Starting linger-users.service...932machine # [ 8.686698] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.933machine # [ 8.692385] systemd[1]: Stopped Virtual Console Setup.934machine # [ 8.726335] systemd[1]: Starting Virtual Console Setup...935machine # [ 8.729738] systemd[1]: linger-users.service: Deactivated successfully.936machine # [ 8.736314] systemd[1]: Finished linger-users.service.937machine # [ 8.747511] network-addresses-eth1-start[618]: adding address 192.168.1.1/24... done938machine # [ 8.769132] network-addresses-eth1-start[618]: adding address 2001:db8:1::1/64... done939machine # [ 8.790155] systemd[1]: Finished Address configuration of eth1.940machine # [ 9.017727] ppdev: user-space parallel port driver941machine # [ 8.860694] dhcpcd[629]: dhcpcd-10.3.2 starting942machine # [ 8.869411] dhcpcd[690]: dev: loaded udev943machine # [ 8.871045] systemd[1]: Finished Extra networking commands..944machine # [ 8.875890] systemd[1]: Reached target Network.945machine # [ 8.882209] systemd[1]: Starting PostgreSQL Server...946machine # [ 8.883820] systemd-logind[536]: Watching system buttons on /dev/input/event3 (QEMU Virtio Keyboard)947machine # [ 8.886980] systemd[1]: Starting Permit User Sessions...948machine # [ 9.098199] 8021q: 802.1Q VLAN Support v1.8949machine # [ 9.103862] 8021q: adding VLAN 0 to HW filter on device eth1950machine # [ 8.935973] systemd[1]: Finished Permit User Sessions.951machine # [ 8.946248] systemd[1]: Started Getty on tty1.952machine # [ 8.947257] systemd[1]: Reached target Login Prompts.953machine # [ 9.143013] iTCO_wdt iTCO_wdt.1.auto: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)954machine # [ 9.181827] iTCO_wdt iTCO_wdt.1.auto: initialized. heartbeat=30 sec (nowayout=0)955machine # [ 9.011957] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.956machine # [ 9.013628] systemd[1]: Stopped Virtual Console Setup.957machine # [ 9.032815] systemd[1]: Starting Virtual Console Setup...958machine # [ 9.073995] systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.959machine # [ 9.301259] cfg80211: Loading compiled-in X.509 certificates for regulatory database960machine # [ 9.320535] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'961machine # [ 9.321413] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'962machine # [ 9.325353] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2963machine # [ 9.326913] cfg80211: failed to load regulatory.db964machine # [ 9.188936] postgresql-pre-start[705]: The files belonging to this database system will be owned by user "postgres".965machine # [ 9.190898] postgresql-pre-start[705]: This user must also own the server process.966machine # [ 9.393219] 8021q: adding VLAN 0 to HW filter on device eth0967machine # [ 9.200697] dhcpcd[690]: eth0: waiting for carrier968machine # [ 9.203242] dhcpcd[690]: libudev: received NULL device969machine # [ 9.204279] postgresql-pre-start[705]: The database cluster will be initialized with locale "en_US.UTF-8".970machine # [ 9.205925] postgresql-pre-start[705]: The default database encoding has accordingly been set to "UTF8".971machine # [ 9.207549] postgresql-pre-start[705]: The default text search configuration will be set to "english".972machine # [ 9.209167] postgresql-pre-start[705]: Data page checksums are enabled.973machine # [ 9.210432] postgresql-pre-start[705]: fixing permissions on existing directory /var/lib/postgresql/18 ... ok974machine # [ 9.212113] postgresql-pre-start[705]: creating subdirectories ... ok975machine # [ 9.217165] postgresql-pre-start[705]: selecting dynamic shared memory implementation ... posix976machine # [ 9.219132] dhcpcd[690]: libudev: received NULL device977machine # [ 9.220320] dhcpcd[690]: eth0: carrier acquired978machine # [ 9.226920] dhcpcd[690]: DUID 00:01:00:01:32:3d:ca:fd:52:54:00:12:34:56979machine # [ 9.228274] dhcpcd[690]: eth0: IAID 00:12:34:56980machine # [ 9.229545] dhcpcd[690]: eth0: adding address fe80::5054:ff:fe12:3456981machine # [ 9.438518] kvm_amd: TSC scaling supported982machine # [ 9.439089] kvm_amd: Nested Virtualization enabled983machine # [ 9.440384] kvm_amd: Nested Paging enabled984machine # [ 9.441424] kvm_amd: LBR virtualization supported985machine # [ 9.442591] kvm_amd: Virtual VMLOAD VMSAVE supported986machine # [ 9.443579] kvm_amd: Virtual GIF supported987machine # [ 9.291963] postgresql-pre-start[705]: selecting default "max_connections" ... 100988machine # [ 9.495304] EDAC MC: Ver: 3.0.0989machine # [ 9.340161] postgresql-pre-start[705]: selecting default "shared_buffers" ... 128MB990machine # [ 9.375762] systemd-vconsole-setup[703]: Configuration of first virtual console was skipped, ignoring remaining ones.991machine # [ 9.379877] systemd[1]: Finished Virtual Console Setup.992machine # [ 9.903502] postgresql-pre-start[705]: selecting default time zone ... UTC993machine # [ 9.906112] postgresql-pre-start[705]: creating configuration files ... ok994machine # [ 10.054961] postgresql-pre-start[705]: running bootstrap script ... ok995machine # [ 10.414913] postgresql-pre-start[705]: performing post-bootstrap initialization ... ok996machine # [ 10.471199] dhcpcd[690]: eth0: soliciting a DHCP lease997machine # [ 10.677290] NET: Registered PF_PACKET protocol family998machine # [ 10.486440] dhcpcd[690]: eth0: offered 10.0.2.15 from 10.0.2.2999machine # [ 10.488181] dhcpcd[690]: eth0: probing address 10.0.2.15/241000machine # [ 10.615255] postgresql-pre-start[705]: syncing data to disk ... ok1001machine # [ 10.616624] postgresql-pre-start[705]: initdb: warning: enabling "trust" authentication for local connections1002machine # [ 10.618855] postgresql-pre-start[705]: initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.1003machine # [ 10.621424] postgresql-pre-start[705]: Success. You can now start the database server using:1004machine # [ 10.622907] postgresql-pre-start[705]: pg_ctl -D /var/lib/postgresql/18 -l logfile start1005machine # [ 10.711477] postgres[742]: [742] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-gnu, compiled by clang version 21.1.8, 64-bit1006machine # [ 10.715310] postgres[742]: [742] LOG: listening on IPv6 address "::1", port 54321007machine # [ 10.716974] postgres[742]: [742] LOG: listening on IPv4 address "127.0.0.1", port 54321008machine # [ 10.729630] postgres[742]: [742] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"1009machine # [ 10.764354] postgres[751]: [751] LOG: database system was shut down at 2026-09-16 21:47:42 GMT1010machine # [ 10.780475] postgres[742]: [742] LOG: database system is ready to accept connections1011machine # [ 10.796323] systemd[1]: Started PostgreSQL Server.1012machine # [ 10.804396] systemd[1]: Starting PostgreSQL Setup Scripts...1013machine # [ 10.951688] postgresql-setup-start[762]: CREATE DATABASE1014machine # [ 10.979163] postgresql-setup-start[767]: CREATE ROLE1015machine # [ 10.989600] postgresql-setup-start[769]: ALTER DATABASE1016machine # [ 10.993957] systemd[1]: Finished PostgreSQL Setup Scripts.1017machine # [ 10.996491] systemd[1]: Reached target PostgreSQL.1018machine: (finished: waiting for unit postgresql.service, in 12.52 seconds)1019machine: waiting for unit rustfs.service1020machine # [ 11.868804] dhcpcd[690]: eth0: soliciting an IPv6 router1021machine # [ 11.871280] dhcpcd[690]: eth0: Router Advertisement from fe80::21022machine # [ 11.873377] dhcpcd[690]: eth0: adding address fec0::5054:ff:fe12:3456/641023machine # [ 11.875321] dhcpcd[690]: eth0: adding route to fec0::/641024machine # [ 11.876890] dhcpcd[690]: eth0: adding default route via fe80::21025machine # [ 15.767897] dhcpcd[690]: eth0: leased 10.0.2.15 for 86400 seconds1026machine # [ 15.769923] dhcpcd[690]: eth0: adding route to 10.0.2.0/241027machine # [ 15.773326] dhcpcd[690]: eth0: adding default route via 10.0.2.21028machine # [ 15.847353] systemd[1]: Started DHCP Client.1029machine # [ 15.849796] systemd[1]: Reached target Network is Online.1030machine # [ 15.853763] systemd[1]: Starting RustFS Object Storage Server...1031machine # [ 16.368976] systemd[1]: Started RustFS Object Storage Server.1032machine # [ 16.375216] systemd[1]: Starting Self-hosted Zotero sync server...1033machine # [ 16.416610] systemd[1]: Started Self-hosted Zotero sync server.1034machine # [ 16.418484] systemd[1]: Reached target Multi-User System.1035machine # [ 16.419666] systemd[1]: Startup finished in 853ms (kernel) + 4.489s (initrd) + 11.074s (userspace) = 16.418s.1036machine # [ 16.621686] zhost[897]: 2026-09-16T21:47:49.065468Z INFO zhost: zhost listening bind=127.0.0.1:81891037machine: (finished: waiting for unit rustfs.service, in 5.23 seconds)1038machine: waiting for TCP port 9000 on localhost1039machine # Connection to localhost (::1) 9000 port [tcp/cslistener] succeeded!1040machine: (finished: waiting for TCP port 9000 on localhost, in 0.03 seconds)1041machine: waiting for unit zhost.service1042machine: (finished: waiting for unit zhost.service, in 0.02 seconds)1043machine: waiting for TCP port 8189 on localhost1044machine # Connection to localhost (127.0.0.1) 8189 port [tcp/*] succeeded!1045machine: (finished: waiting for TCP port 8189 on localhost, in 0.02 seconds)1046machine: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin1047machine: (finished: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin, in 0.11 seconds)1048machine: must succeed: mc mb s3/zotero1049machine: (finished: must succeed: mc mb s3/zotero, in 0.20 seconds)1050subtest: the module deploys a working service backed by postgres1051machine: 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'1052machine # [ 17.239889] zhost[897]: 2026-09-16T21:47:49.684053Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1053machine: (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)1054(finished: subtest: the module deploys a working service backed by postgres, in 0.03 seconds)1055subtest: login session hands out the key only after authorization1056machine: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess1057machine # [ 17.262870] zhost[897]: 2026-09-16T21:47:49.707018Z INFO zhost: request method=POST uri=/keys/sessions api_version=- if_unmod=- body={}1058machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess, in 0.02 seconds)1059machine: must succeed: jq -r .sessionToken /tmp/sess1060machine: (finished: must succeed: jq -r .sessionToken /tmp/sess, in 0.01 seconds)1061machine: must succeed: jq -r .loginURL /tmp/sess1062machine: (finished: must succeed: jq -r .loginURL /tmp/sess, in 0.01 seconds)1063machine: must succeed: curl -sf 'http://localhost:8189/login?session=82904514ea39e1ddeb58d910adf3487b' | grep -qi 'Authorize'1064machine # [ 17.311972] zhost[897]: 2026-09-16T21:47:49.756024Z INFO zhost: request method=GET uri=/login?session=82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1065machine: (finished: must succeed: curl -sf 'http://localhost:8189/login?session=82904514ea39e1ddeb58d910adf3487b' | grep -qi 'Authorize', in 0.03 seconds)1066machine: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "pending"'1067machine # [ 17.338222] zhost[897]: 2026-09-16T21:47:49.782342Z INFO zhost: request method=GET uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1068machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "pending"', in 0.02 seconds)1069machine: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.apiKey == null'1070machine # [ 17.365196] zhost[897]: 2026-09-16T21:47:49.809374Z INFO zhost: request method=GET uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1071machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.apiKey == null', in 0.03 seconds)1072machine: 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=82904514ea39e1ddeb58d910adf3487b'1073machine # [ 17.395203] zhost[897]: 2026-09-16T21:47:49.838891Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=82904514ea39e1ddeb58d910adf3487b1074machine # [ 17.399362] zhost[897]: 2026-09-16T21:47:49.838928Z 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 -H 'Origin: https://evil.example' -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=82904514ea39e1ddeb58d910adf3487b', in 0.03 seconds)1076machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=82904514ea39e1ddeb58d910adf3487b'1077machine # [ 17.421189] zhost[897]: 2026-09-16T21:47:49.864890Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=82904514ea39e1ddeb58d910adf3487b1078machine # [ 17.424990] zhost[897]: 2026-09-16T21:47:49.864916Z 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 -d 'session=82904514ea39e1ddeb58d910adf3487b', in 0.03 seconds)1080machine: 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=82904514ea39e1ddeb58d910adf3487b'1081machine # [ 17.448264] zhost[897]: 2026-09-16T21:47:49.892343Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=82904514ea39e1ddeb58d910adf3487b1082machine # [ 17.452441] zhost[897]: 2026-09-16T21:47:49.892370Z WARN zhost: response error method=POST uri=/login status=4031083machine: (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=82904514ea39e1ddeb58d910adf3487b', in 0.03 seconds)1084machine: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=82904514ea39e1ddeb58d910adf3487b'1085machine # [ 17.473576] zhost[897]: 2026-09-16T21:47:49.917632Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=82904514ea39e1ddeb58d910adf3487b1086machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=82904514ea39e1ddeb58d910adf3487b', in 0.02 seconds)1087machine: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "completed"'1088machine # [ 17.498349] zhost[897]: 2026-09-16T21:47:49.942394Z INFO zhost: request method=GET uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1089machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "completed"', in 0.03 seconds)1090machine: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.apiKey == "testtoken"'1091machine # [ 17.522171] zhost[897]: 2026-09-16T21:47:49.966226Z INFO zhost: request method=GET uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1092machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.apiKey == "testtoken"', in 0.02 seconds)1093machine: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b1094machine # [ 17.544550] zhost[897]: 2026-09-16T21:47:49.988659Z INFO zhost: request method=DELETE uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1095machine: (finished: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b, in 0.02 seconds)1096machine: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "pending"'1097machine # [ 17.567934] zhost[897]: 2026-09-16T21:47:50.011726Z INFO zhost: request method=GET uri=/keys/sessions/82904514ea39e1ddeb58d910adf3487b api_version=- if_unmod=- body=1098machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/82904514ea39e1ddeb58d910adf3487b | jq -e '.status == "pending"', in 0.02 seconds)1099(finished: subtest: login session hands out the key only after authorization, in 0.33 seconds)1100subtest: the login consent endpoint validates the session token1101machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login1102machine # [ 17.589839] zhost[897]: 2026-09-16T21:47:50.033930Z INFO zhost: request method=GET uri=/login api_version=- if_unmod=- body=1103machine # [ 17.593790] zhost[897]: 2026-09-16T21:47:50.033953Z WARN zhost: response error method=GET uri=/login status=4001104machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login, in 0.02 seconds)1105machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope1106machine # [ 17.613563] zhost[897]: 2026-09-16T21:47:50.057658Z INFO zhost: request method=GET uri=/login?session=nope api_version=- if_unmod=- body=1107machine # [ 17.617108] zhost[897]: 2026-09-16T21:47:50.057680Z WARN zhost: response error method=GET uri=/login?session=nope status=4041108machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope, in 0.02 seconds)1109machine: 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'1110machine # [ 17.637851] zhost[897]: 2026-09-16T21:47:50.081697Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=nope1111machine # [ 17.642119] zhost[897]: 2026-09-16T21:47:50.081723Z WARN zhost: response error method=POST uri=/login status=4041112machine: (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)1113(finished: subtest: the login consent endpoint validates the session token, in 0.07 seconds)1114subtest: groups endpoint returns an empty set (single personal library)1115machine: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1116machine # [ 17.663077] zhost[897]: 2026-09-16T21:47:50.107221Z INFO zhost: request method=GET uri=/users/1/groups api_version=3 if_unmod=- body=1117machine: (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)1118(finished: subtest: groups endpoint returns an empty set (single personal library), in 0.02 seconds)1119subtest: the api key is required off the bootstrap paths1120machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3'1121machine # [ 17.685822] zhost[897]: 2026-09-16T21:47:50.130010Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1122machine: (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)1123(finished: subtest: the api key is required off the bootstrap paths, in 0.02 seconds)1124subtest: a read-only key reads but cannot write1125machine: 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'1126machine # [ 17.707181] zhost[897]: 2026-09-16T21:47:50.151370Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1127machine: (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)1128machine: 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'1129machine # [ 17.734873] zhost[897]: 2026-09-16T21:47:50.178969Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1130machine: (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)1131machine: 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'1132machine # [ 17.758133] zhost[897]: 2026-09-16T21:47:50.202184Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1133machine: (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)1134machine: 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"}]'1135machine # [ 17.780631] zhost[897]: 2026-09-16T21:47:50.224406Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"RDNLY222","itemType":"book"}]1136machine: (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)1137machine: 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'1138machine # [ 17.801976] zhost[897]: 2026-09-16T21:47:50.246164Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=- body=1139machine: (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)1140(finished: subtest: a read-only key reads but cannot write, in 0.12 seconds)1141subtest: an item round-trips through write and read1142machine: 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"'1143machine # [ 17.827178] zhost[897]: 2026-09-16T21:47:50.271366Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEM2223","itemType":"book","title":"t"}]1144machine: (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)1145machine: 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'1146machine # [ 17.857775] zhost[897]: 2026-09-16T21:47:50.301839Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1147machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ITEM2223', in 0.02 seconds)1148machine: 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"'1149machine # [ 17.883077] zhost[897]: 2026-09-16T21:47:50.326703Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ITEM2223&format=json api_version=3 if_unmod=- body=1150machine: (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)1151(finished: subtest: an item round-trips through write and read, in 0.08 seconds)1152subtest: a stale write is rejected with 4121153machine: 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"}]'1154machine # [ 17.907793] zhost[897]: 2026-09-16T21:47:50.351880Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEMSTAL","itemType":"book"}]1155machine # [ 17.912820] zhost[897]: 2026-09-16T21:47:50.357007Z WARN zhost: response error method=POST uri=/users/1/items status=4121156machine: (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)1157(finished: subtest: a stale write is rejected with 412, in 0.03 seconds)1158subtest: a write without If-Unmodified-Since-Version is rejected with 4281159machine: 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"}]'1160machine # [ 17.935342] zhost[897]: 2026-09-16T21:47:50.378539Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=- body=[{"key":"NPRECN22","itemType":"book"}]1161machine # [ 17.939768] zhost[897]: 2026-09-16T21:47:50.378564Z WARN zhost: response error method=POST uri=/users/1/items status=4281162machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d '[{"key":"NPRECN22","itemType":"book"}]', in 0.03 seconds)1163(finished: subtest: a write without If-Unmodified-Since-Version is rejected with 428, in 0.03 seconds)1164subtest: a malformed object key is rejected with 4001165machine: 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' ' -f21166machine # [ 17.975271] zhost[897]: 2026-09-16T21:47:50.419357Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1167machine: (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)1168machine: 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"}]'1169machine # [ 17.999652] zhost[897]: 2026-09-16T21:47:50.443395Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HASOABC2","itemType":"book"}]1170machine # [ 18.003493] zhost[897]: 2026-09-16T21:47:50.443423Z WARN zhost: response error method=POST uri=/users/1/items status=4001171machine: (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)1172machine: 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' ' -f21173machine # [ 18.029546] zhost[897]: 2026-09-16T21:47:50.473591Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1174machine: (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)1175machine: 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"}]'1176machine # [ 18.053930] zhost[897]: 2026-09-16T21:47:50.497147Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HAS0ABC2","itemType":"book"}]1177machine # [ 18.057737] zhost[897]: 2026-09-16T21:47:50.497174Z WARN zhost: response error method=POST uri=/users/1/items status=4001178machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HAS0ABC2","itemType":"book"}]', in 0.02 seconds)1179machine: 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' ' -f21180machine # [ 18.082896] zhost[897]: 2026-09-16T21:47:50.526893Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1181machine: (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)1182machine: 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"}]'1183machine # [ 18.106642] zhost[897]: 2026-09-16T21:47:50.550718Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"SHORTKY","itemType":"book"}]1184machine # [ 18.111208] zhost[897]: 2026-09-16T21:47:50.550747Z WARN zhost: response error method=POST uri=/users/1/items status=4001185machine: (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)1186machine: 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' ' -f21187machine # [ 18.136642] zhost[897]: 2026-09-16T21:47:50.580487Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1188machine: (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)1189machine: 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"}]'1190machine # [ 18.160082] zhost[897]: 2026-09-16T21:47:50.603937Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"TOOLONGKY","itemType":"book"}]1191machine # [ 18.163956] zhost[897]: 2026-09-16T21:47:50.603964Z WARN zhost: response error method=POST uri=/users/1/items status=4001192machine: (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)1193machine: 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' ' -f21194machine # [ 18.189837] zhost[897]: 2026-09-16T21:47:50.633857Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1195machine: (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)1196machine: 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"}]'1197machine # [ 18.213565] zhost[897]: 2026-09-16T21:47:50.657644Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"lowercs2","itemType":"book"}]1198machine # [ 18.218155] zhost[897]: 2026-09-16T21:47:50.657672Z WARN zhost: response error method=POST uri=/users/1/items status=4001199machine: (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)1200machine: 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 '. == []'1201machine # [ 18.240209] zhost[897]: 2026-09-16T21:47:50.684302Z INFO zhost: request method=GET uri=/users/1/items?itemKey=HASOABC2&format=json api_version=3 if_unmod=- body=1202machine: (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)1203(finished: subtest: a malformed object key is rejected with 400, in 0.30 seconds)1204subtest: an empty batch does not bump the library version1205machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21206machine # [ 18.268983] zhost[897]: 2026-09-16T21:47:50.713044Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1207machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1208machine: 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 .successful1209machine # [ 18.294238] zhost[897]: 2026-09-16T21:47:50.738325Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[]1210machine: (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)1211machine: 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' ' -f21212machine # [ 18.321831] zhost[897]: 2026-09-16T21:47:50.765826Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1213machine: (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)1214(finished: subtest: an empty batch does not bump the library version, in 0.08 seconds)1215subtest: attachment data is emitted with linkMode first1216machine: 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' ' -f21217machine # [ 18.350806] zhost[897]: 2026-09-16T21:47:50.794865Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1218machine: (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)1219machine: 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 .successful1220machine # [ 18.376168] zhost[897]: 2026-09-16T21:47:50.820302Z 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"}]1221machine: (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)1222machine: 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]'1223machine # [ 18.406555] zhost[897]: 2026-09-16T21:47:50.850378Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ATTACH22&format=json api_version=3 if_unmod=- body=1224machine: (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)1225(finished: subtest: attachment data is emitted with linkMode first, in 0.08 seconds)1226subtest: an attachment file uploads to S3 and downloads via a presigned URL1227machine: 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 .uploadKey1228machine # [ 18.431365] zhost[897]: 2026-09-16T21:47:50.875338Z 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=17000000000001229machine: (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)1230machine: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/d8e30646b4ffc13873c3281a98744bd6 --data-binary @-1231machine # [ 18.455510] zhost[897]: 2026-09-16T21:47:50.899563Z INFO zhost: request method=POST uri=/uploads/d8e30646b4ffc13873c3281a98744bd6 api_version=- if_unmod=- body=hello1232machine: (finished: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/d8e30646b4ffc13873c3281a98744bd6 --data-binary @-, in 0.03 seconds)1233machine: 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=d8e30646b4ffc13873c3281a98744bd6'1234machine # [ 18.492297] zhost[897]: 2026-09-16T21:47:50.936357Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=upload=d8e30646b4ffc13873c3281a98744bd61235machine: (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=d8e30646b4ffc13873c3281a98744bd6', in 0.03 seconds)1236machine: 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'1237machine # [ 18.524716] zhost[897]: 2026-09-16T21:47:50.968565Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1238machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1239machine: 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}'1240machine # [ 18.550106] zhost[897]: 2026-09-16T21:47:50.994002Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1241machine: (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)1242machine: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr1243machine: (finished: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr, in 0.01 seconds)1244machine: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T214750Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=9a78240cb2c3179a1a6a185a7a161d062f1ba9be4de7afb455f6d2f5271e70c8'1245machine: (finished: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20260916%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260916T214750Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=9a78240cb2c3179a1a6a185a7a161d062f1ba9be4de7afb455f6d2f5271e70c8', in 0.02 seconds)1246(finished: subtest: an attachment file uploads to S3 and downloads via a presigned URL, in 0.19 seconds)1247subtest: re-authorizing the same file returns exists:1 (dedup)1248machine: 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'1249machine # [ 18.626835] zhost[897]: 2026-09-16T21:47:51.070927Z 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=17000000000001250machine: (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)1251(finished: subtest: re-authorizing the same file returns exists:1 (dedup), in 0.03 seconds)1252subtest: a file authorization without a precondition header is 4281253machine: 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'1254machine # [ 18.653787] zhost[897]: 2026-09-16T21:47:51.097090Z 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=11255machine # [ 18.658443] zhost[897]: 2026-09-16T21:47:51.097124Z WARN zhost: response error method=POST uri=/users/1/items/ATTACH22/file status=4281256machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items/ATTACH22/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -d 'md5=deadbeef&filename=t.pdf&filesize=5&mtime=1', in 0.03 seconds)1257(finished: subtest: a file authorization without a precondition header is 428, in 0.03 seconds)1258subtest: uploading bytes that do not match the declared md5 is rejected1259machine: 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 .uploadKey1260machine # [ 18.683936] zhost[897]: 2026-09-16T21:47:51.127893Z INFO zhost: request method=POST uri=/users/1/items/BADHASH2/file api_version=3 if_unmod=- body=md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=11261machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items/BADHASH2/file -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-None-Match: *' -d 'md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=1' | jq -r .uploadKey, in 0.03 seconds)1262machine: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/b3ca49262936981a6628aa92d3c089b3 --data-binary @-1263machine # [ 18.722102] zhost[897]: 2026-09-16T21:47:51.165703Z INFO zhost: request method=POST uri=/uploads/b3ca49262936981a6628aa92d3c089b3 api_version=- if_unmod=- body=hello1264machine # [ 18.726106] zhost[897]: 2026-09-16T21:47:51.165729Z WARN zhost: uploaded bytes do not match authorization key="BADHASH2" want_md5="00000000000000000000000000000000" got_md5="5d41402abc4b2a76b9719d911017c592"1265machine # [ 18.731078] zhost[897]: 2026-09-16T21:47:51.165744Z WARN zhost: response error method=POST uri=/uploads/b3ca49262936981a6628aa92d3c089b3 status=4001266machine: (finished: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/b3ca49262936981a6628aa92d3c089b3 --data-binary @-, in 0.05 seconds)1267(finished: subtest: uploading bytes that do not match the declared md5 is rejected, in 0.08 seconds)1268subtest: registering without a prior upload is rejected1269machine: 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 .uploadKey1270machine # [ 18.767937] zhost[897]: 2026-09-16T21:47:51.211936Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=11271machine: (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)1272machine: 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=4723d4bf436f3c8f93d69b9a120b5dc2'1273machine # [ 18.794639] zhost[897]: 2026-09-16T21:47:51.238717Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=upload=4723d4bf436f3c8f93d69b9a120b5dc21274machine # [ 18.799388] zhost[897]: 2026-09-16T21:47:51.238745Z WARN zhost: response error method=POST uri=/users/1/items/NQUPLQAD/file status=4001275machine: (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=4723d4bf436f3c8f93d69b9a120b5dc2', in 0.03 seconds)1276(finished: subtest: registering without a prior upload is rejected, in 0.06 seconds)1277subtest: non-alphanumeric keys are rejected from the file endpoint1278machine: 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'1279machine # [ 18.820469] zhost[897]: 2026-09-16T21:47:51.264503Z 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=11280machine # [ 18.825226] zhost[897]: 2026-09-16T21:47:51.264530Z WARN zhost: response error method=POST uri=/users/1/items/bad..key/file status=4001281machine: (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)1282(finished: subtest: non-alphanumeric keys are rejected from the file endpoint, in 0.03 seconds)1283subtest: annotations round-trip as ordinary items1284machine: 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' ' -f21285machine # [ 18.852599] zhost[897]: 2026-09-16T21:47:51.296693Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1286machine: (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)1287machine: 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"'1288machine # [ 18.879345] zhost[897]: 2026-09-16T21:47:51.323400Z 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"}]1289machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 3' -d '[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]' | jq -e '.successful."0".data.annotationText == "marked"', in 0.04 seconds)1290machine: 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"'1291machine # [ 18.914356] zhost[897]: 2026-09-16T21:47:51.358320Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1292machine: (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)1293machine: 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]'1294machine # [ 18.938608] zhost[897]: 2026-09-16T21:47:51.382748Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1295machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '.[0].data | keys_unsorted[0]', in 0.02 seconds)1296(finished: subtest: annotations round-trip as ordinary items, in 0.12 seconds)1297subtest: full-text content uploads, lists versions, and downloads1298machine: 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' ' -f21299machine # [ 18.967959] zhost[897]: 2026-09-16T21:47:51.411894Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1300machine: (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)1301machine: 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"'1302machine # [ 18.992719] zhost[897]: 2026-09-16T21:47:51.436905Z 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}]1303machine: (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)1304machine: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ATTACH22'1305machine # [ 19.022382] zhost[897]: 2026-09-16T21:47:51.466282Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1306machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ATTACH22', in 0.02 seconds)1307machine: 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' ' -f21308machine # [ 19.050949] zhost[897]: 2026-09-16T21:47:51.494929Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1309machine: (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)1310machine: 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'1311machine # [ 19.075457] zhost[897]: 2026-09-16T21:47:51.519370Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1312machine: (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.02 seconds)1313machine: 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'1314machine # [ 19.100508] zhost[897]: 2026-09-16T21:47:51.544491Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1315machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/ATTACH22/fulltext' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.content == "hello world" and .totalPages == 1', in 0.02 seconds)1316(finished: subtest: full-text content uploads, lists versions, and downloads, in 0.16 seconds)1317subtest: a stale full-text write is rejected with 4121318machine: 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"}]'1319machine # [ 19.123837] zhost[897]: 2026-09-16T21:47:51.567922Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=0 body=[{"key":"ATTACH22","content":"x"}]1320machine # [ 19.128415] zhost[897]: 2026-09-16T21:47:51.572447Z WARN zhost: response error method=POST uri=/users/1/fulltext status=4121321machine: (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)1322(finished: subtest: a stale full-text write is rejected with 412, in 0.03 seconds)1323subtest: the query API filters, searches, sorts and paginates items1324machine: 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' ' -f21325machine # [ 19.154249] zhost[897]: 2026-09-16T21:47:51.598228Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1326machine: (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)1327machine: 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 .successful1328machine # [ 19.179454] zhost[897]: 2026-09-16T21:47:51.623432Z 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"}]}]1329machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 5' -d '[{"key":"QBQQK223","itemType":"book","title":"Borrow Checker","creators":[{"lastName":"Klabnik","firstName":"Steve"}],"tags":[{"tag":"rustlang"},{"tag":"systems"}]},{"key":"QART2223","itemType":"journalArticle","title":"Unrelated","tags":[{"tag":"rustlang"}]}]' | jq -e .successful, in 0.04 seconds)1330machine: 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(",")'1331machine # [ 19.214802] zhost[897]: 2026-09-16T21:47:51.658958Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1332machine: (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)1333machine: 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(",")'1334machine # [ 19.244740] zhost[897]: 2026-09-16T21:47:51.688722Z INFO zhost: request method=GET uri=/users/1/items?q=klabnik api_version=3 if_unmod=- body=1335machine: (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)1336machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1337machine # [ 19.270244] zhost[897]: 2026-09-16T21:47:51.714335Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1338machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")', in 0.03 seconds)1339machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemType=book' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -r '[.[].key]|sort|join(",")'1340machine # [ 19.296388] zhost[897]: 2026-09-16T21:47:51.740396Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1341machine: (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.02 seconds)1342machine: 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(",")'1343machine # [ 19.321157] zhost[897]: 2026-09-16T21:47:51.765186Z INFO zhost: request method=GET uri=/users/1/items?itemType=-book api_version=3 if_unmod=- body=1344machine: (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)1345machine: 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(",")'1346machine # [ 19.347219] zhost[897]: 2026-09-16T21:47:51.791159Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang&tag=systems api_version=3 if_unmod=- body=1347machine: (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)1348machine: 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(",")'1349machine # [ 19.373188] zhost[897]: 2026-09-16T21:47:51.817372Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang api_version=3 if_unmod=- body=1350machine: (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)1351machine: 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(",")'1352machine # [ 19.399212] zhost[897]: 2026-09-16T21:47:51.843093Z INFO zhost: request method=GET uri=/users/1/items?q=world api_version=3 if_unmod=- body=1353machine: (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)1354machine: 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(",")'1355machine # [ 19.426790] zhost[897]: 2026-09-16T21:47:51.870768Z INFO zhost: request method=GET uri=/users/1/items?q=world&qmode=everything api_version=3 if_unmod=- body=1356machine: (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)1357(finished: subtest: the query API filters, searches, sorts and paginates items, in 0.30 seconds)1358subtest: the query API reports Total-Results and a next-page Link1359machine: 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'1360machine # [ 19.451151] zhost[897]: 2026-09-16T21:47:51.895226Z INFO zhost: request method=GET uri=/users/1/items?limit=1&sort=title&direction=asc api_version=3 if_unmod=- body=1361machine: (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)1362(finished: subtest: the query API reports Total-Results and a next-page Link, in 0.02 seconds)1363subtest: a read-only key can drive the query API1364machine: 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'1365machine # [ 19.474638] zhost[897]: 2026-09-16T21:47:51.918735Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1366machine: (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)1367(finished: subtest: a read-only key can drive the query API, in 0.02 seconds)1368subtest: convenience listings: top, trash, collection items and tags1369machine: 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' ' -f21370machine # [ 19.503679] zhost[897]: 2026-09-16T21:47:51.947776Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1371machine: (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)1372machine: 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 .successful1373machine # [ 19.528745] zhost[897]: 2026-09-16T21:47:51.972806Z 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}]1374machine: (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)1375machine: 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(",")'1376machine # [ 19.567240] zhost[897]: 2026-09-16T21:47:52.010690Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1377machine: (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)1378machine: 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(",")'1379machine # [ 19.591691] zhost[897]: 2026-09-16T21:47:52.035788Z INFO zhost: request method=GET uri=/users/1/items/trash api_version=3 if_unmod=- body=1380machine: (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)1381machine: 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(",")'1382machine # [ 19.617224] zhost[897]: 2026-09-16T21:47:52.061221Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items api_version=3 if_unmod=- body=1383machine: (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)1384machine: 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'1385machine # [ 19.642800] zhost[897]: 2026-09-16T21:47:52.086800Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1386machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "shelf") | .numItems == 1', in 0.02 seconds)1387(finished: subtest: convenience listings: top, trash, collection items and tags, in 0.17 seconds)1388subtest: top filtering covers parentItem:false and the versions view1389machine: 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' ' -f21390machine # [ 19.671921] zhost[897]: 2026-09-16T21:47:52.115641Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1391machine: (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)1392machine: 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 .successful1393machine # [ 19.696930] zhost[897]: 2026-09-16T21:47:52.140892Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=7 body=[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]1394machine: (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)1395machine: 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")'1396machine # [ 19.729084] zhost[897]: 2026-09-16T21:47:52.173059Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1397machine: (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)1398machine: 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'1399machine # [ 19.754423] zhost[897]: 2026-09-16T21:47:52.198497Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=0 api_version=3 if_unmod=- body=1400machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e 'has("CHILDNQ3")|not', in 0.02 seconds)1401machine: 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'1402machine # [ 19.779174] zhost[897]: 2026-09-16T21:47:52.223201Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1403machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CHILDNQ3', in 0.02 seconds)1404(finished: subtest: top filtering covers parentItem:false and the versions view, in 0.14 seconds)1405subtest: malformed (non-array) item data does not 500 the query API1406machine: 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' ' -f21407machine # [ 19.808083] zhost[897]: 2026-09-16T21:47:52.251701Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1408machine: (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)1409machine: 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 .successful1410machine # [ 19.833065] zhost[897]: 2026-09-16T21:47:52.276992Z 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"}]1411machine: (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)1412machine: 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'1413machine # [ 19.865617] zhost[897]: 2026-09-16T21:47:52.309063Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1414machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1415machine: 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'1416machine # [ 19.887561] zhost[897]: 2026-09-16T21:47:52.331500Z INFO zhost: request method=GET uri=/users/1/items?q=zzz api_version=3 if_unmod=- body=1417machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1418machine: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?q=zzz&qmode=everything' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3'1419machine # [ 19.910156] zhost[897]: 2026-09-16T21:47:52.354208Z INFO zhost: request method=GET uri=/users/1/items?q=zzz&qmode=everything api_version=3 if_unmod=- body=1420machine: (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)1421machine: 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'1422machine # [ 19.933476] zhost[897]: 2026-09-16T21:47:52.377495Z INFO zhost: request method=GET uri=/users/1/items?tag=zzz api_version=3 if_unmod=- body=1423machine: (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)1424machine: 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'1425machine # [ 19.956779] zhost[897]: 2026-09-16T21:47:52.400792Z INFO zhost: request method=GET uri=/users/1/collections/y/items api_version=3 if_unmod=- body=1426machine: (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)1427machine: 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' ' -f21428machine # [ 19.985385] zhost[897]: 2026-09-16T21:47:52.429397Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1429machine: (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)1430machine: 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 .successful1431machine # [ 20.011190] zhost[897]: 2026-09-16T21:47:52.455156Z 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"]}]1432machine: (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)1433machine: 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'1434machine # [ 20.042041] zhost[897]: 2026-09-16T21:47:52.486091Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1435machine: (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)1436(finished: subtest: malformed (non-array) item data does not 500 the query API, in 0.26 seconds)1437subtest: Total-Results stays correct past the last page1438machine: 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' ' -f21439machine # [ 20.070663] zhost[897]: 2026-09-16T21:47:52.514528Z INFO zhost: request method=GET uri=/users/1/items?limit=1 api_version=3 if_unmod=- body=1440machine: (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)1441machine: 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' ' -f21442machine # [ 20.099204] zhost[897]: 2026-09-16T21:47:52.543300Z INFO zhost: request method=GET uri=/users/1/items?limit=1&start=100000 api_version=3 if_unmod=- body=1443machine: (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)1444(finished: subtest: Total-Results stays correct past the last page, in 0.06 seconds)1445subtest: query API: OR filters, descending sort and includeTrashed1446machine: 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' ' -f21447machine # [ 20.128620] zhost[897]: 2026-09-16T21:47:52.572617Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1448machine: (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)1449machine: 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 .successful1450machine # [ 20.153912] zhost[897]: 2026-09-16T21:47:52.597918Z 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"}]}]1451machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 10' -d '[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]' | jq -e .successful, in 0.04 seconds)1452machine: 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(",")'1453machine # [ 20.189826] zhost[897]: 2026-09-16T21:47:52.633791Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&itemType=book||journalArticle api_version=3 if_unmod=- body=1454machine: (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)1455machine: 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'1456machine # [ 20.215399] zhost[897]: 2026-09-16T21:47:52.659376Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&sort=title&direction=desc api_version=3 if_unmod=- body=1457machine: (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)1458machine: 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'1459machine # [ 20.241515] zhost[897]: 2026-09-16T21:47:52.685697Z INFO zhost: request method=GET uri=/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1 api_version=3 if_unmod=- body=1460machine: (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)1461machine: 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(",")'1462machine # [ 20.267167] zhost[897]: 2026-09-16T21:47:52.711169Z INFO zhost: request method=GET uri=/users/1/items?tag=aa api_version=3 if_unmod=- body=1463machine: (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)1464(finished: subtest: query API: OR filters, descending sort and includeTrashed, in 0.17 seconds)1465subtest: sort=date orders by extracted year, not raw freeform text1466machine: 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' ' -f21467machine # [ 20.295792] zhost[897]: 2026-09-16T21:47:52.739828Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1468machine: (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)1469machine: 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 .successful1470machine # [ 20.321216] zhost[897]: 2026-09-16T21:47:52.765152Z 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"}]}]1471machine: (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)1472machine: 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(",")'1473machine # [ 20.357721] zhost[897]: 2026-09-16T21:47:52.801539Z INFO zhost: request method=GET uri=/users/1/items?tag=era&sort=date&direction=asc api_version=3 if_unmod=- body=1474machine: (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)1475(finished: subtest: sort=date orders by extracted year, not raw freeform text, in 0.09 seconds)1476subtest: collection top items are served as a plain-text key list1477machine: 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'1478machine # [ 20.381577] zhost[897]: 2026-09-16T21:47:52.825673Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1479machine: (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)1480machine: 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'1481machine # [ 20.404411] zhost[897]: 2026-09-16T21:47:52.848332Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1482machine: (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)1483(finished: subtest: collection top items are served as a plain-text key list, in 0.05 seconds)1484subtest: a versions read with nothing newer returns 200 + empty map, not 3041485machine: 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' ' -f21486machine # [ 20.432869] zhost[897]: 2026-09-16T21:47:52.877056Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1487machine: (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)1488machine: 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'1489machine # [ 20.456548] zhost[897]: 2026-09-16T21:47:52.900522Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1490machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1491machine: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1492machine # [ 20.480253] zhost[897]: 2026-09-16T21:47:52.924329Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1493machine: (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)1494machine: 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'1495machine # [ 20.503190] zhost[897]: 2026-09-16T21:47:52.947377Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1496machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1497machine: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1498machine # [ 20.527148] zhost[897]: 2026-09-16T21:47:52.971170Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1499machine: (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)1500machine: 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'1501machine # [ 20.550156] zhost[897]: 2026-09-16T21:47:52.994280Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1502machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1503machine: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1504machine # [ 20.574202] zhost[897]: 2026-09-16T21:47:53.018047Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1505machine: (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)1506machine: 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'1507machine # [ 20.596812] zhost[897]: 2026-09-16T21:47:53.040876Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1508machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.02 seconds)1509machine: must succeed: curl -sf 'http://localhost:8189/users/1/searches?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1510machine # [ 20.620182] zhost[897]: 2026-09-16T21:47:53.064202Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1511machine: (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.02 seconds)1512machine: 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'1513machine # [ 20.643260] zhost[897]: 2026-09-16T21:47:53.087196Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1514machine: (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)1515machine: 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 '. == {}'1516machine # [ 20.667417] zhost[897]: 2026-09-16T21:47:53.111059Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1517machine: (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)1518machine: 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'1519machine # [ 20.692400] zhost[897]: 2026-09-16T21:47:53.136133Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1520machine: (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)1521machine: 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'1522machine # [ 20.715396] zhost[897]: 2026-09-16T21:47:53.159459Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1523machine: (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)1524(finished: subtest: a versions read with nothing newer returns 200 + empty map, not 304, in 0.31 seconds)1525subtest: collections round-trip through write, read, versions and delete1526machine: 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' ' -f21527machine # [ 20.742173] zhost[897]: 2026-09-16T21:47:53.185958Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1528machine: (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)1529machine: 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"'1530machine # [ 20.767266] zhost[897]: 2026-09-16T21:47:53.211400Z INFO zhost: request method=POST uri=/users/1/collections api_version=3 if_unmod=12 body=[{"key":"CQLL2223","name":"Papers"}]1531machine: (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)1532machine: 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"'1533machine # [ 20.797057] zhost[897]: 2026-09-16T21:47:53.240983Z INFO zhost: request method=GET uri=/users/1/collections?collectionKey=CQLL2223&format=json api_version=3 if_unmod=- body=1534machine: (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)1535machine: 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'1536machine # [ 20.822331] zhost[897]: 2026-09-16T21:47:53.266234Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=0 api_version=3 if_unmod=- body=1537machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CQLL2223', in 0.03 seconds)1538machine: 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' ' -f21539machine # [ 20.850483] zhost[897]: 2026-09-16T21:47:53.294557Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1540machine: (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)1541machine: 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'1542machine # [ 20.874090] zhost[897]: 2026-09-16T21:47:53.318012Z INFO zhost: request method=DELETE uri=/users/1/collections?collectionKey=CQLL2223 api_version=3 if_unmod=13 body=1543machine: (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)1544machine: 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")'1545machine # [ 20.902472] zhost[897]: 2026-09-16T21:47:53.346567Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1546machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.collections | index("CQLL2223")', in 0.03 seconds)1547(finished: subtest: collections round-trip through write, read, versions and delete, in 0.19 seconds)1548subtest: saved searches round-trip through write, read and delete1549machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21550machine # [ 20.930867] zhost[897]: 2026-09-16T21:47:53.374955Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1551machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1552machine: 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"'1553machine # [ 20.957882] zhost[897]: 2026-09-16T21:47:53.401801Z INFO zhost: request method=POST uri=/users/1/searches api_version=3 if_unmod=14 body=[{"key":"SRCH2223","name":"Recent","conditions":[]}]1554machine: (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)1555machine: 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"'1556machine # [ 20.988677] zhost[897]: 2026-09-16T21:47:53.432766Z INFO zhost: request method=GET uri=/users/1/searches?searchKey=SRCH2223&format=json api_version=3 if_unmod=- body=1557machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/searches?searchKey=SRCH2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Recent"', in 0.03 seconds)1558machine: 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' ' -f21559machine # [ 21.020102] zhost[897]: 2026-09-16T21:47:53.464042Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1560machine: (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)1561machine: 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'1562machine # [ 21.044793] zhost[897]: 2026-09-16T21:47:53.488651Z INFO zhost: request method=DELETE uri=/users/1/searches?searchKey=SRCH2223 api_version=3 if_unmod=15 body=1563machine: (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)1564machine: 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")'1565machine # [ 21.074944] zhost[897]: 2026-09-16T21:47:53.518957Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1566machine: (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)1567(finished: subtest: saved searches round-trip through write, read and delete, in 0.17 seconds)1568subtest: settings round-trip through write, read and delete1569machine: 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' ' -f21570machine # [ 21.102803] zhost[897]: 2026-09-16T21:47:53.546793Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1571machine: (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)1572machine: 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"}]}}' 1573machine # [ 21.126276] zhost[897]: 2026-09-16T21:47:53.570338Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=16 body={"tagColors":{"value":[{"name":"x","color":"#fff"}]}}1574machine: (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)1575machine: 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")'1576machine # [ 21.153241] zhost[897]: 2026-09-16T21:47:53.597339Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1577machine: (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)1578machine: 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}}'1579machine # [ 21.176230] zhost[897]: 2026-09-16T21:47:53.620366Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=0 body={"k":{"value":1}}1580machine # [ 21.180319] zhost[897]: 2026-09-16T21:47:53.624331Z WARN zhost: response error method=POST uri=/users/1/settings status=4121581machine: (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.02 seconds)1582machine: 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' ' -f21583machine # [ 21.206392] zhost[897]: 2026-09-16T21:47:53.650312Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1584machine: (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)1585machine: 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'1586machine # [ 21.230124] zhost[897]: 2026-09-16T21:47:53.674284Z INFO zhost: request method=DELETE uri=/users/1/settings?settingKey=tagColors api_version=3 if_unmod=17 body=1587machine: (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)1588machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null'1589machine # [ 21.256708] zhost[897]: 2026-09-16T21:47:53.700686Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1590machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null', in 0.03 seconds)1591machine: 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")'1592machine # [ 21.281328] zhost[897]: 2026-09-16T21:47:53.725399Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1593machine: (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)1594(finished: subtest: settings round-trip through write, read and delete, in 0.21 seconds)1595subtest: a gzip-compressed write body is decoded1596machine: 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' ' -f21597machine # [ 21.309806] zhost[897]: 2026-09-16T21:47:53.753756Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1598machine: (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)1599machine: 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 .successful1600machine # [ 21.336085] zhost[897]: 2026-09-16T21:47:53.780203Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=18 body=[{"key":"GZIP2223","itemType":"book","title":"zipped"}]1601machine: (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)1602machine: 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"'1603machine # [ 21.367344] zhost[897]: 2026-09-16T21:47:53.811392Z INFO zhost: request method=GET uri=/users/1/items?itemKey=GZIP2223&format=json api_version=3 if_unmod=- body=1604machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=GZIP2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title == "zipped"', in 0.03 seconds)1605(finished: subtest: a gzip-compressed write body is decoded, in 0.09 seconds)1606subtest: PATCH updates items and is gated by the read-only key1607machine: 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' ' -f21608machine # [ 21.397467] zhost[897]: 2026-09-16T21:47:53.841452Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1609machine: (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)1610machine: 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"'1611machine # [ 21.423272] zhost[897]: 2026-09-16T21:47:53.867195Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=19 body=[{"key":"GZIP2223","itemType":"book","title":"patched"}]1612machine: (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)1613machine: 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"}]'1614machine # [ 21.451448] zhost[897]: 2026-09-16T21:47:53.895550Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"X","itemType":"book"}]1615machine: (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)1616(finished: subtest: PATCH updates items and is gated by the read-only key, in 0.08 seconds)1617subtest: PATCH merges: a partial update keeps unspecified fields1618machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21619machine # [ 21.478837] zhost[897]: 2026-09-16T21:47:53.922881Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1620machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1621machine: must succeed: curl -sf -X 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 .successful1622machine # [ 21.504292] zhost[897]: 2026-09-16T21:47:53.948235Z 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"}]}]1623machine: (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)1624machine: 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' ' -f21625machine # [ 21.537558] zhost[897]: 2026-09-16T21:47:53.981629Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1626machine: (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)1627machine: 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"}]'1628machine # [ 21.561508] zhost[897]: 2026-09-16T21:47:54.005695Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=21 body=[{"key":"MERGEIT2","title":"new"}]1629machine: (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)1630machine: 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"'1631machine # [ 21.589153] zhost[897]: 2026-09-16T21:47:54.033289Z INFO zhost: request method=GET uri=/users/1/items?itemKey=MERGEIT2&format=json api_version=3 if_unmod=- body=1632machine: (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.02 seconds)1633(finished: subtest: PATCH merges: a partial update keeps unspecified fields, in 0.14 seconds)1634subtest: POST also merges: a partial upload keeps unspecified fields1635machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21636machine # [ 21.617875] zhost[897]: 2026-09-16T21:47:54.061831Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1637machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1638machine: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 22' -d '[{"key":"PMERGEAT","itemType":"attachment","linkMode":"imported_file","filename":"f.pdf","contentType":"application/pdf"}]' | jq -e .successful1639machine # [ 21.643194] zhost[897]: 2026-09-16T21:47:54.087234Z 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"}]1640machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 22' -d '[{"key":"PMERGEAT","itemType":"attachment","linkMode":"imported_file","filename":"f.pdf","contentType":"application/pdf"}]' | jq -e .successful, in 0.03 seconds)1641machine: 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' ' -f21642machine # [ 21.677049] zhost[897]: 2026-09-16T21:47:54.120997Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1643machine: (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)1644machine: 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":[]}]'1645machine # [ 21.701222] zhost[897]: 2026-09-16T21:47:54.144937Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=23 body=[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]1646machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 23' -d '[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]', in 0.03 seconds)1647machine: 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'1648machine # [ 21.729246] zhost[897]: 2026-09-16T21:47:54.173109Z INFO zhost: request method=GET uri=/users/1/items?itemKey=PMERGEAT&format=json api_version=3 if_unmod=- body=1649machine: (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)1650(finished: subtest: POST also merges: a partial upload keeps unspecified fields, in 0.14 seconds)1651subtest: deletes are recorded in the deletion log1652machine: 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' ' -f21653machine # [ 21.757929] zhost[897]: 2026-09-16T21:47:54.201980Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1654machine: (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)1655machine: 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'1656machine # [ 21.781789] zhost[897]: 2026-09-16T21:47:54.225790Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=24 body=1657machine: (finished: must succeed: curl -sf -X DELETE 'http://localhost:8189/users/1/items?itemKey=ITEM2223' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 24', in 0.03 seconds)1658machine: 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")'1659machine # [ 21.809151] zhost[897]: 2026-09-16T21:47:54.252954Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1660machine: (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.02 seconds)1661(finished: subtest: deletes are recorded in the deletion log, in 0.08 seconds)1662(finished: run the VM test script, in 22.72 seconds)1663test script finished in 22.77s1664cleanup1665kill QemuMachine (pid 45)1666machine # qemu-system-x86_64: terminating on signal 15 from pid 39 (/nix/store/d64q19q1xjdwfhqx6czvrjgrhq0n3lcc-python3-3.14.7/bin/python3.14)1667machine # [2026-09-16T21:47:55Z INFO virtiofsd] Client disconnected, shutting down1668machine # [2026-09-16T21:47:55Z INFO virtiofsd] Client disconnected, shutting down1669machine # [2026-09-16T21:47:55Z INFO virtiofsd] Client disconnected, shutting down1670(finished: cleanup, in 0.15 seconds)