vm-test-run-zhost-sync
checks.x86_64-linux.nixos-sync
· build #10
· 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 # Formatting '/build/vm-state-machine/tmp.IEF7zwndUy', fmt=raw size=107374182415machine # mke2fs 1.47.4 (6-Mar-2025)16machine # Discarding device blocks: 0/262144 done17machine # Creating filesystem with 262144 4k blocks and 65536 inodes18machine # Filesystem UUID: e3979e8f-9b8d-4900-874a-ecd757464d5019machine # Superblock backups stored on blocks:20machine # 32768, 98304, 163840, 22937621machine # 22machine # Allocating group tables: 0/8 done23machine # Writing inode tables: 0/8 done24machine # Creating journal (8192 blocks): done25machine # Writing superblocks and filesystem accounting information: 0/8 done26machine # 27machine # Virtualisation disk image created.28machine # Starting virtiofs daemons...29machine: QEMU running (pid 45)30machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)31machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether32machine # [2026-10-07T21:48:30Z INFO virtiofsd] Waiting for vhost-user socket connection...33machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)34machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether35machine # [2026-10-07T21:48:30Z INFO virtiofsd] Waiting for vhost-user socket connection...36machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] Failed to open file handle for the root node: Operation not permitted (os error 1)37machine # [2026-10-07T21:48:30Z WARN virtiofsd::passthrough] File handles do not appear safe to use, disabling file handles altogether38machine # [2026-10-07T21:48:30Z INFO virtiofsd] Waiting for vhost-user socket connection...39machine # [2026-10-07T21:48:30Z INFO virtiofsd] Client connected, servicing requests40machine # [2026-10-07T21:48:30Z INFO virtiofsd] Client connected, servicing requests41machine # [2026-10-07T21:48:30Z 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.55 (nixbld@localhost) (gcc (GCC) 16.2.0, GNU ld (GNU Binutils) 2.46) #1-NixOS SMP PREEMPT_DYNAMIC Sat Oct 3 10:39:03 UTC 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/4cr3n2fzyck954bayr6wq8yvikgfzzwm-nixos-system-machine-test/init regInfo=/nix/.ro-store/hmlvv7ydxky4zcwlh2pfk2kzkf2ggn87-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 434246046 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.000665] last_pfn = 0x3ffd8 max_arch_pfn = 0x40000000083machine # [ 0.000688] MTRR map: 4 entries (3 fixed + 1 variable; max 19), built from 8 variable MTRRs84machine # [ 0.000690] x86/PAT: Configuration [0-7]: WB WC UC- UC WB WP UC- WT85machine # [ 0.002214] found SMP MP-table at [mem 0x000f5450-0x000f545f]86machine # [ 0.002225] Using GB pages for direct mapping87machine # [ 0.002293] RAMDISK: [mem 0x3e2e6000-0x3ffcffff]88machine # [ 0.002299] ACPI: Early table checksum verification disabled89machine # [ 0.002300] ACPI: RSDP 0x00000000000F5270 000014 (v00 BOCHS )90machine # [ 0.002303] ACPI: RSDT 0x000000003FFE2422 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)91machine # [ 0.002306] ACPI: FACP 0x000000003FFE221A 0000F4 (v03 BOCHS BXPC 00000001 BXPC 00000001)92machine # [ 0.002311] ACPI: DSDT 0x000000003FFE0040 0021DA (v01 BOCHS BXPC 00000001 BXPC 00000001)93machine # [ 0.002312] ACPI: FACS 0x000000003FFE0000 00004094machine # [ 0.002314] ACPI: APIC 0x000000003FFE230E 000078 (v03 BOCHS BXPC 00000001 BXPC 00000001)95machine # [ 0.002315] ACPI: HPET 0x000000003FFE2386 000038 (v01 BOCHS BXPC 00000001 BXPC 00000001)96machine # [ 0.002317] ACPI: MCFG 0x000000003FFE23BE 00003C (v01 BOCHS BXPC 00000001 BXPC 00000001)97machine # [ 0.002318] ACPI: WAET 0x000000003FFE23FA 000028 (v01 BOCHS BXPC 00000001 BXPC 00000001)98machine # [ 0.002319] ACPI: Reserving FACP table memory at [mem 0x3ffe221a-0x3ffe230d]99machine # [ 0.002320] ACPI: Reserving DSDT table memory at [mem 0x3ffe0040-0x3ffe2219]100machine # [ 0.002321] ACPI: Reserving FACS table memory at [mem 0x3ffe0000-0x3ffe003f]101machine # [ 0.002321] ACPI: Reserving APIC table memory at [mem 0x3ffe230e-0x3ffe2385]102machine # [ 0.002321] ACPI: Reserving HPET table memory at [mem 0x3ffe2386-0x3ffe23bd]103machine # [ 0.002322] ACPI: Reserving MCFG table memory at [mem 0x3ffe23be-0x3ffe23f9]104machine # [ 0.002322] ACPI: Reserving WAET table memory at [mem 0x3ffe23fa-0x3ffe2421]105machine # [ 0.002697] No NUMA configuration found106machine # [ 0.002698] Faking a node at [mem 0x0000000000000000-0x000000003ffd7fff]107machine # [ 0.002701] NODE_DATA(0) allocated [mem 0x3ffd2780-0x3ffd7cff]108machine # [ 0.002773] Zone ranges:109machine # [ 0.002774] DMA [mem 0x0000000000001000-0x0000000000ffffff]110machine # [ 0.002775] DMA32 [mem 0x0000000001000000-0x000000003ffd7fff]111machine # [ 0.002776] Normal empty112machine # [ 0.002777] Device empty113machine # [ 0.002777] Movable zone start for each node114machine # [ 0.002778] Early memory node ranges115machine # [ 0.002778] node 0: [mem 0x0000000000001000-0x000000000009efff]116machine # [ 0.002779] node 0: [mem 0x0000000000100000-0x000000003ffd7fff]117machine # [ 0.002779] Initmem setup node 0 [mem 0x0000000000001000-0x000000003ffd7fff]118machine # [ 0.002798] On node 0, zone DMA: 1 pages in unavailable ranges119machine # [ 0.003014] On node 0, zone DMA: 97 pages in unavailable ranges120machine # [ 0.017357] On node 0, zone DMA32: 40 pages in unavailable ranges121machine # [ 0.018211] ACPI: PM-Timer IO Port: 0x608122machine # [ 0.018219] ACPI: LAPIC_NMI (acpi_id[0xff] dfl dfl lint[0x1])123machine # [ 0.018237] IOAPIC[0]: apic_id 0, version 17, address 0xfec00000, GSI 0-23124machine # [ 0.018239] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)125machine # [ 0.018241] ACPI: INT_SRC_OVR (bus 0 bus_irq 5 global_irq 5 high level)126machine # [ 0.018241] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)127machine # [ 0.018242] ACPI: INT_SRC_OVR (bus 0 bus_irq 10 global_irq 10 high level)128machine # [ 0.018243] ACPI: INT_SRC_OVR (bus 0 bus_irq 11 global_irq 11 high level)129machine # [ 0.018245] ACPI: Using ACPI (MADT) for SMP configuration information130machine # [ 0.018245] ACPI: HPET id: 0x8086a201 base: 0xfed00000131machine # [ 0.018247] TSC deadline timer available132machine # [ 0.018251] CPU topo: Max. logical packages: 1133machine # [ 0.018251] CPU topo: Max. logical dies: 1134machine # [ 0.018252] CPU topo: Max. dies per package: 1135machine # [ 0.018255] CPU topo: Max. threads per core: 1136machine # [ 0.018255] CPU topo: Num. cores per package: 1137machine # [ 0.018256] CPU topo: Num. threads per package: 1138machine # [ 0.018256] CPU topo: Allowing 1 present CPUs plus 0 hotplug CPUs139machine # [ 0.018274] kvm-guest: APIC: eoi() replaced with kvm_guest_apic_eoi_write()140machine # [ 0.018298] PM: hibernation: Registered nosave memory: [mem 0x00000000-0x00000fff]141machine # [ 0.018299] PM: hibernation: Registered nosave memory: [mem 0x0009f000-0x000fffff]142machine # [ 0.018300] [mem 0x40000000-0xafffffff] available for PCI devices143machine # [ 0.018301] Booting paravirtualized kernel on KVM144machine # [ 0.018303] clocksource: refined-jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns145machine # [ 0.022133] setup_percpu: NR_CPUS:384 nr_cpumask_bits:1 nr_cpu_ids:1 nr_node_ids:1146machine # [ 0.023906] percpu: Embedded 98 pages/cpu s278528 r8192 d114688 u2097152147machine # [ 0.023939] kvm-guest: PV spinlocks disabled, single CPU148machine # [ 0.023941] 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/4cr3n2fzyck954bayr6wq8yvikgfzzwm-nixos-system-machine-test/init regInfo=/nix/.ro-store/hmlvv7ydxky4zcwlh2pfk2kzkf2ggn87-closure-info/registration console=ttyS0,115200n8 console=tty0149machine # [ 0.024014] Unknown kernel command line parameters "regInfo=/nix/.ro-store/hmlvv7ydxky4zcwlh2pfk2kzkf2ggn87-closure-info/registration", will be passed to user space.150machine # [ 0.024031] random: crng init done151machine # [ 0.024032] printk: log buffer data + meta data: 262144 + 917504 = 1179648 bytes152machine # [ 0.024074] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)153machine # [ 0.024517] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)154machine # [ 0.024538] Fallback order for Node 0: 0155machine # [ 0.024540] Built 1 zonelists, mobility grouping on. Total pages: 262006156machine # [ 0.024541] Policy zone: DMA32157machine # [ 0.026722] mem auto-init: stack:all(zero), heap alloc:on, heap free:off158machine # [ 0.029433] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1159machine # [ 0.031240] allocated 2097152 bytes of page_ext160machine # [ 0.039114] ftrace: allocating 48837 entries in 192 pages161machine # [ 0.039116] ftrace: allocated 192 pages with 2 groups162machine # [ 0.039784] Dynamic Preempt: lazy163machine # [ 0.039889] rcu: Preemptible hierarchical RCU implementation.164machine # [ 0.039890] rcu: RCU event tracing is enabled.165machine # [ 0.039890] rcu: RCU restricting CPUs from NR_CPUS=384 to nr_cpu_ids=1.166machine # [ 0.039891] Trampoline variant of Tasks RCU enabled.167machine # [ 0.039891] Rude variant of Tasks RCU enabled.168machine # [ 0.039891] Tracing variant of Tasks RCU enabled.169machine # [ 0.039892] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.170machine # [ 0.039892] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=1171machine # [ 0.039910] RCU Tasks: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.172machine # [ 0.039912] RCU Tasks Rude: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.173machine # [ 0.039912] RCU Tasks Trace: Setting shift to 0 and lim to 1 rcu_task_cb_adjust=1 rcu_task_cpu_ids=1.174machine # [ 0.043676] NR_IRQS: 24832, nr_irqs: 256, preallocated irqs: 16175machine # [ 0.043916] rcu: srcu_init: Setting srcu_struct sizes based on contention.176machine # [ 0.043920] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns177machine # [ 0.044000] kfence: initialized - using 2097152 bytes for 255 objects at 0x(____ptrval____)-0x(____ptrval____)178machine # [ 0.049578] Console: colour VGA+ 80x25179machine # [ 0.049581] printk: legacy console [tty0] enabled180machine # [ 0.082222] printk: legacy console [ttyS0] enabled181machine # [ 0.230188] ACPI: Core revision 20250807182machine # [ 0.231325] clocksource: hpet: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604467 ns183machine # [ 0.233424] APIC: Switch to symmetric I/O mode setup184machine # [ 0.234683] x2apic enabled185machine # [ 0.235565] APIC: Switched APIC routing to: physical x2apic186machine # [ 0.237616] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1187machine # [ 0.238952] clocksource: tsc-early: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns188machine # [ 0.241224] Calibrating delay loop (skipped) preset value.. 7585.74 BogoMIPS (lpj=3792874)189machine # [ 0.243293] x86/cpu: User Mode Instruction Prevention (UMIP) activated190machine # [ 0.244325] Last level iTLB entries: 4KB 512, 2MB 255, 4MB 127191machine # [ 0.245225] Last level dTLB entries: 4KB 512, 2MB 255, 4MB 127, 1GB 0192machine # [ 0.246227] mitigations: Enabled attack vectors: user_kernel, user_user, guest_host, guest_guest, SMT mitigations: auto193machine # [ 0.248225] Speculative Store Bypass: Mitigation: Speculative Store Bypass disabled via prctl194machine # [ 0.249225] Spectre V2 : Mitigation: Retpolines195machine # [ 0.250225] Speculative Return Stack Overflow: Mitigation: Safe RET196machine # [ 0.251225] Spectre V1 : Mitigation: usercopy/swapgs barriers and __user pointer sanitization197machine # [ 0.253225] Spectre V2 : Spectre v2 / SpectreRSB: Filling RSB on context switch and VMEXIT198machine # [ 0.254225] Spectre V2 : Enabling Restricted Speculation for firmware calls199machine # [ 0.255226] Spectre V2 : mitigation: Enabling conditional Indirect Branch Prediction Barrier200machine # [ 0.257225] active return thunk: srso_alias_return_thunk201machine # [ 0.258238] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating point registers'202machine # [ 0.260225] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'203machine # [ 0.261225] x86/fpu: Supporting XSAVE feature 0x004: 'AVX registers'204machine # [ 0.263225] x86/fpu: Supporting XSAVE feature 0x200: 'Protection Keys User registers'205machine # [ 0.264225] x86/fpu: Supporting XSAVE feature 0x800: 'Control-flow User registers'206machine # [ 0.266225] x86/fpu: Supporting XSAVE feature 0x1000: 'Control-flow Kernel registers (KVM only)'207machine # [ 0.268225] x86/fpu: xstate_offset[2]: 576, xstate_sizes[2]: 256208machine # [ 0.269225] x86/fpu: xstate_offset[9]: 832, xstate_sizes[9]: 8209machine # [ 0.271225] x86/fpu: xstate_offset[11]: 840, xstate_sizes[11]: 16210machine # [ 0.272225] x86/fpu: xstate_offset[12]: 856, xstate_sizes[12]: 24211machine # [ 0.273225] x86/fpu: Enabled xstate features 0x1a07, context size is 880 bytes, using 'compacted' format.212machine # [ 0.299205] Freeing SMP alternatives memory: 48K213machine # [ 0.300226] pid_max: default: 32768 minimum: 301214machine # [ 0.301271] LSM: initializing lsm=capability,landlock,yama,bpf,ima215machine # [ 0.302308] landlock: Up and running.216machine # [ 0.303225] Yama: becoming mindful.217machine # [ 0.304418] LSM support for eBPF active218machine # [ 0.305305] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)219machine # [ 0.306244] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)220machine # [ 0.308961] smpboot: CPU0: AMD Ryzen Threadripper PRO 5965WX 24-Cores (family: 0x19, model: 0x8, stepping: 0x2)221machine # [ 0.309656] Performance Events: Fam17h+ core perfctr, AMD PMU driver.222machine # [ 0.310228] ... version: 0223machine # [ 0.311216] ... bit width: 48224machine # [ 0.312007] ... generic counters: 6225machine # [ 0.312998] ... generic bitmap: 000000000000003f226machine # [ 0.314226] ... fixed-purpose counters: 0227machine # [ 0.315216] ... fixed-purpose bitmap: 0000000000000000228machine # [ 0.316226] ... value mask: 0000ffffffffffff229machine # [ 0.317226] ... max period: 00007fffffffffff230machine # [ 0.318226] ... global_ctrl mask: 000000000000003f231machine # [ 0.319307] signal: max sigframe size: 3376232machine # [ 0.320328] rcu: Hierarchical SRCU implementation.233machine # [ 0.321230] rcu: Max phase no-delay instances is 400.234machine # [ 0.325881] smp: Bringing up secondary CPUs ...235machine # [ 0.326238] smp: Brought up 1 node, 1 CPU236machine # [ 0.327178] smpboot: Total of 1 processors activated (7585.74 BogoMIPS)237machine # [ 0.328342] Memory: 942468K/1048024K available (18124K kernel code, 2728K rwdata, 13644K rodata, 3656K init, 3632K bss, 98108K reserved, 0K cma-reserved)238machine # [ 0.329400] devtmpfs: initialized239machine # [ 0.330343] x86/mm: Memory block size: 128MB240machine # [ 0.332021] posixtimers hash table entries: 512 (order: 1, 8192 bytes, linear)241machine # [ 0.333253] futex hash table entries: 256 (16384 bytes on 1 NUMA nodes, total 16 KiB, linear).242machine # [ 0.334295] pinctrl core: initialized pinctrl subsystem243machine # [ 0.335485] PM: RTC time: 21:48:30, date: 2026-10-07244machine # [ 0.338697] NET: Registered PF_NETLINK/PF_ROUTE protocol family245machine # [ 0.339536] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations246machine # [ 0.340247] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations247machine # [ 0.341346] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations248machine # [ 0.342233] audit: initializing netlink subsys (disabled)249machine # [ 0.343478] thermal_sys: Registered thermal governor 'fair_share'250machine # [ 0.343479] thermal_sys: Registered thermal governor 'bang_bang'251machine # [ 0.344227] thermal_sys: Registered thermal governor 'step_wise'252machine # [ 0.345229] audit: type=2000 audit(1791409711.548:1): state=initialized audit_enabled=0 res=1253machine # [ 0.347228] thermal_sys: Registered thermal governor 'user_space'254machine # [ 0.347230] thermal_sys: Registered thermal governor 'power_allocator'255machine # [ 0.348239] cpuidle: using governor menu256machine # [ 0.351029] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5257machine # [ 0.352454] PCI: ECAM [mem 0xb0000000-0xbfffffff] (base 0xb0000000) for domain 0000 [bus 00-ff]258machine # [ 0.353228] PCI: ECAM [mem 0xb0000000-0xbfffffff] reserved as E820 entry259machine # [ 0.354235] PCI: Using configuration type 1 for base access260machine # [ 0.355400] kprobes: kprobe jump-optimization is enabled. All kprobes are optimized if possible.261machine # [ 0.364417] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages262machine # [ 0.365226] HugeTLB: 16380 KiB vmemmap can be freed for a 1.00 GiB page263machine # [ 0.370226] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages264machine # [ 0.371226] HugeTLB: 28 KiB vmemmap can be freed for a 2.00 MiB page265machine # [ 0.377454] ACPI: Added _OSI(Module Device)266machine # [ 0.378227] ACPI: Added _OSI(Processor Device)267machine # [ 0.381226] ACPI: Added _OSI(Processor Aggregator Device)268machine # [ 0.386606] ACPI: 1 ACPI AML tables successfully acquired and loaded269machine # [ 0.392588] ACPI: Interpreter enabled270machine # [ 0.393240] ACPI: PM: (supports S0 S3 S4 S5)271machine # [ 0.394227] ACPI: Using IOAPIC for interrupt routing272machine # [ 0.395267] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug273machine # [ 0.397096] PCI: Using E820 reservations for host bridge windows274machine # [ 0.398363] ACPI: Enabled 2 GPEs in block 00 to 3F275machine # [ 0.403157] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])276machine # [ 0.404230] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI HPX-Type3]277machine # [ 0.405302] acpi PNP0A08:00: _OSC: platform does not support [PCIeHotplug LTR]278machine # [ 0.406345] acpi PNP0A08:00: _OSC: OS now controls [PME AER PCIeCapability]279machine # [ 0.407659] PCI host bridge to bus 0000:00280machine # [ 0.408231] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]281machine # [ 0.409227] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]282machine # [ 0.410227] pci_bus 0000:00: root bus resource [mem 0x000a0000-0x000bffff window]283machine # [ 0.411227] pci_bus 0000:00: root bus resource [mem 0x40000000-0xafffffff window]284machine # [ 0.412227] pci_bus 0000:00: root bus resource [mem 0xc0000000-0xfebfffff window]285machine # [ 0.413227] pci_bus 0000:00: root bus resource [mem 0x100000000-0x8ffffffff window]286machine # [ 0.414227] pci_bus 0000:00: root bus resource [bus 00-ff]287machine # [ 0.415360] pci 0000:00:00.0: [8086:29c0] type 00 class 0x060000 conventional PCI endpoint288machine # [ 0.416912] pci 0000:00:01.0: [1234:1111] type 00 class 0x030000 conventional PCI endpoint289machine # [ 0.420336] pci 0000:00:01.0: BAR 0 [mem 0xfd000000-0xfdffffff pref]290machine # [ 0.421295] pci 0000:00:01.0: BAR 2 [mem 0xfebd0000-0xfebd0fff]291machine # [ 0.422269] pci 0000:00:01.0: ROM [mem 0xfebc0000-0xfebcffff pref]292machine # [ 0.423530] pci 0000:00:01.0: Video device with shadowed ROM at [mem 0x000c0000-0x000dffff]293machine # [ 0.424988] pci 0000:00:02.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint294machine # [ 0.428239] pci 0000:00:02.0: BAR 0 [io 0xc100-0xc11f]295machine # [ 0.429239] pci 0000:00:02.0: BAR 1 [mem 0xfebd1000-0xfebd1fff]296machine # [ 0.430269] pci 0000:00:02.0: BAR 4 [mem 0xfe000000-0xfe003fff 64bit pref]297machine # [ 0.431238] pci 0000:00:02.0: ROM [mem 0xfeb40000-0xfeb7ffff pref]298machine # [ 0.433187] pci 0000:00:03.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint299machine # [ 0.435967] pci 0000:00:03.0: BAR 0 [io 0xc120-0xc13f]300machine # [ 0.436239] pci 0000:00:03.0: BAR 1 [mem 0xfebd2000-0xfebd2fff]301machine # [ 0.437270] pci 0000:00:03.0: BAR 4 [mem 0xfe004000-0xfe007fff 64bit pref]302machine # [ 0.439189] pci 0000:00:04.0: [1af4:1001] type 00 class 0x010000 conventional PCI endpoint303machine # [ 0.442310] pci 0000:00:04.0: BAR 0 [io 0xc000-0xc07f]304machine # [ 0.443247] pci 0000:00:04.0: BAR 1 [mem 0xfebd3000-0xfebd3fff]305machine # [ 0.444314] pci 0000:00:04.0: BAR 4 [mem 0xfe008000-0xfe00bfff 64bit pref]306machine # [ 0.446658] pci 0000:00:05.0: [1af4:1000] type 00 class 0x020000 conventional PCI endpoint307machine # [ 0.449178] pci 0000:00:05.0: BAR 0 [io 0xc140-0xc15f]308machine # [ 0.450267] pci 0000:00:05.0: BAR 1 [mem 0xfebd4000-0xfebd4fff]309machine # [ 0.451283] pci 0000:00:05.0: BAR 4 [mem 0xfe00c000-0xfe00ffff 64bit pref]310machine # [ 0.452242] pci 0000:00:05.0: ROM [mem 0xfeb80000-0xfebbffff pref]311machine # [ 0.454409] pci 0000:00:06.0: [1af4:1052] type 00 class 0x090000 conventional PCI endpoint312machine # [ 0.456261] pci 0000:00:06.0: BAR 1 [mem 0xfebd5000-0xfebd5fff]313machine # [ 0.457308] pci 0000:00:06.0: BAR 4 [mem 0xfe010000-0xfe013fff 64bit pref]314machine # [ 0.459430] pci 0000:00:07.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint315machine # [ 0.461249] pci 0000:00:07.0: BAR 1 [mem 0xfebd6000-0xfebd6fff]316machine # [ 0.462269] pci 0000:00:07.0: BAR 4 [mem 0xfe014000-0xfe017fff 64bit pref]317machine # [ 0.464227] pci 0000:00:08.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint318machine # [ 0.466248] pci 0000:00:08.0: BAR 1 [mem 0xfebd7000-0xfebd7fff]319machine # [ 0.467278] pci 0000:00:08.0: BAR 4 [mem 0xfe018000-0xfe01bfff 64bit pref]320machine # [ 0.469180] pci 0000:00:09.0: [1af4:105a] type 00 class 0x018000 conventional PCI endpoint321machine # [ 0.471140] pci 0000:00:09.0: BAR 1 [mem 0xfebd8000-0xfebd8fff]322machine # [ 0.472269] pci 0000:00:09.0: BAR 4 [mem 0xfe01c000-0xfe01ffff 64bit pref]323machine # [ 0.474180] pci 0000:00:0a.0: [1af4:1003] type 00 class 0x078000 conventional PCI endpoint324machine # [ 0.476691] pci 0000:00:0a.0: BAR 0 [io 0xc080-0xc0bf]325machine # [ 0.477239] pci 0000:00:0a.0: BAR 1 [mem 0xfebd9000-0xfebd9fff]326machine # [ 0.478269] pci 0000:00:0a.0: BAR 4 [mem 0xfe020000-0xfe023fff 64bit pref]327machine # [ 0.480183] pci 0000:00:0b.0: [1af4:1005] type 00 class 0x00ff00 conventional PCI endpoint328machine # [ 0.482238] pci 0000:00:0b.0: BAR 0 [io 0xc160-0xc17f]329machine # [ 0.483239] pci 0000:00:0b.0: BAR 1 [mem 0xfebda000-0xfebdafff]330machine # [ 0.484269] pci 0000:00:0b.0: BAR 4 [mem 0xfe024000-0xfe027fff 64bit pref]331machine # [ 0.486214] pci 0000:00:1d.0: [8086:2934] type 00 class 0x0c0300 conventional PCI endpoint332machine # [ 0.487935] pci 0000:00:1d.0: BAR 4 [io 0xc180-0xc19f]333machine # [ 0.488521] pci 0000:00:1d.1: [8086:2935] type 00 class 0x0c0300 conventional PCI endpoint334machine # [ 0.490075] pci 0000:00:1d.1: BAR 4 [io 0xc1a0-0xc1bf]335machine # [ 0.491462] pci 0000:00:1d.2: [8086:2936] type 00 class 0x0c0300 conventional PCI endpoint336machine # [ 0.493935] pci 0000:00:1d.2: BAR 4 [io 0xc1c0-0xc1df]337machine # [ 0.494551] pci 0000:00:1d.7: [8086:293a] type 00 class 0x0c0320 conventional PCI endpoint338machine # [ 0.495907] pci 0000:00:1d.7: BAR 0 [mem 0xfebdb000-0xfebdbfff]339machine # [ 0.496597] pci 0000:00:1f.0: [8086:2918] type 00 class 0x060100 conventional PCI endpoint340machine # [ 0.497762] pci 0000:00:1f.0: quirk: [io 0x0600-0x067f] claimed by ICH6 ACPI/GPIO/TCO341machine # [ 0.498609] pci 0000:00:1f.2: [8086:2922] type 00 class 0x010601 conventional PCI endpoint342machine # [ 0.500132] pci 0000:00:1f.2: BAR 4 [io 0xc1e0-0xc1ff]343machine # [ 0.501183] pci 0000:00:1f.2: BAR 5 [mem 0xfebdc000-0xfebdcfff]344machine # [ 0.502760] pci 0000:00:1f.3: [8086:2930] type 00 class 0x0c0500 conventional PCI endpoint345machine # [ 0.503904] pci 0000:00:1f.3: BAR 4 [io 0x0700-0x073f]346machine # [ 0.509183] ACPI: PCI: Interrupt link LNKA configured for IRQ 10347machine # [ 0.510360] ACPI: PCI: Interrupt link LNKB configured for IRQ 10348machine # [ 0.511364] ACPI: PCI: Interrupt link LNKC configured for IRQ 11349machine # [ 0.512355] ACPI: PCI: Interrupt link LNKD configured for IRQ 11350machine # [ 0.513364] ACPI: PCI: Interrupt link LNKE configured for IRQ 10351machine # [ 0.514355] ACPI: PCI: Interrupt link LNKF configured for IRQ 10352machine # [ 0.515364] ACPI: PCI: Interrupt link LNKG configured for IRQ 11353machine # [ 0.516355] ACPI: PCI: Interrupt link LNKH configured for IRQ 11354machine # [ 0.517279] ACPI: PCI: Interrupt link GSIA configured for IRQ 16355machine # [ 0.518244] ACPI: PCI: Interrupt link GSIB configured for IRQ 17356machine # [ 0.519245] ACPI: PCI: Interrupt link GSIC configured for IRQ 18357machine # [ 0.520244] ACPI: PCI: Interrupt link GSID configured for IRQ 19358machine # [ 0.521241] ACPI: PCI: Interrupt link GSIE configured for IRQ 20359machine # [ 0.522241] ACPI: PCI: Interrupt link GSIF configured for IRQ 21360machine # [ 0.523246] ACPI: PCI: Interrupt link GSIG configured for IRQ 22361machine # [ 0.524245] ACPI: PCI: Interrupt link GSIH configured for IRQ 23362machine # [ 0.526048] iommu: Default domain type: Translated363machine # [ 0.527102] iommu: DMA domain TLB invalidation policy: lazy mode364machine # [ 0.528441] ACPI: bus type USB registered365machine # [ 0.529294] usbcore: registered new interface driver usbfs366machine # [ 0.530243] usbcore: registered new interface driver hub367machine # [ 0.531240] usbcore: registered new device driver usb368machine # [ 0.532881] NetLabel: Initializing369machine # [ 0.533231] NetLabel: domain hash size = 128370machine # [ 0.534226] NetLabel: protocols = UNLABELED CIPSOv4 CALIPSO371machine # [ 0.535258] NetLabel: unlabeled traffic allowed by default372machine # [ 0.536238] PCI: Using ACPI for IRQ routing373machine # [ 0.620412] pci 0000:00:01.0: vgaarb: setting as boot VGA device374machine # [ 0.621222] pci 0000:00:01.0: vgaarb: bridge control possible375machine # [ 0.621222] pci 0000:00:01.0: vgaarb: VGA device added: decodes=io+mem,owns=io+mem,locks=none376machine # [ 0.621229] vgaarb: loaded377machine # [ 0.622076] hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0378machine # [ 0.623105] hpet0: 3 comparators, 64-bit 100.000000 MHz counter379machine # [ 0.628288] clocksource: Switched to clocksource kvm-clock380machine # [ 0.630205] VFS: Disk quotas dquot_6.6.0381machine # [ 0.632676] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)382machine # [ 0.634329] pnp: PnP ACPI init383machine # [ 0.635271] ACPI: IRQ 4 override to edge(!), high(!)384machine # [ 0.636557] system 00:04: [mem 0xb0000000-0xbfffffff window] has been reserved385machine # [ 0.638561] pnp: PnP ACPI: found 5 devices386machine # [ 0.646153] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff, max_idle_ns: 2085701024 ns387machine # [ 0.648107] clocksource: Switched to clocksource acpi_pm388machine # [ 0.649419] NET: Registered PF_INET protocol family389machine # [ 0.650711] IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)390machine # [ 0.665679] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)391machine # [ 0.667632] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)392machine # [ 0.669390] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)393machine # [ 0.671156] TCP bind hash table entries: 8192 (order: 6, 262144 bytes, linear)394machine # [ 0.672835] TCP: Hash tables configured (established 8192 bind 8192)395machine # [ 0.674298] MPTCP token hash table entries: 1024 (order: 3, 24576 bytes, linear)396machine # [ 0.676058] UDP hash table entries: 512 (order: 3, 32768 bytes, linear)397machine # [ 0.677587] UDP-Lite hash table entries: 512 (order: 3, 32768 bytes, linear)398machine # [ 0.679203] NET: Registered PF_UNIX/PF_LOCAL protocol family399machine # [ 0.680543] NET: Registered PF_XDP protocol family400machine # [ 0.681686] pci_bus 0000:00: resource 4 [io 0x0000-0x0cf7 window]401machine # [ 0.683078] pci_bus 0000:00: resource 5 [io 0x0d00-0xffff window]402machine # [ 0.684490] pci_bus 0000:00: resource 6 [mem 0x000a0000-0x000bffff window]403machine # [ 0.686019] pci_bus 0000:00: resource 7 [mem 0x40000000-0xafffffff window]404machine # [ 0.687533] pci_bus 0000:00: resource 8 [mem 0xc0000000-0xfebfffff window]405machine # [ 0.689068] pci_bus 0000:00: resource 9 [mem 0x100000000-0x8ffffffff window]406machine # [ 0.691211] ACPI: \_SB_.GSIA: Enabled at IRQ 16407machine # [ 0.693446] ACPI: \_SB_.GSIB: Enabled at IRQ 17408machine # [ 0.695619] ACPI: \_SB_.GSIC: Enabled at IRQ 18409machine # [ 0.697753] ACPI: \_SB_.GSID: Enabled at IRQ 19410machine # [ 0.699634] PCI: CLS 0 bytes, default 64411machine # [ 0.700763] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 0x6d5818a734c, max_idle_ns: 881590694765 ns412machine # [ 0.703010] Trying to unpack rootfs image as initramfs...413machine # [ 0.744666] Initialise system trusted keyrings414machine # [ 0.747383] workingset: timestamp_bits=40 max_order=18 bucket_order=0415machine # [ 0.766899] Key type asymmetric registered416machine # [ 0.767902] Asymmetric key parser 'x509' registered417machine # [ 0.771376] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)418machine # [ 0.776381] io scheduler mq-deadline registered419machine # [ 0.777463] io scheduler kyber registered420machine # [ 0.780798] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled421machine # [ 0.784542] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A422machine # [ 0.791476] Linux agpgart interface v0.103423machine # [ 0.792517] ACPI: bus type drm_connector registered424machine # [ 0.795725] usbcore: registered new interface driver usbserial_generic425machine # [ 0.797184] usbserial: USB Serial support registered for generic426machine # [ 0.802342] amd_pstate: the _CPC object is not present in SBIOS or ACPI disabled427machine # [ 0.804148] drop_monitor: Initializing network drop monitor service428machine # [ 0.808437] NET: Registered PF_INET6 protocol family429machine # [ 0.809973] Segment Routing with IPv6430machine # [ 0.813349] In-situ OAM (IOAM) with IPv6431machine # [ 0.814605] IPI shorthand broadcast: enabled432machine # [ 0.822792] sched_clock: Marking stable (630025685, 192302825)->(932879263, -110550753)433machine # [ 0.828422] registered taskstats version 1434machine # [ 0.829606] Loading compiled-in X.509 certificates435machine # [ 0.846339] Demotion targets for Node 0: null436machine # [ 0.849374] Key type .fscrypt registered437machine # [ 0.850331] Key type fscrypt-provisioning registered438machine # [ 0.853432] ima: No TPM chip found, activating TPM-bypass!439machine # [ 0.854685] ima: Allocated hash algorithm: sha1440machine # [ 0.859356] ima: No architecture policies found441machine # [ 0.860572] PM: Magic number: 14:566:853442machine # [ 0.864349] RAS: Correctable Errors collector initialized.443machine # [ 0.873133] clk: Disabling unused clocks444machine # [ 0.875340] PM: genpd: Disabling unused power domains445machine # [ 1.000097] Freeing initrd memory: 29608K446machine # [ 1.003265] Freeing unused decrypted memory: 2028K447machine # [ 1.006019] Freeing unused kernel image (initmem) memory: 3656K448machine # [ 1.007443] Write protecting the kernel read-only data: 32768k449machine # [ 1.009048] Freeing unused kernel image (text/rodata gap) memory: 304K450machine # [ 1.010843] Freeing unused kernel image (rodata/data gap) memory: 692K451machine # [ 1.052264] x86/mm: Checked W+X mappings: passed, no W+X pages found.452machine # [ 1.053754] Run /init as init process453machine # [ 1.063189] systemd[1]: Inserted module 'autofs4'454machine # [ 1.081612] fuse: init (API version 7.45)455machine # [ 1.088615] ACPI: \_SB_.GSIG: Enabled at IRQ 22456machine # [ 1.091489] ACPI: \_SB_.GSIH: Enabled at IRQ 23457machine # [ 1.095138] ACPI: \_SB_.GSIE: Enabled at IRQ 20458machine # [ 1.097784] ACPI: \_SB_.GSIF: Enabled at IRQ 21459machine # [ 1.103942] virtiofs virtio5: discovered new tag: nix-store460machine # [ 1.106246] virtiofs virtio5: virtio_fs_setup_dax: No cache capability461machine # [ 1.114628] virtiofs virtio6: discovered new tag: shared462machine # [ 1.116896] virtiofs virtio6: virtio_fs_setup_dax: No cache capability463machine # [ 1.120916] virtiofs virtio7: discovered new tag: xchg464machine # [ 1.123106] virtiofs virtio7: virtio_fs_setup_dax: No cache capability465machine # [ 1.144218] systemd[1]: Successfully made /usr/ read-only.466machine # [ 1.481188] systemd[1]: systemd 261.3 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)467machine # [ 1.490329] systemd[1]: Detected virtualization kvm.468machine # [ 1.491684] systemd[1]: Detected architecture x86-64.469machine # [ 1.492978] systemd[1]: Running in initrd.470machine # [ 1.494196] systemd[1]: Initializing machine ID from random generator.471machine # [ 1.495772] systemd[1]: Hostname set to <machine>.472machine # [ 1.561924] systemd[1]: bpf-restrict-fs: LSM BPF program attached473machine # [ 1.595766] systemd[1]: Queued start job for default target Initrd Default Target.474machine # [ 1.601076] systemd[1]: Created slice Slice /system/modprobe.475machine # [ 1.602665] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.476machine # [ 1.604518] systemd[1]: Expecting device /dev/disk/by-label/nixos...477machine # [ 1.606035] systemd[1]: Reached target Path Units.478machine # [ 1.607238] systemd[1]: Reached target Slice Units.479machine # [ 1.608479] systemd[1]: Reached target Swaps.480machine # [ 1.609596] systemd[1]: Reached target Timer Units.481machine # [ 1.610907] systemd[1]: Listening on D-Bus System Message Bus Socket.482machine # [ 1.612525] systemd[1]: Listening on Journal Socket (/dev/log).483machine # [ 1.614095] systemd[1]: Listening on Journal Sockets.484machine # [ 1.615480] systemd[1]: Listening on udev Control Socket.485machine # [ 1.616874] systemd[1]: Listening on udev Kernel Socket.486machine # [ 1.618173] systemd[1]: Reached target Socket Units.487machine # [ 1.620143] systemd[1]: Starting Create List of Static Device Nodes...488machine # [ 1.624663] systemd[1]: Starting Load Kernel Module configfs...489machine # [ 1.634841] systemd[1]: Starting Journal Service...490machine # [ 1.656465] systemd[1]: Starting Load Kernel Modules...491machine # [ 1.661414] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os492machine # [ 1.667028] systemd[1]: Starting Coldplug All udev Devices...493machine # [ 1.674680] systemd-journald[65]: Collecting audit messages is disabled.494machine # [ 1.685424] systemd[1]: Finished Create List of Static Device Nodes.495machine # [ 1.690902] systemd[1]: modprobe@configfs.service: Deactivated successfully.496machine # [ 1.700848] systemd[1]: Finished Load Kernel Module configfs.497machine # [ 1.707775] systemd[1]: Kernel Configuration File System skipped, unmet condition check ConditionPathExists=/sys/kernel/config498machine # [ 1.715885] device-mapper: core: CONFIG_IMA_DISABLE_HTABLE is disabled. Duplicate IMA measurements will not be recorded in the IMA log.499machine # [ 1.722022] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...500machine # [ 1.729432] device-mapper: ioctl: 4.50.0-ioctl (2025-04-28) initialised: dm-devel@lists.linux.dev501machine # [ 1.755403] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.502machine # [ 1.766517] systemd[1]: Starting Create Static Device Nodes in /dev...503machine # [ 1.778709] systemd[1]: Finished Load Kernel Modules.504machine # [ 1.787474] systemd[1]: Starting Apply Kernel Variables...505machine # [ 1.803383] systemd[1]: Finished Create Static Device Nodes in /dev.506machine # [ 1.810760] systemd[1]: Reached target Preparation for Local File Systems.507machine # [ 1.817403] systemd[1]: Reached target Local File Systems.508machine # [ 1.823475] systemd[1]: Starting Rule-based Manager for Device Events and Files...509machine # [ 1.835501] systemd[1]: Started Journal Service.510machine # [ 1.644395] systemd-modules-load[67]: Inserted module 'dm_mod'511machine # [ 1.646181] systemd-modules-load[67]: Inserted module 'virtio_balloon'512machine # [ 1.648354] systemd-modules-load[67]: Inserted module 'virtio_gpu'513machine # [ 1.654527] systemd[1]: Finished Apply Kernel Variables.514machine # [ 1.670081] systemd[1]: Starting Create System Files and Directories...515machine # [ 1.692440] systemd-udevd[73]: Using default interface naming scheme 'v261'.516machine # [ 1.697080] systemd[1]: Finished Create System Files and Directories.517machine # [ 1.720608] systemd[1]: Started Rule-based Manager for Device Events and Files.518machine # [ 1.749695] systemd[1]: Finished Coldplug All udev Devices.519machine # [ 1.750869] systemd[1]: Reached target System Initialization.520machine # [ 1.753167] systemd[1]: Reached target Basic System.521machine # [ 2.173160] virtio_blk virtio2: 1/0/0 default/read/poll queues522machine # [ 2.181753] virtio_blk virtio2: [vda] 2097152 512-byte logical blocks (1.07 GB/1.00 GiB)523machine # [ 2.187535] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f13:MOU] at 0x60,0x64 irq 1,12524machine # [ 2.198457] serio: i8042 KBD port at 0x60,0x64 irq 1525machine # [ 2.201449] uhci_hcd 0000:00:1d.0: UHCI Host Controller526machine # [ 2.207018] serio: i8042 AUX port at 0x60,0x64 irq 12527machine # [ 2.211752] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1528machine # [ 2.220419] uhci_hcd 0000:00:1d.0: detected 2 ports529machine # [ 2.227017] uhci_hcd 0000:00:1d.0: irq 16, io port 0x0000c180530machine # [ 2.233690] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18531machine # [ 2.239910] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1532machine # [ 2.244054] SCSI subsystem initialized533machine # [ 2.246783] usb usb1: Product: UHCI Host Controller534machine # [ 2.250728] usb usb1: Manufacturer: Linux 6.18.55 uhci_hcd535machine # [ 2.254864] usb usb1: SerialNumber: 0000:00:1d.0536machine # [ 2.259800] hub 1-0:1.0: USB hub found537machine # [ 2.263328] hub 1-0:1.0: 2 ports detected538machine # [ 2.268793] ehci-pci 0000:00:1d.7: EHCI Host Controller539machine # [ 2.269760] ehci-pci 0000:00:1d.7: new USB bus registered, assigned bus number 2540machine # [ 2.272031] ehci-pci 0000:00:1d.7: irq 19, io mem 0xfebdb000541machine # [ 2.084146] (udev-worker)[91]: Network interface NamePolicy= disabled on kernel command line.542machine # [ 2.086076] systemd[1]: Starting Virtual Console Setup...543machine # [ 2.281341] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00544machine # [ 2.283762] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.18545machine # [ 2.285181] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1546machine # [ 2.294331] usb usb2: Product: EHCI Host Controller547machine # [ 2.295191] usb usb2: Manufacturer: Linux 6.18.55 ehci_hcd548machine # [ 2.298317] usb usb2: SerialNumber: 0000:00:1d.7549machine # [ 2.301477] hub 2-0:1.0: USB hub found550machine # [ 2.304320] hub 2-0:1.0: 6 ports detected551machine # [ 2.114842] (udev-worker)[89]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.552machine # [ 2.120452] (udev-worker)[89]: Network interface NamePolicy= disabled on kernel command line.553machine # [ 2.129238] systemd-vconsole-setup[96]: Configuration of first virtual console was skipped, ignoring remaining ones.554machine # [ 2.134820] systemd[1]: Finished Virtual Console Setup.555machine # [ 2.331856] hub 1-0:1.0: USB hub found556machine # [ 2.334332] hub 1-0:1.0: 2 ports detected557machine # [ 2.340423] uhci_hcd 0000:00:1d.1: UHCI Host Controller558machine # [ 2.341381] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 3559machine # [ 2.355256] uhci_hcd 0000:00:1d.1: detected 2 ports560machine # [ 2.356587] uhci_hcd 0000:00:1d.1: irq 17, io port 0x0000c1a0561machine # [ 2.174083] systemd[1]: Found device /dev/disk/by-label/nixos.562machine # [ 2.175279] systemd[1]: Reached target Initrd Root Device.563machine # [ 2.368693] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18564machine # [ 2.370120] usb usb3: New USB device strings: Mfr=3, Product=2, SerialNumber=1565machine # [ 2.179940] systemd[1]: Starting File System Check on /dev/disk/by-label/nixos...566machine # [ 2.376129] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input0567machine # [ 2.390654] usb usb3: Product: UHCI Host Controller568machine # [ 2.397270] usb usb3: Manufacturer: Linux 6.18.55 uhci_hcd569machine # [ 2.398627] usb usb3: SerialNumber: 0000:00:1d.1570machine # [ 2.208314] systemd-fsck[104]: nixos: clean, 12/65536 files, 13019/262144 blocks571machine # [ 2.403587] hub 3-0:1.0: USB hub found572machine # [ 2.404788] hub 3-0:1.0: 2 ports detected573machine # [ 2.410525] uhci_hcd 0000:00:1d.2: UHCI Host Controller574machine # [ 2.411487] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 4575machine # [ 2.415322] uhci_hcd 0000:00:1d.2: detected 2 ports576machine # [ 2.417825] uhci_hcd 0000:00:1d.2: irq 18, io port 0x0000c1c0577machine # [ 2.233544] systemd[1]: Finished File System Check on /dev/disk/by-label/nixos.578machine # [ 2.427486] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 6.18579machine # [ 2.429744] usb usb4: New USB device strings: Mfr=3, Product=2, SerialNumber=1580machine # [ 2.434364] usb usb4: Product: UHCI Host Controller581machine # [ 2.436419] usb usb4: Manufacturer: Linux 6.18.55 uhci_hcd582machine # [ 2.438352] usb usb4: SerialNumber: 0000:00:1d.2583machine # [ 2.441181] hub 4-0:1.0: USB hub found584machine # [ 2.442998] ahci 0000:00:1f.2: AHCI vers 0001.0000, 32 command slots, 1.5 Gbps, SATA mode585machine # [ 2.444956] hub 4-0:1.0: 2 ports detected586machine # [ 2.456954] ahci 0000:00:1f.2: 6/6 ports implemented (port mask 0x3f)587machine # [ 2.462730] ahci 0000:00:1f.2: flags: 64bit ncq only588machine # [ 2.476379] scsi host0: ahci589machine # [ 2.479126] scsi host1: ahci590machine # [ 2.479929] scsi host2: ahci591machine # [ 2.484722] scsi host3: ahci592machine # [ 2.489030] scsi host4: ahci593machine # [ 2.492067] scsi host5: ahci594machine # [ 2.493566] ata1: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc100 irq 47 lpm-pol 1595machine # [ 2.497510] ata2: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc180 irq 47 lpm-pol 1596machine # [ 2.499921] ata3: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc200 irq 47 lpm-pol 1597machine # [ 2.501437] ata4: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc280 irq 47 lpm-pol 1598machine # [ 2.502981] ata5: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc300 irq 47 lpm-pol 1599machine # [ 2.504523] ata6: SATA max UDMA/133 abar m4096@0xfebdc000 port 0xfebdc380 irq 47 lpm-pol 1600machine # [ 2.548363] usb 2-1: new high-speed USB device number 2 using ehci-pci601machine # [ 2.677624] usb 2-1: New USB device found, idVendor=0627, idProduct=0001, bcdDevice= 0.00602machine # [ 2.679665] usb 2-1: New USB device strings: Mfr=1, Product=3, SerialNumber=10603machine # [ 2.681920] usb 2-1: Product: QEMU USB Tablet604machine # [ 2.684324] usb 2-1: Manufacturer: QEMU605machine # [ 2.494255] systemd[1]: Mounting /sysroot...606machine # [ 2.688322] usb 2-1: SerialNumber: 28754-0000:00:1d.7-1607machine # [ 2.715368] hid: raw HID events driver (C) Jiri Kosina608machine # [ 2.820583] ata3: SATA link up 1.5 Gbps (SStatus 113 SControl 300)609machine # [ 2.822355] ata3.00: ATAPI: QEMU DVD-ROM, 2.5+, max UDMA/100610machine # [ 2.824072] ata3.00: applying bridge limits611machine # [ 2.825677] ata2: SATA link down (SStatus 0 SControl 300)612machine # [ 2.827551] ata4: SATA link down (SStatus 0 SControl 300)613machine # [ 2.829163] ata6: SATA link down (SStatus 0 SControl 300)614machine # [ 2.830856] ata5: SATA link down (SStatus 0 SControl 300)615machine # [ 2.832329] ata1: SATA link down (SStatus 0 SControl 300)616machine # [ 2.833583] ata3.00: configured for UDMA/100617machine # [ 2.834900] scsi 2:0:0:0: CD-ROM QEMU QEMU DVD-ROM 2.5+ PQ: 0 ANSI: 5618machine # [ 2.893399] usbcore: registered new interface driver usbhid619machine # [ 2.899299] usbhid: USB HID core driver620machine # [ 2.920722] input: QEMU QEMU USB Tablet as /devices/pci0000:00/0000:00:1d.7/usb2/2-1/2-1:1.0/0003:0627:0001.0001/input/input2621machine # [ 2.922814] hid-generic 0003:0627:0001.0001: input,hidraw0: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb-0000:00:1d.7-1/input0622machine # [ 2.928625] sr 2:0:0:0: [sr0] scsi3-mmc drive: 4x/4x cd/rw xa/form2 tray623machine # [ 2.939517] cdrom: Uniform CD-ROM driver Revision: 3.20624machine # [ 2.943139] EXT4-fs (vda): mounted filesystem e3979e8f-9b8d-4900-874a-ecd757464d50 r/w with ordered data mode. Quota mode: none.625machine # [ 2.757898] systemd[1]: Mounted /sysroot.626machine # [ 2.760189] systemd[1]: Reached target Initrd Root File System.627machine # [ 2.762214] systemd[1]: Starting Mountpoints Configured in the Real Root...628machine # [ 2.776165] systemd-sysroot-fstab-check[138]: /sysroot should be mounted in the initrd, will request daemon-reload.629machine # [ 2.779851] systemd[1]: Reload requested from client PID 138 ('systemd-sysroot') (unit initrd-parse-etc.service)...630machine # [ 2.782174] systemd[1]: Reloading...631machine # [ 2.860341] systemd[1]: Reloading finished in 76 ms.632machine # [ 2.869340] systemd-sysroot-fstab-check[138]: Requesting initrd-fs.target/start/replace...633machine # [ 2.872266] systemd-sysroot-fstab-check[138]: Requesting swap.target/start/replace...634machine # [ 2.877820] systemd[1]: initrd-parse-etc.service: Deactivated successfully.635machine # [ 2.879708] systemd[1]: Finished Mountpoints Configured in the Real Root.636machine # [ 2.881205] systemd[1]: initrd-parse-etc.service: Triggering OnSuccess= dependencies.637machine # [ 3.494298] systemd[1]: Mounting /sysroot/nix/.ro-store...638machine # [ 3.498112] systemd[1]: Mounting /sysroot/nix/.rw-store...639machine # [ 3.503088] systemd[1]: Mounting /sysroot/run...640machine # [ 3.509074] systemd[1]: Mounting /sysroot/tmp/shared...641machine # [ 3.512147] systemd[1]: Mounting /sysroot/tmp/xchg...642machine # [ 3.528729] systemd[1]: Mounted /sysroot/nix/.ro-store.643machine # [ 3.536084] systemd[1]: Mounted /sysroot/nix/.rw-store.644machine # [ 3.537210] systemd[1]: Mounted /sysroot/run.645machine # [ 3.544738] systemd[1]: Starting rw-sysroot-nix-store.service...646machine # [ 3.547742] systemd[1]: Mounted /sysroot/tmp/shared.647machine # [ 3.549160] systemd[1]: Mounted /sysroot/tmp/xchg.648machine # [ 3.557456] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.649machine # [ 3.559574] systemd[1]: Finished rw-sysroot-nix-store.service.650machine # [ 3.562201] systemd[1]: Mounting /sysroot/nix/store...651machine # [ 3.582504] systemd[1]: Mounted /sysroot/nix/store.652machine # [ 3.583785] systemd[1]: Reached target Initrd File Systems.653machine # [ 3.586085] systemd[1]: Starting Find NixOS closure...654machine # [ 3.588377] systemd[1]: Starting Create Volatile Files and Directories in the Real Root...655machine # [ 3.604274] systemd[1]: Finished Create Volatile Files and Directories in the Real Root.656machine # [ 3.611138] systemd[1]: Finished Find NixOS closure.657machine # [ 3.613224] systemd[1]: Reached target Initrd Default Target.658machine # [ 3.615047] systemd[1]: Starting Cleaning Up and Shutting Down Daemons...659machine # [ 3.628053] systemd[1]: Stopped target Initrd Default Target.660machine # [ 3.629515] systemd[1]: Stopped target Basic System.661machine # [ 3.630821] systemd[1]: Stopped target Initrd Root Device.662machine # [ 3.633156] systemd[1]: Stopped target Path Units.663machine # [ 3.634191] systemd[1]: systemd-ask-password-console.path: Deactivated successfully.664machine # [ 3.635650] systemd[1]: Stopped Dispatch Password Requests to Console Directory Watch.665machine # [ 3.637269] systemd[1]: Stopped target Slice Units.666machine # [ 3.638340] systemd[1]: Stopped target Socket Units.667machine # [ 3.639559] systemd[1]: Stopped target System Initialization.668machine # [ 3.641212] systemd[1]: Stopped target Swaps.669machine # [ 3.643037] systemd[1]: Stopped target Timer Units.670machine # [ 3.644167] systemd[1]: dbus.socket: Deactivated successfully.671machine # [ 3.645353] systemd[1]: Closed D-Bus System Message Bus Socket.672machine # [ 3.646761] systemd[1]: initrd-find-nixos-closure.service: Deactivated successfully.673machine # [ 3.649178] systemd[1]: Stopped Find NixOS closure.674machine # [ 3.650219] systemd[1]: Starting rw-sysroot-nix-store.service...675machine # [ 3.651447] systemd[1]: systemd-sysctl.service: Deactivated successfully.676machine # [ 3.652967] systemd[1]: Stopped Apply Kernel Variables.677machine # [ 3.654371] systemd[1]: systemd-modules-load.service: Deactivated successfully.678machine # [ 3.656234] systemd[1]: Stopped Load Kernel Modules.679machine # [ 3.658186] systemd[1]: systemd-tmpfiles-setup-sysroot.service: Deactivated successfully.680machine # [ 3.659718] systemd[1]: Stopped Create Volatile Files and Directories in the Real Root.681machine # [ 3.661316] systemd[1]: systemd-tmpfiles-setup.service: Deactivated successfully.682machine # [ 3.662953] systemd[1]: Stopped Create System Files and Directories.683machine # [ 3.664971] systemd[1]: Stopped target Local File Systems.684machine # [ 3.666220] systemd[1]: Stopped target Preparation for Local File Systems.685machine # [ 3.667969] systemd[1]: systemd-udev-trigger.service: Deactivated successfully.686machine # [ 3.670516] systemd[1]: Stopped Coldplug All udev Devices.687machine # [ 3.671772] systemd[1]: Stopping Rule-based Manager for Device Events and Files...688machine # [ 3.673734] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.689machine # [ 3.676743] systemd[1]: Stopped Virtual Console Setup.690machine # [ 3.684311] systemd[1]: initrd-cleanup.service: Deactivated successfully.691machine # [ 3.686111] systemd[1]: Finished Cleaning Up and Shutting Down Daemons.692machine # [ 3.690552] systemd[1]: systemd-udevd.service: Deactivated successfully.693machine # [ 3.692520] systemd[1]: Stopped Rule-based Manager for Device Events and Files.694machine # [ 3.694511] systemd[1]: rw-sysroot-nix-store.service: Deactivated successfully.695machine # [ 3.696504] systemd[1]: Finished rw-sysroot-nix-store.service.696machine # [ 3.699090] systemd[1]: systemd-udevd-control.socket: Deactivated successfully.697machine # [ 3.700502] systemd[1]: Closed udev Control Socket.698machine # [ 3.703086] systemd[1]: Starting Cleanup udev Database...699machine # [ 3.704225] systemd[1]: systemd-tmpfiles-setup-dev.service: Deactivated successfully.700machine # [ 3.705750] systemd[1]: Stopped Create Static Device Nodes in /dev.701machine # [ 3.707062] systemd[1]: systemd-tmpfiles-setup-dev-early.service: Deactivated successfully.702machine # [ 3.709169] systemd[1]: Stopped Create Static Device Nodes in /dev gracefully.703machine # [ 3.710551] systemd[1]: kmod-static-nodes.service: Deactivated successfully.704machine # [ 3.711879] systemd[1]: Stopped Create List of Static Device Nodes.705machine # [ 3.723864] systemd[1]: initrd-udevadm-cleanup-db.service: Deactivated successfully.706machine # [ 3.725938] systemd[1]: Finished Cleanup udev Database.707machine # [ 3.727713] systemd[1]: Reached target Switch Root.708machine # [ 3.729734] systemd[1]: Starting NixOS Activation...709machine # [ 3.785070] initrd-nixos-activation-start[190]: booting system configuration /nix/store/4cr3n2fzyck954bayr6wq8yvikgfzzwm-nixos-system-machine-test710machine # [ 3.808986] initrd-nixos-activation-start[190]: running activation script...711machine # [ 3.974121] initrd-nixos-activation-start[213]: setting up /etc...712machine # [ 4.072855] systemd[1]: initrd-nixos-activation.service: Deactivated successfully.713machine # [ 4.075100] systemd[1]: Finished NixOS Activation.714machine # [ 4.077255] systemd[1]: Starting Switch Root...715machine # [ 4.088847] systemd[1]: Switching root.716machine # [ 4.408486] systemd-journald[65]: Received SIGTERM from PID 1 (systemd).717machine # [ 4.662219] NET: Registered PF_VSOCK protocol family718machine # [ 5.020899] systemd[1]: systemd 261.3 running in system mode (+PAM +AUDIT -SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK -BTF -XKBCOMMON +UTMP +LIBARCHIVE)719machine # [ 5.027684] systemd[1]: Detected virtualization kvm.720machine # [ 5.028871] systemd[1]: Detected architecture x86-64.721machine # [ 5.030009] systemd[1]: Detected first boot.722machine # [ 5.031963] systemd[1]: Initializing machine ID from random generator.723machine # [ 5.133485] systemd[1]: bpf-restrict-fs: LSM BPF program attached724machine # [ 5.200665] systemd[1]: Applying preset policy.725machine # [ 5.357677] systemd[1]: Populated /etc with preset unit settings.726machine # [ 5.549047] systemd[1]: initrd-switch-root.service: Deactivated successfully.727machine # [ 5.550825] systemd[1]: Stopped initrd-switch-root.service.728machine # [ 5.553499] systemd[1]: systemd-journald.service: Scheduled restart job, restart counter is at 1.729machine # [ 5.555877] systemd[1]: Created slice Slice /system/getty.730machine # [ 5.557509] systemd[1]: Created slice User and Session Slice.731machine # [ 5.558709] systemd[1]: Started Dispatch Password Requests to Console Directory Watch.732machine # [ 5.560305] systemd[1]: Started Forward Password Requests to Wall Directory Watch.733machine # [ 5.561693] systemd[1]: Expecting device /dev/hvc0...734machine # [ 5.562636] systemd[1]: Expecting device /dev/ttyS0...735machine # [ 5.563634] systemd[1]: Reached target Local Encrypted Volumes.736machine # [ 5.564700] systemd[1]: Stopped target initrd-fs.target.737machine # [ 5.565683] systemd[1]: Stopped target initrd-root-fs.target.738machine # [ 5.566732] systemd[1]: Stopped target initrd-switch-root.target.739machine # [ 5.567913] systemd[1]: Reached target Virtual Machines and Containers.740machine # [ 5.569147] systemd[1]: Reached target Path Units.741machine # [ 5.570122] systemd[1]: Reached target Remote File Systems.742machine # [ 5.581319] systemd[1]: Reached target Slice Units.743machine # [ 5.582313] systemd[1]: Reached target Swaps.744machine # [ 5.584345] systemd[1]: Listening on Query the User Interactively for a Password.745machine # [ 5.587021] systemd[1]: Listening on Process Core Dump Socket.746machine # [ 5.589084] systemd[1]: Listening on Credential Encryption/Decryption.747machine # [ 5.591298] systemd[1]: Listening on Factory Reset Management.748machine # [ 5.592513] systemd[1]: Listening on Hostname Service Socket.749machine # [ 5.595451] systemd[1]: Starting Journal Log Access Socket...750machine # [ 5.596830] systemd[1]: Listening on Journal Audit Socket.751machine # [ 5.599549] systemd[1]: Listening on Console Output Muting Service Socket.752machine # [ 5.600959] systemd[1]: Listening on Userspace Out-Of-Memory (OOM) Killer Socket.753machine # [ 5.602392] systemd[1]: TPM PCR Measurements skipped, unmet condition check ConditionSecurity=measured-os754machine # [ 5.604077] systemd[1]: Make TPM PCR Policy skipped, unmet condition check ConditionSecurity=measured-uki755machine # [ 5.608496] systemd[1]: Listening on Disk Repartitioning Service Socket.756machine # [ 5.609826] systemd[1]: Listening on udev Control Socket.757machine # [ 5.610960] systemd[1]: Listening on udev Varlink Socket.758machine # [ 5.613206] systemd[1]: Mounting Huge Pages File System...759machine # [ 5.615580] systemd[1]: Mounting POSIX Message Queue File System...760machine # [ 5.622538] systemd[1]: Mounting Kernel Debug File System...761machine # [ 5.629072] systemd[1]: Mounting Kernel Trace File System...762machine # [ 5.639144] systemd[1]: Starting Create List of Static Device Nodes...763machine # [ 5.654386] systemd[1]: Starting Load Kernel Module configfs...764machine # [ 5.664358] systemd[1]: Load Kernel Module drm skipped, unmet condition check ConditionKernelModuleLoaded=!drm765machine # [ 5.676307] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore766machine # [ 5.679070] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse767machine # [ 5.685062] systemd[1]: Mounting FUSE Control File System...768machine # [ 5.690368] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67769machine # [ 5.699154] systemd[1]: Starting Journal Service...770machine # [ 5.703606] systemd[1]: Starting Load Kernel Modules...771machine # [ 5.716788] systemd[1]: Starting Userspace Out-Of-Memory (OOM) Killer...772machine # [ 5.726867] systemd[1]: Starting Remount Root and Kernel File Systems...773machine # [ 5.730403] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os774machine # [ 5.743380] systemd[1]: Starting Coldplug All udev Devices...775machine # [ 5.746079] systemd-journald[283]: Collecting audit messages is enabled.776machine # [ 5.755649] systemd[1]: Listening on Journal Log Access Socket.777machine # [ 5.765539] systemd[1]: Mounted Huge Pages File System.778machine # [ 5.769914] systemd[1]: Mounted POSIX Message Queue File System.779machine # [ 5.581647] systemd[1]: Queued start job for default target Multi-User System.780machine # [ 5.775409] systemd[1]: Started Journal Service.781machine # [ 5.584508] systemd[1]: systemd-journald.service: Deactivated successfully.782machine # [ 5.596160] systemd[1]: Mounted Kernel Debug File System.783machine # [ 5.597598] systemd[1]: Mounted Kernel Trace File System.784machine # [ 5.604532] systemd[1]: Finished Create List of Static Device Nodes.785machine # [ 5.607374] systemd[1]: modprobe@configfs.service: Deactivated successfully.786machine # [ 5.801605] loop: module loaded787machine # [ 5.613083] systemd[1]: Finished Load Kernel Module configfs.788machine # [ 5.614543] systemd[1]: Mounted FUSE Control File System.789machine # [ 5.616392] systemd-modules-load[284]: Inserted module 'loop'790machine # [ 5.626103] systemd[1]: Finished Load Kernel Modules.791machine # [ 5.830295] EXT4-fs (vda): re-mounted e3979e8f-9b8d-4900-874a-ecd757464d50.792machine # [ 5.642253] systemd[1]: Mounting Kernel Configuration File System...793machine # [ 5.647101] systemd[1]: Starting Firewall...794machine # [ 5.651435] systemd[1]: Starting Apply Kernel Variables...795machine # [ 5.658109] systemd[1]: Starting Create Static Device Nodes in /dev gracefully...796machine # [ 5.665172] systemd-oomd[285]: No swap; memory pressure usage will be degraded797machine # [ 5.672846] systemd[1]: Finished Remount Root and Kernel File Systems.798machine # [ 5.676110] systemd[1]: Started Userspace Out-Of-Memory (OOM) Killer.799machine # [ 5.688284] systemd[1]: Listening on Disk Image Download Service Socket.800machine # [ 5.701289] systemd[1]: Starting Flush Journal to Persistent Storage...801machine # [ 5.702632] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore802machine # [ 5.707780] systemd[1]: Starting Load/Save OS Random Seed...803machine # [ 5.708959] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os804machine # [ 5.947052] systemd-journald[283]: Received client request to flush runtime journal.805machine # [ 5.940397] systemd[1]: Mounted Kernel Configuration File System.806machine # [ 5.943721] systemd[1]: Finished Apply Kernel Variables.807machine # [ 5.945591] systemd[1]: Finished Load/Save OS Random Seed.808machine # [ 5.947639] systemd[1]: Reached target First Boot Complete.809machine # [ 5.948810] systemd[1]: Finished Create Static Device Nodes in /dev gracefully.810machine # [ 5.951232] systemd[1]: Starting Create Static Device Nodes in /dev...811machine # [ 5.954169] systemd[1]: Finished Flush Journal to Persistent Storage.812machine # [ 5.955680] systemd[1]: Finished Coldplug All udev Devices.813machine # [ 5.975985] systemd[1]: Finished Create Static Device Nodes in /dev.814machine # [ 5.978214] systemd[1]: Reached target Preparation for Local File Systems.815machine # [ 5.980635] systemd[1]: Starting Rule-based Manager for Device Events and Files...816machine # [ 6.017901] systemd-udevd[328]: Using default interface naming scheme 'v261'.817machine # [ 6.066088] systemd[1]: Started Rule-based Manager for Device Events and Files.818machine # [ 6.191800] systemd[1]: Load Kernel Module fuse skipped, unmet condition check ConditionKernelModuleLoaded=!fuse819machine # [ 6.286152] systemd[1]: Condition check resulted in /dev/hvc0 being skipped.820machine # [ 6.305333] systemd[1]: Condition check resulted in /dev/ttyS0 being skipped.821machine # [ 6.329337] (udev-worker)[355]: Network interface NamePolicy= disabled on kernel command line.822machine # [ 6.335108] (udev-worker)[358]: eth1: Config file /etc/systemd/network/40-eth1.link is applied to device based on potentially unpredictable interface name.823machine # [ 6.338446] (udev-worker)[358]: Network interface NamePolicy= disabled on kernel command line.824machine # [ 6.364134] systemd[1]: Mounting /run/wrappers...825machine # [ 6.395618] systemd[1]: Mounted /run/wrappers.826machine # [ 6.396611] systemd[1]: Reached target Local File Systems.827machine # [ 6.400101] systemd[1]: Listening on Boot Loader Control Service Socket.828machine # [ 6.405475] systemd[1]: Starting register-nix-paths.service...829machine # [ 6.411115] systemd[1]: Starting Create SUID/SGID Wrappers...830machine # [ 6.412313] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.831machine # [ 6.424954] systemd[1]: Starting Save Transient machine-id to Disk...832machine # [ 6.438957] systemd[1]: Starting Create System Files and Directories...833machine # [ 6.521585] systemd[1]: etc-machine\x2did.mount: Deactivated successfully.834machine # [ 6.529188] systemd[1]: Finished Save Transient machine-id to Disk.835machine # [ 6.557631] systemd[1]: Finished Create System Files and Directories.836machine # [ 6.563121] systemd[1]: Condition check resulted in Virtio network device being skipped.837machine # [ 6.566081] systemd[1]: Load Kernel Module efi_pstore skipped, unmet condition check ConditionKernelModuleLoaded=!efi_pstore838machine # [ 6.569243] systemd[1]: Update Boot Loader Random Seed skipped, no trigger condition checks were met.839machine # [ 6.573539] systemd[1]: Clear Stale Hibernate Storage Info skipped, unmet condition check ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67840machine # [ 6.579575] systemd[1]: Starting Rebuild Journal Catalog...841machine # [ 6.580753] systemd[1]: Platform Persistent Storage Archival skipped, unmet condition check ConditionDirectoryNotEmpty=/sys/fs/pstore842machine # [ 6.582814] systemd[1]: Early TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os843machine # [ 6.584514] systemd[1]: TPM SRK Setup skipped, unmet condition check ConditionSecurity=measured-os844machine # [ 6.590569] systemd[1]: Starting Record System Boot/Shutdown in UTMP...845machine # [ 6.679644] systemd[1]: Finished Record System Boot/Shutdown in UTMP.846machine # [ 6.701155] systemd[1]: Finished Rebuild Journal Catalog.847machine # [ 6.706606] systemd[1]: Starting Update is Completed...848machine # [ 6.763741] systemd[1]: Finished Update is Completed.849machine # [ 7.050153] bochs-drm 0000:00:01.0: vgaarb: deactivate vga console850machine # [ 7.063362] input: Power Button as /devices/LNXSYSTM:00/LNXPWRBN:00/input/input3851machine # [ 6.882559] systemd[1]: Finished Firewall.852machine # [ 6.985063] systemd[1]: suid-sgid-wrappers.service: Deactivated successfully.853machine # [ 6.990160] systemd[1]: Finished Create SUID/SGID Wrappers.854machine # [ 7.103993] mousedev: PS/2 mouse device common for all mice855machine # [ 7.104435] input: QEMU Virtio Keyboard as /devices/pci0000:00/0000:00:06.0/virtio4/input/input4856machine # [ 7.104894] ACPI: button: Power Button [PWRF]857machine # [ 7.189744] Console: switching to colour dummy device 80x25858machine # [ 7.194760] rtc_cmos PNP0B00:00: RTC can wake from S4859machine # [ 7.203943] rtc_cmos PNP0B00:00: registered as rtc0860machine # [ 7.204040] rtc_cmos PNP0B00:00: setting system clock to 2026-10-07T21:48:37 UTC (1791409717)861machine # [ 7.204133] rtc_cmos PNP0B00:00: alarms up to one day, y3k, 242 bytes nvram, hpet irqs862machine # [ 7.204430] systemd-journald[283]: Time jumped backwards, rotating.863machine # [ 7.118082] systemd[1]: Finished register-nix-paths.service.864machine # [ 7.121097] systemd[1]: Reached target System Initialization.865machine # [ 7.123076] systemd[1]: Started Discard unused filesystem blocks once a week.866machine # [ 7.124570] systemd[1]: Started Daily Cleanup of Temporary Directories.867machine # [ 7.127176] systemd[1]: Reached target Timer Units.868machine # [ 7.128221] systemd[1]: Listening on D-Bus System Message Bus Socket.869machine # [ 7.129852] systemd[1]: Listening on Nix Daemon Socket.870machine # [ 7.132599] systemd[1]: Listening on Virtual Machine and Container Registration Service Socket.871machine # [ 7.134171] systemd[1]: Reached target Socket Units.872machine # [ 7.137059] systemd[1]: Reached target Basic System.873machine # [ 7.138157] systemd[1]: Started backdoor.service.874machine # [ 7.140172] systemd[1]: Starting Import lastlog data into lastlog2 database...875machine # [ 7.154099] systemd[1]: Starting Name Service Cache Daemon (nsncd)...876machine # [ 7.215744] parport_pc 00:02: reported by Plug and Play ACPI877machine # [ 7.215836] parport0: PC-style at 0x378, irq 7 [PCSPP(,...)]878machine # [ 7.239790] lpc_ich 0000:00:1f.0: I/O space for GPIO uninitialized879machine # [ 7.177430] systemd[1]: Starting Post-Boot Actions...880machine # [ 7.185205] systemd[1]: Started Reset console on configuration changes.881machine # [ 7.196511] systemd[1]: Starting resolvconf update...882machine # [ 7.399894] i801_smbus 0000:00:1f.3: SMBus using PCI interrupt883machine # [ 7.400005] i2c i2c-0: Memory type 0x07 not supported yet, not instantiating SPD884machine # [ 7.227286] nsncd[508]: Oct 07 21:48:37.715 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"885machine # [ 7.233207] systemd[1]: Starting D-Bus System Message Bus...886machine # [ 7.234430] systemd[1]: Started Name Service Cache Daemon (nsncd).887machine # [ 7.247920] systemd[1]: Reached target Host and Network Name Lookups.888machine # connecting to host...889machine # [ 7.254655] systemd[1]: Reached target User and Group Name Lookups.890machine # [ 7.466347] [drm] Found bochs VGA, ID 0xb0c5.891machine # [ 7.466349] [drm] Framebuffer size 16384 kB @ 0xfd000000, mmio @ 0xfebd0000.892machine # [ 7.278496] systemd[1]: Starting User Login Management...893machine: Guest shell says: b'Spawning backdoor root shell...\n'894machine # [ 7.285303] systemd[1]: Finished Post-Boot Actions.895machine: connected to guest root shell896machine # [ 7.479489] bochs-drm 0000:00:01.0: [drm] Registered 1 planes with drm panic897machine: (connecting took 8.03 seconds)898machine # [ 7.480356] [drm] Initialized bochs-drm 1.0.0 for 0000:00:01.0 on minor 0899machine: (finished: waiting for the VM to finish booting, in 8.19 seconds)900machine # [ 7.358281] systemd[1]: Finished Import lastlog data into lastlog2 database.901machine # [ 7.582350] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input6902machine # [ 7.587653] input: VirtualPS/2 VMware VMMouse as /devices/platform/i8042/serio1/input/input5903machine # [ 7.447765] dbus-broker-launch[516]: Looking up NSS user entry for 'systemd-timesync'...904machine # [ 7.664325] Console: switching to colour frame buffer device 160x50905machine # [ 7.694258] bochs-drm 0000:00:01.0: [drm] fb0: bochs-drmdrmfb frame buffer device906machine # [ 7.486374] dbus-broker-launch[516]: NSS returned no entry for 'systemd-timesync'907machine # [ 7.504934] dbus-broker-launch[516]: Invalid user-name in /nix/store/35gcckb6qvnp6qggm7q4j06lmfvadfwj-system-path/share/dbus-1/system.d/org.freedesktop.timesync1.conf +16: user="systemd-timesync"908machine # [ 7.507764] systemd[1]: Stopped target Host and Network Name Lookups.909machine # [ 7.509411] systemd[1]: Stopping Host and Network Name Lookups...910machine # [ 7.513236] systemd[1]: Stopped target User and Group Name Lookups.911machine # [ 7.514891] systemd[1]: Stopping User and Group Name Lookups...912machine # [ 7.516174] systemd[1]: Stopping Name Service Cache Daemon (nsncd)...913machine # [ 7.518561] systemd[1]: Starting Virtual Console Setup...914machine # [ 7.522164] systemd[1]: nscd.service: Deactivated successfully.915machine # [ 7.523355] systemd[1]: Stopped Name Service Cache Daemon (nsncd).916machine # [ 7.524735] systemd-logind[531]: New seat seat0.917machine # [ 7.527769] systemd-logind[531]: Watching system buttons on /dev/input/event2 (Power Button)918machine # [ 7.529382] systemd-logind[531]: Watching system buttons on /dev/input/event0 (AT Translated Set 2 keyboard)919machine # [ 7.533272] systemd[1]: Started User Login Management.920machine # [ 7.547468] systemd[1]: Started D-Bus System Message Bus.921machine # [ 7.574737] dbus-broker-launch[516]: Ready922machine # [ 7.578376] systemd[1]: Starting linger-users.service...923machine # [ 7.586122] systemd[1]: Starting Name Service Cache Daemon (nsncd)...924machine # [ 7.607315] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.925machine # [ 7.610806] systemd[1]: Stopped Virtual Console Setup.926machine # [ 7.637676] systemd[1]: Starting Virtual Console Setup...927machine # [ 7.645941] systemd[1]: linger-users.service: Deactivated successfully.928machine # [ 7.649533] systemd[1]: Finished linger-users.service.929machine # [ 7.652244] systemd-logind[531]: Watching system buttons on /dev/input/event3 (QEMU Virtio Keyboard)930machine # [ 7.662450] systemd[1]: Started Name Service Cache Daemon (nsncd).931machine # [ 7.665390] nsncd[599]: Oct 07 21:48:38.151 INFO started, config: Config { ignored_request_types: {}, worker_count: 8, handoff_timeout: 10s }, path: "/var/run/nscd/socket"932machine # [ 7.671139] systemd[1]: Reached target Host and Network Name Lookups.933machine # [ 7.672387] systemd[1]: Reached target User and Group Name Lookups.934machine # [ 7.678835] systemd[1]: Finished resolvconf update.935machine # [ 7.680734] systemd[1]: Reached target Preparation for Network.936machine # [ 7.688158] systemd[1]: Starting DHCP Client...937machine # [ 7.691970] systemd[1]: Starting Address configuration of eth1...938machine # [ 7.696357] systemd[1]: Starting Extra networking commands....939machine # [ 7.915570] ppdev: user-space parallel port driver940machine # [ 7.804460] network-addresses-eth1-start[623]: adding address 192.168.1.1/24... done941machine # [ 7.821651] network-addresses-eth1-start[623]: adding address 2001:db8:1::1/64... done942machine # [ 8.020075] iTCO_wdt iTCO_wdt.1.auto: Found a ICH9 TCO device (Version=2, TCOBASE=0x0660)943machine # [ 7.871723] systemd[1]: systemd-vconsole-setup.service: Deactivated successfully.944machine # [ 7.875365] systemd[1]: Stopped Virtual Console Setup.945machine # [ 7.885854] systemd[1]: Finished Address configuration of eth1.946machine # [ 8.092873] iTCO_wdt iTCO_wdt.1.auto: initialized. heartbeat=30 sec (nowayout=0)947machine # [ 7.901856] systemd[1]: Starting Virtual Console Setup...948machine # [ 7.911636] dhcpcd[633]: dhcpcd-10.3.2 starting949machine # [ 7.920617] dhcpcd[687]: dev: loaded udev950machine # [ 8.131968] 8021q: 802.1Q VLAN Support v1.8951machine # [ 8.135288] 8021q: adding VLAN 0 to HW filter on device eth1952machine # [ 7.950876] systemd[1]: Finished Extra networking commands..953machine # [ 7.955280] systemd[1]: Reached target Network.954machine # [ 7.959967] systemd[1]: Starting PostgreSQL Server...955machine # [ 7.962735] systemd[1]: Starting Permit User Sessions...956machine # [ 8.000510] systemd[1]: Listening on Load/Save RF Kill Switch Status /dev/rfkill Watch.957machine # [ 8.043084] systemd[1]: Finished Permit User Sessions.958machine # [ 8.083567] systemd[1]: Started Getty on tty1.959machine # [ 8.084540] systemd[1]: Reached target Login Prompts.960machine # [ 8.319385] cfg80211: Loading compiled-in X.509 certificates for regulatory database961machine # [ 8.340238] kvm_amd: TSC scaling supported962machine # [ 8.340807] kvm_amd: Nested Virtualization enabled963machine # [ 8.345848] kvm_amd: Nested Paging enabled964machine # [ 8.348212] kvm_amd: LBR virtualization supported965machine # [ 8.348858] kvm_amd: Virtual VMLOAD VMSAVE supported966machine # [ 8.351259] kvm_amd: Virtual GIF supported967machine # [ 8.352785] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'968machine # [ 8.353648] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'969machine # [ 8.359462] faux_driver regulatory: Direct firmware load for regulatory.db failed with error -2970machine # [ 8.360618] cfg80211: failed to load regulatory.db971machine # [ 8.406772] EDAC MC: Ver: 3.0.0972machine # [ 8.421707] 8021q: adding VLAN 0 to HW filter on device eth0973machine # [ 8.230674] dhcpcd[687]: eth0: waiting for carrier974machine # [ 8.231943] dhcpcd[687]: libudev: received NULL device975machine # [ 8.233195] dhcpcd[687]: libudev: received NULL device976machine # [ 8.234992] dhcpcd[687]: eth0: carrier acquired977machine # [ 8.236863] postgresql-pre-start[706]: The files belonging to this database system will be owned by user "postgres".978machine # [ 8.240941] postgresql-pre-start[706]: This user must also own the server process.979machine # [ 8.244110] postgresql-pre-start[706]: The database cluster will be initialized with locale "en_US.UTF-8".980machine # [ 8.245799] postgresql-pre-start[706]: The default database encoding has accordingly been set to "UTF8".981machine # [ 8.247434] postgresql-pre-start[706]: The default text search configuration will be set to "english".982machine # [ 8.249125] postgresql-pre-start[706]: Data page checksums are enabled.983machine # [ 8.250422] postgresql-pre-start[706]: fixing permissions on existing directory /var/lib/postgresql/18 ... ok984machine # [ 8.253745] postgresql-pre-start[706]: creating subdirectories ... ok985machine # [ 8.255236] postgresql-pre-start[706]: selecting dynamic shared memory implementation ... posix986machine # [ 8.256815] dhcpcd[687]: DUID 00:01:00:01:32:59:7a:b6:52:54:00:12:34:56987machine # [ 8.258252] dhcpcd[687]: eth0: IAID 00:12:34:56988machine # [ 8.259375] dhcpcd[687]: eth0: adding address fe80::5054:ff:fe12:3456989machine # [ 8.299638] postgresql-pre-start[706]: selecting default "max_connections" ... 100990machine # [ 8.340463] postgresql-pre-start[706]: selecting default "shared_buffers" ... 128MB991machine # [ 8.354121] systemd-vconsole-setup[680]: Configuration of first virtual console was skipped, ignoring remaining ones.992machine # [ 8.359578] systemd[1]: Finished Virtual Console Setup.993machine # [ 8.906127] postgresql-pre-start[706]: selecting default time zone ... UTC994machine # [ 8.908709] postgresql-pre-start[706]: creating configuration files ... ok995machine # [ 9.059639] postgresql-pre-start[706]: running bootstrap script ... ok996machine # [ 9.416360] postgresql-pre-start[706]: performing post-bootstrap initialization ... ok997machine # [ 9.588164] postgresql-pre-start[706]: syncing data to disk ... ok998machine # [ 9.589940] postgresql-pre-start[706]: initdb: warning: enabling "trust" authentication for local connections999machine # [ 9.591631] postgresql-pre-start[706]: 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.1000machine # [ 9.594233] postgresql-pre-start[706]: Success. You can now start the database server using:1001machine # [ 9.595762] postgresql-pre-start[706]: pg_ctl -D /var/lib/postgresql/18 -l logfile start1002machine # [ 9.698125] postgres[737]: [737] LOG: starting PostgreSQL 18.6 on x86_64-pc-linux-gnu, compiled by clang version 21.1.8, 64-bit1003machine # [ 9.702126] postgres[737]: [737] LOG: listening on IPv6 address "::1", port 54321004machine # [ 9.703557] postgres[737]: [737] LOG: listening on IPv4 address "127.0.0.1", port 54321005machine # [ 9.716540] postgres[737]: [737] LOG: listening on Unix socket "/run/postgresql/.s.PGSQL.5432"1006machine # [ 9.750326] postgres[748]: [748] LOG: database system was shut down at 2026-10-07 21:48:39 GMT1007machine # [ 9.767082] postgres[737]: [737] LOG: database system is ready to accept connections1008machine # [ 9.781563] systemd[1]: Started PostgreSQL Server.1009machine # [ 9.789948] systemd[1]: Starting PostgreSQL Setup Scripts...1010machine # [ 9.940232] postgresql-setup-start[759]: CREATE DATABASE1011machine # [ 9.960283] dhcpcd[687]: eth0: soliciting a DHCP lease1012machine # [ 9.970537] postgresql-setup-start[764]: CREATE ROLE1013machine # [ 10.165395] NET: Registered PF_PACKET protocol family1014machine # [ 9.979489] dhcpcd[687]: eth0: offered 10.0.2.15 from 10.0.2.21015machine # [ 9.982521] dhcpcd[687]: eth0: probing address 10.0.2.15/241016machine # [ 9.994821] postgresql-setup-start[767]: ALTER DATABASE1017machine # [ 10.002335] systemd[1]: Finished PostgreSQL Setup Scripts.1018machine # [ 10.005081] systemd[1]: Reached target PostgreSQL.1019machine: (finished: waiting for unit postgresql.service, in 11.55 seconds)1020machine: waiting for unit rustfs.service1021machine # [ 10.894184] dhcpcd[687]: eth0: soliciting an IPv6 router1022machine # [ 10.895758] dhcpcd[687]: eth0: Router Advertisement from fe80::21023machine # [ 10.897538] dhcpcd[687]: eth0: adding address fec0::5054:ff:fe12:3456/641024machine # [ 10.899789] dhcpcd[687]: eth0: adding route to fec0::/641025machine # [ 10.901350] dhcpcd[687]: eth0: adding default route via fe80::21026machine # [ 14.988735] dhcpcd[687]: eth0: leased 10.0.2.15 for 86400 seconds1027machine # [ 14.990494] dhcpcd[687]: eth0: adding route to 10.0.2.0/241028machine # [ 14.993177] dhcpcd[687]: eth0: adding default route via 10.0.2.21029machine # [ 15.045158] systemd[1]: Started DHCP Client.1030machine # [ 15.047144] systemd[1]: Reached target Network is Online.1031machine # [ 15.050959] systemd[1]: Starting RustFS Object Storage Server...1032machine # [ 15.597323] systemd[1]: Started RustFS Object Storage Server.1033machine # [ 15.602828] systemd[1]: Starting Self-hosted Zotero sync server...1034machine # [ 15.640965] systemd[1]: Started Self-hosted Zotero sync server.1035machine # [ 15.643850] systemd[1]: Reached target Multi-User System.1036machine # [ 15.645580] systemd[1]: Startup finished in 864ms (kernel) + 3.586s (initrd) + 11.193s (userspace) = 15.645s.1037machine # [ 15.812939] zhost[895]: 2026-10-07T21:48:46.300404Z INFO zhost: zhost listening bind=127.0.0.1:81891038machine: (finished: waiting for unit rustfs.service, in 5.20 seconds)1039machine: waiting for TCP port 9000 on localhost1040machine # Connection to localhost (::1) 9000 port [tcp/cslistener] succeeded!1041machine: (finished: waiting for TCP port 9000 on localhost, in 0.02 seconds)1042machine: waiting for unit zhost.service1043machine: (finished: waiting for unit zhost.service, in 0.02 seconds)1044machine: waiting for TCP port 8189 on localhost1045machine # Connection to localhost (127.0.0.1) 8189 port [tcp/*] succeeded!1046machine: (finished: waiting for TCP port 8189 on localhost, in 0.02 seconds)1047machine: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin1048machine: (finished: must succeed: mc alias set s3 http://localhost:9000 rustfsadmin rustfsadmin, in 0.12 seconds)1049machine: must succeed: mc mb s3/zotero1050machine: (finished: must succeed: mc mb s3/zotero, in 0.20 seconds)1051subtest: the module deploys a working service backed by postgres1052machine: 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'1053machine # [ 16.265086] zhost[895]: 2026-10-07T21:48:46.753110Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1054machine: (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)1055(finished: subtest: the module deploys a working service backed by postgres, in 0.03 seconds)1056subtest: login session hands out the key only after authorization1057machine: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess1058machine # [ 16.288783] zhost[895]: 2026-10-07T21:48:46.776846Z INFO zhost: request method=POST uri=/keys/sessions api_version=- if_unmod=- body={}1059machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/keys/sessions -d '{}' > /tmp/sess, in 0.03 seconds)1060machine: must succeed: jq -r .sessionToken /tmp/sess1061machine: (finished: must succeed: jq -r .sessionToken /tmp/sess, in 0.01 seconds)1062machine: must succeed: jq -r .loginURL /tmp/sess1063machine: (finished: must succeed: jq -r .loginURL /tmp/sess, in 0.01 seconds)1064machine: must succeed: curl -sf 'http://localhost:8189/login?session=d0260f4ec8b2e32f9bc362f783ff427b' | grep -qi 'Authorize'1065machine # [ 16.341235] zhost[895]: 2026-10-07T21:48:46.829262Z INFO zhost: request method=GET uri=/login?session=d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1066machine: (finished: must succeed: curl -sf 'http://localhost:8189/login?session=d0260f4ec8b2e32f9bc362f783ff427b' | grep -qi 'Authorize', in 0.03 seconds)1067machine: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "pending"'1068machine # [ 16.367392] zhost[895]: 2026-10-07T21:48:46.855496Z INFO zhost: request method=GET uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1069machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "pending"', in 0.03 seconds)1070machine: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.apiKey == null'1071machine # [ 16.393633] zhost[895]: 2026-10-07T21:48:46.881737Z INFO zhost: request method=GET uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1072machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.apiKey == null', in 0.03 seconds)1073machine: 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=d0260f4ec8b2e32f9bc362f783ff427b'1074machine # [ 16.416904] zhost[895]: 2026-10-07T21:48:46.905010Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=d0260f4ec8b2e32f9bc362f783ff427b1075machine # [ 16.420929] zhost[895]: 2026-10-07T21:48:46.909038Z WARN zhost: response error method=POST uri=/login status=4031076machine: (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=d0260f4ec8b2e32f9bc362f783ff427b', in 0.03 seconds)1077machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=d0260f4ec8b2e32f9bc362f783ff427b'1078machine # [ 16.446571] zhost[895]: 2026-10-07T21:48:46.934211Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=d0260f4ec8b2e32f9bc362f783ff427b1079machine # [ 16.450441] zhost[895]: 2026-10-07T21:48:46.934247Z WARN zhost: response error method=POST uri=/login status=4031080machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/login -d 'session=d0260f4ec8b2e32f9bc362f783ff427b', in 0.03 seconds)1081machine: 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=d0260f4ec8b2e32f9bc362f783ff427b'1082machine # [ 16.471961] zhost[895]: 2026-10-07T21:48:46.959959Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=d0260f4ec8b2e32f9bc362f783ff427b1083machine # [ 16.476125] zhost[895]: 2026-10-07T21:48:46.959985Z WARN zhost: response error method=POST uri=/login status=4031084machine: (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=d0260f4ec8b2e32f9bc362f783ff427b', in 0.03 seconds)1085machine: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=d0260f4ec8b2e32f9bc362f783ff427b'1086machine # [ 16.501978] zhost[895]: 2026-10-07T21:48:46.989944Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=d0260f4ec8b2e32f9bc362f783ff427b1087machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/login -H 'X-Auth-Request-Email: owner@mulatta.io' -d 'session=d0260f4ec8b2e32f9bc362f783ff427b', in 0.03 seconds)1088machine: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "completed"'1089machine # [ 16.526633] zhost[895]: 2026-10-07T21:48:47.014684Z INFO zhost: request method=GET uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1090machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "completed"', in 0.02 seconds)1091machine: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.apiKey == "testtoken"'1092machine # [ 16.552191] zhost[895]: 2026-10-07T21:48:47.040201Z INFO zhost: request method=GET uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1093machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.apiKey == "testtoken"', in 0.03 seconds)1094machine: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b1095machine # [ 16.575896] zhost[895]: 2026-10-07T21:48:47.063109Z INFO zhost: request method=DELETE uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1096machine: (finished: must succeed: curl -sf -X DELETE http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b, in 0.02 seconds)1097machine: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "pending"'1098machine # [ 16.598216] zhost[895]: 2026-10-07T21:48:47.086323Z INFO zhost: request method=GET uri=/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b api_version=- if_unmod=- body=1099machine: (finished: must succeed: curl -sf http://localhost:8189/keys/sessions/d0260f4ec8b2e32f9bc362f783ff427b | jq -e '.status == "pending"', in 0.02 seconds)1100(finished: subtest: login session hands out the key only after authorization, in 0.33 seconds)1101subtest: the login consent endpoint validates the session token1102machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login1103machine # [ 16.620966] zhost[895]: 2026-10-07T21:48:47.109074Z INFO zhost: request method=GET uri=/login api_version=- if_unmod=- body=1104machine # [ 16.624863] zhost[895]: 2026-10-07T21:48:47.112532Z WARN zhost: response error method=GET uri=/login status=4001105machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login, in 0.02 seconds)1106machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope1107machine # [ 16.645131] zhost[895]: 2026-10-07T21:48:47.133237Z INFO zhost: request method=GET uri=/login?session=nope api_version=- if_unmod=- body=1108machine # [ 16.649133] zhost[895]: 2026-10-07T21:48:47.136804Z WARN zhost: response error method=GET uri=/login?session=nope status=4041109machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/login?session=nope, in 0.02 seconds)1110machine: 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'1111machine # [ 16.669685] zhost[895]: 2026-10-07T21:48:47.157793Z INFO zhost: request method=POST uri=/login api_version=- if_unmod=- body=session=nope1112machine # [ 16.673247] zhost[895]: 2026-10-07T21:48:47.161357Z WARN zhost: response error method=POST uri=/login status=4041113machine: (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)1114(finished: subtest: the login consent endpoint validates the session token, in 0.07 seconds)1115subtest: groups endpoint returns an empty set (single personal library)1116machine: must succeed: curl -sf http://localhost:8189/users/1/groups -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}'1117machine # [ 16.695889] zhost[895]: 2026-10-07T21:48:47.183756Z INFO zhost: request method=GET uri=/users/1/groups api_version=3 if_unmod=- body=1118machine: (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)1119(finished: subtest: groups endpoint returns an empty set (single personal library), in 0.02 seconds)1120subtest: the api key is required off the bootstrap paths1121machine: must succeed: curl -s -o /dev/null -w '%{http_code}' http://localhost:8189/keys/current -H 'Zotero-API-Version: 3'1122machine # [ 16.718679] zhost[895]: 2026-10-07T21:48:47.206786Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1123machine: (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)1124(finished: subtest: the api key is required off the bootstrap paths, in 0.02 seconds)1125subtest: a read-only key reads but cannot write1126machine: 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'1127machine # [ 16.740170] zhost[895]: 2026-10-07T21:48:47.228196Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1128machine: (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)1129machine: 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'1130machine # [ 16.768325] zhost[895]: 2026-10-07T21:48:47.256340Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1131machine: (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)1132machine: 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'1133machine # [ 16.792254] zhost[895]: 2026-10-07T21:48:47.280275Z INFO zhost: request method=GET uri=/keys/current api_version=3 if_unmod=- body=1134machine: (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)1135machine: 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"}]'1136machine # [ 16.819456] zhost[895]: 2026-10-07T21:48:47.306852Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"RDNLY222","itemType":"book"}]1137machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: readonlytoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '[{"key":"RDNLY222","itemType":"book"}]', in 0.03 seconds)1138machine: 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'1139machine # [ 16.841779] zhost[895]: 2026-10-07T21:48:47.329802Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=- body=1140machine: (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)1141(finished: subtest: a read-only key reads but cannot write, in 0.12 seconds)1142subtest: an item round-trips through write and read1143machine: 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"'1144machine # [ 16.865831] zhost[895]: 2026-10-07T21:48:47.353936Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEM2223","itemType":"book","title":"t"}]1145machine: (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)1146machine: 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'1147machine # [ 16.897800] zhost[895]: 2026-10-07T21:48:47.385682Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1148machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ITEM2223', in 0.03 seconds)1149machine: 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"'1150machine # [ 16.923394] zhost[895]: 2026-10-07T21:48:47.411408Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ITEM2223&format=json api_version=3 if_unmod=- body=1151machine: (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)1152(finished: subtest: an item round-trips through write and read, in 0.08 seconds)1153subtest: a stale write is rejected with 4121154machine: 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"}]'1155machine # [ 16.947617] zhost[895]: 2026-10-07T21:48:47.435506Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"ITEMSTAL","itemType":"book"}]1156machine # [ 16.952235] zhost[895]: 2026-10-07T21:48:47.440125Z WARN zhost: response error method=POST uri=/users/1/items status=4121157machine: (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)1158(finished: subtest: a stale write is rejected with 412, in 0.03 seconds)1159subtest: a write without If-Unmodified-Since-Version is rejected with 4281160machine: 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"}]'1161machine # [ 16.973893] zhost[895]: 2026-10-07T21:48:47.461548Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=- body=[{"key":"NPRECN22","itemType":"book"}]1162machine # [ 16.977798] zhost[895]: 2026-10-07T21:48:47.461586Z WARN zhost: response error method=POST uri=/users/1/items status=4281163machine: (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)1164(finished: subtest: a write without If-Unmodified-Since-Version is rejected with 428, in 0.03 seconds)1165subtest: a malformed object key is rejected with 4001166machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21167machine # [ 17.003839] zhost[895]: 2026-10-07T21:48:47.491944Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1168machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1169machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HASOABC2","itemType":"book"}]'1170machine # [ 17.028571] zhost[895]: 2026-10-07T21:48:47.516228Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HASOABC2","itemType":"book"}]1171machine # [ 17.032494] zhost[895]: 2026-10-07T21:48:47.516255Z WARN zhost: response error method=POST uri=/users/1/items status=4001172machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HASOABC2","itemType":"book"}]', in 0.03 seconds)1173machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21174machine # [ 17.058386] zhost[895]: 2026-10-07T21:48:47.546316Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1175machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1176machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HAS0ABC2","itemType":"book"}]'1177machine # [ 17.082582] zhost[895]: 2026-10-07T21:48:47.570242Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"HAS0ABC2","itemType":"book"}]1178machine # [ 17.086485] zhost[895]: 2026-10-07T21:48:47.570269Z WARN zhost: response error method=POST uri=/users/1/items status=4001179machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"HAS0ABC2","itemType":"book"}]', in 0.03 seconds)1180machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21181machine # [ 17.112249] zhost[895]: 2026-10-07T21:48:47.600357Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1182machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1183machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"SHORTKY","itemType":"book"}]'1184machine # [ 17.136170] zhost[895]: 2026-10-07T21:48:47.623835Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"SHORTKY","itemType":"book"}]1185machine # [ 17.140121] zhost[895]: 2026-10-07T21:48:47.623861Z WARN zhost: response error method=POST uri=/users/1/items status=4001186machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"SHORTKY","itemType":"book"}]', in 0.02 seconds)1187machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21188machine # [ 17.166158] zhost[895]: 2026-10-07T21:48:47.654137Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1189machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1190machine: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"TOOLONGKY","itemType":"book"}]'1191machine # [ 17.190077] zhost[895]: 2026-10-07T21:48:47.678141Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"TOOLONGKY","itemType":"book"}]1192machine # [ 17.194633] zhost[895]: 2026-10-07T21:48:47.682228Z WARN zhost: response error method=POST uri=/users/1/items status=4001193machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"TOOLONGKY","itemType":"book"}]', in 0.03 seconds)1194machine: 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' ' -f21195machine # [ 17.220654] zhost[895]: 2026-10-07T21:48:47.708761Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1196machine: (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)1197machine: 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"}]'1198machine # [ 17.245287] zhost[895]: 2026-10-07T21:48:47.732412Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[{"key":"lowercs2","itemType":"book"}]1199machine # [ 17.249212] zhost[895]: 2026-10-07T21:48:47.732439Z WARN zhost: response error method=POST uri=/users/1/items status=4001200machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 1' -d '[{"key":"lowercs2","itemType":"book"}]', in 0.03 seconds)1201machine: 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 '. == []'1202machine # [ 17.271174] zhost[895]: 2026-10-07T21:48:47.759112Z INFO zhost: request method=GET uri=/users/1/items?itemKey=HASOABC2&format=json api_version=3 if_unmod=- body=1203machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=HASOABC2&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == []', in 0.02 seconds)1204(finished: subtest: a malformed object key is rejected with 400, in 0.30 seconds)1205subtest: an empty batch does not bump the library version1206machine: 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' ' -f21207machine # [ 17.299852] zhost[895]: 2026-10-07T21:48:47.787792Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1208machine: (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)1209machine: 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 .successful1210machine # [ 17.325274] zhost[895]: 2026-10-07T21:48:47.813199Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=1 body=[]1211machine: (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)1212machine: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f21213machine # [ 17.353366] zhost[895]: 2026-10-07T21:48:47.841284Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1214machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | grep -i last-modified-version | tr -d '\r' | cut -d' ' -f2, in 0.03 seconds)1215(finished: subtest: an empty batch does not bump the library version, in 0.08 seconds)1216subtest: attachment data is emitted with linkMode first1217machine: 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' ' -f21218machine # [ 17.382274] zhost[895]: 2026-10-07T21:48:47.870231Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1219machine: (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)1220machine: 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 .successful1221machine # [ 17.408178] zhost[895]: 2026-10-07T21:48:47.896034Z 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"}]1222machine: (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)1223machine: 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]'1224machine # [ 17.439714] zhost[895]: 2026-10-07T21:48:47.927507Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ATTACH22&format=json api_version=3 if_unmod=- body=1225machine: (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)1226(finished: subtest: attachment data is emitted with linkMode first, in 0.09 seconds)1227subtest: an attachment file uploads to S3 and downloads via a presigned URL1228machine: 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 .uploadKey1229machine # [ 17.464580] zhost[895]: 2026-10-07T21:48:47.952550Z 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=17000000000001230machine: (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)1231machine: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/aaf51faa5da05ac1729ab4037ff27a16 --data-binary @-1232machine # [ 17.489034] zhost[895]: 2026-10-07T21:48:47.977048Z INFO zhost: request method=POST uri=/uploads/aaf51faa5da05ac1729ab4037ff27a16 api_version=- if_unmod=- body=hello1233machine: (finished: must succeed: printf hello | curl -sf -X POST http://localhost:8189/uploads/aaf51faa5da05ac1729ab4037ff27a16 --data-binary @-, in 0.04 seconds)1234machine: 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=aaf51faa5da05ac1729ab4037ff27a16'1235machine # [ 17.528537] zhost[895]: 2026-10-07T21:48:48.016431Z INFO zhost: request method=POST uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=upload=aaf51faa5da05ac1729ab4037ff27a161236machine: (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=aaf51faa5da05ac1729ab4037ff27a16', in 0.03 seconds)1237machine: 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'1238machine # [ 17.559606] zhost[895]: 2026-10-07T21:48:48.047571Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1239machine: (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)1240machine: 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}'1241machine # [ 17.584249] zhost[895]: 2026-10-07T21:48:48.071876Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/file api_version=3 if_unmod=- body=1242machine: (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)1243machine: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr1244machine: (finished: must succeed: grep -iq 'zotero-file-md5: 5d41402abc4b2a76b9719d911017c592' /tmp/dlhdr, in 0.01 seconds)1245machine: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20261007%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261007T214848Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=9421ad08e11c64d0caf514d92063d2055f476ce27b8933b3337d588eeb837330'1246machine: (finished: must succeed: curl -sf 'http://127.0.0.1:9000/zotero/ATTACH22?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=rustfsadmin%2F20261007%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20261007T214848Z&X-Amz-Expires=120&X-Amz-SignedHeaders=host&X-Amz-Signature=9421ad08e11c64d0caf514d92063d2055f476ce27b8933b3337d588eeb837330', in 0.03 seconds)1247(finished: subtest: an attachment file uploads to S3 and downloads via a presigned URL, in 0.19 seconds)1248subtest: re-authorizing the same file returns exists:1 (dedup)1249machine: 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'1250machine # [ 17.660465] zhost[895]: 2026-10-07T21:48:48.148300Z 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=17000000000001251machine: (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)1252(finished: subtest: re-authorizing the same file returns exists:1 (dedup), in 0.03 seconds)1253subtest: a file authorization without a precondition header is 4281254machine: 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'1255machine # [ 17.687304] zhost[895]: 2026-10-07T21:48:48.175407Z 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=11256machine # [ 17.691891] zhost[895]: 2026-10-07T21:48:48.179675Z WARN zhost: response error method=POST uri=/users/1/items/ATTACH22/file status=4281257machine: (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)1258(finished: subtest: a file authorization without a precondition header is 428, in 0.03 seconds)1259subtest: uploading bytes that do not match the declared md5 is rejected1260machine: 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 .uploadKey1261machine # [ 17.715649] zhost[895]: 2026-10-07T21:48:48.203648Z INFO zhost: request method=POST uri=/users/1/items/BADHASH2/file api_version=3 if_unmod=- body=md5=00000000000000000000000000000000&filename=b&filesize=5&mtime=11262machine: (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)1263machine: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/9b7ec0383fbee32b78ee201fe21dc622 --data-binary @-1264machine # [ 17.745121] zhost[895]: 2026-10-07T21:48:48.233089Z INFO zhost: request method=POST uri=/uploads/9b7ec0383fbee32b78ee201fe21dc622 api_version=- if_unmod=- body=hello1265machine # [ 17.749893] zhost[895]: 2026-10-07T21:48:48.233115Z WARN zhost: uploaded bytes do not match authorization key="BADHASH2" want_md5="00000000000000000000000000000000" got_md5="5d41402abc4b2a76b9719d911017c592"1266machine # [ 17.754254] zhost[895]: 2026-10-07T21:48:48.233130Z WARN zhost: response error method=POST uri=/uploads/9b7ec0383fbee32b78ee201fe21dc622 status=4001267machine: (finished: must succeed: printf hello | curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/uploads/9b7ec0383fbee32b78ee201fe21dc622 --data-binary @-, in 0.04 seconds)1268(finished: subtest: uploading bytes that do not match the declared md5 is rejected, in 0.07 seconds)1269subtest: registering without a prior upload is rejected1270machine: 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 .uploadKey1271machine # [ 17.801260] zhost[895]: 2026-10-07T21:48:48.288934Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=md5=5d41402abc4b2a76b9719d911017c592&filename=n&filesize=5&mtime=11272machine: (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.05 seconds)1273machine: 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=bc4044faaf4029b2040f204eb4674314'1274machine # [ 17.827637] zhost[895]: 2026-10-07T21:48:48.314548Z INFO zhost: request method=POST uri=/users/1/items/NQUPLQAD/file api_version=3 if_unmod=- body=upload=bc4044faaf4029b2040f204eb46743141275machine # [ 17.831874] zhost[895]: 2026-10-07T21:48:48.314585Z WARN zhost: response error method=POST uri=/users/1/items/NQUPLQAD/file status=4001276machine: (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=bc4044faaf4029b2040f204eb4674314', in 0.03 seconds)1277(finished: subtest: registering without a prior upload is rejected, in 0.07 seconds)1278subtest: non-alphanumeric keys are rejected from the file endpoint1279machine: 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'1280machine # [ 17.853536] zhost[895]: 2026-10-07T21:48:48.341595Z 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=11281machine # [ 17.858151] zhost[895]: 2026-10-07T21:48:48.345755Z WARN zhost: response error method=POST uri=/users/1/items/bad..key/file status=4001282machine: (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)1283(finished: subtest: non-alphanumeric keys are rejected from the file endpoint, in 0.03 seconds)1284subtest: annotations round-trip as ordinary items1285machine: 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' ' -f21286machine # [ 17.885952] zhost[895]: 2026-10-07T21:48:48.373849Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1287machine: (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)1288machine: 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"'1289machine # [ 17.911579] zhost[895]: 2026-10-07T21:48:48.399633Z 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"}]1290machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 3' -d '[{"key":"ANNQT223","itemType":"annotation","annotationType":"highlight","annotationText":"marked","parentItem":"ATTACH22"}]' | jq -e '.successful."0".data.annotationText == "marked"', in 0.03 seconds)1291machine: 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"'1292machine # [ 17.944047] zhost[895]: 2026-10-07T21:48:48.431717Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1293machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=ANNQT223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.annotationType == "highlight"', in 0.02 seconds)1294machine: 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]'1295machine # [ 17.968320] zhost[895]: 2026-10-07T21:48:48.456212Z INFO zhost: request method=GET uri=/users/1/items?itemKey=ANNQT223&format=json api_version=3 if_unmod=- body=1296machine: (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)1297(finished: subtest: annotations round-trip as ordinary items, in 0.11 seconds)1298subtest: full-text content uploads, lists versions, and downloads1299machine: 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' ' -f21300machine # [ 17.997627] zhost[895]: 2026-10-07T21:48:48.485528Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1301machine: (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)1302machine: 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"'1303machine # [ 18.023558] zhost[895]: 2026-10-07T21:48:48.511469Z 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}]1304machine: (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)1305machine: 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'1306machine # [ 18.052989] zhost[895]: 2026-10-07T21:48:48.541003Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1307machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.ATTACH22', in 0.03 seconds)1308machine: 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' ' -f21309machine # [ 18.081910] zhost[895]: 2026-10-07T21:48:48.569816Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1310machine: (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)1311machine: 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'1312machine # [ 18.106920] zhost[895]: 2026-10-07T21:48:48.594884Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=0 api_version=3 if_unmod=- body=1313machine: (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)1314machine: 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'1315machine # [ 18.131667] zhost[895]: 2026-10-07T21:48:48.619727Z INFO zhost: request method=GET uri=/users/1/items/ATTACH22/fulltext api_version=3 if_unmod=- body=1316machine: (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)1317(finished: subtest: full-text content uploads, lists versions, and downloads, in 0.16 seconds)1318subtest: a stale full-text write is rejected with 4121319machine: 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"}]'1320machine # [ 18.155085] zhost[895]: 2026-10-07T21:48:48.642981Z INFO zhost: request method=POST uri=/users/1/fulltext api_version=3 if_unmod=0 body=[{"key":"ATTACH22","content":"x"}]1321machine # [ 18.159447] zhost[895]: 2026-10-07T21:48:48.647548Z WARN zhost: response error method=POST uri=/users/1/fulltext status=4121322machine: (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)1323(finished: subtest: a stale full-text write is rejected with 412, in 0.03 seconds)1324subtest: the query API filters, searches, sorts and paginates items1325machine: 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' ' -f21326machine # [ 18.185851] zhost[895]: 2026-10-07T21:48:48.673869Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1327machine: (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)1328machine: 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 .successful1329machine # [ 18.211467] zhost[895]: 2026-10-07T21:48:48.699341Z 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"}]}]1330machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 5' -d '[{"key":"QBQQK223","itemType":"book","title":"Borrow Checker","creators":[{"lastName":"Klabnik","firstName":"Steve"}],"tags":[{"tag":"rustlang"},{"tag":"systems"}]},{"key":"QART2223","itemType":"journalArticle","title":"Unrelated","tags":[{"tag":"rustlang"}]}]' | jq -e .successful, in 0.03 seconds)1331machine: 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(",")'1332machine # [ 18.243925] zhost[895]: 2026-10-07T21:48:48.731923Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1333machine: (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)1334machine: 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(",")'1335machine # [ 18.273577] zhost[895]: 2026-10-07T21:48:48.761632Z INFO zhost: request method=GET uri=/users/1/items?q=klabnik api_version=3 if_unmod=- body=1336machine: (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)1337machine: 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(",")'1338machine # [ 18.302663] zhost[895]: 2026-10-07T21:48:48.790574Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1339machine: (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)1340machine: 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(",")'1341machine # [ 18.327823] zhost[895]: 2026-10-07T21:48:48.815837Z INFO zhost: request method=GET uri=/users/1/items?itemType=book api_version=3 if_unmod=- body=1342machine: (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)1343machine: 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(",")'1344machine # [ 18.354192] zhost[895]: 2026-10-07T21:48:48.842065Z INFO zhost: request method=GET uri=/users/1/items?itemType=-book api_version=3 if_unmod=- body=1345machine: (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)1346machine: 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(",")'1347machine # [ 18.379379] zhost[895]: 2026-10-07T21:48:48.867338Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang&tag=systems api_version=3 if_unmod=- body=1348machine: (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)1349machine: 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(",")'1350machine # [ 18.405102] zhost[895]: 2026-10-07T21:48:48.893077Z INFO zhost: request method=GET uri=/users/1/items?tag=rustlang api_version=3 if_unmod=- body=1351machine: (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)1352machine: 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(",")'1353machine # [ 18.430624] zhost[895]: 2026-10-07T21:48:48.918529Z INFO zhost: request method=GET uri=/users/1/items?q=world api_version=3 if_unmod=- body=1354machine: (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)1355machine: 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(",")'1356machine # [ 18.455808] zhost[895]: 2026-10-07T21:48:48.943798Z INFO zhost: request method=GET uri=/users/1/items?q=world&qmode=everything api_version=3 if_unmod=- body=1357machine: (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)1358(finished: subtest: the query API filters, searches, sorts and paginates items, in 0.30 seconds)1359subtest: the query API reports Total-Results and a next-page Link1360machine: 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'1361machine # [ 18.482705] zhost[895]: 2026-10-07T21:48:48.970720Z INFO zhost: request method=GET uri=/users/1/items?limit=1&sort=title&direction=asc api_version=3 if_unmod=- body=1362machine: (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)1363(finished: subtest: the query API reports Total-Results and a next-page Link, in 0.02 seconds)1364subtest: a read-only key can drive the query API1365machine: 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'1366machine # [ 18.505792] zhost[895]: 2026-10-07T21:48:48.993695Z INFO zhost: request method=GET uri=/users/1/items?q=borrow api_version=3 if_unmod=- body=1367machine: (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)1368(finished: subtest: a read-only key can drive the query API, in 0.02 seconds)1369subtest: convenience listings: top, trash, collection items and tags1370machine: 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' ' -f21371machine # [ 18.534959] zhost[895]: 2026-10-07T21:48:49.022889Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1372machine: (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)1373machine: 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 .successful1374machine # [ 18.560367] zhost[895]: 2026-10-07T21:48:49.048312Z 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}]1375machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 6' -d '[{"key":"TQPITEM3","itemType":"book","title":"Shelf Book","collections":["CQLLXXXX"],"tags":[{"tag":"shelf"}]},{"key":"CHILDNQ3","itemType":"note","note":"child","parentItem":"TQPITEM3"},{"key":"TRASHED3","itemType":"book","title":"Gone","deleted":1}]' | jq -e .successful, in 0.03 seconds)1376machine: 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(",")'1377machine # [ 18.594110] zhost[895]: 2026-10-07T21:48:49.081946Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1378machine: (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)1379machine: 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(",")'1380machine # [ 18.619343] zhost[895]: 2026-10-07T21:48:49.107449Z INFO zhost: request method=GET uri=/users/1/items/trash api_version=3 if_unmod=- body=1381machine: (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)1382machine: 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(",")'1383machine # [ 18.645180] zhost[895]: 2026-10-07T21:48:49.133260Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items api_version=3 if_unmod=- body=1384machine: (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)1385machine: 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'1386machine # [ 18.671127] zhost[895]: 2026-10-07T21:48:49.159094Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1387machine: (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)1388(finished: subtest: convenience listings: top, trash, collection items and tags, in 0.17 seconds)1389subtest: top filtering covers parentItem:false and the versions view1390machine: 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' ' -f21391machine # [ 18.700078] zhost[895]: 2026-10-07T21:48:49.188030Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1392machine: (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)1393machine: 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 .successful1394machine # [ 18.725114] zhost[895]: 2026-10-07T21:48:49.213043Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=7 body=[{"key":"TQPFALS3","itemType":"book","title":"pf","parentItem":false}]1395machine: (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)1396machine: 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")'1397machine # [ 18.757447] zhost[895]: 2026-10-07T21:48:49.245129Z INFO zhost: request method=GET uri=/users/1/items/top api_version=3 if_unmod=- body=1398machine: (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.02 seconds)1399machine: 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'1400machine # [ 18.782381] zhost[895]: 2026-10-07T21:48:49.270315Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=0 api_version=3 if_unmod=- body=1401machine: (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)1402machine: 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'1403machine # [ 18.808139] zhost[895]: 2026-10-07T21:48:49.295966Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1404machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CHILDNQ3', in 0.03 seconds)1405(finished: subtest: top filtering covers parentItem:false and the versions view, in 0.14 seconds)1406subtest: malformed (non-array) item data does not 500 the query API1407machine: 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' ' -f21408machine # [ 18.839531] zhost[895]: 2026-10-07T21:48:49.326812Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1409machine: (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)1410machine: 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 .successful1411machine # [ 18.864779] zhost[895]: 2026-10-07T21:48:49.352753Z 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"}]1412machine: (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)1413machine: 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'1414machine # [ 18.893646] zhost[895]: 2026-10-07T21:48:49.381554Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1415machine: (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)1416machine: 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'1417machine # [ 18.916281] zhost[895]: 2026-10-07T21:48:49.404197Z INFO zhost: request method=GET uri=/users/1/items?q=zzz api_version=3 if_unmod=- body=1418machine: (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)1419machine: 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'1420machine # [ 18.939397] zhost[895]: 2026-10-07T21:48:49.427046Z INFO zhost: request method=GET uri=/users/1/items?q=zzz&qmode=everything api_version=3 if_unmod=- body=1421machine: (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)1422machine: 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'1423machine # [ 18.961964] zhost[895]: 2026-10-07T21:48:49.449956Z INFO zhost: request method=GET uri=/users/1/items?tag=zzz api_version=3 if_unmod=- body=1424machine: (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)1425machine: 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'1426machine # [ 18.984947] zhost[895]: 2026-10-07T21:48:49.472887Z INFO zhost: request method=GET uri=/users/1/collections/y/items api_version=3 if_unmod=- body=1427machine: (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)1428machine: 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' ' -f21429machine # [ 19.012625] zhost[895]: 2026-10-07T21:48:49.500640Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1430machine: (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)1431machine: 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 .successful1432machine # [ 19.037935] zhost[895]: 2026-10-07T21:48:49.525986Z 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"]}]1433machine: (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)1434machine: 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'1435machine # [ 19.068553] zhost[895]: 2026-10-07T21:48:49.556393Z INFO zhost: request method=GET uri=/users/1/tags api_version=3 if_unmod=- body=1436machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/tags -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[] | select(.tag == "good") | .numItems == 1', in 0.03 seconds)1437(finished: subtest: malformed (non-array) item data does not 500 the query API, in 0.26 seconds)1438subtest: Total-Results stays correct past the last page1439machine: 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' ' -f21440machine # [ 19.097592] zhost[895]: 2026-10-07T21:48:49.585604Z INFO zhost: request method=GET uri=/users/1/items?limit=1 api_version=3 if_unmod=- body=1441machine: (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)1442machine: 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' ' -f21443machine # [ 19.127162] zhost[895]: 2026-10-07T21:48:49.615102Z INFO zhost: request method=GET uri=/users/1/items?limit=1&start=100000 api_version=3 if_unmod=- body=1444machine: (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)1445(finished: subtest: Total-Results stays correct past the last page, in 0.06 seconds)1446subtest: query API: OR filters, descending sort and includeTrashed1447machine: 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' ' -f21448machine # [ 19.156258] zhost[895]: 2026-10-07T21:48:49.644085Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1449machine: (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)1450machine: 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 .successful1451machine # [ 19.181235] zhost[895]: 2026-10-07T21:48:49.669289Z 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"}]}]1452machine: (finished: must succeed: curl -sf -X POST http://localhost:8189/users/1/items -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 10' -d '[{"key":"CQVRA223","itemType":"book","title":"Aaa","tags":[{"tag":"aa"}]},{"key":"CQVRB223","itemType":"journalArticle","title":"Bbb","tags":[{"tag":"bb"}]},{"key":"CQVRT223","itemType":"book","title":"Ccc","deleted":1,"tags":[{"tag":"aa"}]}]' | jq -e .successful, in 0.03 seconds)1453machine: 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(",")'1454machine # [ 19.214528] zhost[895]: 2026-10-07T21:48:49.702429Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&itemType=book||journalArticle api_version=3 if_unmod=- body=1455machine: (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)1456machine: 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'1457machine # [ 19.240634] zhost[895]: 2026-10-07T21:48:49.728259Z INFO zhost: request method=GET uri=/users/1/items?tag=aa||bb&sort=title&direction=desc api_version=3 if_unmod=- body=1458machine: (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)1459machine: 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'1460machine # [ 19.265434] zhost[895]: 2026-10-07T21:48:49.753365Z INFO zhost: request method=GET uri=/users/1/items?tag=aa&sort=title&direction=desc&includeTrashed=1 api_version=3 if_unmod=- body=1461machine: (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)1462machine: 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(",")'1463machine # [ 19.290968] zhost[895]: 2026-10-07T21:48:49.778958Z INFO zhost: request method=GET uri=/users/1/items?tag=aa api_version=3 if_unmod=- body=1464machine: (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)1465(finished: subtest: query API: OR filters, descending sort and includeTrashed, in 0.16 seconds)1466subtest: sort=date orders by extracted year, not raw freeform text1467machine: 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' ' -f21468machine # [ 19.319468] zhost[895]: 2026-10-07T21:48:49.807518Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1469machine: (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)1470machine: 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 .successful1471machine # [ 19.345136] zhost[895]: 2026-10-07T21:48:49.833142Z 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"}]}]1472machine: (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)1473machine: 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(",")'1474machine # [ 19.380879] zhost[895]: 2026-10-07T21:48:49.868657Z INFO zhost: request method=GET uri=/users/1/items?tag=era&sort=date&direction=asc api_version=3 if_unmod=- body=1475machine: (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)1476(finished: subtest: sort=date orders by extracted year, not raw freeform text, in 0.09 seconds)1477subtest: collection top items are served as a plain-text key list1478machine: 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'1479machine # [ 19.404513] zhost[895]: 2026-10-07T21:48:49.892518Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1480machine: (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)1481machine: 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'1482machine # [ 19.427370] zhost[895]: 2026-10-07T21:48:49.915237Z INFO zhost: request method=GET uri=/users/1/collections/CQLLXXXX/items/top?format=keys api_version=3 if_unmod=- body=1483machine: (finished: must succeed: curl -sf -D - -o /dev/null 'http://localhost:8189/users/1/collections/CQLLXXXX/items/top?format=keys' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1484(finished: subtest: collection top items are served as a plain-text key list, in 0.05 seconds)1485subtest: a versions read with nothing newer returns 200 + empty map, not 3041486machine: 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' ' -f21487machine # [ 19.462588] zhost[895]: 2026-10-07T21:48:49.950497Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1488machine: (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)1489machine: 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'1490machine # [ 19.492219] zhost[895]: 2026-10-07T21:48:49.980042Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1491machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3', in 0.03 seconds)1492machine: 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 '. == {}'1493machine # [ 19.523224] zhost[895]: 2026-10-07T21:48:50.011035Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1494machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1495machine: 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'1496machine # [ 19.548632] zhost[895]: 2026-10-07T21:48:50.036291Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1497machine: (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)1498machine: 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 '. == {}'1499machine # [ 19.578738] zhost[895]: 2026-10-07T21:48:50.066794Z INFO zhost: request method=GET uri=/users/1/items/top?format=versions&since=12 api_version=3 if_unmod=- body=1500machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items/top?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1501machine: 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'1502machine # [ 19.606415] zhost[895]: 2026-10-07T21:48:50.094374Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1503machine: (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)1504machine: 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 '. == {}'1505machine # [ 19.631168] zhost[895]: 2026-10-07T21:48:50.119061Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=12 api_version=3 if_unmod=- body=1506machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1507machine: 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'1508machine # [ 19.654470] zhost[895]: 2026-10-07T21:48:50.142523Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1509machine: (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)1510machine: 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 '. == {}'1511machine # [ 19.678862] zhost[895]: 2026-10-07T21:48:50.166854Z INFO zhost: request method=GET uri=/users/1/searches?format=versions&since=12 api_version=3 if_unmod=- body=1512machine: (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)1513machine: 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'1514machine # [ 19.702083] zhost[895]: 2026-10-07T21:48:50.189982Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1515machine: (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)1516machine: 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 '. == {}'1517machine # [ 19.726264] zhost[895]: 2026-10-07T21:48:50.214022Z INFO zhost: request method=GET uri=/users/1/fulltext?format=versions&since=12 api_version=3 if_unmod=- body=1518machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/fulltext?format=versions&since=12' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '. == {}', in 0.03 seconds)1519machine: 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'1520machine # [ 19.751171] zhost[895]: 2026-10-07T21:48:50.239068Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=12 api_version=3 if_unmod=- body=1521machine: (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)1522machine: 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'1523machine # [ 19.774060] zhost[895]: 2026-10-07T21:48:50.261956Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1524machine: (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)1525(finished: subtest: a versions read with nothing newer returns 200 + empty map, not 304, in 0.34 seconds)1526subtest: collections round-trip through write, read, versions and delete1527machine: 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' ' -f21528machine # [ 19.801175] zhost[895]: 2026-10-07T21:48:50.289046Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1529machine: (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)1530machine: 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"'1531machine # [ 19.826421] zhost[895]: 2026-10-07T21:48:50.314289Z INFO zhost: request method=POST uri=/users/1/collections api_version=3 if_unmod=12 body=[{"key":"CQLL2223","name":"Papers"}]1532machine: (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)1533machine: 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"'1534machine # [ 19.856448] zhost[895]: 2026-10-07T21:48:50.344239Z INFO zhost: request method=GET uri=/users/1/collections?collectionKey=CQLL2223&format=json api_version=3 if_unmod=- body=1535machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?collectionKey=CQLL2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Papers"', in 0.03 seconds)1536machine: 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'1537machine # [ 19.881198] zhost[895]: 2026-10-07T21:48:50.369304Z INFO zhost: request method=GET uri=/users/1/collections?format=versions&since=0 api_version=3 if_unmod=- body=1538machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/collections?format=versions&since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.CQLL2223', in 0.02 seconds)1539machine: 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' ' -f21540machine # [ 19.909962] zhost[895]: 2026-10-07T21:48:50.397727Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1541machine: (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)1542machine: 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'1543machine # [ 19.933214] zhost[895]: 2026-10-07T21:48:50.421103Z INFO zhost: request method=DELETE uri=/users/1/collections?collectionKey=CQLL2223 api_version=3 if_unmod=13 body=1544machine: (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)1545machine: 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")'1546machine # [ 19.961582] zhost[895]: 2026-10-07T21:48:50.449446Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1547machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.collections | index("CQLL2223")', in 0.02 seconds)1548(finished: subtest: collections round-trip through write, read, versions and delete, in 0.19 seconds)1549subtest: saved searches round-trip through write, read and delete1550machine: 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' ' -f21551machine # [ 19.989965] zhost[895]: 2026-10-07T21:48:50.477853Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1552machine: (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)1553machine: 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"'1554machine # [ 20.015253] zhost[895]: 2026-10-07T21:48:50.503228Z INFO zhost: request method=POST uri=/users/1/searches api_version=3 if_unmod=14 body=[{"key":"SRCH2223","name":"Recent","conditions":[]}]1555machine: (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)1556machine: 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"'1557machine # [ 20.042533] zhost[895]: 2026-10-07T21:48:50.530499Z INFO zhost: request method=GET uri=/users/1/searches?searchKey=SRCH2223&format=json api_version=3 if_unmod=- body=1558machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/searches?searchKey=SRCH2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.name == "Recent"', in 0.02 seconds)1559machine: 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' ' -f21560machine # [ 20.071165] zhost[895]: 2026-10-07T21:48:50.559139Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1561machine: (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)1562machine: 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'1563machine # [ 20.095218] zhost[895]: 2026-10-07T21:48:50.582926Z INFO zhost: request method=DELETE uri=/users/1/searches?searchKey=SRCH2223 api_version=3 if_unmod=15 body=1564machine: (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)1565machine: 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")'1566machine # [ 20.122229] zhost[895]: 2026-10-07T21:48:50.610221Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1567machine: (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)1568(finished: subtest: saved searches round-trip through write, read and delete, in 0.16 seconds)1569subtest: settings round-trip through write, read and delete1570machine: 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' ' -f21571machine # [ 20.151083] zhost[895]: 2026-10-07T21:48:50.639007Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1572machine: (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)1573machine: 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"}]}}' 1574machine # [ 20.174742] zhost[895]: 2026-10-07T21:48:50.662724Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=16 body={"tagColors":{"value":[{"name":"x","color":"#fff"}]}}1575machine: (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)1576machine: 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")'1577machine # [ 20.201310] zhost[895]: 2026-10-07T21:48:50.689302Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1578machine: (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)1579machine: 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}}'1580machine # [ 20.224757] zhost[895]: 2026-10-07T21:48:50.712816Z INFO zhost: request method=POST uri=/users/1/settings api_version=3 if_unmod=0 body={"k":{"value":1}}1581machine # [ 20.228906] zhost[895]: 2026-10-07T21:48:50.717016Z WARN zhost: response error method=POST uri=/users/1/settings status=4121582machine: (finished: must succeed: curl -s -o /dev/null -w '%{http_code}' -X POST http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' -H 'If-Unmodified-Since-Version: 0' -d '{"k":{"value":1}}', in 0.03 seconds)1583machine: 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' ' -f21584machine # [ 20.255525] zhost[895]: 2026-10-07T21:48:50.743375Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1585machine: (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)1586machine: 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'1587machine # [ 20.279495] zhost[895]: 2026-10-07T21:48:50.767576Z INFO zhost: request method=DELETE uri=/users/1/settings?settingKey=tagColors api_version=3 if_unmod=17 body=1588machine: (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)1589machine: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null'1590machine # [ 20.308134] zhost[895]: 2026-10-07T21:48:50.796107Z INFO zhost: request method=GET uri=/users/1/settings api_version=3 if_unmod=- body=1591machine: (finished: must succeed: curl -sf http://localhost:8189/users/1/settings -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.tagColors == null', in 0.02 seconds)1592machine: 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")'1593machine # [ 20.332728] zhost[895]: 2026-10-07T21:48:50.820829Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1594machine: (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)1595(finished: subtest: settings round-trip through write, read and delete, in 0.21 seconds)1596subtest: a gzip-compressed write body is decoded1597machine: 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' ' -f21598machine # [ 20.360940] zhost[895]: 2026-10-07T21:48:50.848813Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1599machine: (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)1600machine: 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 .successful1601machine # [ 20.387821] zhost[895]: 2026-10-07T21:48:50.875716Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=18 body=[{"key":"GZIP2223","itemType":"book","title":"zipped"}]1602machine: (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)1603machine: 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"'1604machine # [ 20.417281] zhost[895]: 2026-10-07T21:48:50.905386Z INFO zhost: request method=GET uri=/users/1/items?itemKey=GZIP2223&format=json api_version=3 if_unmod=- body=1605machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/items?itemKey=GZIP2223&format=json' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.[0].data.title == "zipped"', in 0.02 seconds)1606(finished: subtest: a gzip-compressed write body is decoded, in 0.08 seconds)1607subtest: PATCH updates items and is gated by the read-only key1608machine: 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' ' -f21609machine # [ 20.445779] zhost[895]: 2026-10-07T21:48:50.933737Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1610machine: (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)1611machine: 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"'1612machine # [ 20.471389] zhost[895]: 2026-10-07T21:48:50.959313Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=19 body=[{"key":"GZIP2223","itemType":"book","title":"patched"}]1613machine: (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)1614machine: 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"}]'1615machine # [ 20.497627] zhost[895]: 2026-10-07T21:48:50.985647Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=0 body=[{"key":"X","itemType":"book"}]1616machine: (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)1617(finished: subtest: PATCH updates items and is gated by the read-only key, in 0.08 seconds)1618subtest: PATCH merges: a partial update keeps unspecified fields1619machine: 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' ' -f21620machine # [ 20.524876] zhost[895]: 2026-10-07T21:48:51.012785Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1621machine: (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)1622machine: 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 .successful1623machine # [ 20.550342] zhost[895]: 2026-10-07T21:48:51.038007Z 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"}]}]1624machine: (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)1625machine: 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' ' -f21626machine # [ 20.581545] zhost[895]: 2026-10-07T21:48:51.069501Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1627machine: (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)1628machine: 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"}]'1629machine # [ 20.605080] zhost[895]: 2026-10-07T21:48:51.093022Z INFO zhost: request method=PATCH uri=/users/1/items api_version=3 if_unmod=21 body=[{"key":"MERGEIT2","title":"new"}]1630machine: (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)1631machine: 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"'1632machine # [ 20.632855] zhost[895]: 2026-10-07T21:48:51.120791Z INFO zhost: request method=GET uri=/users/1/items?itemKey=MERGEIT2&format=json api_version=3 if_unmod=- body=1633machine: (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)1634(finished: subtest: PATCH merges: a partial update keeps unspecified fields, in 0.14 seconds)1635subtest: POST also merges: a partial upload keeps unspecified fields1636machine: 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' ' -f21637machine # [ 20.661515] zhost[895]: 2026-10-07T21:48:51.149525Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1638machine: (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)1639machine: 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 .successful1640machine # [ 20.686494] zhost[895]: 2026-10-07T21:48:51.174541Z 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"}]1641machine: (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)1642machine: 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' ' -f21643machine # [ 20.720344] zhost[895]: 2026-10-07T21:48:51.208258Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1644machine: (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)1645machine: 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":[]}]'1646machine # [ 20.743973] zhost[895]: 2026-10-07T21:48:51.231979Z INFO zhost: request method=POST uri=/users/1/items api_version=3 if_unmod=23 body=[{"key":"PMERGEAT","lastRead":1700000000,"tags":[]}]1647machine: (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)1648machine: 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'1649machine # [ 20.771235] zhost[895]: 2026-10-07T21:48:51.259290Z INFO zhost: request method=GET uri=/users/1/items?itemKey=PMERGEAT&format=json api_version=3 if_unmod=- body=1650machine: (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.02 seconds)1651(finished: subtest: POST also merges: a partial upload keeps unspecified fields, in 0.14 seconds)1652subtest: deletes are recorded in the deletion log1653machine: 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' ' -f21654machine # [ 20.800366] zhost[895]: 2026-10-07T21:48:51.288278Z INFO zhost: request method=GET uri=/users/1/items?format=versions&since=0 api_version=3 if_unmod=- body=1655machine: (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)1656machine: 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'1657machine # [ 20.825920] zhost[895]: 2026-10-07T21:48:51.313878Z INFO zhost: request method=DELETE uri=/users/1/items?itemKey=ITEM2223 api_version=3 if_unmod=24 body=1658machine: (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)1659machine: 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")'1660machine # [ 20.852760] zhost[895]: 2026-10-07T21:48:51.340744Z INFO zhost: request method=GET uri=/users/1/deleted?since=0 api_version=3 if_unmod=- body=1661machine: (finished: must succeed: curl -sf 'http://localhost:8189/users/1/deleted?since=0' -H 'Zotero-API-Key: testtoken' -H 'Zotero-API-Version: 3' | jq -e '.items | index("ITEM2223")', in 0.03 seconds)1662(finished: subtest: deletes are recorded in the deletion log, in 0.08 seconds)1663(finished: run the VM test script, in 21.76 seconds)1664test script finished in 21.80s1665cleanup1666kill QemuMachine (pid 45)1667machine # qemu-system-x86_64: terminating on signal 15 from pid 39 (/nix/store/lb41b0anx1f98y9y5s9mdv97gjgsq740-python3-3.14.7/bin/python3.14)1668machine # [2026-10-07T21:48:52Z INFO virtiofsd] Client disconnected, shutting down1669machine # [2026-10-07T21:48:52Z INFO virtiofsd] Client disconnected, shutting down1670machine # [2026-10-07T21:48:52Z INFO virtiofsd] Client disconnected, shutting down1671(finished: cleanup, in 0.19 seconds)