text:
[BUG] libcamera-still crashes

*--------------------------------------------------------------------------------
libcamera-apps Bug Report
Date: 08-07-2022 (20:29:17)
Command: /usr/local/bin/camera-bug-report -t 5 -o bug.txt -c libcamera-still -t 1000 -o test.jpg

Hardware information
** hostname **
camera01
** cat /proc/cpuinfo **
processor	: 0
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3
processor	: 1
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3
processor	: 2
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3
processor	: 3
BogoMIPS	: 108.00
Features	: fp asimd evtstrm crc32 cpuid
CPU implementer	: 0x41
CPU architecture: 8
CPU variant	: 0x0
CPU part	: 0xd08
CPU revision	: 3
Hardware	: BCM2835
Revision	: c03112
Serial		: 10000000134ef266
Model		: Raspberry Pi 4 Model B Rev 1.2

Configuration
** cat /boot/cmdline.txt **
console=serial0,115200 console=tty1 root=PARTUUID=a2d140d5-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
** cat /boot/config.txt **
For more options and information see
http://rpf.io/configtxt
Some settings may impact device functionality. See link above for details
uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1
uncomment the following to adjust overscan. Use positive numbers if console
goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16
uncomment to force a console size. By default it will be display's size minus
overscan.
#framebuffer_width=1280
#framebuffer_height=720
uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
uncomment to force a HDMI mode rather than DVI. This can make audio work in
DMT (computer monitor) modes
#hdmi_drive=2
uncomment to increase signal to HDMI, if you have interference, blanking, or
no display
#config_hdmi_boost=4
uncomment for composite PAL
#sdtv_mode=2
#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800
Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on
Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18
Additional overlays and parameters are documented /boot/overlays/README
Enable audio (loads snd_bcm2835)
dtparam=audio=on
Automatically load overlays for detected cameras
start_x=1
Automatically load overlays for detected DSI displays
display_auto_detect=1
Enable DRM VC4 V3D driver
#dtoverlay=vc4-kms-v3d
max_framebuffers=2
Run in 64-bit mode
arm_64bit=1
Disable compensation for displays with overscan
disable_overscan=1
[cm4]
Enable host mode on the 2711 built-in XHCI USB controller.
This line should be removed if the legacy DWC2 controller is required
(e.g. for USB device mode) or if USB support is not required.
otg_mode=1
[all]
dtoverlay=vc4-kms-v3d,cma-512
[pi4]
dtoverlay=vc4-fkms-v3d
Run as fast as firmware / board allows
arm_boost=1
[all]
gpu_mem=128
dtoverlay=arducam_64mp

Logs
** dmesg **
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.15.32-v8+ (dom@buildbot) (aarch64-linux-gnu-gcc-8 (Ubuntu/Linaro 8.4.0-3ubuntu1) 8.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022
[    0.000000] random: fast init done
[    0.000000] Machine model: Raspberry Pi 4 Model B Rev 1.2
[    0.000000] efi: UEFI not found.
[    0.000000] Reserved memory: created CMA memory pool at 0x000000000ec00000, size 512 MiB
[    0.000000] OF: reserved mem: initialized node linux,cma, compatible id shared-dma-pool
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x0000000037efffff]
[    0.000000]   node   0: [mem 0x0000000040000000-0x00000000fbffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000000fbffffff]
[    0.000000] On node 0, zone DMA32: 256 pages in unavailable ranges
[    0.000000] percpu: Embedded 28 pages/cpu s77144 r8192 d29352 u114688
[    0.000000] pcpu-alloc: s77144 r8192 d29352 u114688 alloc=28*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 [0] 2 [0] 3
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: Spectre-v4
[    0.000000] CPU features: detected: Spectre-BHB
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 983556
[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=0 snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1  smsc95xx.macaddr=DC:A6:32:AB:55:6F vc_mem.mem_base=0x3eb00000 vc_mem.mem_size=0x3ff00000  console=ttyS0,115200 console=tty1 root=PARTUUID=a2d140d5-02 rootfstype=ext4 fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
[    0.000000] Unknown kernel command line parameters "splash", will be passed to user space.
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x0000000033f00000-0x0000000037f00000] (64MB)
[    0.000000] Memory: 3305364K/3996672K available (11456K kernel code, 1962K rwdata, 4144K rodata, 3776K init, 964K bss, 167020K reserved, 524288K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] ftrace: allocating 37889 entries in 149 pages
[    0.000000] ftrace: allocated 149 pages with 4 groups
[    0.000000] trace event string verifier disabled
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4.
[    0.000000] 	Trampoline variant of Tasks RCU enabled.
[    0.000000] 	Rude variant of Tasks RCU enabled.
[    0.000000] 	Tracing variant of Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] irq_brcmstb_l2: registered L2 intc (/soc/interrupt-controller@7ef00100, parent irq: 10)
[    0.000000] random: get_random_bytes called from start_kernel+0x510/0x6f8 with crng_init=1
[    0.000000] arch_timer: cp15 timer(s) running at 54.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0xc743ce346, max_idle_ns: 440795203123 ns
[    0.000000] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
[    0.000257] Console: colour dummy device 80x25
[    0.000310] printk: console [tty1] enabled
[    0.000371] Calibrating delay loop (skipped), value calculated using timer frequency.. 108.00 BogoMIPS (lpj=216000)
[    0.000397] pid_max: default: 32768 minimum: 301
[    0.000522] LSM: Security Framework initializing
[    0.000690] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.000759] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.001987] cgroup: Disabling memory control group subsystem
[    0.004446] rcu: Hierarchical SRCU implementation.
[    0.005524] EFI services will not be available.
[    0.006045] smp: Bringing up secondary CPUs ...
[    0.007079] Detected PIPT I-cache on CPU1
[    0.007158] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    0.008391] Detected PIPT I-cache on CPU2
[    0.008443] CPU2: Booted secondary processor 0x0000000002 [0x410fd083]
[    0.009563] Detected PIPT I-cache on CPU3
[    0.009614] CPU3: Booted secondary processor 0x0000000003 [0x410fd083]
[    0.009762] smp: Brought up 1 node, 4 CPUs
[    0.009784] SMP: Total of 4 processors activated.
[    0.009796] CPU features: detected: 32-bit EL0 Support
[    0.009806] CPU features: detected: 32-bit EL1 Support
[    0.009819] CPU features: detected: CRC32 instructions
[    0.041536] CPU: All CPU(s) started at EL2
[    0.041608] alternatives: patching kernel code
[    0.043284] devtmpfs: initialized
[    0.054453] Enabled cp15_barrier support
[    0.054495] Enabled setend support
[    0.054686] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.054717] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.071293] pinctrl core: initialized pinctrl subsystem
[    0.072106] DMI not present or invalid.
[    0.072618] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.076228] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    0.076527] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.077430] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.077523] audit: initializing netlink subsys (disabled)
[    0.077807] audit: type=2000 audit(0.076:1): state=initialized audit_enabled=0 res=1
[    0.078302] thermal_sys: Registered thermal governor 'step_wise'
[    0.078524] cpuidle: using governor menu
[    0.078848] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.079034] ASID allocator initialised with 65536 entries
[    0.079198] Serial: AMBA PL011 UART driver
[    0.092636] bcm2835-mbox fe00b880.mailbox: mailbox enabled
[    0.120387] raspberrypi-firmware soc:firmware: Attached to firmware from 2022-03-24T13:20:19, variant start_x
[    0.124406] raspberrypi-firmware soc:firmware: Firmware hash is e5a963efa66a1974127860b42e913d2374139ff5
[    0.175788] bcm2835-dma fe007000.dma: DMA legacy API manager, dmachans=0x1
[    0.180133] vgaarb: loaded
[    0.180560] SCSI subsystem initialized
[    0.180878] usbcore: registered new interface driver usbfs
[    0.180932] usbcore: registered new interface driver hub
[    0.180997] usbcore: registered new device driver usb
[    0.181367] usb_phy_generic phy: supply vcc not found, using dummy regulator
[    0.181840] pps_core: LinuxPPS API ver. 1 registered
[    0.181854] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti giometti@linux.it
[    0.181877] PTP clock support registered
[    0.183339] clocksource: Switched to clocksource arch_sys_counter
[    0.275879] VFS: Disk quotas dquot_6.6.0
[    0.275980] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    0.276143] FS-Cache: Loaded
[    0.276374] CacheFiles: Loaded
[    0.287270] NET: Registered PF_INET protocol family
[    0.287842] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.291262] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    0.291347] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    0.291574] TCP bind hash table entries: 32768 (order: 7, 524288 bytes, linear)
[    0.292086] TCP: Hash tables configured (established 32768 bind 32768)
[    0.292340] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.292417] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    0.292717] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    0.293701] RPC: Registered named UNIX socket transport module.
[    0.293719] RPC: Registered udp transport module.
[    0.293730] RPC: Registered tcp transport module.
[    0.293740] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.293759] PCI: CLS 0 bytes, default 64
[    0.296104] hw perfevents: enabled with armv8_cortex_a72 PMU driver, 7 counters available
[    0.296444] kvm [1]: IPA Size Limit: 44 bits
[    0.297599] kvm [1]: vgic interrupt IRQ9
[    0.297865] kvm [1]: Hyp mode initialized successfully
[    1.198225] Initialise system trusted keyrings
[    1.198598] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    1.205675] zbud: loaded
[    1.207569] FS-Cache: Netfs 'nfs' registered for caching
[    1.208233] NFS: Registering the id_resolver key type
[    1.208270] Key type id_resolver registered
[    1.208281] Key type id_legacy registered
[    1.208386] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.208399] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.209572] Key type asymmetric registered
[    1.209587] Asymmetric key parser 'x509' registered
[    1.209665] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    1.209931] io scheduler mq-deadline registered
[    1.209946] io scheduler kyber registered
[    1.219760] brcm-pcie fd500000.pcie: host bridge /scb/pcie@7d500000 ranges:
[    1.219804] brcm-pcie fd500000.pcie:   No bus range found for /scb/pcie@7d500000, using [bus 00-ff]
[    1.219889] brcm-pcie fd500000.pcie:      MEM 0x0600000000..0x063fffffff -> 0x00c0000000
[    1.219970] brcm-pcie fd500000.pcie:   IB MEM 0x0000000000..0x00bfffffff -> 0x0400000000
[    1.269438] brcm-pcie fd500000.pcie: link up, 5.0 GT/s PCIe x1 (SSC)
[    1.269803] brcm-pcie fd500000.pcie: PCI host bridge to bus 0000:00
[    1.269821] pci_bus 0000:00: root bus resource [bus 00-ff]
[    1.269839] pci_bus 0000:00: root bus resource [mem 0x600000000-0x63fffffff] (bus address [0xc0000000-0xffffffff])
[    1.269924] pci 0000:00:00.0: [14e4:2711] type 01 class 0x060400
[    1.270168] pci 0000:00:00.0: PME# supported from D0 D3hot
[    1.273997] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    1.274351] pci 0000:01:00.0: [1106:3483] type 00 class 0x0c0330
[    1.274474] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x00000fff 64bit]
[    1.274896] pci 0000:01:00.0: PME# supported from D0 D3cold
[    1.290781] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    1.290826] pci 0000:00:00.0: BAR 8: assigned [mem 0x600000000-0x6000fffff]
[    1.290850] pci 0000:01:00.0: BAR 0: assigned [mem 0x600000000-0x600000fff 64bit]
[    1.290889] pci 0000:00:00.0: PCI bridge to [bus 01]
[    1.290911] pci 0000:00:00.0:   bridge window [mem 0x600000000-0x6000fffff]
[    1.299961] iproc-rng200 fe104000.rng: hwrng registered
[    1.300561] vc-mem: phys_addr:0x00000000 mem_base=0x3eb00000 mem_size:0x3ff00000(1023 MiB)
[    1.302033] gpiomem-bcm2835 fe200000.gpiomem: Initialised: Registers at 0xfe200000
[    1.302450] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    1.313457] brd: module loaded
[    1.322998] loop: module loaded
[    1.323834] Loading iSCSI transport class v2.0-870.
[    1.328793] bcmgenet fd580000.ethernet: GENET 5.0 EPHY: 0x0000
[    1.387485] unimac-mdio unimac-mdio.-19: Broadcom UniMAC MDIO bus
[    1.388583] usbcore: registered new interface driver r8152
[    1.388667] usbcore: registered new interface driver lan78xx
[    1.388720] usbcore: registered new interface driver smsc95xx
[    1.390297] pci 0000:00:00.0: enabling device (0000 -> 0002)
[    1.390336] xhci_hcd 0000:01:00.0: enabling device (0000 -> 0002)
[    1.390433] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    1.390464] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 1
[    1.391198] xhci_hcd 0000:01:00.0: hcc params 0x002841eb hci version 0x100 quirks 0x00003c0000000890
[    1.392194] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.15
[    1.392217] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.392232] usb usb1: Product: xHCI Host Controller
[    1.392246] usb usb1: Manufacturer: Linux 5.15.32-v8+ xhci-hcd
[    1.392259] usb usb1: SerialNumber: 0000:01:00.0
[    1.393004] hub 1-0:1.0: USB hub found
[    1.393101] hub 1-0:1.0: 1 port detected
[    1.393731] xhci_hcd 0000:01:00.0: xHCI Host Controller
[    1.393754] xhci_hcd 0000:01:00.0: new USB bus registered, assigned bus number 2
[    1.393777] xhci_hcd 0000:01:00.0: Host supports USB 3.0 SuperSpeed
[    1.394267] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.15
[    1.394288] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.394302] usb usb2: Product: xHCI Host Controller
[    1.394316] usb usb2: Manufacturer: Linux 5.15.32-v8+ xhci-hcd
[    1.394329] usb usb2: SerialNumber: 0000:01:00.0
[    1.395018] hub 2-0:1.0: USB hub found
[    1.395107] hub 2-0:1.0: 4 ports detected
[    1.396805] dwc_otg: version 3.00a 10-AUG-2012 (platform bus)
[    1.397132] dwc_otg: FIQ enabled
[    1.397143] dwc_otg: NAK holdoff enabled
[    1.397152] dwc_otg: FIQ split-transaction FSM enabled
[    1.397165] Module dwc_common_port init
[    1.397704] usbcore: registered new interface driver uas
[    1.397819] usbcore: registered new interface driver usb-storage
[    1.398032] mousedev: PS/2 mouse device common for all mice
[    1.403041] sdhci: Secure Digital Host Controller Interface driver
[    1.403059] sdhci: Copyright(c) Pierre Ossman
[    1.403763] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.407347] ledtrig-cpu: registered to indicate activity on CPUs
[    1.407956] hid: raw HID events driver (C) Jiri Kosina
[    1.408119] usbcore: registered new interface driver usbhid
[    1.408132] usbhid: USB HID core driver
[    1.408464] ashmem: initialized
[    1.417094] Initializing XFRM netlink socket
[    1.417145] NET: Registered PF_PACKET protocol family
[    1.417262] Key type dns_resolver registered
[    1.418414] registered taskstats version 1
[    1.418446] Loading compiled-in X.509 certificates
[    1.419100] Key type ._fscrypt registered
[    1.419115] Key type .fscrypt registered
[    1.419125] Key type fscrypt-provisioning registered
[    1.431179] uart-pl011 fe201000.serial: there is not valid maps for state default
[    1.431506] uart-pl011 fe201000.serial: cts_event_workaround enabled
[    1.431661] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 19, base_baud = 0) is a PL011 rev2
[    1.440548] bcm2835-wdt bcm2835-wdt: Broadcom BCM2835 watchdog timer
[    1.441021] bcm2835-power bcm2835-power: Broadcom BCM2835 power domains driver
[    1.442159] mmc-bcm2835 fe300000.mmcnr: mmc_debug:0 mmc_debug2:0
[    1.442179] mmc-bcm2835 fe300000.mmcnr: DMA channel allocated
[    1.478026] mmc1: Controller never released inhibit bit(s).
[    1.482551] of_cfs_init
[    1.482679] of_cfs_init: OK
[    1.516994] mmc0: SDHCI controller on fe340000.mmc [fe340000.mmc] using ADMA
[    1.517488] Waiting for root device PARTUUID=a2d140d5-02...
[    1.570026] mmc1: new high speed SDIO card at address 0001
[    1.647360] usb 1-1: new high-speed USB device number 2 using xhci_hcd
[    1.798008] usb 1-1: New USB device found, idVendor=2109, idProduct=3431, bcdDevice= 4.21
[    1.798030] usb 1-1: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[    1.798046] usb 1-1: Product: USB2.0 Hub
[    1.799671] hub 1-1:1.0: USB hub found
[    1.800084] hub 1-1:1.0: 4 ports detected
[    1.923693] usb 2-1: new SuperSpeed USB device number 2 using xhci_hcd
[    1.945283] usb 2-1: New USB device found, idVendor=0781, idProduct=5583, bcdDevice= 1.00
[    1.945305] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    1.945320] usb 2-1: Product:  SanDisk 3.2Gen1
[    1.945334] usb 2-1: Manufacturer:  USB
[    1.945347] usb 2-1: SerialNumber: 01010dc10d83e0a931bb9e727bedd1d0a620381172a62c8908e53d64ddef2dc455630000000000000000000000645ce7ff845b0083558107732826e8
[    1.947648] usb-storage 2-1:1.0: USB Mass Storage device detected
[    1.948371] scsi host0: usb-storage 2-1:1.0
[    2.095358] usb 1-1.2: new high-speed USB device number 3 using xhci_hcd
[    2.196164] usb 1-1.2: New USB device found, idVendor=0bda, idProduct=c811, bcdDevice= 2.00
[    2.196185] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    2.196200] usb 1-1.2: Product: 802.11ac NIC
[    2.196214] usb 1-1.2: Manufacturer: Realtek
[    2.196227] usb 1-1.2: SerialNumber: 123456
[    2.976817] scsi 0:0:0:0: Direct-Access      USB      SanDisk 3.2Gen1 1.00 PQ: 0 ANSI: 6
[    2.977965] sd 0:0:0:0: [sda] 240353280 512-byte logical blocks: (123 GB/115 GiB)
[    2.980597] sd 0:0:0:0: [sda] Write Protect is off
[    2.980616] sd 0:0:0:0: [sda] Mode Sense: 43 00 00 00
[    2.981471] sd 0:0:0:0: [sda] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    2.990445]  sda: sda1 sda2
[    2.993022] sd 0:0:0:0: [sda] Attached SCSI removable disk
[    3.022360] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    3.022456] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[    3.023612] devtmpfs: mounted
[    3.031215] Freeing unused kernel memory: 3776K
[    3.031470] Run /sbin/init as init process
[    3.031484]   with arguments:
[    3.031493]     /sbin/init
[    3.031502]     splash
[    3.031512]   with environment:
[    3.031520]     HOME=/
[    3.031529]     TERM=linux
[    3.312113] systemd[1]: System time before build time, advancing clock.
[    3.419159] NET: Registered PF_INET6 protocol family
[    3.421165] Segment Routing with IPv6
[    3.421214] In-situ OAM (IOAM) with IPv6
[    3.544931] systemd[1]: systemd 247.3-7 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[    3.545874] systemd[1]: Detected architecture arm64.
[    3.586573] systemd[1]: Set hostname to .
[    4.125512] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[    4.388241] systemd[1]: Queued start job for default target Multi-User System.
[    4.390532] random: systemd: uninitialized urandom read (16 bytes read)
[    4.392906] systemd[1]: Created slice system-getty.slice.
[    4.393360] random: systemd: uninitialized urandom read (16 bytes read)
[    4.394345] systemd[1]: Created slice system-modprobe.slice.
[    4.394453] random: systemd: uninitialized urandom read (16 bytes read)
[    4.395445] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[    4.396291] systemd[1]: Created slice User and Session Slice.
[    4.396823] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    4.397921] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    4.398408] systemd[1]: Reached target Slices.
[    4.398587] systemd[1]: Reached target Swap.
[    4.403446] systemd[1]: Listening on Syslog Socket.
[    4.404212] systemd[1]: Listening on fsck to fsckd communication Socket.
[    4.404622] systemd[1]: Listening on initctl Compatibility Named Pipe.
[    4.405804] systemd[1]: Listening on Journal Audit Socket.
[    4.406614] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.407642] systemd[1]: Listening on Journal Socket.
[    4.409767] systemd[1]: Listening on udev Control Socket.
[    4.410551] systemd[1]: Listening on udev Kernel Socket.
[    4.411693] systemd[1]: Condition check resulted in Huge Pages File System being skipped.
[    4.415590] systemd[1]: Mounting POSIX Message Queue File System...
[    4.420312] systemd[1]: Mounting RPC Pipe File System...
[    4.425852] systemd[1]: Mounting Kernel Debug File System...
[    4.431745] systemd[1]: Mounting Kernel Trace File System...
[    4.432551] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[    4.441081] systemd[1]: Starting Restore / save the current clock...
[    4.448702] systemd[1]: Starting Set the console keyboard layout...
[    4.454667] systemd[1]: Starting Create list of static device nodes for the current kernel...
[    4.461389] systemd[1]: Starting Load Kernel Module configfs...
[    4.468144] systemd[1]: Starting Load Kernel Module drm...
[    4.477413] systemd[1]: Starting Load Kernel Module fuse...
[    4.502894] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[    4.507833] systemd[1]: Starting File System Check on Root Device...
[    4.516300] systemd[1]: Starting Journal Service...
[    4.522827] fuse: init (API version 7.34)
[    4.538530] systemd[1]: Starting Load Kernel Modules...
[    4.544214] systemd[1]: Starting Coldplug All udev Devices...
[    4.572817] systemd[1]: Mounted POSIX Message Queue File System.
[    4.573898] systemd[1]: Mounted RPC Pipe File System.
[    4.574894] systemd[1]: Mounted Kernel Debug File System.
[    4.581320] systemd[1]: Mounted Kernel Trace File System.
[    4.583872] systemd[1]: Finished Restore / save the current clock.
[    4.586964] systemd[1]: Finished Create list of static device nodes for the current kernel.
[    4.589827] systemd[1]: modprobe@configfs.service: Succeeded.
[    4.596827] systemd[1]: Finished Load Kernel Module configfs.
[    4.600622] systemd[1]: modprobe@fuse.service: Succeeded.
[    4.602207] systemd[1]: Finished Load Kernel Module fuse.
[    4.609336] systemd[1]: Mounting FUSE Control File System...
[    4.614983] systemd[1]: Mounting Kernel Configuration File System...
[    4.621200] systemd[1]: Started File System Check Daemon to report status.
[    4.626019] systemd[1]: modprobe@drm.service: Succeeded.
[    4.628295] systemd[1]: Finished Load Kernel Module drm.
[    4.647538] i2c_dev: i2c /dev entries driver
[    4.665472] systemd[1]: Finished Load Kernel Modules.
[    4.666634] systemd[1]: Mounted FUSE Control File System.
[    4.667573] systemd[1]: Mounted Kernel Configuration File System.
[    4.672645] systemd[1]: Starting Apply Kernel Variables...
[    4.737789] systemd[1]: Finished Apply Kernel Variables.
[    4.855059] systemd[1]: Started Journal Service.
[    5.002624] EXT4-fs (sda2): re-mounted. Opts: (null). Quota mode: none.
[    5.080732] systemd-journald[133]: Received client request to flush runtime journal.
[    5.102066] systemd-journald[133]: File /var/log/journal/00fda57f87f04c219281d02b0a82138b/system.journal corrupted or uncleanly shut down, renaming and replacing.
[    6.031485] rpivid-mem feb00000.hevc-decoder: rpivid-hevcmem initialised: Registers at 0xfeb00000 length 0x00010000
[    6.043827] rpivid-mem feb10000.rpivid-local-intc: rpivid-intcmem initialised: Registers at 0xfeb10000 length 0x00001000
[    6.046566] rpivid-mem feb20000.h264-decoder: rpivid-h264mem initialised: Registers at 0xfeb20000 length 0x00010000
[    6.047464] rpivid-mem feb30000.vp9-decoder: rpivid-vp9mem initialised: Registers at 0xfeb30000 length 0x00010000
[    6.129167] mc: Linux media interface: v0.10
[    6.130220] vc_sm_cma: module is from the staging directory, the quality is unknown, you have been warned.
[    6.132178] bcm2835_vc_sm_cma_probe: Videocore shared memory driver
[    6.132212] [vc_sm_connected_init]: start
[    6.132981] snd_bcm2835: module is from the staging directory, the quality is unknown, you have been warned.
[    6.137631] [vc_sm_connected_init]: installed successfully
[    6.143260] bcm2835_audio bcm2835_audio: card created with 8 channels
[    6.158912] videodev: Linux video capture interface: v2.00
[    6.232098] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.232212] bcm2835_mmal_vchiq: module is from the staging directory, the quality is unknown, you have been warned.
[    6.238723] bcm2835_isp: module is from the staging directory, the quality is unknown, you have been warned.
[    6.253532] bcm2835_codec: module is from the staging directory, the quality is unknown, you have been warned.
[    6.258299] bcm2835_v4l2: module is from the staging directory, the quality is unknown, you have been warned.
[    6.316205] bcm2835-codec bcm2835-codec: Device registered as /dev/video10
[    6.316266] bcm2835-codec bcm2835-codec: Loaded V4L2 decode
[    6.316442] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video13
[    6.320955] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video14
[    6.321665] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video15
[    6.328112] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video16
[    6.328161] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    6.328183] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.328217] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.328234] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.329978] brcmstb-i2c fef04500.i2c:  @97500hz registered in polling mode
[    6.331168] brcmstb-i2c fef09500.i2c:  @97500hz registered in polling mode
[    6.334597] bcm2835-codec bcm2835-codec: Device registered as /dev/video11
[    6.334670] bcm2835-codec bcm2835-codec: Loaded V4L2 encode
[    6.343294] bcm2835-codec bcm2835-codec: Device registered as /dev/video12
[    6.343619] bcm2835-codec bcm2835-codec: Loaded V4L2 isp
[    6.350008] bcm2835-codec bcm2835-codec: Device registered as /dev/video18
[    6.350064] bcm2835-codec bcm2835-codec: Loaded V4L2 image_fx
[    6.362177] bcm2835-codec bcm2835-codec: Device registered as /dev/video31
[    6.362232] bcm2835-codec bcm2835-codec: Loaded V4L2 encode_image
[    6.417028] bcm2835-isp bcm2835-isp: Device node output[0] registered as /dev/video20
[    6.418443] bcm2835-isp bcm2835-isp: Device node capture[0] registered as /dev/video21
[    6.419418] random: crng init done
[    6.419439] random: 7 urandom warning(s) missed due to ratelimiting
[    6.443585] bcm2835-isp bcm2835-isp: Device node capture[1] registered as /dev/video22
[    6.444202] bcm2835-isp bcm2835-isp: Device node stats[2] registered as /dev/video23
[    6.444249] bcm2835-isp bcm2835-isp: Register output node 0 with media controller
[    6.444283] bcm2835-isp bcm2835-isp: Register capture node 1 with media controller
[    6.444302] bcm2835-isp bcm2835-isp: Register capture node 2 with media controller
[    6.444319] bcm2835-isp bcm2835-isp: Register capture node 3 with media controller
[    6.444634] bcm2835-isp bcm2835-isp: Loaded V4L2 bcm2835-isp
[    6.459471] i2c i2c-22: Added multiplexed i2c bus 0
[    6.493131] [drm] Initialized v3d 1.0.0 20180419 for fec00000.v3d on minor 0
[    6.526705] i2c 10-001a: Fixing up cyclic dependency with fe801000.csi
[    6.538815] i2c i2c-22: Added multiplexed i2c bus 10
[    6.653304] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    6.659841] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    6.706069] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    6.717934] cfg80211: loaded regulatory.db is malformed or signature is missing/invalid
[    6.754732] Registered IR keymap rc-cec
[    6.780693] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    6.781292] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input0
[    6.800208] brcmfmac: F1 signature read @0x18000000=0x15264345
[    6.818291] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    6.820812] brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
[    6.826381] usbcore: registered new interface driver brcmfmac
[    7.068865] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.070163] brcmfmac: brcmf_fw_alloc_request: using brcm/brcmfmac43455-sdio for chip BCM4345/6
[    7.076338] brcmfmac: brcmf_c_preinit_dcmds: Firmware: BCM4345/6 wl0: Nov  1 2021 00:37:25 version 7.45.241 (1a2f2fa CY) FWID 01-703fd60
[    7.193763] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    7.197319] Registered IR keymap rc-cec
[    7.199723] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    7.199970] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input1
[    7.420677] 8821cu: loading out-of-tree module taints kernel.
[    7.482663] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    7.494831] vc4-drm gpu: bound fe400000.hvs (ops vc4_hvs_ops [vc4])
[    7.507672] Registered IR keymap rc-cec
[    7.508898] rc rc0: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0
[    7.509147] input: vc4 as /devices/platform/soc/fef00700.hdmi/rc/rc0/input2
[    7.512507] RTW: module init start
[    7.512539] RTW: rtl8821cu v5.4.1_28754.20180921_COEX20180712-3232
[    7.512555] RTW: build time: Jun 15 2022 13:40:32
[    7.512566] RTW: rtl8821cu BT-Coex version = COEX20180712-3232
[    7.512955] RTW: [HALMAC]11692M
HALMAC_MAJOR_VER = 1
HALMAC_PROTOTYPE_VER = 4
HALMAC_MINOR_VER = 19
HALMAC_PATCH_VER = 3
[    7.514072] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.554503] vc4-drm gpu: bound fef00700.hdmi (ops vc4_hdmi_ops [vc4])
[    7.556845] Registered IR keymap rc-cec
[    7.565272] rc rc1: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1
[    7.584121] input: vc4 as /devices/platform/soc/fef05700.hdmi/rc/rc1/input3
[    7.644009] vc4-drm gpu: bound fef05700.hdmi (ops vc4_hdmi_ops [vc4])
[    7.644475] vc4-drm gpu: bound fe004000.txp (ops vc4_txp_ops [vc4])
[    7.644813] vc4-drm gpu: bound fe206000.pixelvalve (ops vc4_crtc_ops [vc4])
[    7.645121] vc4-drm gpu: bound fe207000.pixelvalve (ops vc4_crtc_ops [vc4])
[    7.645426] vc4-drm gpu: bound fe20a000.pixelvalve (ops vc4_crtc_ops [vc4])
[    7.645676] vc4-drm gpu: bound fe216000.pixelvalve (ops vc4_crtc_ops [vc4])
[    7.645985] vc4-drm gpu: bound fec12000.pixelvalve (ops vc4_crtc_ops [vc4])
[    7.671677] [drm] Initialized vc4 0.0.0 20140616 for gpu on minor 1
[    7.671927] vc4-drm gpu: [drm] Cannot find any crtc or sizes
[    7.796035] RTW: HW EFUSE
[    7.796083] RTW: 0x000: 29 81 00 BC  09 00 21 00  6E 04 A4 10  10 00 30 0B
[    7.796273] RTW: 0x010: 21 21 21 21  21 21 27 27  27 27 27 04  FF FF FF FF
[    7.796433] RTW: 0x020: FF FF 27 26  23 23 22 24  26 27 29 2B  26 21 20 20
[    7.796593] RTW: 0x030: 24 FF FF FF  FF FF D0 FF  FF FF 21 21  21 21 21 21
[    7.797155] RTW: 0x040: 27 27 27 27  27 04 FF FF  FF FF FF FF  FF FF FF FF
[    7.797317] RTW: 0x050: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.797477] RTW: 0x060: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.797635] RTW: 0x070: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.797795] RTW: 0x080: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.798044] RTW: 0x090: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.798340] RTW: 0x0A0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.798506] RTW: 0x0B0: FF FF FF FF  FF FF FF FF  7F 35 1C 00  FF FF FF FF
[    7.798726] RTW: 0x0C0: FF 22 00 41  00 00 00 00  00 FF 22 FF  FF FF FF FF
[    7.799186] RTW: 0x0D0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.799401] RTW: 0x0E0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.799560] RTW: 0x0F0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.799719] RTW: 0x100: DA 0B 11 C8  E3 46 02 B4  4B D6 24 28  2F 09 03 52
[    7.801141] RTW: 0x110: 65 61 6C 74  65 6B 0E 03  38 30 32 2E  31 31 61 63
[    7.801314] RTW: 0x120: 20 4E 49 43  08 03 31 32  33 34 35 36  FF FF FF FF
[    7.801474] RTW: 0x130: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.801634] RTW: 0x140: FF FF FF FF  00 00 31 0F  FF FF FF FF  FF FF FF FF
[    7.801794] RTW: 0x150: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.801953] RTW: 0x160: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.802112] RTW: 0x170: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.802272] RTW: 0x180: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.804590] RTW: 0x190: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.804754] RTW: 0x1A0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.804914] RTW: 0x1B0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.805074] RTW: 0x1C0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.806660] RTW: 0x1D0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.806825] RTW: 0x1E0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.808549] RTW: 0x1F0: FF FF FF FF  FF FF FF FF  FF FF FF FF  FF FF FF FF
[    7.809522] RTW: hal_com_config_channel_plan chplan:0x7F
[    7.834614] RTW: [HALMAC][ALWAYS]shall R reg twice!!
[    7.847121] RTW: WARN [HALMAC][WARN]H2C/C2H ver is compatible!!
[    7.942548] arducam_64mp 10-001a: Device found Arducam 64MP.
[    7.950827] arducam_64mp 10-001a: Consider updating driver arducam_64mp to match on endpoints
[    7.962754] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.963017] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.963238] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.963557] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.963801] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.964022] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.964250] RTW: ERROR [HALMAC][ERR]Dump efuse in suspend
[    7.965967] RTW: rtw_regsty_chk_target_tx_power_valid return _FALSE for band:0, path:0, rs:0, t:-1
[    7.968695] RTW: rtw_ndev_init(wlan1) if1 mac_addr=b4:4b:d6:24:28:2f
[    7.970532] usbcore: registered new interface driver rtl8821cu
[    7.970558] RTW: module init ret=0
[    9.159002] uart-pl011 fe201000.serial: no DMA platform data
[    9.284749] 8021q: 802.1Q VLAN Support v1.8
[    9.420730] Adding 102396k swap on /var/swap.  Priority:-2 extents:5 across:143356k FS
[    9.832196] RTW: [HALMAC][ALWAYS]shall R reg twice!!
[    9.836039] RTW: WARN [HALMAC][WARN]H2C/C2H ver is compatible!!
[   10.823686] RTW: wlan1- hw port(0) mac_addr =b4:4b:d6:24:28:2f
[   10.874515] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   11.105978] bcmgenet fd580000.ethernet: configuring instance for external RGMII (RX delay)
[   11.106223] bcmgenet fd580000.ethernet eth0: Link is Down
[   11.618546] RTW: assoc success
[   11.618602] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready
[   11.619305] RTW: set group key camid:1, addr:00:00:00:00:00:00, kid:1, type:AES
[   16.134858] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   16.793171] Bluetooth: Core ver 2.22
[   16.793644] NET: Registered PF_BLUETOOTH protocol family
[   16.793653] Bluetooth: HCI device and connection manager initialized
[   16.793670] Bluetooth: HCI socket layer initialized
[   16.793678] Bluetooth: L2CAP socket layer initialized
[   16.793693] Bluetooth: SCO socket layer initialized
[   16.801696] Bluetooth: HCI UART driver ver 2.3
[   16.801719] Bluetooth: HCI UART protocol H4 registered
[   16.802171] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   16.802387] Bluetooth: HCI UART protocol Broadcom registered
[   16.975417] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   16.975437] Bluetooth: BNEP filters: protocol multicast
[   16.975452] Bluetooth: BNEP socket layer initialized
[   16.987496] NET: Registered PF_ALG protocol family
[   31.711412] cam-dummy-reg: disabling
** sudo vcdbg log msg **
sudo: vcdbg: opdracht niet gevonden
** sudo vcdbg log assert **
sudo: vcdbg: opdracht niet gevonden
** sudo vcdbg log ex **
sudo: vcdbg: opdracht niet gevonden

Memory
** cat /proc/meminfo **
MemTotal:        3833428 kB
MemFree:         3410404 kB
MemAvailable:    3586300 kB
Buffers:           23452 kB
Cached:           199248 kB
SwapCached:            0 kB
Active:           125360 kB
Inactive:         205616 kB
Active(anon):        848 kB
Inactive(anon):   108956 kB
Active(file):     124512 kB
Inactive(file):    96660 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:        102396 kB
SwapFree:         102396 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:        108592 kB
Mapped:            51480 kB
Shmem:              1528 kB
KReclaimable:      22956 kB
Slab:              47660 kB
SReclaimable:      22956 kB
SUnreclaim:        24704 kB
KernelStack:        3536 kB
PageTables:         2800 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2019108 kB
Committed_AS:     741452 kB
VmallocTotal:   259653632 kB
VmallocUsed:       13772 kB
VmallocChunk:          0 kB
Percpu:              640 kB
CmaTotal:         524288 kB
CmaFree:          513268 kB
** sudo cat /sys/kernel/debug/dma_buf/bufinfo **
Dma-buf Objects:
size    	flags   	mode    	count   	exp_name	ino
Total 0 objects, 0 bytes
** sudo cat /sys/kernel/debug/vcsm-cma/state **
VC-ServiceHandle     000000008659629a
Resources
Total resource count:   0

Media Devices
** media-ctl -d 0 -p **
Media controller API version 5.15.32
Media device information
driver          bcm2835-isp
model           bcm2835-isp
serial
bus info        platform:bcm2835-isp
hw revision     0x0
driver version  5.15.32
Device topology

entity 1: bcm2835_isp0 (4 pads, 4 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-isp0-output0":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-isp0-capture1":0 [ENABLED,IMMUTABLE]
pad2: Source
-> "bcm2835-isp0-capture2":0 [ENABLED,IMMUTABLE]
pad3: Source
-> "bcm2835-isp0-capture3":0 [ENABLED,IMMUTABLE]

entity 6: bcm2835-isp0-output0 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video13
pad0: Source
-> "bcm2835_isp0":0 [ENABLED,IMMUTABLE]

entity 12: bcm2835-isp0-capture1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video14
pad0: Sink
<- "bcm2835_isp0":1 [ENABLED,IMMUTABLE]

entity 18: bcm2835-isp0-capture2 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video15
pad0: Sink
<- "bcm2835_isp0":2 [ENABLED,IMMUTABLE]

entity 24: bcm2835-isp0-capture3 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video16
pad0: Sink
<- "bcm2835_isp0":3 [ENABLED,IMMUTABLE]

** media-ctl -d 1 -p **
Media controller API version 5.15.32
Media device information
driver          bcm2835-codec
model           bcm2835-codec
serial          0000
bus info        platform:bcm2835-codec
hw revision     0x1
driver version  5.15.32
Device topology

entity 1: bcm2835-codec-decode-source (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video10
pad0: Source
-> "bcm2835-codec-decode-proc":0 [ENABLED,IMMUTABLE]

entity 3: bcm2835-codec-decode-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-codec-decode-source":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-codec-decode-sink":0 [ENABLED,IMMUTABLE]

entity 6: bcm2835-codec-decode-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video10
pad0: Sink
<- "bcm2835-codec-decode-proc":1 [ENABLED,IMMUTABLE]

entity 15: bcm2835-codec-encode-source (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video11
pad0: Source
-> "bcm2835-codec-encode-proc":0 [ENABLED,IMMUTABLE]

entity 17: bcm2835-codec-encode-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-codec-encode-source":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-codec-encode-sink":0 [ENABLED,IMMUTABLE]

entity 20: bcm2835-codec-encode-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video11
pad0: Sink
<- "bcm2835-codec-encode-proc":1 [ENABLED,IMMUTABLE]

entity 29: bcm2835-codec-isp-source (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video12
pad0: Source
-> "bcm2835-codec-isp-proc":0 [ENABLED,IMMUTABLE]

entity 31: bcm2835-codec-isp-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-codec-isp-source":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-codec-isp-sink":0 [ENABLED,IMMUTABLE]

entity 34: bcm2835-codec-isp-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video12
pad0: Sink
<- "bcm2835-codec-isp-proc":1 [ENABLED,IMMUTABLE]

entity 43: bcm2835-codec-image_fx-source (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video18
pad0: Source
-> "bcm2835-codec-image_fx-proc":0 [ENABLED,IMMUTABLE]

entity 45: bcm2835-codec-image_fx-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-codec-image_fx-source":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-codec-image_fx-sink":0 [ENABLED,IMMUTABLE]

entity 48: bcm2835-codec-image_fx-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video18
pad0: Sink
<- "bcm2835-codec-image_fx-proc":1 [ENABLED,IMMUTABLE]

entity 57: bcm2835-codec-encode_image-sour (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video31
pad0: Source
-> "bcm2835-codec-encode_image-proc":0 [ENABLED,IMMUTABLE]

entity 59: bcm2835-codec-encode_image-proc (2 pads, 2 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-codec-encode_image-sour":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-codec-encode_image-sink":0 [ENABLED,IMMUTABLE]

entity 62: bcm2835-codec-encode_image-sink (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video31
pad0: Sink
<- "bcm2835-codec-encode_image-proc":1 [ENABLED,IMMUTABLE]

** media-ctl -d 2 -p **
Media controller API version 5.15.32
Media device information
driver          bcm2835-isp
model           bcm2835-isp
serial
bus info        platform:bcm2835-isp
hw revision     0x0
driver version  5.15.32
Device topology

entity 1: bcm2835_isp0 (4 pads, 4 links)
type Node subtype Unknown flags 0
pad0: Sink
<- "bcm2835-isp0-output0":0 [ENABLED,IMMUTABLE]
pad1: Source
-> "bcm2835-isp0-capture1":0 [ENABLED,IMMUTABLE]
pad2: Source
-> "bcm2835-isp0-capture2":0 [ENABLED,IMMUTABLE]
pad3: Source
-> "bcm2835-isp0-capture3":0 [ENABLED,IMMUTABLE]

entity 6: bcm2835-isp0-output0 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video20
pad0: Source
-> "bcm2835_isp0":0 [ENABLED,IMMUTABLE]

entity 12: bcm2835-isp0-capture1 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video21
pad0: Sink
<- "bcm2835_isp0":1 [ENABLED,IMMUTABLE]

entity 18: bcm2835-isp0-capture2 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video22
pad0: Sink
<- "bcm2835_isp0":2 [ENABLED,IMMUTABLE]

entity 24: bcm2835-isp0-capture3 (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video23
pad0: Sink
<- "bcm2835_isp0":3 [ENABLED,IMMUTABLE]

** media-ctl -d 3 -p **
Media controller API version 5.15.32
Media device information
driver          unicam
model           unicam
serial
bus info        platform:fe801000.csi
hw revision     0x0
driver version  5.15.32
Device topology

entity 1: arducam_64mp 10-001a (2 pads, 2 links)
type V4L2 subdev subtype Sensor flags 0
device node name /dev/v4l-subdev0
pad0: Source
[fmt:SRGGB10_1X10/9152x6944 field:none colorspace:raw xfer:none ycbcr:601 quantization:full-range
crop.bounds:(48,40)/9248x6944
crop:(48,40)/9152x6944]
-> "unicam-image":0 [ENABLED,IMMUTABLE]
pad1: Source
[fmt:unknown/16384x1 field:none
crop.bounds:(48,40)/9248x6944
crop:(48,40)/9152x6944]
-> "unicam-embedded":0 [ENABLED,IMMUTABLE]

entity 4: dw9807 10-000c (0 pad, 0 link)
type V4L2 subdev subtype Lens flags 0
device node name /dev/v4l-subdev1

entity 6: unicam-image (1 pad, 1 link)
type Node subtype V4L flags 1
device node name /dev/video0
pad0: Sink
<- "arducam_64mp 10-001a":0 [ENABLED,IMMUTABLE]

entity 12: unicam-embedded (1 pad, 1 link)
type Node subtype V4L flags 0
device node name /dev/video1
pad0: Sink
<- "arducam_64mp 10-001a":1 [ENABLED,IMMUTABLE]

** media-ctl -d 4 -p **
Failed to enumerate /dev/media4 (-2)

Cameras
** libcamera-still --list-cameras **
[0:09:03.290109282] [1395]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3572-e13ccdd5
[0:09:03.296355427] [1396]  WARN CameraSensorProperties camera_sensor_properties.cpp:163 No static properties available for 'arducam_64mp'
[0:09:03.296393282] [1396]  WARN CameraSensorProperties camera_sensor_properties.cpp:165 Please consider updating the camera sensor properties database
[0:09:03.296722916] [1396] ERROR CameraSensor camera_sensor.cpp:591 'arducam_64mp 10-001a': Camera sensor does not support test pattern modes.
[0:09:03.319860590] [1396]  WARN RPI raspberrypi.cpp:1263 Mismatch between Unicam and CamHelper for embedded data usage!
[0:09:03.320504117] [1396] ERROR DelayedControls delayed_controls.cpp:87 Delay request for control id 0x009a090a but control is not exposed by device /dev/v4l-subdev0
[0:09:03.320685130] [1396]  INFO RPI raspberrypi.cpp:1386 Registered camera /base/soc/i2c0mux/i2c@1/arducam_64mp@1a to Unicam device /dev/media3 and ISP device /dev/media2
Available cameras
0 : arducam_64mp [9248x6944] (/base/soc/i2c0mux/i2c@1/arducam_64mp@1a)
Modes: 'SRGGB10_CSI2P' : 1280x720 1920x1080 2312x1736 3840x2160 4624x3472 9152x6944

Versions
** uname -a **
Linux camera01 5.15.32-v8+ #1538 SMP PREEMPT Thu Mar 31 19:40:39 BST 2022 aarch64 GNU/Linux
** cat /etc/os-release **
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
** vcgencmd version **
Mar 24 2022 13:20:19
Copyright (c) 2012 Broadcom
version e5a963efa66a1974127860b42e913d2374139ff5 (clean) (release) (start_x)
** libcamera-still --version **
libcamera-apps build: 1cdc057d2db9-intree 28-06-2022 (05:12:42)
libcamera build: v0.0.0+3572-e13ccdd5

libcamera-still -t 1000 -o test.jpg
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
X Error of failed request:  BadRequest (invalid request code or no such operation)
Major opcode of failed request:  155 ()
Minor opcode of failed request:  1
Serial number of failed request:  16
Current serial number in output stream:  16

It looks like you might have dtoverlay=vc4-fkms-v3d in your config.txt file.  Please remove that line.  Also, you seem to be manually setting the cma heap size.  Unless you have a very specific reason, you should not be doing this.

You also seem to be using the arducam camera.  So I would suggest going through their support channels.  They have modified our libcamera library software, so we cannot provide support here.

authors: naushir roelfrenkema

repo: raspberrypi/libcamera-apps


text:
240FPS on IMX477

Hello,
I am currently developing an application that requires a high-speed camera. I am using IMX477 and Jetson Nano, but the Jetpack Driver only supports 60fps. I am attempting to achieve 1348x750 resolution at 240fps. I plan to update the Jetpack Driver, but I am unable to locate the datasheet for IMX477. Could you kindly provide me with the full datasheet for IMX477, including detailed registers?
Thank you,
Huy Le

Whilst the comment didn't get copied from imx219_modes.h into imx477_modes.h, I'm afraid it is also valid for imx477
https://github.com/raspberrypi/raspiraw/blob/master/imx219_modes.h#L29-L35
The datasheet is under NDA, so we can not distribute it.

FWIW unrelated to this I've just been tweaking IMX477 settings for Pi5.
https://github.com/raspberrypi/linux/pull/6208 results in a 1332x990 raw10 mode that should be able to achieve 254fps. I provide no guarantees of compatibility with the Jetson though.

source: gharchive/issue

repo: raspberrypi/raspiraw

license_type: permissive

license_source: github-api


text:
🛑 NJU Mirror (mirrors.nju.edu.cn) is down

In 57b6594, NJU Mirror (mirrors.nju.edu.cn) (https://mirrors.nju.edu.cn) was down:

HTTP code: 0
Response time: 0 ms

Resolved: NJU Mirror (mirrors.nju.edu.cn) is back up in 06b9564.

repo: raspbian-addons/status

license: MIT


text:
Binding events for external use

Is it possible to add custom events so via a click I can retrieve coordinates and then use them in other libraries, so mapscii can be used as a lib as well?
thanks

Not yet without forking. There are other ideas like #2, which I think are out of scope of the core project and would benefit from a library or add-on system.
I would like the core project small, as it's not actively maintained but still a really cool project we should ensure to keep around.

A JavaScript developer should able to create binding while taking src/Mapscii.js as a starting point.
An interesting statement regarding external use has been made by the author here:
https://github.com/rastapasta/mapscii/issues/27#issuecomment-544001117

repo: rastapasta/mapscii

license: mit

license_source: bigquery


text:
Add vim keys as alternative to arrow key navigation

This functionality seems obligatory with most terminal applications, so I thought I'd add it real quick.  Since it does not appear that there are any options yet available for customizing key bindings, I hard-coded these keys just like all the other keys.

I am a little afraid of a possible backlash, if these keys ever get mapped to different features.. but that shall be an issue of this unlikely future.
Today, you've got my full support for this great idea! Thanks for using Mapscii and your contribution, @jestin!

source: gharchive/pull-request


text:
Building package also loads package

Is this normal/expected? I've got a package (exwm) that is loaded based on an environment variable with :if, but whenever I use M-x straight-rebuild-package RET exwm the package is loaded as well. The package is also loaded if it is built on init (if it has not been built previously), regardless of the :if.

That's probably because byte-compiling the package ends up calling require on some or all of its features. You'll most likely observe the same behavior with any other package manager; to avoid it, check out #76.

Was this closed as a "duplicate" or in favor #76? (that's fine, i'm just checking)

Mostly since currently it seems the way to "solve" this problem would be via #76. If there are alternative proposals, we can put them in their own issues.


text:
Automatically update recipe repos

If a package recipe isn't found, it would potentially make sense to try updating the recipe repositories and check again.

I don't think this should happen fully automatically, since it would mean that Emacs makes a network call without being told to do so. I would not be opposed to having straight.el offer to invoke M-x straight-pull-package on the recipe repositories, though.
Under what circumstance are you encountering this problem? Running M-x straight-use-package and trying to install a package that was recently added to MELPA, which you heard about from the Internet but which does not appear in the completions list for straight-use-package? If this is the case, then there is a UX question: how to find out that the user wants to install a package that isn't listed? It's not like they'll be able to select it if it's not in the list, after all.

Prompting would be fine. Not having to always manually update the recipes would be nice, but this feature would also be nice just to prevent errors (especially during initialization).
I had previously installed straight but just started actually using it today, and this happened to me when switching from package.el. It failed for zoom on initialization. It's fairly often that I install packages that are new on MELPA, and I usually just evaluate a use-package form directly. As for interactive usage of straight-use-package, I'd think it would be fine to keep it as is. Maybe if it is possible/simple to add a way to take a user's literal input, you could do that (and prompt immediately to update the recipe repos when there is no match).

Certainly I can change the REQUIRE-MATCH argument of completing-read, but I'm hesitant to do this since the most common case by a very wide margin is installing a package that is already listed.
I'm also hesitant to introduce an interactive prompt directly in straight-use-package (i.e. not in interactive usage). Is there an easy way to tell when a form is being evaluated directly by the user?
Although I would be fine putting some more aggressive behavior than currently, if it was behind an option to be enabled.

prevent errors (especially during initialization)

This shouldn't happen when you port to Emacs configuration to another machine, because you should be using version lockfiles for your primary Emacs configuration. It should only be a problem interactively.

Is there an easy way to tell when a form is being evaluated directly by the user?

You could potentially check called-interactively-p. If you still require a match (which is fine with me), the only situation in which a package recipe won't be found is non-interactive usage though, correct?

This shouldn't happen when you port to Emacs configuration to another machine, because you should be using version lockfiles for your primary Emacs configuration. It should only be a problem interactively.

Sure, but that's assuming lockfiles are being used. It's possible that someone else switching to straight.el has the same experience as me because they install straight, continue to use package.el, and then completely switch to straight without first updating the recipe repos manually. Also, if I add a use-package statement for a newer package, and then emacs crashes or I restart for whatever reason, initialization will be affected.

Why?

Because it is suggesting a fix that might not always fix the problem. What if the package was removed, for example? Then you will keep getting this suggestion to update the recipe repositories every time you get an error, even after you've already done it once and it didn't work.

You could potentially check called-interactively-p.

That doesn't work:
(defun testing-interactively ()
  (interactive)
  (message "Interactive: %S" (called-interactively-p)))

(testing-interactively)
;; C-x C-e => "Interactive: nil"

I think that the reason I am reluctant to do this is because currently, there is no link whatsoever between the repository management layer and the package management layer, and making this change would introduce such a link, hurting modularity.
I would certainly consider merging a pull request which added such a prompt, if it were controlled by an option which is not enabled by default.

Because it is suggesting a fix that might not always fix the problem. What if the package was removed, for example? Then you will keep getting this suggestion to update the recipe repositories every time you get an error, even after you've already done it once and it didn't work.

Well, it would fix the specific problem I outlined. To prevent infinite prompting in your described case, just prompt/update once. It could potentially first check if the recipe repository is up to date and not prompt at all if it is.

That doesn't work:

I misunderstood then; evaling anything is non-interactive usage. If you wanted to distinguish between the user evaluating something and something being evaluated, for example, during initialization or by some package, I don't know of a sane/foolproof way to do that.

I think that the reason I am reluctant to do this is because currently, there is no link whatsoever between the repository management layer and the package management layer, and making this change would introduce such a link, hurting modularity.

I'd say the minor convenience isn't worth it in that case. As for the problem with errors during initialization, a generic solution would be more ideal. I guess jwiegley/use-package#338 is what I want (along with use-package-check-before-init). Since straight can obviously be used without use-package, do you think it would make sense to add an option for straight-use-package to warn instead of error on failed package installation so that initialization can continue?

It could potentially first check if the recipe repository is up to date and not prompt at all if it is.

How is it possible to determine if the recipe repository is up to date without fetching?

Thinking about it further, I think the real reason I wouldn't want this to be the default behavior is that straight.el is not like package.el. With package.el, it would make a lot of sense to automatically run package-refresh-contents when a package is not found, since that is just updating an internal index. However, with straight.el, the recipe repository is not just an index: it is, for all intents and purposes, equivalent to a package. You can modify it locally, submit changes upstream, and even build+load Lisp code from a recipe repository. In fact, recipe repositories are registered using straight-use-package as well. Would you want straight.el to suggest updating a package when you get an error using it? So by analogy, I wouldn't want the same to happen for recipe repositories.
This said, I will merge a pull request which adds an option to make updating recipe repositories more direct, as long as said option is not enabled by default.

How is it possible to determine if the recipe repository is up to date without fetching?

Do a dry run or git remote update (and git status will show it is behind) or just fetch and don't merge.

This said, I will merge a pull request which adds an option to make updating recipe repositories more direct, as long as said option is not enabled by default.

Don't get me wrong, I don't think this is worth implementing anymore after hearing your reasoning. I'm more interested in hearing your opinion on this:

As for the problem with errors during initialization, a generic solution would be more ideal. I guess jwiegley/use-package#338 is what I want (along with use-package-check-before-init). Since straight can obviously be used without use-package, do you think it would make sense to add an option for straight-use-package to warn instead of error on failed package installation so that initialization can continue?

Is this something you would consider and should I make a new issue for it?

that may just fetch

git remote update is just a fetch.

just fetch and don't merge

Right, but fetching is the part that takes the most time (like several seconds). It's also an unsolicited network operation. We can't do it automatically.

Is this something you would consider

Sure. It requires some thought, however, since there are several ways a package could fail to be loaded. It could have a malformed recipe, there could be a network error, etc.
To be honest, I also don't think this would be very helpful, for the following reason: once again, straight.el is not like use-package. With use-package, you can get an error during initialization if anything is wrong in your user-written configuration code for the package. Thus the primary error condition is you, the user, making a mistake in writing Lisp code. On the other hand, with straight.el, there is no user code being run. Nor does an error during byte-compilation halt loading, or any number of other conditions. The only time you actually get an error is when something is really, really wrong: the repository that the package needs to be fetched from does not exist, or the recipe is malformed, or specifies a self-contradictory :files directory, and so on. These seem like pretty severe errors. And there is certainly no way for straight.el to recover from them, other than just doing nothing: the recovery will have to be at a higher level. If you're using use-package, then the recovery would be https://github.com/jwiegley/use-package/issues/338. If you're using straight.el manually, I would assume you would do something like
(dolist (package all-my-packages)
  (with-demoted-errors
    (straight-use-package package)))

so that the error handling is still outside of straight.el.

should I make a new issue for it?

Sure, if you still think it would be useful. I'm happy to consider it if someone provides the patch.

Fair enough. It probably makes more sense for this to be something the user decides to do, and it's easy enough for me to just advise the ensure function.


text:
straight-recipes-emacsmirror-mirror-retrieve doesn't work if mirror file is in CRLF encoding

aae8a57dc70077ba4afeaab6febe1f7bd2e63572 changed straight-emacsmirror-use-mirror to t. When launching my configuration in Windows I get:
error: Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)

This seems to happen only on Windows. What's even stranger is that setting the variable back to nil with setq after (require 'straight) doesn't fix it, only when calling setq before require fixes it.

That package is available for me (and it is listed in emacsmirror-mirror latest on GitHub). Run M-x straight-pull-package RET emacsmirror-mirror RET to pull the latest version of the recipe repository.

This seems to happen only on Windows.

I think it is more likely that your Windows machine has a different revision of the emacsmirror-mirror repository than your other machines.

What's even stranger is that setting the variable back to nil with setq after (require 'straight) doesn't fix it, only when calling setq before require fixes it.

This is not surprising at all. The value of that variable is read when straight.el is loaded for the first time (or when you are reloading your init-file). See the bootstrap code. (This behavior is documented in the README, although I will certainly admit that does not jump out at the reader.)

My emacsmirror-mirror pacakge is at c31546f, which is the latest. I can even see syntax-subword there, but the error still persist.
If it helps, here's the complete traceback:
Debugger entered--Lisp error: (error "Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)")
  signal(error ("Could not find package syntax-subword in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror)"))
  error("Could not find package %S in recipe repositories: %S" syntax-subword (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror))
  straight--convert-recipe(syntax-subword nil)
  straight-use-package(syntax-subword)
  eval-buffer(#<buffer  *load*> nil "c:/Users/roey/.emacs.d/init.el" nil t)  ; Reading at buffer position 30704
  load-with-code-conversion("c:/Users/roey/.emacs.d/init.el" "c:/Users/roey/.emacs.d/init.el" t t)
  load("c:/Users/roey/.emacs.d/init" t t)
  #f(compiled-function () #<bytecode 0x1000be9b9>)()
  command-line()
  normal-top-level()

Oh, huh. That's very odd then; you are probably right about it being a platform-specific problem. I am guessing if you run (straight-recipes-emacsmirror-mirror-retrieve 'syntax-subword) then you'll get nil? If so, that's the issue. The definition is quite simple:
(defun straight-recipes-emacsmirror-mirror-retrieve (package)
  "Look up a PACKAGE recipe in the Emacsmirror mirror.
PACKAGE should be a symbol. If the package is available from
Emacsmirror, return a MELPA-style recipe; otherwise return nil."
  (cl-block nil
    (dolist (org '("mirror" "attic"))
      (with-temp-buffer
        (insert-file-contents-literally org)
        (when (re-search-forward (format "^%S$" package) nil 'noerror)
          (cl-return
           `(,package :type git :host github
                      :repo ,(format "emacs%s/%S" org package))))))))

Maybe you could debug why that is not finding the string in the file? Perhaps it is a character encoding problem, or something with line endings.

(Note that that function should be run with a working directory of the emacsmirror-mirror repository.)

Found it. Git converted the file to CRLF and (format "^%S$" package) doesn't work because of the \r. I should probably configure my git not to do that, but maybe straight should support CRLF as well?

Yeah, probably it should. Is that just updating the regexp to "^%S\r?$"? If so, I'd gladly merge such a pull request.

I'll test it and open a PR
On Fri, 27 Sep 2019, 18:51 Radon Rosborough, notifications@github.com
wrote:

Yeah, probably it should. Is that just updating the regexp to "^%S\r?$"?
If so, I'd gladly merge such a pull request.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/raxod502/straight.el/issues/416?email_source=notifications&email_token=AAKRWGORVWD6JQYAALI5FNDQLYTXTA5CNFSM4I2QJ3SKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7ZKM3I#issuecomment-535996013,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKRWGKR3ADH3BB5P2BVLETQLYTXTANCNFSM4I2QJ3SA
.


text:
[Feature] Add kubeconform to CI pipeline

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
https://ray-distributed.slack.com/archives/C02GFQ82JPM/p1690023335413419
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

see https://github.com/yannh/kubeconform
also worth to see how people use it in CI with other schemas (yaml to jsonschema convert) https://github.com/yannh/kubeconform/issues/98

repo: ray-project/kuberay


text:
[Connect to VPN] manually check active VPNs in list

Extension
https://www.raycast.com/rasmusbe/connect-to-vpn
Description
I have 6+ vpns in list. Not all of them is vpn. And I usually use only one. Can you add settings to disable unnecessary in list?
Image below (it is not vpn):

and I'd like to disable them from the extension's settings

Who will benefit from this feature?
No response
Anything else?
No response

You can add the ones you are using the most to your favorites list.

What kind of services are these?   Can you run networksetup -listnetworkserviceorder and give us the output

What kind of services are these? Can you run networksetup -listnetworkserviceorder and give us the output

Attached. I'd like to see that list via extension setting and disable using checkbox, for example.
Thank you for your response!

What do you get when you run
networksetup -showpppoestatus "Handheld Barcode Scanner" and networksetup -showpppoestatus "LG Monitor Controls"?
Right now we take the list from networksetup -listnetworkserviceorder and check the PPOoE Status.
If it returns "invalid" we mark it as a non VPN interface.

networksetup -showpppoestatus "Handheld Barcode Scanner" and networksetup -showpppoestatus "LG Monitor Controls"
disconnected

Are both devices registered as usbmodem? You blurred them in your first output.

Yup!
I'd like to input "VPN" in Raycast and immidiately get connected to VPN, without choosing any (would be great option).

@zlobnic what is the output for networksetup -listallhardwareports
We might compare the service list with the hardware ports and sort them out.

authors: rasmusbe stonerl zlobnic

repo: raycast/extensions


text:
[Jira] Would be nice to have a parent task link in the detail view of a task

Extension – Jira

Would be nice to have a parent task link in the detail view of a task.

Who will benefit with this feature?
Most of the times we have a story with a large description block and subtasks without any descriptions.
The add-on would be more useful if we could jump from the subtask to the parent.

and also to be able to create a task with a parent task?

authors: pulchritude-laboratory trentwatt


text:
[Bitwarden Vault] "Something went wrong"

Extension
https://www.raycast.com/jomifepe/bitwarden
Description

Error:

Steps To Reproduce
I don't know what happened, but since a few days ago, Bitwarden extension no longer works.
Things I tried:

Reload (action within Raycast)
Restart Raycast
Update Bitwarden via App Store

How can I generate crash log so that I can upload it here?
Here are my Bitwarden extension settings

I confirmed I have Bitwarden executable at /usr/local/bin/bw.
I figured how to get the diagnostics...I think:
extension-diagnostics.txt
Raycast: v1.46.0
macOS: Ventura 13.1
Bitwarden: 2023.1.1

Hello, thanks for providing a diagnostics file.
I'm not sure what's causing the issue, but the file you provided states that you are not logged in when the extension tries to run bitwarden commands.
Have you tried reentering the Client ID & Secret? As a last resort, try to reinstall the extension.

I rotated Client ID & Secret, upgraded bitwarden-cli and reinstalled Bitwarden Extension and now everything works again.
Thanks!

I rotated Client ID & Secret, upgraded bitwarden-cli and reinstalled Bitwarden Extension and now everything works again.

Thanks!
But I have always have the same problem

authors: davidyannick86 jomifepe vfonic


text:
[Mozilla Firefox] ...

Extension
https://www.raycast.com/crisboarna/mozilla-firefox
Description
The first option for the New Tab command - Open Empty Tab does not work. It does nothing.
Steps To Reproduce

Run the New Tab command
Open Empty Tab

Current Behaviour
Raycast flickers and then exits as if the command has been run. Rest of the extension works as expected.
Expected Behaviour
A new empty tab should be opened on Firefox.

Was able to repro this issue, and also found another issue. When searching the history, it gives the option "Open in Firefox" which doesn't work, but opening in the default browser (which is Firefox) works.

authors: dewinterjack dhharris


text:
[Easy Dictionary] ...x2: The operation was aborted.  c:index.js:70:17 AbortSignal.m:easydict.js:162:17318 [nodejs.internal.kHybridDispatch]:event_target:731:20 AbortSignal.dispatchEvent:event_target:673:26

Extension
https://www.raycast.com/isfeng/easydict
Description

Error:

Steps To Reproduce
No response
Current Behaviour
No response
Expected Behaviour
No response

x2: The operation was aborted.
c:index.js:70:17
AbortSignal.m:easydict.js:162:17318
[nodejs.internal.kHybridDispatch]:event_target:731:20
AbortSignal.dispatchEvent:event_target:673:26

Thank you for the feedback, I am aware of this issue https://github.com/tisfeng/Raycast-Easydict/issues/35 and will submit a PR to fix it soon.
If you can't wait, you can try using the latest code from the repository https://github.com/tisfeng/Raycast-Easydict

@raycastbot close this issue

authors: mobowp tisfeng


text:
[Todoist] Set default for due date, priority, projects labels for Quick Add Task & Create Task commands of Raycast Todoist extension

Extension
https://www.raycast.com/doist/todoist
Description
I would like to be able to set default for the options due date, priority, projects labels for the ‘Quick Add Task‘ & ‘Create Task‘ commands in the settings of the Raycast Todoist extension.
Who will benefit from this feature?
Everyone, who wants to quickly change the defaults when creating new tasks. Choosing these from drop-down lists in dialog boxes is tedious.
Anything else?
No response

Thanks for the feature request. Would you like to work on it? I can provide some guidance on how to contribute to this extension so that you can open a pull request. You can contact me here or in the Slack community if you need further help.

I'm not a developer. Sorry @thomaslombart

authors: dudido thomaslombart


text:
Update restart-system-processes extension

Description
fixes #15148
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

ToDo

[x] Move Sudo option to preferences
[x] Use nested lists instead of dropdown form
[x] Order list by most recent used
[x] Add Changelog
[x] Add me as contributor (was removed while publishing somehow)
[ ] Update Screenshots

@hrueger Amazing update - just tested it and it works well! I really like the new design :)
A small detail: the list doesn't re-render immediately after an item is restarted; it's only reordered the next time the command is launched. The list also reorders when an item is selected then canceled, which is probably unnecessary.
Regarding the feature suggestion, it's probably unnecessary for now - advanced mode is mainly just a shortcut for users who would otherwise type the command manually in terminal.
I'll generate the screenshots now, and link it here - I don't have write access to this PR I think :)

here are the screenshots uploaded to github

Thanks for the review, should all be fixed now 👍

A small detail: the list doesn't re-render immediately after an item is restarted; it's only reordered the next time the command is launched

I tried to implement this, however, I was not be able to make it work. I moved the fetch and state update logic to a small helper:
  const [orderedProcesses, setOrderedProcesses] = useState<Process[]>([]);
  const fetchProcesses = async () => {
    const processes = await orderItems(commonProcesses);
    setOrderedProcesses(processes);
  };

  useEffect(() => {
    fetchProcesses();
  }, []);

and I tried calling this after performAction in the onAction prop value or in the performAction itself. However, it seems like that must happen before the main window is closed, but we only change the order after closing the main window. So there's kind of a deadlock there 😅
I think we could only close the main window later, but I prefer the current user experience and would rather skip updating the list immediately. What do you think?

Ah sure, in that case I think we can just leave it as it is - not a big deal either way :)

authors: XInTheDark hrueger


text:
fix: remove process.env from pass execution

Description

Fix: Remove process.env from pass execution

This change is done due to errors in the extension using nix-darwing messing with the locales
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Could you check this @capipo

I'm passing process.env because I need to support the PASSWORD_STORE_DIR environment variable, and potentially other variables supported by the pass command.
Perhaps if you filter out variables that start with PASSWORD_STORE we could continue to support those variables and your problem would be solved.

Nevermind, I see that that variable is passed later

Hi @capipo,
I'm not really sure about that since the extension is overwriting the PASSWORD_STORE_DIR env variable. So either way, it would not use the env variable from process.env
export async function pass(cmd: string, storeDir: string = ''): Promise<string> {
  const passCmd = `pass ${cmd}`;
  const { stdout, stderr } = await execAsync(passCmd, {
    timeout: 10000,
    env: {
     ...process.env
      PATH: await envPath(),
      PASSWORD_STORE_DIR: storeDir,
    },
  });

  if (stderr) {
    throw new Error(stderr);
  }
  return stdout;
}

@capipo pls check the above solution 👆🏽

@pernielsentikaer I think this can be merged

authors: camiloaromero23 capipo pernielsentikaer


text:
[Easydict] 🐞 Fixed a bug that Eudic downloaded from the web was not recognized correctly.

Description

[v1.4.1] - 2022-08-01
💎 Improvements

Added show open in eudic preference option, default is true.
Improved the handling of DeepL request errors, and added a toast for exceeding the translation quota limit.

🐞 Fixes

Fixed a bug that Eudic downloaded from the web was not recognized correctly.

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Fix https://github.com/tisfeng/Raycast-Easydict/issues/16


text:
Added uppercase support

Description
Added the possibility to get uppercase UUIDs since some systems require that (Closes #2968)

@jmaeso / @GastroGeek any comments?

Looks good from my POV 👍

authors: GastroGeek pernielsentikaer


text:
[Core] Added ColorFromNormalized which is the reverse of ColorNormalize.

I based the name from ColorFromHSV. Not sure if it is the best name for it.
Example usage
Color color = ColorFromNormalized((Vector4){0.5f, 0.1f, 0.1f, 1.0f});

I am not sure if a cast should be added for converting the float to unsigned char.

@ChrisDill thanks for the contribution... I'll think about the name and also the consistency with the other functions... it's ok for now...

license: Zlib


text:
Update core_input_gamepad.c

Correction after https://github.com/raysan5/raylib/commit/62f63f9e485fdffa1e981ae4ae58f5eb8ccfff8e

@planetis-m thanks for the review!


text:
Fix rtext default font alpha on Big Endian

Alpha was broken for rtext's default font on Big Endian
Before

After

@Fancy2209 It seems this patch addresses a specific use case for a specific hardware arquitecture... won't endianness affect other parts of raylib library? 🤔

I tested some examples and they work, but I still have to test loading assets
Also it isn't just PowerPC/PowerPC64

I'll search for further issues with Big Endian
By the way, it isn't just PowerPC that's big endian, it's just the more common one

Big endian is uncommon, but worth supporting. This will break all big endian systems, like powerpc linux, and sparc linux. Not that they are common, but it still matters to some users.

Big endian is uncommon, but worth supporting. This will break all big endian systems, like powerpc linux, and sparc linux. Not that they are common, but it still matters to some users.

You mean this issue affects them too or that this PR breaks them?

I mean the issue affects them. I think sparc and powerpc are the most relevant BE systems

@Fancy2209 @Peter0x44 what is the cost of supporting big endian in raylib? It can require many changes and additional code complexity for a very specific set of platforms... if it implies only a couple of checks, it can be considered...

I have to test all examples and find issues so it might take a bit
According to an article Peter0x44 code should always be endian independent anyways so it shouldn't be too hard to patch
I'll do a torough testing spree of all tests in a bit, fix the missing tests and report back

@Fancy2209 ok, nice! 👍😄

@raysan5 keep in mind that endian-ness only crops up when one presumes which end bits are in for numerical types with size larger than one byte.  The peculiar case, the one addressed here, is when an int is intended to pack two single-byte values: forming a mini-struct.   I trust that is a very unusual case in raylib and libraries it depends upon.

It implies no extra complexity, just a few minor edge cases need some extra care and attention
This case can actually be rewritten not to need the ifdef by writing both bytes of the short separately
Something like:
((unsigned char *)imFont.data)[(i + j)*sizeof(short)] = 0x00;
((unsigned char *)imFont.data)[(i + j)*sizeof(short) + 1] = 0xFF;

It implies no extra complexity, just a few minor edge cases need some extra care and attention This case can actually be rewritten not to need the ifdef by writing both bytes of the short separately Something like:
((unsigned char *)imFont.data)[(i + j)*sizeof(short)] = 0xFF
((unsigned char *)imFont.data)[(i + j)*sizeof(short) + 1] = 0x00;

Done, I still have to test loading Data though

@Fancy2209 please, let me know when ready! did you test some examples to see other possible related point to review?

This change only applies to loading the default font and is fine on its own.
There might be other issues with endianness to review but there is no reason not to merge this one.


text:
Functional consistency across mathematical classes

Need consistency across 2D and 3D classes. For example, lerp and slerp have only been implemented for 3D. These should be extended to Vector2D.
This issue will be extended to catch other items.
Not implemented yet because of lack of use cases.

Normal3D should support same mathematical functions as Vector3D.
Vector2D missing lerp and slerp, transforms (requires AffineMatrix3D).
Implement AffineMatrix3D.

repo: raysect/source


text:
Improve zero.html/html performance

Should use a string writer instead of (str ...) and (str/join ...).

Done.

repo: raystubbs/zero


text:
QR Code Auto Redirect Handler method in razorpay

When i use razorpay and choose QR Scanner to payment then without taking any payment in comes in handler method with payment id and signature.
Please check this.
Reply as soon as possible
Regards,
Vivek

Hi Vivek, this is the behavior for test mode, QR will wait for actual payment to happen with live keys.

repo: razorpay/razorpay-php


text:
2.4.x fails to build in macOS 10.12.6 with Xcode 9

I just upgraded to Xcode 9 and also upgraded ruby-build on macOS 10.12.6. I'm trying to install ruby 2.4.2.
Unlike #1119, there is nothing referencing tar in the log lines, and I do not have homebrew tar installed:
compiling ancdata.c
compiling raddrinfo.c
compiling ifaddr.c
linking shared-object socket.bundle
installing default socket libraries
compiling stringio.c
linking shared-object stringio.bundle
compiling strscan.c
linking shared-object strscan.bundle
compiling syslog.c
linking shared-object syslog.bundle
installing default syslog libraries
compiling zlib.c
linking shared-object zlib.bundle
linking ruby
Generating RDoc documentation
dyld: lazy symbol binding failed: Symbol not found: _utimensat
  Referenced from: /private/var/folders/kh/2szdbjbd5239z59zflvcqbf40000gn/T/ruby-build.20170920140005.43977/ruby-2.4.2/./ruby
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _utimensat
  Referenced from: /private/var/folders/kh/2szdbjbd5239z59zflvcqbf40000gn/T/ruby-build.20170920140005.43977/ruby-2.4.2/./ruby
  Expected in: /usr/lib/libSystem.B.dylib

make: *** [rdoc] Abort trap: 6

I get the same error for 2.4.0.

I discovered this relevant section in the logs further up:
compiling eval.c
compiling file.c
compiling gc.c
file.c:2580:13: warning: 'utimensat' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
        if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
            ^~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat
.h:374:5: note: 'utimensat' has been explicitly marked partial here
int     utimensat(int __fd, const char *__path, const struct timespec __times[2],
        ^
file.c:2580:13: note: enclose 'utimensat' in a __builtin_available check to silence this warning
        if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
            ^~~~~~~~~
compiling hash.c

Thanks for your report. It seems a problem macOS Sierra with Xcode 9. I will investigate this.

I'm also having issues compiling ruby with Xcode 9, but with a different error:
Last 10 log lines:
checking host system type... x86_64-apple-darwin16.7.0
checking target system type... x86_64-apple-darwin16.7.0
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... configure: error: in `/var/folders/wv/1q625ql117500fbrwb24r9ch0000gn/T/ruby-build.20170921111712.9524/ruby-2.4.2':
configure: error: cannot run C compiled programs.

Was all fine with Xcode 8.

I get an almost identical error as @bgentry, but trying to install Ruby 2.3.5.  I also have Mac OS X 10.12.6 and Xcode 9.0.
compiling gc.c
compiling hash.c
file.c:2587:13: warning: 'utimensat' is only available on macOS 10.13 or newer [-Wunguarded-availability-new]
        if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
            ^~~~~~~~~
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk/usr/include/sys/stat.h:374:5: note: 'utimensat' has been explicitly marked partial here
int     utimensat(int __fd, const char *__path, const struct timespec __times[2],
        ^
file.c:2587:13: note: enclose 'utimensat' in a __builtin_available check to silence this warning
        if (utimensat(AT_FDCWD, path, tsp, 0) < 0) {
            ^~~~~~~~~
compiling inits.c
compiling io.c

and
compiling enc/trans/newline.c
linking miniruby
generating encdb.h
dyld: lazy symbol binding failed: Symbol not found: _utimensat
  Referenced from: /private/var/folders/tq/ytgxl0dj5msf4798fb9vlppm0000gn/T/ruby-build.20170921172957.36352/ruby-2.3.5/./miniruby
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: _utimensat
  Referenced from: /private/var/folders/tq/ytgxl0dj5msf4798fb9vlppm0000gn/T/ruby-build.20170921172957.36352/ruby-2.3.5/./miniruby
  Expected in: /usr/lib/libSystem.B.dylib

make: *** [.rbconfig.time] Abort trap: 6

It's a common issue affecting many others with Xcode 9: https://www.google.com/search?q="_utimensat"+xcode9
No specific to Ruby, so perhaps we can wait on an upstream fix.

Does this patch work?
diff --git a/file.c b/file.c
index f42d4f408c..9d7487c649 100644
--- a/file.c
+++ b/file.c
@@ -81,6 +81,10 @@ int flock(int, int);
 # endif
 #endif

+#if defined(__builtin_available) && !__builtin_available(utimensat)
+# undef HAVE_UTIMENSAT
+#endif
+
 #ifdef HAVE_SYS_MKDEV_H
 #include <sys/mkdev.h>
 #endif

I was able to install after running the following:
$ xcode-select --install

I have been banging my head against this problem for half a day, and @huezoaa solution fixed it. Apparently, after you update Xcode, you need to not only accept the license (via the cli), but you need to run that bloody command. Because if you just launch the Xcode app (like I did), it doesn't fully install all the cli bits like says it does. Go Apple!

Ugh, that totally does the trick. I even looked in the Xcode prefs to see if there was a way to install the CLI like there used to be but couldn't find it. Closing this as it doesn't seem like it's ruby-build's problem, thanks @huezoaa :v:

Could the wiki be updated with a note for Xcode 9 to include the additional step? Especially, if you are upgrading. Seeing, that Xcode doesn't give you any feed back the process wasn't completed.

For me the xcode-select trick didn't fix the problem.  I found that configure didn't check if the code could be linked. upgrading autoconf did the trick for me.

Just ran into this problem myself. Solved with  $ xcode-select --install
Thanks!

Yup xcode-select --install fixed it for me too

Perhaps xcode-select --install could form part of a suggested resolutions message, even if it's not run automatically. (It seems to be idempotent.)

OS X 10.14.3
XCode 10.1
Tried to install ruby 2.4.2 with rbenv.
generating makefile exts.mk
*** Following extensions failed to configure:
../.././ext/openssl/extconf.rb:0: Failed to configure openssl. It will not be installed.
*** Fix the problems, then remove these directories and try again if you want.

rbenv install 2.4.2 got it fixed by running following commands :

 brew reinstall rbenv
 brew reinstall openssl
 brew reinstall readline

#Added to ~/.zshrc (my shell)
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"
export PATH="/usr/local/opt/openssl/bin:$PATH"
export LDFLAGS="-L/usr/local/opt/readline/lib"
export CPPFLAGS="-I/usr/local/opt/readline/include"
export PKG_CONFIG_PATH="/usr/local/opt/readline/lib/pkgconfig"

authors: MSchmidt area42 benpritchard bgentry hsbt huezoaa jeremy lordkage nateleavitt nobu sergeyradov sleekweasel

repo: rbenv/ruby-build


text:
How to check if row exists?

Hi,
I need to check if user 'Bob' exists in the table:
CREATE TABLE users(
   id INT PRIMARY KEY,
   nickname varchar(32)
)

Usually I would have run the following query:
SELECT COUNT(*) FROM users WHERE nickname='Bob'

But I can not understand how to do this using sqlpp11?
Thanks!

Here are two options:
if (db(select(count(t.alpha)).from(t).where(true)).front().count > 0)
{ /* do something */ }

if (db(select(exists(select(t.alpha).from(t).where(true)))).front().exists)
{ /* do something */ }

Why is so difficult and not obvious?
I expected something like this:
if ( db(select(t).count(t.nickname).where(t.nickname="Bob")) )
{ /* do something */ }

Why do you think it is difficult?
auto query = select(count(t.id)).from(t).where(t.nickname == "Bob");

That is almost verbatim the query you wanted to use. Now you have to hand that to the database connection
auto result = db(query);

And you need to evaluate the value of count in the first row
if (result.front().count > 0)
{ /* do something */ }

I just chained those things together:
if (db(select(count(t.id)).from(t).where(t.nickname == "Bob")).front().count > 0)
{ /* do something */ }

If you insist on something shorter, you could also do this.
if (!db.select(t.id).from(t).where(t.nickname=="Bob").empty()))
{}

That is shorter but not very efficient if there are thousands of entries with nickname Bob.
Or you could do this in a function or lambda:
for (db(select(t.id).from(t).where(nickname == "Bob")))
{
   return true;
}
return false;

That being said, I am not sure how to interpret your suggestion. The syntax is quite different from all examples. There is no from and the selected column (the count) is not in the argument list of select. count seems to be a member function of the select statement. That would be quite tough do do (you would also want to add other aggregating functions, too).

Hmm...
Using this expression:
const bool exists = db(sqlpp::select(sqlpp::count(users_tbl.nickname)).from(users_tbl).where(users_tbl.nickname=nickname)).front().count > 0;

I get the following errors:
db_controller.cpp: In member function ‘bool support_server::db_controller::user_exists(const string&)’:
db_controller.cpp:111:131: error: no match for call to ‘(sqlpp::sqlite3::connection) (sqlpp::no_where_t<true>::_base_t<sqlpp::detail::statement_policies_t<void, sqlpp::no_with_t, sqlpp::select_t, sqlpp::no_select_flag_list_t, sqlpp::select_column_list_t<void, sqlpp::count_t<sqlpp::noop, sqlpp::column_t<support_server::users::users, support_server::users::users_::nickname> > >, sqlpp::from_t<void, support_server::users::users>, sqlpp::no_extra_tables_t, sqlpp::no_where_t<true>, sqlpp::no_group_by_t, sqlpp::no_having_t, sqlpp::no_order_by_t, sqlpp::no_limit_t, sqlpp::no_offset_t, sqlpp::no_union_t> >::_new_statement_t<std::integral_constant<bool, false>, sqlpp::where_t<void, sqlpp::assignment_t<sqlpp::column_t<support_server::users::users, support_server::users::users_::nickname>, sqlpp::text_operand> > >)’
   const bool exists = pimpl->db(sqlpp::select(sqlpp::count(users_tbl.nickname)).from(users_tbl).where(users_tbl.nickname=nickname)).front().count > 0;
                                                                                ^
In file included from db_controller.cpp:9:0:
/usr/local/include/sqlpp11/sqlite3/connection.h:88:9: note: candidate is:
   class connection: public sqlpp::connection
         ^
/usr/local/include/sqlpp11/sqlite3/connection.h:280:10: note: template<class T> decltype (t._run((*(sqlpp::sqlite3::connection*)this))) sqlpp::sqlite3::connection::operator()(const T&)
     auto operator()(const T& t) -> decltype(t._run(*this))
          ^
/usr/local/include/sqlpp11/sqlite3/connection.h:280:10: note:   template argument deduction/substitution failed:
/usr/local/include/sqlpp11/sqlite3/connection.h: In substitution of ‘template<class T> decltype (t._run((*(sqlpp::sqlite3::connection*)this))) sqlpp::sqlite3::connection::operator()(const T&) [with T = sqlpp::bad_statement]’:
db_controller.cpp:111:131:   required from here
/usr/local/include/sqlpp11/sqlite3/connection.h:280:10: error: ‘const struct sqlpp::bad_statement’ has no member named ‘_run’

My bad %)
... where(users_tbl.nickname=nickname)

should be
where(users_tbl.nickname==nickname)

:-)

I understand, but I think it would be nice to add a little "syntactic sugar" for expressions like that I gave. But that's just my opinion...
if ( db(count(t).where(t.nickname=="Bob")) )
{}

or
if ( db(exists(t).where(t.nickname=="Bob")) )
{}

Got it. I'll think about it.

if (!db.select(t.id).from(t).where(t.nickname=="Bob").empty()))
{}

There is one extra closing parenthesis(')').
In any case, something is wrong with this expression, because I get the following error:
db_controller.cpp:112:53: error: ‘class sqlpp::sqlite3::bind_result_t’ has no member named ‘from’
  const bool exists = pimpl->db.select(users_tbl.id).from(users_tbl).where(users_tbl.nickname == nickname).empty();

Ideas?

if (!db.select(t.id).from(t).where(t.nickname=="Bob")).empty())
{}

This should be OK (I cannot test right now).
empty() is a member function of result.

I.e. like this?
if ( !(db.select(t.id).from(t).where(t.nickname=="Bob")).empty() )
{}

;)

if (!db(select(t.id).from(t).where(t.nickname=="Bob")).empty())
{}

Note to self: Do not write code when distracted...

I distract you too, I'm sorry :(
But I doubt that someone other will be able to answer my questions about sqlpp11. Thank you so much that you did not leave me alone with sqlpp11! =)

Well, the good thing is: You are becoming knowledgeable too, I guess, and might be able to answer future questions by other users, or help documenting ;-)

You're right, of course ;)

one more question...
db(sqlpp::insert_into(users_tbl).set(users_tbl.nickname=nickname));

error:
/usr/local/include/sqlpp11/insert_value_list.h:434:7: error: static assertion failed: At least one required column is missing in set()
       static_assert(not std::is_same<_database_t, void>::value or detail::have_all_required_columns<lhs_t<Assignments>...>::value, "At least one required column is missing in set()");
       ^

If you look through the generated table code, you will find that one or more columns contain a flag that they are required in insert statements. This is decided by the code generator (e.g. your PP code).
Personally, if a column cannot be NULL, I like to enforce it in the insert statement.
I'll close this issue now, OK? We kind of left the original topic :-)

Oh, my bad, again %)

I'll close this issue now, OK?
Sure.

authors: niXman rbock


text:
UG-644 Ports is_doc_update_pr function to bash script

Adds script to check if last commit is a documentation only change
which was previously completed in groovy. Used to determine whether
a full build is required to test commit.
Indicates a documentation only change via a return code of 0. Any
other due to failure or non-documentation changes found.

Current function

recheck_cit_artifact_xenial_Container
recheck_cit_artifact_xenial_Python
recheck_cit_xenial-deploy-swift

recheck_cit_xenial_deploy_swift

Gating failures due to artifact repos that are being reviewed

Going to merge this anyway since it's a net add to the repository and it's not going to be run in the gate (yet).

authors: dankolbrs major

repo: rcbops/rpc-openstack