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

Reply via email to