Taking a ktrace of syscalls, I can see the following output for ioctls calls to VIDIOC_DQBUF (line 1531: http://cvsweb.openbsd.org/cgi-bin/cvsweb/xenocara/app/video/video.c?annotate=1.29):
$ doas kdump -R | grep -1 DQBUF | wc 6471 29127 241107 $ doas kdump -R | grep -1 DQBUF | tail -20 -- 67682 video 0.000009 RET futex 0 67682 video 0.000009 CALL ioctl(4,VIDIOC_DQBUF,0x7f7fffff69d8) 67682 video 0.030719 RET ioctl 0 -- 67682 video 0.000007 RET futex 0 67682 video 0.000011 CALL ioctl(4,VIDIOC_DQBUF,0x7f7fffff69d8) 67682 video 0.010513 RET ioctl 0 -- 67682 video 0.000009 RET futex 0 67682 video 0.000010 CALL ioctl(4,VIDIOC_DQBUF,0x7f7fffff69d8) 67682 video 0.022353 RET ioctl 0 -- 67682 video 0.000010 RET futex 0 67682 video 0.000011 CALL ioctl(4,VIDIOC_DQBUF,0x7f7fffff69d8) 67682 video 0.021154 RET ioctl 0 -- 67682 video 0.000007 RET futex 0 67682 video 0.000009 CALL ioctl(4,VIDIOC_DQBUF,0x7f7fffff69d8) 67682 video 10.002985 RET ioctl -1 errno 22 Invalid argument $ Seems like a 10 second (?) timeout....but the "Invalid argument" error confuses me. $ man 1 video shows: ... 6. Dequeue one buffer via the VIDIOC_DQBUF ioctl command. If the queue is empty the ioctl will block until a buffer gets queued or an error occurs (e.g. a timeout). ... So, I take this as a buffer under-run...not necessarily a "bug", but an annoyance to be sure ("Invalid argument" vs "buffer underrun", or some other phrasing that describes why video(1) suddenly freezes and then stops). On Wed, May 13, 2020 at 7:59 PM Bryan Stenson <bryan.sten...@gmail.com> wrote: > > Hi all - > > I'm playing with video(1), reading from my webcam and have noticed > after working for a short while (20 - 60 seconds), the video process > will die, and writes the following error: "video: ioctl VIDIOC_DQBUF: > Invalid argument" > > $ date ; video -v -v -v -v -v ; date > Wed May 13 19:50:14 UTC 2020 > video device /dev/video: > encodings: yuy2 > frame sizes (width x height, in pixels) and rates (in frames per second): > 320x240: 30, 15 > 352x288: 30, 15 > 424x240: 30, 15 > 640x360: 30, 15 > 640x480: 30, 15 > 800x448: 15 > 960x540: 10 > 1280x720: 10 > controls: brightness, contrast, saturation, hue, gamma, sharpness > Xv adaptor 0, Intel(R) Textured Video: > encodings: yuy2, uyvy, yv12 > max size: 1366x768 > using yuy2 encoding > using frame size 640x480 (614400 bytes) > using default frame rate > video: got ConfigureNotify event > video: ioctl VIDIOC_DQBUF: Invalid argument25.64034 > Wed May 13 19:50:49 UTC 2020 > $ > > What's odd is that it appears to be related to displaying the output > via Xv(3) (the default for video(1)). If I write to > stdout/pipe-to-/dev/null, it crashes _less_ often...but eventually > does: > > $ date ; video -v -v -v -v -v -o - > /dev/null; date > Wed May 13 19:52:33 UTC 2020 > video device /dev/video: > encodings: yuy2 > frame sizes (width x height, in pixels) and rates (in frames per second): > 320x240: 30, 15 > 352x288: 30, 15 > 424x240: 30, 15 > 640x360: 30, 15 > 640x480: 30, 15 > 800x448: 15 > 960x540: 10 > 1280x720: 10 > controls: brightness, contrast, saturation, hue, gamma, sharpness > using yuy2 encoding > using frame size 640x480 (614400 bytes) > using default frame rate > video: ioctl VIDIOC_DQBUF: Invalid argument28.40834 > Wed May 13 19:57:34 UTC 2020 > $ > > Here's my dmesg: > > OpenBSD 6.7 (GENERIC.MP) #182: Thu May 7 11:11:58 MDT 2020 > dera...@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 16733044736 (15957MB) > avail mem = 16213307392 (15462MB) > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 2.7 @ 0xdae9d000 (65 entries) > bios0: vendor LENOVO version "H0ET97WW (2.57 )" date 04/16/2016 > bios0: LENOVO 336632U > acpi0 at bios0: ACPI 5.0 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP SLIC SSDT SSDT ASF! HPET APIC MCFG FPDT SSDT > SSDT UEFI UEFI MSDM UEFI DBG2 > acpi0: wakeup devices P0P1(S4) EHC1(S3) EHC2(S3) XHC_(S3) HDEF(S3) > RP01(S4) PXSX(S4) RP02(S4) PXSX(S4) RP03(S4) PXSX(S4) RP04(S4) > PXSX(S5) RP05(S4) PXSX(S4) RP06(S4) [...] > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpihpet0 at acpi0: 14318179 Hz > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Core(TM) i3-2328M CPU @ 2.20GHz, 2195.35 MHz, 06-2a-07 > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN > cpu0: 256KB 64b/line 8-way L2 cache > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges > cpu0: apic clock running at 99MHz > cpu0: mwait min=64, max=64, C-substates=0.2.1.1.2, IBE > cpu1 at mainbus0: apid 1 (application processor) > cpu1: Intel(R) Core(TM) i3-2328M CPU @ 2.20GHz, 2195.02 MHz, 06-2a-07 > cpu1: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN > cpu1: 256KB 64b/line 8-way L2 cache > cpu1: smt 1, core 0, package 0 > cpu2 at mainbus0: apid 2 (application processor) > cpu2: Intel(R) Core(TM) i3-2328M CPU @ 2.20GHz, 2195.02 MHz, 06-2a-07 > cpu2: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN > cpu2: 256KB 64b/line 8-way L2 cache > cpu2: smt 0, core 1, package 0 > cpu3 at mainbus0: apid 3 (application processor) > cpu3: Intel(R) Core(TM) i3-2328M CPU @ 2.20GHz, 2195.02 MHz, 06-2a-07 > cpu3: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,POPCNT,DEADLINE,XSAVE,AVX,NXE,RDTSCP,LONG,LAHF,PERF,ITSC,MD_CLEAR,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,MELTDOWN > cpu3: 256KB 64b/line 8-way L2 cache > cpu3: smt 1, core 1, package 0 > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 24 pins > acpimcfg0 at acpi0 > acpimcfg0: addr 0xf8000000, bus 0-63 > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus -1 (P0P1) > acpiprt2 at acpi0: bus 2 (RP01) > acpiprt3 at acpi0: bus 3 (RP02) > acpiprt4 at acpi0: bus 4 (RP03) > acpiprt5 at acpi0: bus 12 (RP04) > acpiprt6 at acpi0: bus -1 (RP05) > acpiprt7 at acpi0: bus -1 (RP06) > acpiprt8 at acpi0: bus -1 (RP07) > acpiprt9 at acpi0: bus -1 (RP08) > acpiprt10 at acpi0: bus -1 (PEG0) > acpiprt11 at acpi0: bus -1 (PEG1) > acpiprt12 at acpi0: bus -1 (PEG2) > acpiprt13 at acpi0: bus -1 (PEG3) > acpiec0 at acpi0 > acpicpu0 at acpi0: C2(350@104 mwait.1@0x20), C1(1000@1 mwait.1), PSS > acpicpu1 at acpi0: C2(350@104 mwait.1@0x20), C1(1000@1 mwait.1), PSS > acpicpu2 at acpi0: C2(350@104 mwait.1@0x20), C1(1000@1 mwait.1), PSS > acpicpu3 at acpi0: C2(350@104 mwait.1@0x20), C1(1000@1 mwait.1), PSS > acpitz0 at acpi0: critical temperature is 100 degC > acpipci0 at acpi0 PCI0: 0x00000004 0x00000011 0x00000001 > acpicmos0 at acpi0 > acpithinkpad0 at acpi0: version 1.0 > "PNP0C14" at acpi0 not configured > acpibat0 at acpi0: BAT0 model "45N1043" serial 2164 type LION oem "SANYO" > acpiac0 at acpi0: AC unit online > acpibtn0 at acpi0: PWRB > acpibtn1 at acpi0: LID0 > acpivideo0 at acpi0: VID_ > acpivout0 at acpivideo0: LCD0 > cpu0: using VERW MDS workaround (except on vmm entry) > cpu0: Enhanced SpeedStep 2195 MHz: speeds: 2200, 2100, 2000, 1900, > 1800, 1700, 1600, 1500, 1400, 1300, 1200, 1100, 1000, 900, 800 MHz > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel Core 2G Host" rev 0x09 > inteldrm0 at pci0 dev 2 function 0 "Intel HD Graphics 3000" rev 0x09 > drm0 at inteldrm0 > inteldrm0: msi, SANDYBRIDGE, gen 6 > xhci0 at pci0 dev 20 function 0 "Intel 7 Series xHCI" rev 0x04: msi, xHCI 1.0 > usb0 at xhci0: USB revision 3.0 > uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev > 3.00/1.00 addr 1 > "Intel 7 Series MEI" rev 0x04 at pci0 dev 22 function 0 not configured > ehci0 at pci0 dev 26 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 16 > usb1 at ehci0: USB revision 2.0 > uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev > 2.00/1.00 addr 1 > azalia0 at pci0 dev 27 function 0 "Intel 7 Series HD Audio" rev 0x04: msi > azalia0: codecs: Conexant CX20590, Intel/0x2806, using Conexant CX20590 > audio0 at azalia0 > ppb0 at pci0 dev 28 function 0 "Intel 7 Series PCIE" rev 0xc4: msi > pci1 at ppb0 bus 2 > rtsx0 at pci1 dev 0 function 0 "Realtek RTS5229 Card Reader" rev 0x01: msi > sdmmc0 at rtsx0: 4-bit, dma > ppb1 at pci0 dev 28 function 1 "Intel 7 Series PCIE" rev 0xc4: msi > pci2 at ppb1 bus 3 > iwn0 at pci2 dev 0 function 0 "Intel Centrino Wireless-N 2230" rev > 0xc4: msi, MIMO 2T2R, BGN, address 60:36:dd:ed:4a:81 > ppb2 at pci0 dev 28 function 2 "Intel 7 Series PCIE" rev 0xc4: msi > pci3 at ppb2 bus 4 > ppb3 at pci0 dev 28 function 3 "Intel 7 Series PCIE" rev 0xc4: msi > pci4 at ppb3 bus 12 > re0 at pci4 dev 0 function 0 "Realtek 8168" rev 0x07: > RTL8168E/8111E-VL (0x2c80), msi, address b8:88:e3:ed:13:08 > rgephy0 at re0 phy 7: RTL8169S/8110S/8211 PHY, rev. 5 > ehci1 at pci0 dev 29 function 0 "Intel 7 Series USB" rev 0x04: apic 2 int 23 > usb2 at ehci1: USB revision 2.0 > uhub2 at usb2 configuration 1 interface 0 "Intel EHCI root hub" rev > 2.00/1.00 addr 1 > pcib0 at pci0 dev 31 function 0 "Intel HM77 LPC" rev 0x04 > ahci0 at pci0 dev 31 function 2 "Intel 7 Series AHCI" rev 0x04: msi, AHCI 1.3 > ahci0: port 0: 6.0Gb/s > ahci0: port 1: 1.5Gb/s > scsibus1 at ahci0: 32 targets > sd0 at scsibus1 targ 0 lun 0: <ATA, HP SSD M700 120G, Q110> > t10.ATA_HP_SSD_M700_120GB_HBSA17460401083_ > sd0: 114473MB, 512 bytes/sector, 234441648 sectors, thin > cd0 at scsibus1 targ 1 lun 0: <PLDS, DVD-RW DS8A8SH, KL31> removable > ichiic0 at pci0 dev 31 function 3 "Intel 7 Series SMBus" rev 0x04: apic 2 int > 18 > iic0 at ichiic0 > spdmem0 at iic0 addr 0x50: 8GB DDR3 SDRAM PC3-12800 SO-DIMM > spdmem1 at iic0 addr 0x52: 8GB DDR3 SDRAM PC3-12800 SO-DIMM > isa0 at pcib0 > isadma0 at isa0 > pckbc0 at isa0 port 0x60/5 irq 1 irq 12 > pckbd0 at pckbc0 (kbd slot) > wskbd0 at pckbd0: console keyboard > pms0 at pckbc0 (aux slot) > wsmouse0 at pms0 mux 0 > wsmouse1 at pms0 mux 0 > pms0: Synaptics clickpad, firmware 8.1, 0x1e2b1 0x940300 0x21e240 > 0xd002a3 0x126c00 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > vmm0 at mainbus0: VMX/EPT > uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching > Hub" rev 2.00/0.00 addr 2 > ugen0 at uhub3 port 3 "Intel product 0x07da" rev 2.00/78.69 addr 3 > uhub4 at uhub2 port 1 configuration 1 interface 0 "Intel Rate Matching > Hub" rev 2.00/0.00 addr 2 > uvideo0 at uhub4 port 6 configuration 1 interface 0 "Ricoh Company > Ltd. Integrated Camera" rev 2.00/0.07 addr 3 > video0 at uvideo0 > vscsi0 at root > scsibus2 at vscsi0: 256 targets > softraid0 at root > scsibus3 at softraid0: 256 targets > sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> > sd1: 114470MB, 512 bytes/sector, 234435953 sectors > root on sd1a (9392aa9141199c2a.a) swap on sd1b dump on sd1b > inteldrm0: 1366x768, 32bpp > wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using wskbd0 > wsdisplay0: screen 1-5 added (std, vt100 emulation) > uhub0 detached > ugen0 detached > uhub3 detached > uhub1 detached > video0 detached > uvideo0 detached > uhub4 detached > uhub2 detached > uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev > 3.00/1.00 addr 1 > uhub1 at usb1 configuration 1 interface 0 "Intel EHCI root hub" rev > 2.00/1.00 addr 1 > uhub2 at usb2 configuration 1 interface 0 "Intel EHCI root hub" rev > 2.00/1.00 addr 1 > uhub3 at uhub1 port 1 configuration 1 interface 0 "Intel Rate Matching > Hub" rev 2.00/0.00 addr 2 > ugen0 at uhub3 port 3 "Intel product 0x07da" rev 2.00/78.69 addr 3 > uhub4 at uhub2 port 1 configuration 1 interface 0 "Intel Rate Matching > Hub" rev 2.00/0.00 addr 2 > uvideo0 at uhub4 port 6 configuration 1 interface 0 "Ricoh Company > Ltd. Integrated Camera" rev 2.00/0.07 addr 3 > video0 at uvideo0