modprobe: ERROR: could not insert 'uvcvideo': Invalid argument on Ubuntu 14.04.6 LTS

Required Info

Camera Model
D435

Firmware Version

Operating System & Version
Ubuntu 14.04.6 LTS

Kernel Version (Linux Only)
4.4.0-148-generic

Platform
PC

SDK Version

Language

Segment

Issue Description
The process of applying a patch on kernel modules is failing. Please note that I have already run sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade and updated boot by sudo update-grub && sudo reboot multiple times. Please see below the output reported at the terminal-
ravi@lab:~/tools/librealsense$ ./scripts/patch-realsense-ubuntu-lts.sh

Reading package lists... 0%
Reading package lists... 100%
Reading package lists... Done

Building dependency tree... 0%
Building dependency tree... 50%
Building dependency tree

Reading state information... 0%
Reading state information... Done

bc is already the newest version.
build-essential is already the newest version.
git is already the newest version.
linux-headers-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Package required libusb-1.0-0-dev:  - found
Package required libssl-dev:  - found
Create patches workspace in ubuntu-xenial-master folder

The kernel has modified files:
	modified:   drivers/iio/accel/hid-sensor-accel-3d.c
	modified:   drivers/iio/gyro/hid-sensor-gyro-3d.c
	modified:   drivers/media/usb/uvc/Makefile
	modified:   drivers/media/usb/uvc/uvc_ctrl.c
	modified:   drivers/media/usb/uvc/uvc_driver.c
	modified:   drivers/media/usb/uvc/uvc_video.c
	modified:   drivers/media/usb/uvc/uvcvideo.h
	modified:   drivers/media/v4l2-core/v4l2-ioctl.c
	modified:   include/linux/hid-sensor-ids.h
	modified:   include/uapi/linux/videodev2.h
Proceeding will reset all local kernel changes. Press 'n' within 3 seconds to abort the operation
Do you want to proceed? [Y/n]Y
Update the folder content with the latest from mainline branch

remote: Total 0 (delta 0), reused 0 (delta 0)
From https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial
 * branch            master     -> FETCH_HEAD
Resetting local changes in ubuntu-xenial-master folder
 HEAD is now at 1296204 UBUNTU: Ubuntu-4.4.0-164.192
Applying patches for xenial-master line
Applying realsense-uvc patch
patching file drivers/media/usb/uvc/Makefile
patching file drivers/media/usb/uvc/uvc_driver.c
patching file drivers/media/usb/uvc/uvcvideo.h
patching file drivers/media/v4l2-core/v4l2-ioctl.c
patching file include/uapi/linux/videodev2.h
Applying realsense-metadata patch
patching file drivers/media/usb/uvc/uvc_driver.c
Hunk #1 succeeded at 2768 (offset 69 lines).
patching file drivers/media/usb/uvc/uvc_video.c
Hunk #1 succeeded at 1253 (offset 25 lines).
Hunk #2 succeeded at 1291 (offset 25 lines).
patching file drivers/media/usb/uvc/uvcvideo.h
Hunk #1 succeeded at 194 (offset 39 lines).
Hunk #2 succeeded at 214 (offset 39 lines).
Applying realsense-hid patch
patching file drivers/iio/accel/hid-sensor-accel-3d.c
patching file drivers/iio/gyro/hid-sensor-gyro-3d.c
patching file include/linux/hid-sensor-ids.h
Applying realsense-powerlinefrequency-fix patch
patching file drivers/media/usb/uvc/uvc_ctrl.c
Hunk #1 succeeded at 356 (offset -1 lines).
Retrofit uvc bug fix enabled with 4.18+
patching file drivers/media/usb/uvc/uvc_video.c
Hunk #1 succeeded at 1108 (offset 31 lines).
Prepare kernel modules configuration
scripts/kconfig/conf  --olddefconfig Kconfig
#
# configuration written to .config
#
scripts/kconfig/conf  --silentoldconfig Kconfig
  CHK     include/config/kernel.release
  UPD     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  UPD     include/generated/utsrelease.h
  CHK     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  CHK     scripts/mod/devicetable-offsets.h
Compiling uvc module
make: Entering directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_driver.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_queue.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_v4l2.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_video.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_ctrl.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_status.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_isight.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_debugfs.o
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvc_entity.o
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvcvideo.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvcvideo.mod.o
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/usb/uvc/uvcvideo.ko
make: Leaving directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
Compiling accelerometer and gyro modules
make: Entering directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/hid-sensor-accel-3d.o
  Building modules, stage 2.
  MODPOST 18 modules
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bma180.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-core.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-i2c.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/hid-sensor-accel-3d.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-spi.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/kxcjk-1013.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/kxsd9.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma8452.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9551.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9551_core.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9553.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mxc4005.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/ssp_accel_sensor.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel_i2c.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel_spi.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/stk8312.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/stk8ba50.mod.o
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bma180.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-i2c.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-spi.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/hid-sensor-accel-3d.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/kxcjk-1013.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/kxsd9.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/bmc150-accel-core.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma8452.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mxc4005.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9551.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9553.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/mma9551_core.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/ssp_accel_sensor.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/stk8312.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel_i2c.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/stk8ba50.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/accel/st_accel_spi.ko
make: Leaving directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
make: Entering directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
  CC [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/iio/gyro/hid-sensor-gyro-3d.o
  Building modules, stage 2.

  MODPOST 17 modules
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/tuner.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-common.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-dv-timings.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-flash-led-class.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-mem2mem.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-core.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-dma-sg.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-dvb.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-vmalloc.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-core.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dma-contig.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dma-sg.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dvb.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-memops.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-v4l2.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-vmalloc.mod.o
  CC      /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videodev.mod.o
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/tuner.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-common.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-flash-led-class.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-mem2mem.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-core.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-dma-sg.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-dvb.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/v4l2-dv-timings.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-core.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf-vmalloc.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-memops.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dma-sg.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dma-contig.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-vmalloc.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-v4l2.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videobuf2-dvb.ko
  LD [M]  /home/ravi/tools/librealsense/ubuntu-xenial-master/drivers/media/v4l2-core/videodev.ko
make: Leaving directory `/home/ravi/tools/librealsense/ubuntu-xenial-master'
Patched kernels modules were created successfully

Replacing mvideodev  -
Module is resident, unloading ...  succeeded.
	Applying the patched module ...  succeeded
Replacing muvcvideo  -
	Applying the patched module ... modprobe: ERROR: could not insert 'uvcvideo': Invalid argument
Failed to insert the patched module. Operation is aborted, the original module is restored
Verify that the current kernel version is aligned to the patched module version
modprobe: ERROR: could not insert 'uvcvideo': Invalid argument

Please note that due to some issue (maybe the firewall), git:// was showing connection timed out. Therefore, I modified the line number 56 of patch-realsense-ubuntu-lts.sh as shown below:
[ ! -d ${kernel_name} ] && git clone -b $kernel_branch https://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial --depth 1 ./${kernel_name}

Possible Culprit
I see the following line HEAD is now at 1296204 UBUNTU: Ubuntu-4.4.0-164.192 in the output of patch-realsense-ubuntu-lts.sh.
The cloned kernel belongs to the version 4.4.0-164.192. However, my kernel is a little bit different. See below-
ravi@lab:~$ uname -a
Linux lab 4.4.0-148-generic #174~14.04.1-Ubuntu SMP Thu May 9 08:17:37 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Additional Info.

This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

CMake versionravi@lab:~$ cmake --version
cmake version 3.10.1

CMake suite maintained and supported by Kitware (kitware.com/cmake).

Newly created files in $HOME dirravi@lab:~$ ll 4.4*
-rw-r--r-- 1 root root  15761 Sep 23 19:27 4.4.0-148-generic-hid-sensor-accel-3d.ko
-rw-r--r-- 1 root root  15745 Sep 23 19:27 4.4.0-148-generic-hid-sensor-gyro-3d.ko
-rw-r--r-- 1 root root 144498 Sep 23 19:27 4.4.0-148-generic-uvcvideo.ko
-rw-r--r-- 1 root root 295744 Sep 23 19:27 4.4.0-148-generic-videodev.ko

Snippet of dmesg[    2.379731] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.379733] Bluetooth: BNEP filters: protocol multicast
[    2.379734] Bluetooth: BNEP socket layer initialized
[    2.390315] audit: type=1400 audit(1569232141.250:10): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/sbin/dhclient" pid=944 comm="apparmor_parser"
[    2.605882] clocksource: Switched to clocksource tsc
[    2.632728] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready
[    2.840484] IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
[    3.051098] NVRM: Your system is not currently configured to drive a VGA console
[    3.051098] on the primary VGA device. The NVIDIA Linux graphics driver
[    3.051098] requires the use of a text-mode VGA console. Use of other console
[    3.051098] drivers including, but not limited to, vesafb, may result in
[    3.051098] corruption and stability problems, and is not supported.
[    3.324924] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input14
[    3.325062] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input15
[    3.325486] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input16
[    3.325546] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input17
[    3.411781] systemd-udevd[1293]: failed to execute '/bin/systemctl' '/bin/systemctl stop --no-block nvidia-persistenced': No such file or directory
[    3.451780] init: nvidia-prime main process (1338) terminated with status 127
[    3.849629] systemd-udevd[1705]: failed to execute '/bin/systemctl' '/bin/systemctl start --no-block nvidia-persistenced.service': No such file or directory
[    4.461094] nvidia-modeset: Allocated GPU:0 (GPU-afd57357-76fe-34cf-46bf-7a3b8b80f468) @ PCI:0000:01:00.0
[    4.852087] init: plymouth-upstart-bridge main process ended, respawning
[    5.288535] ahci 0000:00:17.0: port does not support device sleep
[    5.325610] init: plymouth-stop pre-start process (2801) terminated with status 1
[    5.878530] e1000e: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[    5.878573] IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
[   32.376964] audit_printk_skb: 60 callbacks suppressed
[   32.376966] audit: type=1400 audit(1569232171.238:31): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/lib/cups/backend/cups-pdf" pid=3076 comm="apparmor_parser"
[   32.376969] audit: type=1400 audit(1569232171.238:32): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="/usr/sbin/cupsd" pid=3076 comm="apparmor_parser"
[ 1762.745727] systemd-hostnamed[3926]: Warning: nss-myhostname is not installed. Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[ 1828.593211] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1828.593213] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1828.593217] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1828.593218] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1845.617130] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1845.617132] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1845.617136] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1845.617137] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1847.449121] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1847.449123] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1847.449127] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1847.449128] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1848.120518] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1848.120520] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1848.120524] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1848.120525] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1848.784528] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1848.784530] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1848.784534] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1848.784535] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1849.768577] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1849.768579] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1849.768583] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1849.768584] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1914.744842] usb 2-4: USB disconnect, device number 2
[ 1915.960870] usb 2-4: new SuperSpeed USB device number 3 using xhci_hcd
[ 1915.977956] usb 2-4: New USB device found, idVendor=8086, idProduct=0b07
[ 1915.977965] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1915.977972] usb 2-4: Product: Intel(R) RealSense(TM) Depth Camera 435
[ 1915.977977] usb 2-4: Manufacturer: Intel(R) RealSense(TM) Depth Camera 435
[ 1915.977982] usb 2-4: SerialNumber:<PHONE_NUMBER>23
[ 1915.987579] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1915.987581] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1915.987586] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1915.987587] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 1916.008906] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 1916.008910] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 1916.008919] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 1916.008921] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 2206.013789] usb 2-4: USB disconnect, device number 3
[ 2329.936691] media: Linux media interface: v0.10
[ 2329.945934] Linux video capture interface: v2.00
[ 2330.024965] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 2330.024978] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 2330.024994] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 2330.025000] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 2330.074632] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 2330.074639] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 2330.074647] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 2330.074650] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 2358.856357] usb 2-4: new SuperSpeed USB device number 4 using xhci_hcd
[ 2358.873291] usb 2-4: New USB device found, idVendor=8086, idProduct=0b07
[ 2358.873300] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2358.873306] usb 2-4: Product: Intel(R) RealSense(TM) Depth Camera 435
[ 2358.873312] usb 2-4: Manufacturer: Intel(R) RealSense(TM) Depth Camera 435
[ 2358.873317] usb 2-4: SerialNumber:<PHONE_NUMBER>23
[ 2358.906688] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 2358.906698] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 2358.906709] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 2358.906714] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 2358.916355] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 2358.916356] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 2358.916359] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 2358.916360] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)
[ 2365.210215] v4l2_common: disagrees about version of symbol v4l2_subdev_init
[ 2365.210218] v4l2_common: Unknown symbol v4l2_subdev_init (err -22)
[ 2365.210220] v4l2_common: disagrees about version of symbol v4l2_device_register_subdev
[ 2365.210221] v4l2_common: Unknown symbol v4l2_device_register_subdev (err -22)

Any workaround, please?

@ravijo hello,
After updating the system you also need to specify the kernel to boot with - it is possible that it is predefined with the system you run to select 4.4.0-148. Using a 3rd-party tool, such as grub-customizer can be useful to manually pre-select the boot kernel version.
But before doing that - we recommend to use DKMS package whenever applicable as this a robust industrial solution compared to patching the kernel manually.
Follow the Debian installation and run

sudo apt install librealsense2-dkms

This will deploy and install both the kernel patches and the udev-rules required by the SDK.

Hi @ev-mp
Thanks for the quick response.

After updating the system you also need to specify the kernel to boot with - it is possible that it is predefined with the system you run to select 4.4.0-148. Using a 3rd-party tool, such as grub-customizer can be useful to manually pre-select the boot kernel version.

I understand. Well, the kernel before was 3.13.0-165-generic. As per the pre-requirements for librealsense, I upgraded the kernel to 4.4.0-148 by using command line. (This time I didn’t use grub-customizer). However, I agree with you that I didn’t manually select the kernel during boot process. I believe it automatically executes the latest version. That is why uname -r is showing 4.4.0-148-generic. Isn’t it?

But before doing that - we recommend to use DKMS package whenever applicable as this a robust industrial solution compared to patching the kernel manually.

I tried it in the first place. Unfortunately, while registering the server's public key, it shows timed out. It is probably due to the firewall. I am so sorry that I don’t have credentials for bypassing this firewall (this is why I changed git:// to https:// in the patch script as mentioned above).
Thanks again.

@ravijo hello, using proxy does not require credential, just getting the corporate proxy server url:port should suffice. There are additional method to handle firewall-related issues - see the troubleshooting link mentioned in the installation guide.
I will provide a direct download link for convenience -  http://realsense-hw-public.s3-eu-west-1.amazonaws.com/Debian/apt-repo/pool/xenial/main/librealsense2-dkms_1.3.5-0ubuntu1_all.deb
Note that this is for xenial only. Install with sudo dpkg -i <filename> and update

Hi @ev-mp
The provided .deb file worked like a charm. I will check the firewall stuff next time. I am closing this issue for now. Thanks!

Hi @ev-mp
The installation worked. Please see below-
ravi@lab:~/Desktop$ sudo dpkg -i librealsense2-dkms_1.3.5-0ubuntu1_all.deb
[sudo] password for ravi:
Selecting previously unselected package librealsense2-dkms.
(Reading database ... 572225 files and directories currently installed.)
Preparing to unpack librealsense2-dkms_1.3.5-0ubuntu1_all.deb ...
Unpacking librealsense2-dkms (1.3.5-0ubuntu1) ...
Setting up librealsense2-dkms (1.3.5-0ubuntu1) ...
Loading new librealsense2-dkms-1.3.5 DKMS files...
First Installation: checking all kernels...
Building only for 4.4.0-148-generic
Building initial module for 4.4.0-148-generic
Done.

uvcvideo:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/4.4.0-148-generic/updates/dkms/

videodev.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/4.4.0-148-generic/updates/dkms/

hid-sensor-accel-3d.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/4.4.0-148-generic/updates/dkms/

hid-sensor-gyro-3d.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/4.4.0-148-generic/updates/dkms/

depmod....

DKMS: install completed.

Loading the modified modules into kernel... complete
Current status:
bbswitch, 0.7, 3.13.0-164-generic, x86_64: installed
bbswitch, 0.7, 3.13.0-165-generic, x86_64: installed
bbswitch, 0.7, 3.13.0-170-generic, x86_64: installed
bbswitch, 0.7, 4.2.0-42-generic, x86_64: installed
bbswitch, 0.7, 4.4.0-148-generic, x86_64: installed
librealsense2-dkms, 1.3.5, 4.4.0-148-generic, x86_64: installed
nvidia-384, 384.130, 3.13.0-164-generic, x86_64: installed
nvidia-384, 384.130, 3.13.0-165-generic, x86_64: installed
nvidia-384, 384.130, 3.13.0-170-generic, x86_64: installed
nvidia-384, 384.130, 4.2.0-42-generic, x86_64: installed
nvidia-384, 384.130, 4.4.0-148-generic, x86_64: installed
mod: videodev 			 version: realsense2-dkms
mod: uvcvideo 			 version: 1.1.2.realsense-1.3.5
mod: hid_sensor_gyro_3d 	 version: realsense2-dkms
mod: hid_sensor_accel_3d 	 version: realsense2-dkms

However, realsense-viewer is not working as expected. Please see below-
ravi@lab:~/Desktop$ realsense-viewer
 23/09 22:35:47,023 ERROR [140076101125888] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: No such device
 23/09 22:35:47,734 ERROR [140076117911296] (types.h:304) map_device_descriptor Cannot open '/dev/video0 Last Error: No such file or directory
 23/09 22:35:47,734 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: map_device_descriptor Cannot open '/dev/video0 Last Error: No such file or directory
 23/09 22:35:48,734 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:48,734 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:48,921 WARNING [140076403246976] (fw-update-device.cpp:52) DFU - failed to detach device
 23/09 22:35:48,921 WARNING [140076403246976] (rs.cpp:281) null pointer passed for argument "device"
 23/09 22:35:49,735 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:49,735 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:50,735 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:50,735 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:51,735 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:51,735 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:52,736 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:52,736 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:53,736 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:53,736 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:54,736 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:54,736 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:55,736 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:55,737 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:56,737 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:56,737 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:57,737 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:57,737 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:58,737 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:58,738 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:59,738 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:35:59,738 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:00,738 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:00,738 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:01,738 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:01,738 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:02,739 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:02,739 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:03,739 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:03,739 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:04,739 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:04,739 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:05,739 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:05,739 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:06,740 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:06,740 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:07,740 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:07,740 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:08,740 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:08,740 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:09,740 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:09,741 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:10,741 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:10,741 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:11,741 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:11,741 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:12,742 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:12,742 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:13,742 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:13,742 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:14,742 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:14,742 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:15,742 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:15,743 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:16,743 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:16,743 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:17,743 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:17,743 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:18,743 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:18,743 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:19,744 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:19,744 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:20,744 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:20,744 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:21,744 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:21,744 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:22,744 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:22,745 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:23,745 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:23,745 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:24,745 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:24,745 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:25,745 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:25,745 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:26,746 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:26,746 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:27,746 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:27,746 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:28,746 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:28,746 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:29,656 ERROR [140076101125888] (types.h:304) get_dev_capabilities: Cannot open '/dev/video0 Last Error: Permission denied
 23/09 22:36:29,657 ERROR [140076101125888] (types.h:304) get_dev_capabilities: Cannot open '/dev/video1 Last Error: Permission denied
 23/09 22:36:29,657 ERROR [140076101125888] (types.h:304) get_dev_capabilities: Cannot open '/dev/video2 Last Error: Permission denied
 23/09 22:36:29,746 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:29,746 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:30,747 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:30,747 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:31,747 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:31,747 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:32,747 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:32,747 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:33,748 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:33,748 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:34,748 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:34,748 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:35,748 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:35,748 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:36,749 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:36,749 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:37,749 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:37,749 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:38,749 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:38,749 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:39,750 ERROR [140076117911296] (types.h:304) get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor
 23/09 22:36:39,750 ERROR [140076117911296] (error-handling.cpp:68) Error during polling error handler: get_xu(...). xioctl(UVCIOC_CTRL_QUERY) failed Last Error: Bad file descriptor

If you notice carefully, you can see the following error Cannot open '/dev/video0 Last Error: Permission denied
Do I need to manually set permissions to the device? Can you please help?

@ravijo , you need to install device permissions - udev-rules - follow the installation guide here

Run Intel Realsense permissions script located from librealsense root directory:
./scripts/setup_udev_rules.sh

Then reconnect the camera to make sure the're applied

@ev-mp It worked. Thank you very much.


SHIFTWEEK: feat: add spec dir and move cp openapi spec file

Shift Week Project:
Created spec folder to hold our spec files for validating configs.
Installed our openapi spec file to spec folder.
/assign @ggiguash

/lgtm


feat: deployment script

Fixes #129
Created Deployment script for Konoha

I think you just broke all the tests by upgrading snforge.

It is currently not possible to detect whether a given class is already declared and avoid failing then, therefore this functionality will have to be postponed.
Thanks @Oshioke-Salaki , hopefully the code will be used later


Import/export features

Todo:
High:

[ ] add compose (crm modules, pages, charts) provisioning
[ ] export permissions on compose
[ ] export permissions on system
[ ] export roles
[ ] system export cli
[ ] provide list of roles (through grpc) for permission exporter
[ ] remove old permision, role provisioning, migrate to import from yaml

Mid:

[ ] imp/exp automations scripts & triggers on compose
[ ] imp/exp automations scripts & triggers on system

Low:

[ ] export channels
[ ] messaging export cli
[ ] messaging import cli
[ ] export permissions on messaging
[ ] importing channels
[ ] exporting channels
[ ] add messaging (channels) provisioning

Codecov Report

Merging #24 into master will increase coverage by 0.63%.
The diff coverage is 46.29%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
+ Coverage   43.13%   43.77%   +0.63%
==========================================
  Files         362      388      +26
  Lines       23619    25646    +2027
==========================================
+ Hits        10188    11226    +1038
- Misses      11883    12654     +771
- Partials     1548     1766     +218

Impacted Files
Coverage Δ

system/service/error.go
100% <ø> (ø)
:arrow_up:

compose/service/access_control.go
97.16% <ø> (+21.47%)
:arrow_up:

messaging/service/access_control.go
88.96% <ø> (+17.69%)
:arrow_up:

compose/service/error.go
100% <ø> (ø)
:arrow_up:

system/service/access_control.go
91.86% <ø> (+21.24%)
:arrow_up:

system/grpc/roles_service.go
0% <0%> (ø)

messaging/provision-config.go
0% <0%> (ø)

system/grpc/users_service.go
0% <0%> (ø)
:arrow_up:

system/provision-settings.go
0% <0%> (ø)

system/auth/external/register.go
8.16% <0%> (ø)
:arrow_up:

... and 101 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c244e9b...51f05ad. Read the comment docs.


Built-In Server Certificate Strength?

Strangely enough this document does not state the type of certificate and its strength for service-managed TDE. You state that you encrypt with AES256, but is the built-in server certificate based on RSA or EC? Is it 2048bits or less/more? Would be nice to have that information.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a44a0e0d-f0a8-fe91-8ae5-a901e103f89e
Version Independent ID: 834b8bc9-d661-0204-9ece-1f370067ec96
Content: Transparent data encryption - Azure SQL Database & SQL Managed Instance & Azure Synapse
Content Source: articles/azure-sql/database/transparent-data-encryption-tde-overview.md
Service: sql-database
Sub-service: security
GitHub Login: @jaszymas
Microsoft Alias: jaszymas

@evolve700 Thank you for making this suggestion. This is being assigned to the content owner as an enhancement request where an update will be made as appropriate.

#reassign:ShohamMSFT

@evolve700 The built-in server certificate is based on RSA, 2048 bits. Thanks!

@VanMSFT Please go ahead and close this issue.

#please-close


Soft threshold checks for coordinators

Background
Riak for most operations does a good job of working around the slow node problem.  In sending n requests for a GET and being able to return a response on r replies, low variance in client response times can still be achieved even when nodes are impaired by hardware failure (e.g. loss of disk in a RAID array) or software interruption (e.g AAE tree rebuilds, page cache pollution).
Riak does not necessarily deliver a low median response time, but it does deliver a relatively low maximum/high-percentile response time.
This property does not necessarily hold though when an operation requires a coordinator, for example PUT operations.  When a coordinator is selected for a PUT, if the coordinating vnode is on a slow node, or for vnode specific reasons has a large mailbox queue - the PUT will run at the pace of that vnode.  In testing at the NHS under certain high pressure scenarios significant increases in mean PUT response times have been seen, driven by a sharp increase in slow outliers, as vnode mailbox queues rise, and those vnodes take their equal share of chances to be the PUT coordinator.
These circumstances can be triggered by big events (such as the failures and expensive processes previously referred to), but also by relatively hard to detect events (larger than usual compaction activity in a vnode, a node acting as coordinator for an exceptionally large index query etc).  Running a cluster with disk utilisation at around 85% will lead to frequent occurrences of bursts of very slow PUTs due to short-term fluctuations between nodes in the vnode mailbox queue size, with bursts where queue sizes across a node exceed 100 messages.
Although only PUT currently has a coordinator, there is a proposal from @martincox to use coordinators for GETs as well.  This is to allow Riak to avoid unnecessarily doing n GETs, and instead do 1 GET and n-1 HEAD requests (in most scenarios) - reducing both the overall vnode load and network bandwidth used, especially when values are large.  To implement this though, a vnode must be nominated by the GET FSM to be the one responsible for the GET and not the HEAD (and the response to the client will be at least as slow as this single vnode (as with the coordinated PUT).
It would be preferable if this efficiency change could be made without running the risk of seeing response time volatility as individual vnodes experience increased queue lengths, for example due to additional background workload on that node.  Previously it had been suggested that this could be avoided by using n-HEADs followed by 1-GET (https://github.com/martinsumner/leveled/blob/master/docs/FUTURE.md#n-heads-1-get-or-1-get-n-1-heads), but this requires an additional backend message, and does nothing to directly help the PUT scenario (other than through indirectly reducing the risk of larger mailbox queues by diverting more expensive GET operations from vnodes with backlogs).
Proposal
It is proposed that the general problem of selecting 1 out of n vnodes for extra work, i.e. selecting a coordinator), could be addressed by using soft threshold mailbox queue checks to the vnode proxy.  These checks will be "soft" in comparison to the current "hard" overload checks made at the vnode proxy.  The checks will allow for the choice of coordinator to be validated before it is used, at a very low cost, with no additional backend work required.
Mailbox Monitoring
Currently all messages to vnodes pass through the riak_core_vnode_proxy (https://github.com/basho/riak_core/blob/2.1.9/src/riak_core_vnode_proxy.erl).
This proxy monitors the mailbox queue size (very loosely) in order to detect the overload state (https://github.com/basho/riak_core/blob/2.1.9/src/riak_core_vnode_proxy.erl#L277-L288).  This state, effectively fails all messages received once the mailbox has reached the default threshold of 10000 messages.  [Note that handle_overload_command is not part of the required vnode behaviour, but is implemented in riak_kv_vnode to return an error].  The default threshold here is probably two orders of magnitude too large for this purpose, and the consequent action unhelpful.
The proposal is to monitor the mailbox size more accurately within the vnode_proxy, so that the proxy can handle a soft_overload ping message responding with the approximation of the current mailbox size.   This could be achieved by using the same polling algorithm with a lower request interval (https://github.com/basho/riak_core/blob/2.1.9/src/riak_core_vnode_proxy.erl#L240), without reducing significantly the interval for the expensive/accurate check (https://github.com/basho/riak_core/blob/2.1.9/src/riak_core_vnode_proxy.erl#L254).  A request interval of 50 is perhaps a good starting point.
The vnode_proxy could then receive a new queue_size message, that would return the current queue estimate, or false if the current queue estimate is less than twice the poll frequency (100 if a request interval of 50 is used by default).  This queue estimate could then be used when selecting coordinators.
Selecting A Coordinator
The vnode_proxy queue_size message can offer an immediate response from the proxy LoopState without forwarding to the backend impacting any backlog there.  So if a coordinator is chosen by a PUT or GET FSM, with presumably local vnodes in the preflist chosen first as at present - a queue_size message may be sent first to see if the current mailbox queue size is below the threshold (i.e. false is returned).  If the queue size is above the threshold other vnodes may be polled for queue_size and the shortest queue chosen.
This queue_size request could be made for every coordinated request.  Alternatively, a cache of queue size responses for each node could be kept in a name referenced ETS table, and a poll only be used if the cached entry in the table for the chosen vnode has expired.  Given that the check is so low cost, perhaps sending one message for every coordinator nomination is acceptable.
FSMs waiting for a queue_size message should do so with an aggressive timeout (e.g. 1s), and assume the queue size is currently infinite if the timeout is hit without a response to the queue_size message.  If no vnodes can return a queue_size within the timeout, then this should be treated as an overload error.
In the current PUT FSM implementation it would probably be preferable to make the queue_size check before making the forwarding decision: i.e. currently the PUT FSM chooses not to forward is a vnode in the preflist is local, and forward to the first vnode in the preflist otherwise.

@russelldb - does this explain it well enough?

it does @martinsumner, thanks. IMO no need to cache in ETS unless there is an observed need to cache in ETS (i.e. we should do the simple work and benchmark/profile before adding a cache.)

Sorry to be that guy - I'm just wondering if you fired off a request to some random node, maybe you should send another request 5 milliseconds later to (possibly different) nodes. This would be like the techniques that are described in The Tail at Scale

As in a hedged request?  That's an interesting idea, and seems more helpful than having to rely so much on the aggressive timeout.
That paper is on my reading list for tomorrow now :-)

Yes, exactly. The hedged request method showed substantial improvements in median and mode, and reduced tail latency quite a bit.

There are some hints to the potential benefits of this from the following volume test write up:
https://github.com/martinsumner/leveled/blob/master/docs/VOLUME.md#riak-cluster-test---phase-6---nhs-hardware-compare
Working around individual mailbox queues prior to the overload state being entered, is important to maintaining stable response times.

Been thinking tonight, about which vnode to initially choose at the GET coordinator.
Initially I had thought:

go local;
if no local vnode in the preflist choose at random.

The issue though is cache efficiency.  If we assume requests are balanced equally across nodes, then requests for a given object will have its coordinator balanced evenly across the three vnodes.  However, we're doing nothing to help the cache.  If the same vnode was chosen as coordinator each time (subject to soft overload check), then the page cache could be potentially 3 x as efficient for reads (as we would not be wasting pages in the cache on the nodes which hold the other vnodes).
A cache miss is more expensive than a network round trip, iff it results in a disk head movement on a hard disk drive (which will in reality be every read that misses unless we're pulling objects sequentially).
Perhaps so as not to hamper those using SSDs, the algorithm should be:

go local;
if no local vnode in the preflist choose the head of the preflist.

So  if there's an 8 node cluster, 75% of GET requests will result in the head of the preflist being chosen as the GET coordinator (subject to the soft overload check), with that percentage increasing as the cluster grows.
In the volume tests referred to above, performance drops sharply as disk seeks start occurring on HDDs - so a dramatic decrease in disk seeks through more cache intelligent routing  could offer significant benefits.

In the spirit of doing the least amount of work possible to decide if this is a worthwhile approach, how does this sound:

lower the {riak_core,  vnode_check_request_interval} to 50
add a function to vnode proxy get_mailbox_size() -> pos_integer()
update put fsm with the if MBox > SoftLimit logic

Then run the volume tests. Too minimal?

For PUTs this is now added to 2.9.
Whether this should be extended to GETs is still an outstanding question

The GET question will now be resolved in #1692.  Implemented with PUTs, as well as a switch to disable the use of the proxy poll https://github.com/basho/riak_kv/commit/24ec5d26459c59fcdd75f30ae92a6b3bc83c729e


Problem with importing Peripherals from crate root

If I understand correct when device feature is used ("stm32f103" in my case) the types from corresponding submodule (i.e. from stm32f1::stm32f103) is available from crate's root.
But seems something went wrong in my case:
error[E0432]: unresolved import `stm32ral::Peripherals`
 --> src/init.rs:1:65
  |
1 | use stm32ral::{modify_reg, rcc, read_reg, reset_reg, write_reg, Peripherals};

My manifest looks like:
[dependencies.stm32ral]
version = "^0.5"
features = ["rtic", "stm32f103"]

$ rustc --version
rustc 1.50.0 (cb75ad5db 2021-02-10)

I generated doc to see the re-exports. It looks as expected:
Re-exports
pub use cortex_m::armv7m::*;
pub use stm32f1::stm32f103::*;

Import from stm32f1::stm32f103 works fine.

Hmm, weird. I'm not sure why Peripherals isn't being re-exported properly. When I've used stm32ral with rtic, I have:
#[rtic::app(device=stm32ral::stm32f1::stm32f103, peripherals=true)]

which seems to work fine, and I don't touch the Peripherals struct myself at all. I'll try and figure out where Peripherals is going but it's not obvious at first glance...
Incidentally, you almost certainly want the rt feature enabled as well.

@adamgreig Of course, thanks :+1:

I figured out the cause of this issue; both stm32ral::cortex_m::arm7m and stm32ral::stm32f1::stm32f103 (for example) export a Peripherals type, so the glob import somehow ends up importing neither and just says Peripherals isn't available. Inside a single module it detects this ambiguity and throws an error, but when it's an external crate it seems it doesn't know how to tell you about it. I didn't have much luck finding an actual reference for this behaviour.
Ultimately this probably needs a different generation of the cortex-m shared peripherals (e.g. how some things name them CorePeripherals and DevicePeripherals) but for now I think your best bet is to refer to it by the full path or use it from stm32ral::stm32f1::stm32f103 as you've done.

How about re-exporting things via submodules like a stm32ral::core::Peripherals and stm32ral::device::Peripherals?

This is now fixed in v0.8.0 by renaming the cortex-m peripherals to CorePeripherals, thanks for the report!


Add recommended python/cudnn/cuda versions to README?

Hi,
I've been playing around with this trying to get it to work with my GPU and I've been having some issues.  First things first though, do you think it would make sense to add a note to the README about which versions of Python are recommended/supported?  My understanding is that tensorflow doesn't yet support 3.7, is that true here?  What version do you use for development?  3.6?  2.7?   Also, any notes on supported versions of the CUDA libraries (cuda/cudnn)?  (the build times are a bit long, so knowing that I'm starting from a known working environment would be really helpful!)
Thanks!

Good idea to add this to the readme. To start from a known-working build environment you could try the dockerfile we use to build our wheels. We build wheels for CUDA versions 9.0, 9.2 and 10.0, and Python 2.7 and 3 (I think it's 3.5 but I'm not sure). We mostly use 2.7 ourselves for development.
What sorts of issues did you run into? Did you try installing with pip instead of building yourself?

In [1]: import jax.numpy as np
   ...: from jax import random
   ...:

In [2]: key = random.PRNGKey(0)
   ...:
2018-12-09 16:27:18.979419: F external/org_tensorflow/tensorflow/stream_executor/lib/statusor.cc:34] Attempting to fetch value instead of handling error Internal: no supported devices found for platform CUDA
Aborted (core dumped)

I see this on 3.7 and 2.7 with cuda 10.0.130 and cudnn 7.
My GPU is old (capability level 3.0), maybe that has something to do with it?
...and I did poke around briefly with the pip installs, but it said they're experimental, my cuda/cudnn library versions are different as I'm on arch and I'm trying to use the distro packages for them, and most importantly, I'm interested in poking around with the source so I'd like to get it working from sources :)
I can ship stuff to the GPU from Tensorflow though, built from sources on 2.7.

The build script assumes that CUDA and cuDNN are installed at /usr/local/cuda. This is configurable with --cuda_path and --cudnn_path. If you're using Arch, maybe pacman installs CUDA somewhere else, like /opt?

Yeah, I'm passing the path flags for the unusual library locations (/opt/cuda for cuda and /usr (yuck) for cudnn) and it seems to build and install ok.  The problem is the exception at runtime where it's complaining about not finding any devices.  Since it's dumping core it seems at the least there might be a bug there where it fails hard when no device is found, but I'd like to get a handle on why its not finding the device in the first place.  I'm rebuilding with 2.7, I'm going to poke around a bit...  There aren't any known limitations on minimum device/GPU capabilities?  I have a hunch that my device might be getting filtered out somewhere leading to what looks like a late failure...

It looks like this https://gist.github.com/ajweiss/f93e426a56a992d11822a4e309ba37c8 will stop the hard crashes.  Is there any reason why GetOrCreateLocalClient() wasn't wrapped with the StatusOr stuff to begin with here?  If it's useful, I can submit a PR to tensorflow since this is in XLA.  Also, how do I run the test suites?


SQLSTATE 22003 when trying to insert a numeric value

ERROR: value "3082705652732369514543573" is out of range for type bigint (SQLSTATE 22003)
I get this error when I try to insert a really large integer, it seems that age can't infer the type correctly, since this should be a numeric type in postgres. I have tried to type cast it to numeric ( this is on a prepared statement ) but it doesn't work. Is there any work around for this, or should this be stored as string ? Thanks

@JourneyToSilius Could you provide the query and output?

Query:
SELECT * FROM cypher('test_graph', $$CREATE (a:simplestruct {largeint: $largeint, name: $name})$$, $1::agtype) AS (n agtype);
AgeMap :  {"largeint":3082705652732369514543573,"name":"test_struct"}
executed as :
	return func(ctx context.Context, conn postgres.DBTX) (pgconn.CommandTag, error) {
		return conn.Exec(ctx, wrapped, g.vertexData.AgeMap)
	}

result :
                Error:          Received unexpected error:
                                ERROR: value "3082705652732369514543573" is out of range for type bigint (SQLSTATE 22003)
                Test:           TestInferTypeInquery/Test_build_query_with_inferred_type
--- FAIL: TestInferTypeInquery (0.05s)

@JourneyToSilius I will have to look at how that JSON is decoded. It might be that PG JSON doesn't support numeric. It might be that we added numeric and it needs a cast.

I tried to type cast it to numeric but it doesn't work, or at least not the way I was doing it. Otherwise I'm not sure if JSONB actually supports numeric or it must be passed as string ... will wait for your response @jrgemignani  thanks

@JourneyToSilius Try something like the following -
psql-16.1-5432-pgsql=# SELECT * FROM cypher('test', $$ CREATE (a:simplestruct {largeint:<PHONE_NUMBER>12345678901234567890::numeric, name: 'name'}) RETURN a $$) AS (a agtype);
                                                                       a

------------------------------------------------------------------------------------------------------------------------------------
-----------
 {"id":<PHONE_NUMBER>31969, "label": "simplestruct", "properties": {"name": "name", "largeint":<PHONE_NUMBER>12346000000000000000::numeric
}}::vertex
(1 row)

psql-16.1-5432-pgsql=#

@jrgemignani thanks, that's what I tried before. If it works at the CLI it must be a string formatting problem then. I will try this out tomorrow and debug what's going on

@jrgemignani :
{"largeint":"3082705652732369514543573::numeric","name":"test_struct"}
--- PASS: TestInferTypeInquery (0.04s)
    --- PASS: TestInferTypeInquery/Test_build_query_with_inferred_type (0.01s)
PASS

works now. I was attempting to add the typecast in the actual prepared statement instead of in the JSONB, so it was my confusion. Thank you for your help

@JourneyToSilius yw!

I just realized I am inserting this : {"largeint":"3082705652732369514543573::numeric","name":"test_struct"} which means it's a string, and not a numeric type ? I'm I right ?


Metal.RecordCombination may be shortened if Template Haskell is used.

Using Template Haskell is no longer considered; Template Haskell is unsafe, as Template Haskell can run arbitrary stuff at compilation time.
Additionally, Template Haskell is currently just a GHC thing, and being able to say "any recent Haskell compiler can compile metal" would be cool.


build: fix tcmu-runner_HANDLER_PATH

Currently, tcmu-runner fails with below error
$ ./tcmu-runner
couldn't open handlers
This is because the 'handler_path' is DEFAULT_HANDLER_PATH, which is
#define DEFAULT_HANDLER_PATH "@tcmu-runner_HANDLER_PATH@"
which inturn set to '${CMAKE_INSTALL_LIBDIR}/tcmu-runner' this on
expanding gives 'lib64/tcmu-runner' excluding the CMAKE_INSTALL_PREFIX
As a result the tcmu-runner binary can't locate the handlers unless an explicit
--handler-path parameter is specified.
Signed-off-by: Prasanna Kumar Kalever<EMAIL_ADDRESS>

please-review: @agrover @vbellur @ddiss @famz


CT - Update to 0.8

Results seem unchanged.  Had to add two configuration lines taken from CUQIpy-CIL training notebook.

Updates with higher resolution figures. Results slightly different from the ones put in paper.


Bug Report: Compiling error

Everytime I try to compile it gives me this:
source/flixel/text/FlxText.hx:1179: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
C:/HaxeToolkit/haxe/lib/discord_rpc/git/discord_rpc/DiscordRpc.hx:213: characters 1-7 : Warning : (WDeprecated) @:enum abstract is deprecated in favor of enum abstract
source/flixel/addons/transition/FlxTransitionableState.hx:67: lines 67-77 : Warning : switchTo is deprecated, use startOutro
source/states/MusicBeatState.hx:112: lines 112-117 : Warning : switchTo is deprecated, use startOutro
source/states/PlayState.hx:4060: lines 4060-4074 : Warning : switchTo is deprecated, use startOutro
source/states/PlayState.hx:87: characters 25-33 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PlayState.hx:112: characters 21-29 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PlayState.hx:229: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/Stage.hx:68: characters 25-33 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSoundsource/Main.hx:81: characters 61-65 : Float should be Int
source/Main.hx:81: characters 61-65 : ... For optional function argument 'updateFramerate'
source/Main.hx:81: characters 61-65 : ... For function argument 'child'
export/debug/windows/haxe/ApplicationMain.hx:151: characters 5-36 : ... Called from macro here
source/states/StoryMenuState.hx:377: lines 377-382 : Warning : switchTo is deprecated, use startOutro
source/states/FreeplayState.hx:480: lines 480-485 : Warning : switchTo is deprecated, use startOutro
source/Stage.hx:251: characters 26-34 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/ChartingState.hx:131: characters 20-28 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/FNFCamera.hx:135: characters 33-44 : Class<flixel.FlxG> has no field initialZoom
source/states/ChartingState.hx:945: characters 16-24 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/ChartingPauseSubstate.hx:128: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/FreeplayState.hx:211: characters 25-28 : Static access to instance field add is not allowed
source/states/FreeplayState.hx:220: characters 25-28 : Static access to instance field add is not allowed
source/states/MainMenuState.hx:211: characters 25-28 : Static access to instance field add is not allowed
source/states/MainMenuState.hx:234: characters 27-30 : Static access to instance field add is not allowed
source/states/MainMenuState.hx:255: characters 27-30 : Static access to instance field add is not allowed
C:/HaxeToolkit/haxe/lib/flixel-ui/2,5,0/flixel/addons/ui/FlxUICursor.hx:564: characters 9-11 : Warning : Potential typo detected (expected similar values are flixel.addons.ui.SortMethod.ID)
source/states/PlayState.hx:1651: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PlayState.hx:1654: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PlayState.hx:1656: characters 14-22 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PauseSubState.hx:33: characters 17-25 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
source/states/PauseSubState.hx:40: characters 20-28 : Warning : (WDeprecated) flixel.system.FlxSound was moved to flixel.sound.FlxSound
I followed the rules that were in the readme to compile, I even ran the dependencies file, but nothing worked.

Well,
Set flixel to 4.11.0, and flixel-addons to 2.11.0
haxelib set flixel 4.11.0
haxelib set flixel-addons 2.11.0
The deprecation warnings, just ignore them.
Anything else, I don't really know, hopefully this helped(?)


[Bug]There is a serious problem. These charts have no gesture interaction

Describe the bug
A clear and concise description of what the bug is.
Which platform and version is this for?
example: iOS 13.4
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
** Device**
if it's only happening for a specific device, let us know.
Additional information
Add any other things about the problem here.

Please provide some details to this ticket or it'll be deleted. Thank you.


Is there a way to have multiline text for a diagram in manual mode?

How can I use multiple lines here? I was trying few different ways, nothing worked so far.
var diagram = Diagram.parse("A->B: Message");

I would like to create a diagram with the following:
Title: Here is a title
A->B: Normal line
B-->C: Dashed line
C->>D: Open arrow
D-->>A: Dashed open arrow

Is there a way to do that in manual mode?

I might not understand your question, but you can do the following:
var text = "Title: Here is a title\nA->B: Normal line";

//or
var text = "Title: Here is a title\n" +
           "A->B: Normal line\n";

// or (with ECMAScript 6 - ES6):
var text = `
Title: Here is a title
A->B: Normal line
`

// and then use text
var diagram = Diagram.parse(text);

or if using

Thanks!

@bramp In the website version the "china" example seems to manage to get a line break into the "note".  I find if I try to do that while dividing lines with line breaks like above it breaks...
Works
 var d = Diagram.parse(
   "Andrew->China: Says Hello\n" +
   "Note right of China: China thinks about it\n" +
   "China-->Andrew: How are you?\n" +
   "Andrew->>China: I am good thanks!"
  );

Doesn't
 var d = Diagram.parse(
   "Andrew->China: Says Hello\n" +
   "Note right of China: China thinks\n about it\n" +
   "China-->Andrew: How are you?\n" +
   "Andrew->>China: I am good thanks!"
  );

Any thoughts?  Thanks!

It works on the site, because the string javascript receives contains a "\n". You should be able to change your example to work:
 var d = Diagram.parse(
   "Andrew->China: Says Hello\n" +
   "Note right of China: China thinks\\n about it\n" +
   "China-->Andrew: How are you?\n" +
   "Andrew->>China: I am good thanks!"
  );

Ahhh right makes sense!  Thanks!
Check out this working proof of concept... https://howardroark.github.io/get-sequence-diagrams/ :)

I modified the syntax slightly and now new line translate quite well... https://howardroark.github.io/get-diagram/
![](https://get-diagram.herokuapp.com/sequence?
    Andrew->China: Says Hello;
    Note right of China: China thinks\n about it;
    China-->Andrew: How are you?;
    Andrew->>China: I am good thanks!;
)


auto reload page and $errors global variable is empty when an error has length greater than 75 characters

Laravel Version: 6.10
PHP Version: 7.2.26
Database Driver & Version: Mysql version 5.7

Description:
I have same problem like issue #31007. Please help me fix it.

I've had similar issues with validation errors using the cookie session driver. I believe I was hitting the file size limit and the information was getting lost. Try using a different session driver.


Prototype of logging updates

I've used this for debugging, but it probably needs some more work to be merged in

By creating this pull request, I agree to the Contributor License
Agreement, which is available in CLA.md at the top level of this
repository.

This is an interesting idea. Similar to @Robotato 's logging_process in terms of its functionality, except that his added a new logging_port to selected processes, and saves their full updates to a new store. Your solution is simpler in that you can just switch logging on via the store schema. Some added functionality that logging_process has was that you could see what process each update came from -- you might be able to do that here if you can get the update's source.


Finish the sentence

we created the policy named NotificationEnabledPolicy to use in place of DefaultFullAccessPolicy for those organizations that needed it (organizations where end-user spam notifications were turned on).

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: faf5c5df-c3ab-8448-aef0-af05977db9b9
Version Independent ID: adade895-f42b-1029-9948-5ddb5b038257
Content: Quarantine policies - Office 365
Content Source: microsoft-365/security/office-365-security/quarantine-policies.md
Product: m365-security
Technology: mdo
GitHub Login: @chrisda
Microsoft Alias: chrisda

@expta, fixed. In the future, your too can make updates like this directly to topics; no need to open a GitHub issue first. For instructions, go here.
Thanks for the feedback.
Closing


Seeking Java Example for ITelemetryInitializer (specifically for IP capture)

Examples are provided for both C# and Javascript, but not Java. My customer is a very large Java-based enterprise and they would really like to see more Java examples across the board.
One example to include in the ITelemetryInitializer would be how to capture the client IP address in a custom property. This was a referenced direction in a blog announcement on a GDPR change to AI. The guidance to customers is that if you still need the IP, you should use the ITelemetryInitializer to do so.
Ref Article: https://blogs.msdn.microsoft.com/applicationinsights-status/2018/02/01/all-octets-of-ip-address-will-be-set-to-zero/

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 26b3e91f-c240-fffa-6ae9-d676deb7ad4c
Version Independent ID: bbfa099e-3ed6-09ea-fbde-f2a3ed13139a
Content: Filtering and preprocessing in the Azure Application Insights SDK
Content Source: articles/application-insights/app-insights-api-filtering-sampling.md
Service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@bhall7718 you can ofcourse have the TelmetryInitializer in Java.
public interface TelemetryInitializer {     /**      Initializes properties of the specified object.      * @param telemetry The {@link com.microsoft.applicationinsights.telemetry.Telemetry} to initialize.      */     void initialize(Telemetry telemetry); }
and register the custom Initializer in the applicationinsights.xml
<Add type="mypackage.MyConfigurableContextInitializer">
			<Param name="some_config_property" value="some_value" />
		</Add>

Alternatively if the customer is using SpringBoot Starter then you can basically have a custom bean of type TelemetryInitializer.
Apologies that there are bit less docs but we are constantly improving on it.

@bhall7718 thanks again for bringing this to our attention. The docs have been updated internally. The change will go-live later today around 3:00-3:30 PM (UTC-7).

@MicrosoftDocs/azure-cxp-triage #please-close

@bhall7718 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


Typescript breakpoints not hit

Attached is the minimal repro case that I can't ever get to hit breakpoints
I set a break at line 2 in a.ts ( return "Hello, " + person; ).
I have two configurations in launch.js - FF and Chrome.
Chrome "just works" and VSCode always stops on the breakpoint.
But when running in FF VScode never stops there.
What am I missing here?
ff66ts.zip
FWIW my Firefox installation is version 66 (32 bit) and I have checked "Enable add-on debugging" in about:debugging. Did not try other versions.
Please note that 'regular' JS works just fine - it's the TypeScript code that fails to stop.

I just fixed this in version 1.7.8.
(Firefox 67 made some debug protocol changes and the adapter wrongly identified Firefox 66 as having the changed protocol)


UID2-2112 token v4 sampling

Maybe change the title to
UID2-2112 Allow generate v4 tokens by percentage (fall back to default token version otherwise)
And add some top description to mention changes in unit tests and the actual config name change (advertising_token_v4 => advertising_token_v4_percentage)


Replace boolean flags on IOContext with an enum.

This replaces the load, randomAccess and readOnce flags with a ReadAdvice enum, whose values are aligned with the allowed values to (f|m)advise.
Closes #13211

P.S.: Are we using RANDOM at the moment?

Not yet, we'd need to start using it where it makes sense like we do for (PRE)LOAD.

I also found https://github.com/elastic/elasticsearch/issues/27748, this person suggests to pass RANDOM for everything.

Yeah, Wikimedia also did testing and they report getting best performance with a mmap readahead of 16kB instead of the default of 128kB (it's shared on the same thread). It feels a bit like a bug to me that mmap has such a higher readahead than regular read operations, I wonder if we should recommend lowering this default readahead in our wiki / javadocs instead of trying to work around it by passing RANDOM everywhere. My preference would be to not index too much on how the various hints perform in practice and try to provide what seems to be the correct read advice based on what we know of the access patterns. E.g. postings and doc values data should probably use NORMAL, stored fields, term vectors and vectors data should probably use RANDOM, etc.

P.S.: Are we using RANDOM at the moment?

Not yet, we'd need to start using it where it makes sense like we do for (PRE)LOAD.

I also found elastic/elasticsearch#27748, this person suggests to pass RANDOM for everything.

Yeah, Wikimedia also did testing and they report getting best performance with a mmap readahead of 16kB instead of the default of 128kB (it's shared on the same thread). It feels a bit like a bug to me that mmap has such a higher readahead than regular read operations, I wonder if we should recommend lowering this default readahead in our wiki / javadocs instead of trying to work around it by passing RANDOM everywhere. My preference would be to not index too much on how the various hints perform in practice and try to provide what seems to be the correct read advice based on what we know of the access patterns. E.g. postings and doc values data should probably use NORMAL, stored fields, term vectors and vectors data should probably use RANDOM, etc.

The question that I have about this: How to handle merging then? If we use random access for some files and then want to merge away the segments. As you said before, the problem is with reused NRT readers for merging. I think, we should not hardcode the RANDOM flag now on all files?!
It is good that IOContext with MergeInfo always requires SEQUENTIAL, but is this really used in all cases when we merge? When its hardcoded while opening index files we have a problem. The example of the vargaps reader has exactly that problem: It always uses readOnce.
I think you are more familar with how the merging works, these are just some points to consider.

The question that I have about this: How to handle merging then?

This is a big question to me too. With reader pooling, if you open a reader and then it gets included in a merge, we'll reuse the same SegmentReader and its existing open index inputs, which have likely been open with a NORMAL or RANDOM advice. Ideally there would be a way for our getMergeInstance() APIs to somehow return a clone that has a different read advice.

It is good that IOContext with MergeInfo always requires SEQUENTIAL, but is this really used in all cases when we merge?

My understanding is that it will only be used if the index input is created with the IOContext that is set on the SegmentReadState and this reader has been open specifically for merging, said otherwise the index has not been reopened between the time when the segment got written and the time when the same segment got merged away. This is only going to cover a small subset of the segments that we write, this doesn't look good enough to me.

P.S.: Are we using RANDOM at the moment?

FYI I tried to start switching some files to it at #13222 and discussed some limitations.


NoSuchElementException: key not found: org.apache.spark.ml.feature.OneHotEncoder

import org.apache.spark.ml.feature.OneHotEncoderEstimator
depedency : "ml.combust.mleap" %% "mleap-spark" % "0.15.0"
@hollinwilkins tried your suggestion from similar issue, still getting the same error.
Spark version: 2.4.5

Hey @Gaurav7296 Do you have a small example to reproduce this issue?
I tried with this small pipeline and mleap 0.15.0, and it serialized the pipeline without any issues. Do you notice any differences between this and your pipeline?
import org.apache.spark.ml.{Pipeline, Transformer, PipelineModel}
import org.apache.spark.sql.{Row, DataFrame}
import org.apache.spark.sql.types.{StringType, DoubleType, StructType}
import ml.combust.bundle.BundleFile
import ml.combust.bundle.serializer.SerializationFormat
import org.apache.spark.ml.feature.{StringIndexer,OneHotEncoderEstimator}
import org.apache.spark.ml.mleap.SparkUtil
import ml.combust.mleap.spark.SparkSupport._
import resource._
import org.apache.spark.ml.bundle.SparkBundleContext

val names = Seq("Hello, MLeap!", "Another row", "test")
val numbers = Seq(56.7d, 23.4d)
val rows = spark.sparkContext.parallelize(Seq.tabulate(3) { i => Row(names(i)) })
val schema = new StructType().add("name", StringType, nullable = false)

val dataset: DataFrame = spark.sqlContext.createDataFrame(rows, schema)

val stringIndexer = new StringIndexer().
  setInputCol("name").
  setOutputCol("index")

val oneHotEncoder = new OneHotEncoderEstimator()
            .setInputCols(Array("index"))
            .setOutputCols(Array("index_oh"))

val pipelineEstimator = new Pipeline().setStages(Array(stringIndexer, oneHotEncoder)).fit(dataset)

implicit val sbc = SparkBundleContext().withDataset(pipelineEstimator.transform(dataset))

val bundleName = "test-model.zip"
val pathSave = "/tmp/" + bundleName

dbutils.fs.rm("file:" + pathSave)

(for(file <- managed(BundleFile("jar:file:" + pathSave))) yield {
  pipelineEstimator.writeBundle.name("bundle")
    .format(SerializationFormat.Json)
    .save(file).get
}).tried.get

We also have a parity tests https://github.com/combust/mleap/blob/master/mleap-spark/src/test/scala/org/apache/spark/ml/parity/feature/OneHotEncoderParitySpec.scala that runs OK as well.
Let me know how you get on.
Thank you,
Anca

Thanks @ancasarb
Actually the issue was with spark's oneHotEncoder as it's replaced with oneHotEncoderEstimator.


Pull request - feature/issue-10

Update and add form validation per request from @NancyLakhanpal

@tranvnb more complex Email validation is required. I can login with abc@12 without any extension like .com and no error sign is seen.

I think there is a mistake with this pull request. You are merging to main.


API proposal: transformData before template rendering

Following discussion in #72 .
In a lot of wigets, there are many reasons that could justify modifying the data before calling the render method of the template: formatting, adding lambdas, etc. Right now, we're doing it by passing a function to template, however it doesn't seem logical that data modification happens there.
A solution that could make sense would be to add an optional transformData parameter to the object passed to a widget constructor which would accept a callback.
This callback would accept one object parameter: the previously object sent to render.
It would then return a new (or not) object to be used with the render method.
var helpers = {
  formatMoney: function () {
    return function (text, render) {
      return '$' + render(text);
    }
  }
};

instantsearch.widgets.refinementList({
  container: '#myfacet',
  facetName: 'myfacet',
  template: '{{# helpers.formatMoney }}{{ value }}{{/ helpers.formatMoney }}',
  transformData: function (refinement) {
    return { value: refinement.value, helpers: helpers };
  }
});

Some questions:

Should we deep clone the object before sending it to transformData ?

How to handle the multiple templates widgets (e.g. hits) ? This could be an idea:
transformsData: {
  empty: function () {
    return { helpers: helpers };
  }
}

However, I am not found of the plural form of transformsData, and transforms might be clearer. Is there anything else we'd like to transform ?

Should we deep clone the object before sending it to transformData ?

Should not be needed since every render re-computes fresh data, so the data is not yet passed to any other widget.

How to handle the multiple templates widgets (e.g. hits) ? This could be an idea:

Yes transformData (instead of transformsData) and mapping to the templates.$KEY should be allright.
Also with #115 we will soon no more have single 'template' but 'templates' everywhere.

Regarding your example, wouldn't this be a simpler way to solve the issue?
instantsearch.widgets.refinementList({
  container: '#myfacet',
  facetName: 'myfacet',
  template: '{{ value }}',
  transformData: function (refinement) {
    return { value: '$' + refinement.value };
  }
});

I feel the transformData is about transforming the data we got from the widget before passing it to the template. But not go too deep inside what helpers the Mustache render method has available. This should just be a take object as input, returns object as output IMHO.

:+1: with @pixelastic; didn't see we where dealing with the helpers in the first comment.

didn't see we where dealing with the helpers in the first comment

Me neither sorry @Jerskouille! I think you can update the proposal with something simpler (but keeping the transformData: {keys,keys} solution which is needed.

Simplified, but don't see why helpers weren't a good example.

Do you think passing a function in the helpers: {} would have worked? I thought that to have lambdas in hogan it was more work.

@vvo It would have worked, the function @Jerskouille was passing was one carefully wrapped once or twice so Hogan would get it :)
But you're right, in the end what you suggested first was a specific use-case knowing Hogan.


Order the items in the front matter using the archetypes

It's actually an ongoing issue:
https://github.com/spf13/hugo/issues/452


arch: arm: clear SPLIM registers before z_platform_init

Allow z_platform_init to perform stack operations.
Signed-off-by: Håkon Øye Amundsen<EMAIL_ADDRESS>

Allow z_platform_init to perform stack operations.

Maybe we should, actually, specify that z_platform_init shall not do any stack operations (it should probably not access SRAM at all). But until we have a cross-vendor agreement on this, we should protect ourselves with clearing the SPLIM regs early enough...


Add eslint + other small improvements to React Native sample app

I want to say thanks a lot for putting together this library and the example apps!
So here's PR to clean few bits and pieces <3

@gianpaj
Thank you for your interest in SendBird SDK.
Sorry. We are not getting PR.
Thank you for your valuable feedback.

You might want to disable PR from non-collaborators.
https://help.github.com/articles/repository-permission-levels-for-an-organization/
Unless this particular PR is not "accepted".
I think if you opensource code in Github people assume you'd like others to contribute.
If you want to keep copyright of the code and want to make sure the copyright is transferred to your company you can still to it. Google and other companies simply require contributors to sign a Contributor License Agreement.
e.g. https://github.com/GoogleCloudPlatform/community/pull/360#issuecomment-364806458


Create component testing for Grant Application Admin component

Describe the task
Create tests for GrantApplicationAdmin component that will be created in ticket #1059, mainly for the validation error from that formValidationSchema
Acceptance Criteria

[x] test the breadcrumb, page title, sub title, form fields are rendered are the page, submit button is disabled initially
[ ] test the validation error and message for user id field
- [ ]  test the invalid input, user id is invalid (length<2), the error message is shown, the button is disabled
- [ ]  test this field is required
[ ] test the selection for application dropdown (primevue dropdown is having some problem in test, we can skip this if it's hard to set value and verify the selection)
[x] test when required field is entered, the submit button will be enabled
[ ] test when click on the cancel button, page will be redirected

Additional context

Add any other context about the task here.
Or here

For the fee-validation testing, we can check the example from their documentation: https://vee-validate.logaretm.com/v4/guide/testing/
I tired the following and it works fine:

Let's install the npm i wait-for-expect -D, I'm not sure if we still need flushPromises, but I tried without it seems fine.


composer init install error!

What steps will reproduce the problem?
composer install or update,

The "https://bower.herokuapp.com/packages/jquery" file could not be downloaded: failed to open stream: Operation timed out
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info
The "https://bower.herokuapp.com/packages/jquery" file could not be downloaded (HTTP/1.1 502 Bad Gateway)
https://bower.herokuapp.com/packages could not be fully loaded, package information was loaded from the local cache and may be out of date

Installing bower-asset/punycode (v1.3.2): Downloading (failed)
The "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3" file could not be downloaded: failed to open stream: Operation timed out
Retrying with degraded mode, check https://getcomposer.org/doc/articles/troubleshooting.md#degraded-mode for more info

Access address https://bower.herokuapp.com/packages/jquery , the response result is

此Bower版本已弃用。请更新它：npm install -g bower。新的注册地址是https://registry.bower.io

What is the expected result?
Overall update time more than 10 minutes, expect to correct where the installation libraries change
What do you get instead?
Additional info

Q
A

Yii version
2.0.7

PHP version

Operating system

Looks like something in your composer setup is very old. Did you try composer selfupdate and composer global update?


set up https via letsencrypt

because the entire web is going https these days...

... and just a note that this fix also required opening up port 443 for the AWS security group.


Refactor character creation fixes #105

GitHub Issue (If applicable): #105

PR Type
What kind of change does this PR introduce?

There are warnings for variables which have been set a value but not read:

characterName
characterClass
characterRace

What is the new behavior?
By allocating the aforementioned variables as default values when confirming character creation, the warnings are removed.
PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tested code with current upstream repo
[ ] Added new tests to the test suite for the feature
[x] Tested the full test suite, and ensured that the feature does not break current build.
[ ] Docs have been added/updated which fit (for bug fixes / features)
[x] Contains NO breaking changes
[x] Associated with an issue (GitHub or internal)
[ ] Checked licensing of Frameworks/Libraries (if applicable)

Other information
In addition to the bugfix described above:

Variable names have been shortened (characterName -> charName)
Character creation actions have been grouped into their own subdirectory of the character creation dialog (dialog-manager/character-creation/actions)
The selectedValue prop in the SelectButton component has been refactored into the selected prop, so as to allow different types of conditions (not simply matching the title of the button) to affect the selected state of the button

Internal Issue (If applicable): Resolves #105

I should probably mention, because I forgot to do so in the Review comment (apologies). Moving the actions was a good idea, so other than the above it looks good to me.


Change logging levels to prevent logging spam

When using get_dbus_idle under X11 with warning level logging (e.g. via lnxlink), the console gets spammed with
WARNING:dbus_idle:Could not load DBusIdleMonitor
WARNING:dbus_idle:Could not load DBusIdleMonitor
WARNING:dbus_idle:Could not load DBusIdleMonitor
...

I think it would be better to change the logging level to debug if a single monitor could not be loaded (but another could).
So I changed it to debug for the single monitor and added a warning in case all monitors fail.
I think this makes the logging here more useful.
What do you think?
Sincerely ~HoroTW

Also a big thanks for the fantastic job on this package! 😊

Hi, I've totally missed this PR and I am sorry about that.
I've made some changes on the latest version which should only show this error once.


Use kurbo's Affine and Point types

Experimental adoption suggested a couple of issues:

Affine has no into_inner update it's just not called that, https://docs.rs/kurbo/latest/kurbo/struct.Affine.html#method.as_coeffs

can't perform any operation kurbo didn't see fit to provide for you. Ex https://github.com/googlefonts/picosvg/blob/69cbfec486eca35a46187405abc39f608d3b2963/src/picosvg/svg_transform.py#L270.
Can't round for test stability

No eq, hash

This is "correct" for float, we work around it with OrderedFloat today.
If we had into_inner we could likely get past this

Fixed by #101, which is now on main.