5.11 fixes by @rockorequin @sickcodes @microhobby for 1.7.x

Fixes https://github.com/DisplayLink/evdi/issues/249
Applies patch by @rockorequin:
https://gist.githubusercontent.com/rockorequin/f3047e748bcba9be9d1fff06f472dbda/raw/93b4792bb11ffe0a77973a6335d3e5c751dcf053/evdi-devel-5.11-rc2.patch
And additional fixes by @microhobby
Confirmed build and external display working by @sickcodes 5.11-rc6 https://github.com/DisplayLink/evdi/issues/249#issuecomment-772047463
Confirmed build on 5.8 & 5.11-rc7 by @rockorequin https://github.com/DisplayLink/evdi/issues/249#issuecomment-775651416

99.95% WIP, there is one more commit remaining, see https://github.com/DisplayLink/evdi/issues/249#issuecomment-779177919

5.11 is out!
git clone \
    --branch rockorequin-sickcodes-microhobby-patch-1.7.x
    https://github.com/sickcodes/evdi

cd evdi
make
sudo make install

https://travis-ci.org/github/DisplayLink/evdi/builds/759297263

Could anyone merge this, so we can enjoy multiple screens on 5.11 again? :grin:

This pull request depends on CONFIG_DRM_LEGACY being enabled on the target kernel, what happens if that option is off?

May not work with two monitors connected to the same displaylink: https://github.com/DisplayLink/evdi/issues/249#issuecomment-785304505
I'm also getting a kernel panic on every shutdown, but at least I have multiple screens.
5.11 has been mainline for over a week now, anyone from Displaylink available?

 Recently, Arch updated it to 5.10, so it is a very recent version that works with the current evdi package.

Patch causes system to 'lock up' when launching GDM on mainline Arch kernel 5.11.2.arch1-1
Can confirm works OK with linux-lts 5.10.19-1

linux 5.11.2.arch1-1
Using https://github.com/sickcodes/evdi/archive/v1.7.x.tar.gz
I don't know that this is related in any way, but - there is a bug in 5.11 that causes the video and keyboard to freeze when going from sleep to wake, though the mouse cursor still moves.  This seems to track the radeon driver.  Some other machines do not see this problem.
Still maybe the problem is deeper in the kernel, and related to freezing with the evdi driver.  I have a machine with the i915 driver which does not have the sleep and wake freeze, but it will freeze when changing the position of the evdi screen if the screen is active.
These may be completely distinct issues, with evdi and radeon, but something to note until the sleep and wake freeze on 5.11 is sorted.

Could anyone merge this, so we can enjoy multiple screens on 5.11 again? 😁

Hi. We're working on proper 5.11 support. Unfortunately, I have no release date to give you yet. I will keep you guys updated as soon as I have more information.
You're welcome to give this solution a try. Otherwise, I'm afraid you'll have to wait a little bit more, sorry.

Thanks a lot for trying. :) I'll keep the lts kernel around for a bit. Wish you the best of luck to fix the issue soon.

linux 5.11.2.arch1-1
Using https://github.com/sickcodes/evdi/archive/v1.7.x.tar.gz
I don't know that this is related in any way, but - there is a bug in 5.11 that causes the video and keyboard to freeze when going from sleep to wake, though the mouse cursor still moves.  This seems to track the radeon driver.  Some other machines do not see this problem.
Still maybe the problem is deeper in the kernel, and related to freezing with the evdi driver.  I have a machine with the i915 driver which does not have the sleep and wake freeze, but it will freeze when changing the position of the evdi screen if the screen is active.
These may be completely distinct issues, with evdi and radeon, but something to note until the sleep and wake freeze on 5.11 is sorted.

I also get it on USB screens only, but sometimes not on HDMI or laptop screen. Pretty unpredictable. Tbh I might switch to LTS given it's getting pretty annoying having random lock ups when I'm in the middle of work...

On using Using https://github.com/sickcodes/evdi/archive/v1.7.x.tar.gz -
I thought to run a git bisect between 5.10 and 5.11, but I see that v1.7.x will not build on 5.10, without the patch:
  CC [M]  /var/build/evdi/src/evdi-1.7.x/module/evdi_drv.o
/var/build/evdi/src/evdi-1.7.x/module/evdi_drv.c:109:3: error: ‘struct drm_driver’ has no member named ‘gem_vm_ops’
...

and the patch evdi-devel-5.11-rc2.patch does not apply to v1.7.x.
What did I miss?

I've tried installing it with the displaylink-installer since 5.11.2 ( now on 5.11.5 ) yet its always failing.
Do I have to do anything special?
I've tried this branch, the develop, too.
The branches of https://github.com/sickcodes/evdi wont work either...
make.log

DKMS make.log for evdi-1.7.0 for kernel 5.11.5-surface (x86_64)
Thu Mar 11 22:02:40 CET 2021
make KBUILD_VERBOSE=1 M=/var/lib/dkms/evdi/1.7.0/build SUBDIRS=/var/lib/dkms/evdi/1.7.0/build SRCROOT=/var/lib/dkms/evdi/1.7.0/build CONFIG_MODULE_SIG= -C /lib/modules/5.11.5-surface/build modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.5-surface'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || (		\
echo >&2;							\
echo >&2 "  ERROR: Kernel configuration is invalid.";		\
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";	\
echo >&2 ;							\
/bin/false)
make -f ./scripts/Makefile.build obj=/var/lib/dkms/evdi/1.7.0/build \
single-build= \
need-builtin=1 need-modorder=1
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_drv.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_drv"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_drv.o /var/lib/dkms/evdi/1.7.0/build/evdi_drv.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_modeset.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_modeset"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_modeset.o /var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_connector.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_connector"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_connector.o /var/lib/dkms/evdi/1.7.0/build/evdi_connector.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_encoder.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_encoder"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.o /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_main.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_main"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_main.o /var/lib/dkms/evdi/1.7.0/build/evdi_main.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_fb.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_fb"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_fb.o /var/lib/dkms/evdi/1.7.0/build/evdi_fb.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_gem.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_gem"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_gem.o /var/lib/dkms/evdi/1.7.0/build/evdi_gem.c
  gcc -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_painter.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_painter"' -DKBUILD_MODNAME='"evdi"' -c -o /var/lib/dkms/evdi/1.7.0/build/evdi_painter.o /var/lib/dkms/evdi/1.7.0/build/evdi_painter.c
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:87:3: error: ‘struct drm_driver’ has no member named ‘preclose’; did you mean ‘postclose’?
   87 |  .preclose = evdi_driver_preclose,
      |   ^~~~~~~~
      |   postclose
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:87:14: error: initialization of ‘void (*)(struct drm_device *)’ from incompatible pointer type ‘void (*)(struct drm_device *, struct drm_file *)’ [-Werror=incompatible-pointer-types]
   87 |  .preclose = evdi_driver_preclose,
      |              ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:87:14: note: (near initialization for ‘driver.release’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:92:3: error: ‘struct drm_driver’ has no member named ‘gem_free_object’; did you mean ‘gem_create_object’?
   92 |  .gem_free_object = evdi_gem_free_object,
      |   ^~~~~~~~~~~~~~~
      |   gem_create_object
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:92:21: error: initialization of ‘void (*)(struct drm_device *)’ from incompatible pointer type ‘void (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
   92 |  .gem_free_object = evdi_gem_free_object,
      |                     ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:92:21: note: (near initialization for ‘driver.lastclose’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:93:3: error: ‘struct drm_driver’ has no member named ‘gem_vm_ops’
   93 |  .gem_vm_ops = &evdi_gem_vm_ops,
      |   ^~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:93:16: error: initialization of ‘void (*)(struct drm_device *)’ from incompatible pointer type ‘const struct vm_operations_struct *’ [-Werror=incompatible-pointer-types]
   93 |  .gem_vm_ops = &evdi_gem_vm_ops,
      |                ^
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:93:16: note: (near initialization for ‘driver.unload’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:107:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_export’; did you mean ‘gem_prime_import’?
  107 |  .gem_prime_export = drm_gem_prime_export,
      |   ^~~~~~~~~~~~~~~~
      |   gem_prime_import
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:107:22: error: initialization of ‘int (*)(struct drm_device *, struct drm_file *, int,  uint32_t *)’ {aka ‘int (*)(struct drm_device *, struct drm_file *, int,  unsigned int *)’} from incompatible pointer type ‘struct dma_buf * (*)(struct drm_gem_object *, int)’ [-Werror=incompatible-pointer-types]
  107 |  .gem_prime_export = drm_gem_prime_export,
      |                      ^~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:107:22: note: (near initialization for ‘driver.prime_fd_to_handle’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:108:3: error: ‘struct drm_driver’ has no member named ‘gem_prime_get_sg_table’; did you mean ‘gem_prime_import_sg_table’?
  108 |  .gem_prime_get_sg_table = evdi_prime_get_sg_table,
      |   ^~~~~~~~~~~~~~~~~~~~~~
      |   gem_prime_import_sg_table
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:108:28: error: initialization of ‘struct drm_gem_object * (*)(struct drm_device *, struct dma_buf *)’ from incompatible pointer type ‘struct sg_table * (*)(struct drm_gem_object *)’ [-Werror=incompatible-pointer-types]
  108 |  .gem_prime_get_sg_table = evdi_prime_get_sg_table,
      |                            ^~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:108:28: note: (near initialization for ‘driver.gem_prime_import’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:111:3: error: ‘struct drm_driver’ has no member named ‘enable_vblank’
  111 |  .enable_vblank = evdi_enable_vblank,
      |   ^~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:111:19: error: initialization of ‘int (*)(struct drm_gem_object *, struct vm_area_struct *)’ from incompatible pointer type ‘int (*)(struct drm_device *, unsigned int)’ [-Werror=incompatible-pointer-types]
  111 |  .enable_vblank = evdi_enable_vblank,
      |                   ^~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:111:19: note: (near initialization for ‘driver.gem_prime_mmap’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:112:3: error: ‘struct drm_driver’ has no member named ‘disable_vblank’
  112 |  .disable_vblank = evdi_disable_vblank,
      |   ^~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:112:20: error: initialization of ‘int (*)(struct drm_file *, struct drm_device *, struct drm_mode_create_dumb *)’ from incompatible pointer type ‘void (*)(struct drm_device *, unsigned int)’ [-Werror=incompatible-pointer-types]
  112 |  .disable_vblank = evdi_disable_vblank,
      |                    ^~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:112:20: note: (near initialization for ‘driver.dumb_create’)
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c: In function ‘evdi_platform_probe’:
/var/lib/dkms/evdi/1.7.0/build/evdi_drv.c:173:20: error: ‘struct dev_archdata’ has no member named ‘iommu’
  173 |  pdev->dev.archdata.iommu = INTEL_IOMMU_DUMMY_DOMAIN;
      |                    ^
/var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c: In function ‘evdi_crtc_cursor_set’:
/var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c:133:2: error: implicit declaration of function ‘drm_gem_object_put_unlocked’; did you mean ‘drm_gem_object_put_locked’? [-Werror=implicit-function-declaration]
  133 |  drm_gem_object_put_unlocked(obj);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  drm_gem_object_put_locked
/var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c: At top level:
/var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c:164:20: error: initialization of ‘void (*)(struct drm_crtc *, struct drm_atomic_state *)’ from incompatible pointer type ‘void (*)(struct drm_crtc *, struct drm_crtc_state *)’ [-Werror=incompatible-pointer-types]
  164 |  .atomic_flush   = evdi_crtc_atomic_flush,
      |                    ^~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_modeset.c:164:20: note: (near initialization for ‘evdi_helper_funcs.atomic_flush’)
cc1: some warnings being treated as errors
/var/lib/dkms/evdi/1.7.0/build/evdi_fb.c: In function ‘evdi_user_framebuffer_destroy’:
/var/lib/dkms/evdi/1.7.0/build/evdi_fb.c:322:3: error: implicit declaration of function ‘drm_gem_object_put_unlocked’; did you mean ‘drm_gem_object_put_locked’? [-Werror=implicit-function-declaration]
  322 |   drm_gem_object_put_unlocked(&efb->obj->base);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |   drm_gem_object_put_locked
make[2]: *** [scripts/Makefile.build:279: /var/lib/dkms/evdi/1.7.0/build/evdi_drv.o] Error 1
make[2]: *** Waiting for unfinished jobs....
   ./tools/objtool/objtool check  --module --retpoline --uaccess /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.o
   ./tools/objtool/objtool check  --module --retpoline --uaccess /var/lib/dkms/evdi/1.7.0/build/evdi_connector.o
  if objdump -h /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.o | grep -q __ksymtab; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_encoder.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_encoder"' -DKBUILD_MODNAME='"evdi"' /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.c | scripts/genksyms/genksyms    -r /dev/null > /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_encoder.ver; ld -m elf_x86_64 -r -o /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_encoder.o /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.o -T /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_encoder.ver; mv -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_encoder.o /var/lib/dkms/evdi/1.7.0/build/evdi_encoder.o; rm -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_encoder.ver; fi
   ./tools/objtool/objtool check  --module --retpoline --uaccess /var/lib/dkms/evdi/1.7.0/build/evdi_main.o
  if objdump -h /var/lib/dkms/evdi/1.7.0/build/evdi_connector.o | grep -q __ksymtab; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_connector.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_connector"' -DKBUILD_MODNAME='"evdi"' /var/lib/dkms/evdi/1.7.0/build/evdi_connector.c | scripts/genksyms/genksyms    -r /dev/null > /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_connector.ver; ld -m elf_x86_64 -r -o /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_connector.o /var/lib/dkms/evdi/1.7.0/build/evdi_connector.o -T /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_connector.ver; mv -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_connector.o /var/lib/dkms/evdi/1.7.0/build/evdi_connector.o; rm -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_connector.ver; fi
  if objdump -h /var/lib/dkms/evdi/1.7.0/build/evdi_main.o | grep -q __ksymtab; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_main.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_main"' -DKBUILD_MODNAME='"evdi"' /var/lib/dkms/evdi/1.7.0/build/evdi_main.c | scripts/genksyms/genksyms    -r /dev/null > /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_main.ver; ld -m elf_x86_64 -r -o /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_main.o /var/lib/dkms/evdi/1.7.0/build/evdi_main.o -T /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_main.ver; mv -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_main.o /var/lib/dkms/evdi/1.7.0/build/evdi_main.o; rm -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_main.ver; fi
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /var/lib/dkms/evdi/1.7.0/build/evdi_modeset.o] Error 1
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c: In function ‘evdi_gem_create’:
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:85:2: error: implicit declaration of function ‘drm_gem_object_put_unlocked’; did you mean ‘drm_gem_object_put_locked’? [-Werror=implicit-function-declaration]
   85 |  drm_gem_object_put_unlocked(&obj->base);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
      |  drm_gem_object_put_locked
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c: In function ‘evdi_gem_vmap’:
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:186:19: error: too few arguments to function ‘dma_buf_vmap’
  186 |   obj->vmapping = dma_buf_vmap(obj->base.import_attach->dmabuf);
      |                   ^~~~~~~~~~~~
In file included from /var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:18:
./include/linux/dma-buf.h:507:5: note: declared here
  507 | int dma_buf_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map);
      |     ^~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c: In function ‘evdi_prime_get_sg_table’:
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:306:33: error: passing argument 1 of ‘drm_prime_pages_to_sg’ from incompatible pointer type [-Werror=incompatible-pointer-types]
  306 |  return drm_prime_pages_to_sg(bo->pages, bo->base.size >> PAGE_SHIFT);
      |                               ~~^~~~~~~
      |                                 |
      |                                 struct page **
In file included from ./include/drm/drm_file.h:39,
                 from ./include/drm/drm_vblank.h:32,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_drv.h:25,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:16:
./include/drm/drm_prime.h:92:59: note: expected ‘struct drm_device *’ but argument is of type ‘struct page **’
   92 | struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
      |                                        ~~~~~~~~~~~~~~~~~~~^~~
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:306:56: warning: passing argument 2 of ‘drm_prime_pages_to_sg’ makes pointer from integer without a cast [-Wint-conversion]
  306 |  return drm_prime_pages_to_sg(bo->pages, bo->base.size >> PAGE_SHIFT);
In file included from ./include/drm/drm_file.h:39,
                 from ./include/drm/drm_vblank.h:32,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_drv.h:25,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:16:
./include/drm/drm_prime.h:93:26: note: expected ‘struct page **’ but argument is of type ‘size_t’ {aka ‘long unsigned int’}
   93 |            struct page **pages, unsigned int nr_pages);
      |            ~~~~~~~~~~~~~~^~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:306:9: error: too few arguments to function ‘drm_prime_pages_to_sg’
  306 |  return drm_prime_pages_to_sg(bo->pages, bo->base.size >> PAGE_SHIFT);
      |         ^~~~~~~~~~~~~~~~~~~~~
In file included from ./include/drm/drm_file.h:39,
                 from ./include/drm/drm_vblank.h:32,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_drv.h:25,
                 from /var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:16:
./include/drm/drm_prime.h:92:18: note: declared here
   92 | struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
      |                  ^~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/evdi/1.7.0/build/evdi_gem.c:307:1: error: control reaches end of non-void function [-Werror=return-type]
  307 | }
      | ^
cc1: some warnings being treated as errors
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:279: /var/lib/dkms/evdi/1.7.0/build/evdi_gem.o] Error 1
make[2]: *** [scripts/Makefile.build:279: /var/lib/dkms/evdi/1.7.0/build/evdi_fb.o] Error 1
   ./tools/objtool/objtool check  --module --retpoline --uaccess /var/lib/dkms/evdi/1.7.0/build/evdi_painter.o
  if objdump -h /var/lib/dkms/evdi/1.7.0/build/evdi_painter.o | grep -q __ksymtab; then gcc -E -D__GENKSYMS__ -Wp,-MMD,/var/lib/dkms/evdi/1.7.0/build/.evdi_painter.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/10/include -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 -mpreferred-stack-boundary=3 -mskip-rax-setup -mtune=generic -mno-red-zone -mcmodel=kernel -DCONFIG_X86_X32_ABI -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fstack-protector-strong -Wno-unused-but-set-variable -Wimplicit-fallthrough -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -mrecord-mcount -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -Iinclude/drm  -DMODULE  -DKBUILD_BASENAME='"evdi_painter"' -DKBUILD_MODNAME='"evdi"' /var/lib/dkms/evdi/1.7.0/build/evdi_painter.c | scripts/genksyms/genksyms    -r /dev/null > /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_painter.ver; ld -m elf_x86_64 -r -o /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_painter.o /var/lib/dkms/evdi/1.7.0/build/evdi_painter.o -T /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_painter.ver; mv -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_painter.o /var/lib/dkms/evdi/1.7.0/build/evdi_painter.o; rm -f /var/lib/dkms/evdi/1.7.0/build/.tmp_evdi_painter.ver; fi
make[1]: *** [Makefile:1806: /var/lib/dkms/evdi/1.7.0/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.11.5-surface'
make: *** [Makefile:22: all] Error 2

Here my 2c on this whole thing.
We should ( and probably cannot NOT ) fix the legacy issue giving the userspace part is closed and we don't have any clues about what it really does and what it relies on. IOW, this is something evdi folks should do.
What we can do is to error out on compile-time if the given config is not set, or add a small c prog to pre-make to check that
( is not worth the trouble IMO but possible ). What means to fix all issues but LECACY code, and in case of the missing config
to just error out.

I've tried installing it with the displaylink-installer since 5.11.2 ( now on 5.11.5 ) yet its always failing.
Do I have to do anything special?
I've tried this branch, the develop, too.
The branches of _https://github.com/sickcodes/evdi_ wont work either...
make.log

Yes, you have, use patches from here. But don't do that yet, since it may eat your cat :)

Yeah this doesn't work on or before 5.11.6, anyone else see same?
Can just build but can't activate the display in arandr or display settings

Could anyone merge this, so we can enjoy multiple screens on 5.11 again? 😁

Hi. We're working on proper 5.11 support. Unfortunately, I have no release date to give you yet. I will keep you guys updated as soon as I have more information.
You're welcome to give this solution a try. Otherwise, I'm afraid you'll have to wait a little bit more, sorry.

Do you think we'll get it before 5.12 🙏🏻? Or do you have any updates?

As much as i would like this to be merged to have compatibility, its really not working all that well. On previous kernels I had freezes when changing certain parameters on the display menu. Then i couldnt detect it. Now i can detect the monitor, but when I try to enable it, it just does nothing.

As much as i would like this to be merged to have compatibility, its really not working all that well. On previous kernels I had freezes when changing certain parameters on the display menu. Then i couldnt detect it. Now i can detect the monitor, but when I try to enable it, it just does nothing.

Zeta I have the same problem now too. How do we get evdi logs? The displaylink logs are encrypted or something lol

FWIW, I pushed a "Linux 5.11 fixes" branch against the devel:
https://github.com/DisplayLink/evdi/pull/269
feel free to give it a shot.

FWIW, I pushed a "Linux 5.11 fixes" branch against the devel:
#269
feel free to give it a shot.

I gave this a run through. It installed without error, which is a first for me on 5.11. As soon as the installer tried to start the displaylink-driver.service, the system became unresponsive. Upon a reboot, there's now some foreign graphical elements displayed, and the DisplayLink USB3.0 Hub still won't allow any video output to the external monitors.

Hi, all. I'm terribly sorry for the delay.
I've just pushed the current evdi code. Unfortunately, you also need to wait for the other half of the driver to be released on our site. These processes can take even up to a week in my experience.

Displaylink 5.4 works with evdi from b0b3d131b26df62664ca33775679eea7b70c47b1. No need for a 1.7.x fix, which did never work anyway.

Thanks @displaylink-emajewsk for getting this solved! Noted, @bnavigator, closed!

How about backwards compatibility? Does the DisplayLink service work with older evdi's, too?

@displaylink-emajewsk Congrats to your team and you! The driver works really nice!

edid files are placed correctly into /opt/displaylink/
the flickering of the cursor on the horizontal edge between screens is gone
it works perfectly fine with evdi 1.9.1 on Kernel 5.10


Please add Bayesian-GCN paper [AAAI 2019]

Hi,
Thank you very much for preparing this nice repo for graph related resources.
Could you please add our Bayesian-GCN [AAAI 2019] paper into the list? Essentially, we build on top of the GCN idea with topology exploration during the training.
Here's the info:
"Bayesian graph convolutional neural networks for semi-supervised classification"
Yingxue Zhang, Soumyasundar Pal, Mark Coates, Deniz Üstebay.
thank you,
Yingxue

Nice work! Just added it!


Update README.md

Changed the footer in the main README.md file from © 2022 XYZ, Inc. to © 2021 XYZ, Inc.

Changed the footer in the main README.md file from © 2022 XYZ, Inc. to © 2021 XYZ, Inc.


Keyerror when accessing models

omop.models.Concept works. omop.Concept does not.

Fixed: https://github.com/laminlabs/omop/commit/e6174bc51f32e770c0babd0619cede8d6db76311


Revert #446 changes

Requirements for Contributing Documentation

Fill out the template below. Any pull request that does not include enough information to be reviewed in a timely manner may be closed at the maintainers' discretion.
The pull request must only contribute documentation (for example, markdown files or API docs). To contribute other changes, you must use a different template. You can see all templates at https://github.com/atom/.github/tree/master/.github/PULL_REQUEST_TEMPLATE.

Description of the Change
Reverts #446.

Release Notes
N/A

I prefer the current design because the more important buttons come first. The badges are not useful for most people.

What? @ElectronicsArchiver said it's ugly, so I made this. So I don't agree why.

Most people want to download Atom and use it (used to be two million people). We only have a handful of developers who build Atom.

Well maintainers have the last word..
Good thing that this is only a maintenance
project and Atoms UI has long been finished~

Most people want to download Atom and use it (used to be two million people). We only have a handful of developers who build Atom.

And thats why the building button is on the same level as the installation button?
Not a great argument if you ask me..

I prefer the current design because the more important buttons come first. The badges are not useful for most people.

@aminya The badges are useful because they guide you to helpful links.

I also prefer the current design fwiw, just because it looks nicer to me.
The badges don't seem smushed together at all, in fact having them together feels more connected?
I think maybe it's just the size of everything; the banner then the h1 then the badges seems more pleasing than putting badges between header and banner, and in general more important things like the title go before subtitle/content:

Also the badges just happen to be in a funnel shape.
Maybe the ugly thing about it is the spacing? (header->badge smaller than badge->badge whitespace)

Note that my opinion isn't very strong on this; it isn't very clear to me that this is an improvement, unlike say, regular links to badges.
I'll just let consensus build about this though, since I don't feel like giving more effort on the readme

You could also just put them before the banner and 'out of the way', thus bringing the focus on the important things.


[feat]  Update implementation examples

Description
We need to update the footer demo examples to match the recommended changes described on this slide.
Slide Deck
Suggested solution

Moved Red Hat Ecosystem Catalog and Console links from “Tools” to “Try, buy, & sell”.
Relabeled “Try, buy, sell” to “Try, buy & sell”

@heyMP Do you know if any images need to change?


Proposal: allow developers to use write prettier comments

(ugh, return in github submits instead of doing a line break, submitted this too early)
Currently, standard does not allow code to have comments like:
// MY HEADING
/////////////

The relevant rule with a --verbose of "Expected space or tab after '//' in comment. (spaced-comment)"
I'm not sure why it's not spaced-line-comment but anyways, if you see the docs for spaced-line-comment or spaced-comment, there's a way to make an exception.
Why ///// and not //---- or something fancier? Because in VIM, you can copy paste a line, then replace all characters with / to make a fast heading. The uniformity of / also looks better IMHO.
Searching the issues shows this hasn't come up for discussion before.

I'm not sure why it's not spaced-line-comment

spaced-line-comment was deprecated, so we use spaced-comment now.

Why ///// and not //---- or something fancier?

If you want a comment to stand out, consider using a block comment:
/**
 * MY HEADING
 */

Inside a block comment, you can do whatever extra formatting you want, for example:
/*
 * MY HEADING
 * ==========
 */


Drop Python 2.7 support

Python 2.7 will we EOL at mid-April 2020.  We should drop the support for the version then too and remove everything which is only Python 2.x related (like #14).
This issue should only remind us and we should list everything here which can be improved with the drop.
cc @LD250

After discussion this in the team we decided to let the support of python 2.7 as-is until we need newer features which are > python 2.7


More details

Write more HTML code to upload.

Sure updating..

Sorry, I just realized that sounded mean. I meant I was going to help you by adding some, just got busy.

Let's do this together. We can cover Sass too

Yes i will help you, i just forked it so I start working on it as soon as I can,


refactor/reword image tutorial for clarity

I agree with the calls for @inafiterau 's call for better software engineering practices to avoid having to change primtiives/LFs multiple times, but abstraction takes away from the clarity of what's going on in this case. Hopefully, people can see exactly what's going on in the tutuorial and build their own classes for primitives/LFs for their purposes!

@ajratner for review!


https://docs.cyclic.sh/overview/starters  is not reachable .

https://docs.cyclic.sh/overview/starters is not reachable screen shot is added below .

The reason might be that cyclic is shutting down its service check out their blog post here

@TijanAyo thank you !


New toggle icon animation: Microphone on/off and Microphone filled/unfilled

Name of icon to be animated as shown in Carbon Icon Library:
Let's explore various options for toggling between Microphone on/off and Microphone Filled/unfilled

@mikeolasov Please share any reference videos you've made for this one


Curriculum update needed on introduction_to_grid.md

The Odin's file, introduction_to_grid.md is updated. Please update the Kampus' file, checkout file here introduction_to_grid.md
Latest commits:

Remove words intermediate html css (additions: 2, deletions: 2) on Feb 10 2024, 07:27 UTC

New commits have been made to the Odin's file. Please update the Kampus' file.
Latest commits:

Merge branch 'main' into patch-26 (additions: 2, deletions: 2) on Feb 11 2024, 21:46 UTC
Update introduction_to_grid.md (additions: 4, deletions: 4) on Feb 9 2024, 21:19 UTC

New commits have been made to the Odin's file. Please update the Kampus' file.
Latest commits:

Forms & Intro to Grid: Corrected the link and provided more accessible, descriptive links (#27843) (additions: 2, deletions: 2) on Apr 23 2024, 14:35 UTC


Fix field variable in NTT constants generation

Hi,
I noticed a small typo in the NTT constant generation script, that prevents from directly reproducing this step.

I committed a second change replacing a hard-coded constant in the NTT code by an existing variable.
It makes it a bit easier to reuse the code with a different modulo.


Enable tree shaking of platform specific code

Flutter apps can conditionally render platform specific UI using the APIs in platform.dart.
Currently these APIs depend on non-const state, resulting in this conditionally code not being tree-shakeable. We should support making this const, at least in release builds.

/cc @mit-mit @lrhn  As we recently discussed this, I wanted to give an update.
@sstrickl has now plugged through the initial support.
With flutter master channel, one can now have code depending on the platform getters (or abstractions on top of it - if those abstractions get the @pragma('vm:platform-const') annotation).
Here's an example: Use flutter create to make a hello world app and add this:
import 'dart:io';

@pragma('vm:platform-const')
@pragma('vm:never-inline')       // To ensure platform-specific code is tree shaken even if inlining is disabled.
bool get skipLogic => Platform.isAndroid;

main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  Widget build(BuildContext context) {
  if (skipLogic) return Text('hello');
  return MaterialApp(...);
}

Building the app via flutter build apk --release:
Before the the platform-specific tree shaking support:
8202335  ./build/app/outputs/apk/release/app-release.apk

After the platform-specific tree shaking support
16374361 ./build_small/app/outputs/apk/release/app-release.apk

What remains are

[ ] Expand the expression language we support in those abstractions.
[ ] Make it an error/warning if a @pragma('vm:platform-const') was used but couldn't be evaluated at build time
[ ] Possibly generalize the mechanism and rename to @pragma('vm:evaluate-for-release-builds') (or something like this)

Re: your todo list:

Make it an error/warning if a @pragma('vm:platform-const') was used but couldn't be evaluated at build time

You should already get a failure during TFA if you can't evaluate a field initializer or method annotated with that @pragma to a constant. Do you have an example that doesn't? (If so, please let me know!)

You should already get a failure during TFA if you can't evaluate a field initializer or method annotated with that @pragma to a constant. Do you have an example that doesn't? (If so, please let me know!)

I can happily compile this:
@pragma('vm:platform-const')
main() => print("hello");

@pragma('vm:platform-const')
@pragma('vm:never-inline')       // To ensure platform-specific code is tree shaken even if inlining is disabled.
bool get skipLogic => Platform.isAndroid;

I found that using a final also works for tree shaking. Thanks!
@pragma('vm:platform-const')
@pragma('vm:never-inline')
final skipLogic = Platform.isAndroid;

That's right, as the transformation converts any use of a static field that has an initializer or a static getter to the appropriate constant if

the target OS is specified,
the static field or static getter is annotated with @pragma('vm:platform-const') or @pragma('vm:platform-const-if, ...), and
the field initializer or body of the static getter can be evaluated to a constant using the additional compile-time information provided (the target OS).

Note that

Platform.operatingSystem,
Platform.isX for each of the supported platforms,
Platform.pathSeparator, and
Flutter's defaultTargetPlatform

are all appropriately annotated and thus can be used to create new platform-constant static fields or getters.
Specifying the target OS is done by the build infrastructure automatically when compiling AOT programs, that is, Dart standalone programs (via dart compile exe) or AOT snapshots (via dart compile aot-snapshot) or building Flutter apps in profile or release mode. That means as a Dart or Flutter programmer, the only thing you need to do is use the existing fields and getters above and appropriately annotate any new static fields or getters you create that are used to conditionally gate platform-specific code and you should reap the tree-shaking benefits 😄


karmor recommend bugs/enhancements

[ ] Missing Policies in Report.

We don't  have cert -access policy in report but the YAML is present in out directory

[ ] Use Policy Names instead of relative paths in Table writer. The directory path can be printed as part of other details prior to the Table thereby reducing clutter.
[ ] Read /etc/os-release and provide additional preconditions options for distros and rules.
[ ] Improve message for when there's no discovery engine. It should just simply mention that there's no runtime based recommendation instead of printing out the debug error.
[ ] Potential improvement to Speed? It's understandable for the first time but it still takes a while for me on the subsequent calls for it to process and report things.

cc @nyrahul @vishnusomank

@daemon1024

Missing policies in the report: This issue happens because the report file (default report.txt) is getting replaced every time we run karmor recommend. So only the last updated policies and their details will be in the report file. Should we add time to the filename so it'll not be rewritten? cc: @nyrahul @wazir-ahmed
Preconditions are updated with the metadata.yaml file in the policy-templates repository. So is it necessary to read /etc/os-release and provide additional preconditions? cc: @nyrahul


Ability to send various amounts in transfer

Currently on transfer I can't send to two various address two different amounts

https://canary.kodadot.xyz/dot/transfer?usdamount=442

The best would be to extend ability w/o harming the current batch format URL
https://github.com/kodadot/nft-gallery/assets/5887929/625e0dc2-947b-4f97-8e01-fa9b77f9ada5

Does it solve your problem? Turn off Send same amount switch button. @yangwao

Does it solve your problem?

lol ok, did not notice it as it's completely white lol
https://github.com/kodadot/nft-gallery/assets/5887929/7eaa1a2a-5e78-47a8-b57f-8db150acdaea


Fix spurious crashes on prematurely closed notifications.

I have it so when I click on my notification in eww, it'll call end close <id>. But when the timeout for the notification is up and end tries to close it, it fails and crashes because the notification is already closed

Or sorry, not a crash. But it makes firefox think it crashed because it sends an error back to it over DBus (my educated guess). So firefox starts using it's own notification popups again.

Interesting. The closing after the timeout is implemented as a filter over the list of notifications, so if a notification was already closed/removed before, it should be a no-op. But we currently don't send the NotificationClosed signal; maybe that causes issues in some cases. On the other hand, when notifications simply time out, it seems to work even without the signal.
It's late here, I will try to reproduce this tomorrow.

I cannot reproduce this by closing notifications manually. However, it seems that sometimes Firefox notices when I restart end to apply changes and then falls back to its own notifications. Restarting Firefox while end is running fixes this. Is this maybe what happened in your case as well?

I cannot reproduce this by closing notifications manually. However, it seems that sometimes Firefox notices when I restart end to apply changes and then falls back to its own notifications. Restarting Firefox while end is running fixes this. Is this maybe what happened in your case as well?

Very odd. Now I can't reproduce it either. I will keep this open for bit while I observe to see when firefox breaks.

I cannot reproduce this by closing notifications manually. However, it seems that sometimes Firefox notices when I restart end to apply changes and then falls back to its own notifications. Restarting Firefox while end is running fixes this. Is this maybe what happened in your case as well?

It's still definitely happening, I just can't say why. It does happen even when I'm not messing around with end. And end doesn't even print anything when firefox stops liking it. I'm stumped


Move scripts to separate files + cleanup

Move scripts to provision/.
Clean up, add comments, group apt-get operations
Fix dpkg --configure failing for mesos + supervisor due to already present config files

:+1:


Invalid argument(s): Failed to lookup symbol 'Mat_New': dlsym(RTLD_DEFAULT, Mat_New): symbol not found

Flutter 3.24.3
device: iphone
when create Mat object
error: Invalid argument(s): Failed to lookup symbol 'Mat_New': dlsym(RTLD_DEFAULT, Mat_New): symbol not found

Refer to #212
Can't reproduce without more information, and you didn't follow the issue template, closed.


[R-package] Process R exited abnormally with code 5

R is crashing on me, and I was finally able to create a reproducible example.
Environment info
Operating System: Windows 7 with 16GB of memory
CPU: Intel i7-4790
C++/Python/R version: C++ using VS Community, R 3.4.2 (MS R Open)
LightGBM: Git version as of 3/21/2018
Error Message:
Process R exited abnormally with code 5 at Wed Mar 21 09:48:01 2018
Reproducible examples
library(magrittr)
library(lightgbm)
set.seed(123)
expit <- function(x) exp(x) / (1 + exp(x))

n <- 200000
x1 <- sample(x=c(NA, 1:1000), size=n, replace=TRUE)
y <- sample(x=0:1, size=n, replace=TRUE, prob=c(0.87, 0.13))
y[!is.na(x1) & x1 %in% c(1:100)*100] <- sample(x=0:1, size=sum(!is.na(x1) & x1 %in% c(1:100)*100), replace=TRUE, prob=c(0.7, 0.3))

dModelingNum <- data.frame(x1=x1)

# Run once
dtrain <- lgb.Dataset(data=dModelingNum %>% as.matrix
                    , label=y
                    , colnames=names(dModelingNum)
                    , categorical_feature=names(dModelingNum)
                      )
dtest <- lgb.Dataset(data=dModelingNum %>% as.matrix
                   , label=y
                   , colnames=names(dModelingNum)
                   , categorical_feature=names(dModelingNum)
                     )
valids <- list(train=dtrain, test=dtest)
bst <- lgb.train(data=dtrain
               , objective='binary'
               , nrounds=1000
               , learning_rate=0.01
               , num_leaves=31
               , min_data_in_leaf=100
               , early_stopping_rounds=5, valids=valids
               , eval='auc'
                 )

# Error happens re-running
dtrain <- lgb.Dataset(data=dModelingNum %>% as.matrix
                    , label=y
                    , colnames=names(dModelingNum)
                    , categorical_feature=names(dModelingNum)
                      )
dtest <- lgb.Dataset(data=dModelingNum %>% as.matrix
                   , label=y
                   , colnames=names(dModelingNum)
                   , categorical_feature=names(dModelingNum)
                     )
valids <- list(train=dtrain, test=dtest)
bst <- lgb.train(data=dtrain
               , objective='binary'
               , nrounds=1000
               , learning_rate=0.01
               , num_leaves=31
               , min_data_in_leaf=100
               , early_stopping_rounds=5, valids=valids
               , eval='auc'
                 )

Steps to reproduce

Run code above.

Output
R version 3.4.2 (2017-09-28) -- "Short Summer"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

  Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

Microsoft R Open 3.4.2
The enhanced R distribution from Microsoft
Microsoft packages Copyright (C) 2017 Microsoft Corporation

Using the Intel MKL for parallel mathematical computing (using 4 cores).

Default CRAN mirror snapshot taken on 2017-10-15.
See: https://mran.microsoft.com/.

During startup - Warning message:
Setting LC_CTYPE=en_US.utf-8 failed
> > options(chmhelp=FALSE, help_type="text")
> options(STERM='iESS', str.dendrogram.last="'", editor='emacsclient.exe', show.error.locations=TRUE)
> library(magrittr)
> library(lightgbm)
Loading required package: R6
> set.seed(123)
> expit <- function(x) exp(x) / (1 + exp(x))
>
> n <- 200000
> x1 <- sample(x=c(NA, 1:1000), size=n, replace=TRUE)
> y <- sample(x=0:1, size=n, replace=TRUE, prob=c(0.87, 0.13))
> y[!is.na(x1) & x1 %in% c(1:100)*100] <- sample(x=0:1, size=sum(!is.na(x1) & x1 %in% c(1:100)*100), replace=TRUE, prob=c(0.7, 0.3))
>
> dModelingNum <- data.frame(x1=x1)
> dtrain <- lgb.Dataset(data=dModelingNum %>% as.matrix
+                       , label=y
+                       , colnames=names(dModelingNum)
+                       , categorical_feature=names(dModelingNum)
+                         )
>   dtest <- lgb.Dataset(data=dModelingNum %>% as.matrix
+                       , label=y
+                       , colnames=names(dModelingNum)
+                       , categorical_feature=names(dModelingNum)
+                         )
>   # Train
>   valids <- list(train=dtrain, test=dtest)
>   # valids <- list(train=dtrain)
>   bst <- lgb.train(data=dtrain
+   # bst <- lgb.cv(data=dtrain, nfold=5 # returns CV, not a model
+                  , objective='binary'
+                  , nrounds=1000
+                  , learning_rate=0.01
+                  , num_leaves=31
+                  , min_data_in_leaf=100
+                  , early_stopping_rounds=5, valids=valids
+                  , eval='auc'
+                    )
[LightGBM] [Fatal] Cannot construct Dataset since there are not useful features.                 It should be at least two unique rows.                 If the num_row (num_data) is small, you can set min_data=1 and min_data_in_bin=1 to fix this.                 Otherwise please make sure you are using the right dataset.
Error in lgb.call("LGBM_DatasetCreateFromMat_R", ret = handle, private$raw_data,  :
  api error: Cannot construct Dataset since there are not useful features.                 It should be at least two unique rows.                 If the num_row (num_data) is small, you can set min_data=1 and min_data_in_bin=1 to fix this.                 Otherwise please make sure you are using the right dataset.
> dtrain <- lgb.Dataset(data=dModelingNum %>% as.matrix
+                       , label=y
+                       , colnames=names(dModelingNum)
+                       , categorical_feature=names(dModelingNum)
+                         )
>   dtest <- lgb.Dataset(data=dModelingNum %>% as.matrix
+                       , label=y
+                       , colnames=names(dModelingNum)
+                       , categorical_feature=names(dModelingNum)
+                         )
>   # Train
>   valids <- list(train=dtrain, test=dtest)
>   # valids <- list(train=dtrain)
>   bst <- lgb.train(data=dtrain
+   # bst <- lgb.cv(data=dtrain, nfold=5 # returns CV, not a model
+                  , objective='binary'
+                  , nrounds=1000
+                  , learning_rate=0.01
+                  , num_leaves=31
+                  , min_data_in_leaf=100
+                  , early_stopping_rounds=5, valids=valids
+                  , eval='auc'
+                    )

Process R exited abnormally with code 5 at Wed Mar 21 09:48:01 2018

I thin the error is in [LightGBM] [Fatal] Cannot construct Dataset since there are not useful features.
Can you try the smaller min_data_in_leaf ?
BTW, are you using the very sparse data ?

Yes, the error could be coming from the construct line. But why would
LightGBM crash in a subsequent call? Does it have to do with pointers?
No, I don't believe the data is sparse in this example, as seen in the
example. There is one categorical variable with 10k classes, and missing
values.
I can try with smaller min_data_in_leaf, but why would this create the
error? I set it to be sizable to be conservative with overfitting. Thanks!
-- Vinh
On Wed, Mar 21, 2018, 6:46 PM Guolin Ke<EMAIL_ADDRESS>wrote:

I thin the error is in [LightGBM] [Fatal] Cannot construct Dataset since
there are not useful features.
Can you try the smaller min_data_in_leaf ?
BTW, are you using the very sparse data ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/LightGBM/issues/1280#issuecomment-375151420,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAG9hWK0-Sa41zhSoEj6SrKjAYrWJa98ks5tgwJkgaJpZM4S0vcI
.

it seems the x1 is int type, I remember we only accept the float matrix. can you try to convert to float ?

when dataset constructed fail, it cannot produce the valid pointer, as a result, using it to the lgb.train will fail

I was not aware that data had to be float and that int would create errors.
This makes a lot of sense in terms of LightGBM crashing. Perhaps the R
wrappers should check the matrix consists of float via is.double? Also, the
R documentation should mention this.
As for the data construct, the error seems to be thrown when lgb.train is
executed the first time. I am guessing that lgb.train modified something in
dtrain and dtest via pointers in the first run, and when I re-run, LightGBM
crashed because dtrain and dtest are now different.
Will try again and by forcing as.double. thanks.
On Wed, Mar 21, 2018, 7:30 PM Guolin Ke<EMAIL_ADDRESS>wrote:

when dataset constructed fail, it cannot produce the valid pointer, as a
result, using it to the lgb.train will fail
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/LightGBM/issues/1280#issuecomment-375158742,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAG9hYIvK_nMYRkCC3z8XHlGw9hVslKYks5tgwzJgaJpZM4S0vcI
.

@Laurae2 Can we check the int type of matrix before using it ?

I can confirm that I no longer run into this error after coercing the matrix to double by multiplying by 1.0.  Thank you for your help, @guolinke .  Would be great if @Laurae2 could specify this explicitly in the R documentation (the data argument) and to test via is.double.

@guolinke Yes, we can check with storage.mode(matrix) == "double" or is.double(matrix)`.
To change the matrix storage mode, we can do storage.mode(matrix) <- "double"

Re-opening temporarily until fixed with description.


Unable to use runspaces for ContainerConnectionInfo - The Containers feature may not be enabled on this machine

#1513  Steps to reproduce
I'm trying implement the below sample for container -
https://docs.microsoft.com/en-us/powershell/scripting/developer/hosting/creating-remote-runspaces?view=powershell-7#using-a-wsmanconnection-to-create-a-remote-runspace
I created ContainerConnectionInfo  object using below code.
ContainerConnectionInfo connectionInfo = null;
connectionInfo = ContainerConnectionInfo.CreateContainerConnectionInfo(containerId, true, "");
connectionInfo.CreateContainerProcess();
Expected behavior
I was hoping to see successful connection to container and output of get-process from within container
Actual behavior
when I use https://github.com/PowerShell/PowerShell/tree/master/src/System.Management.Automation I get below error
ErrorRecord = {The Containers feature may not be enabled on this machine.}
Which seems to be throwing at https://github.com/PowerShell/PowerShell/blob/e93381e73e16a0d55ceab879ccaa58456800371d/src/System.Management.Automation/engine/remoting/common/RunspaceConnectionInfo.cs
result = HcsCreateProcess(ComputeSystem, cmd, ref ProcessInformation, ref Process, ref resultString);
//
// The ComputeSystemExists call depends on the existence of microsoft.hostcompute.interop.dll,
// which requires Containers feature to be enabled. In case Containers feature is
// not enabled, we need to output a corresponding error message to inform user.
//
ProcessId = 0;
ErrorCode = ContainersFeatureNotEnabled;
return;
I do have container feature enabled on the environment and able to run Enter-PSSession from powershell console.
Environment data
PSVersion                      7.1.0-preview.3
PSEdition                      Core
GitCommitId                    7.1.0-preview.3-73-gc22ccbebd2955ff67c03574ec26d252955e8ea6d
OS                             Microsoft Windows 10.0.18363
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Duplicate of #12570.  From that issue:

This is correct. PowerShellDirect connections work only from host to container, not container to container. As mentioned above, you need to use WinRM or SSH remoting.

I was trying from container host and not container.

Same issue. Enter-PSSession works fine.
However, I've noticed that it seems to only work from Windows PowerShell 5.1 while Enter-PSSession on PowerShell 7.3.6 returns the same issue as in my .NET 6 application.

@pagariyaalok , are you able to re-open this please? Or did you find a solution?


Found a couple of issue with the python instrumentation getting started document

What needs to be changed?
There are a couple of typos
The first one is here, the default port for Flask is 5000 and the documentation says to go to port 8080.
Similar issue is present here but at least the documentation doesn't say anything about visiting port 8080.
The last one is an issue with a code snippet here where the function parameter should be a string.
What is the name + path of the page that needs changed?
https://github.com/open-telemetry/opentelemetry.io/blob/main/content/en/docs/instrumentation/python/getting-started.md
Additional context
I would be more than happy to fix the typos myself if possible.

Here you can find the proposed changes: https://github.com/open-telemetry/opentelemetry.io/compare/main...LucaLanziani:opentelemetry.io:patch-2

thanks for reporting! looks like https://github.com/open-telemetry/opentelemetry.io/pull/2689 is addressing some of that.
Please raise a PR for the remaining issues, makes it easier for us to review them and gives you credit when we merge them in!

I believe the rest was fixed here #2688


[Feature] Implement persistent height hints

When the requirement for txindex was dropped, it said in the release notes:
However, for performance reasons until the persistent height hints are re-activated, we recommend running with an active transaction index for your full node which backs lnd.
So basically LND runs slower without txindex because the height hints are missing. My request is to implement this mechanism so that there is less of a performance hit when running without index.

This is already implemented. A txindex is still faster though, as if we're offline, we need to walk forward in the chain to re-build those height hints.


firefox: Not respecting 'services.xserver.dpi' after moving to GTK3

Issue description
Firefox is not being affected by the services.xserver.dpi settings anymore.
I don't understand it well enough to identify the cause, but I partially bisected the problem and it seems to be cause by enabling GTK3 as default:
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13714,7 +13714,7 @@ with pkgs;
   inherit (callPackages ../applications/networking/browsers/firefox {
     inherit (gnome2) libIDL;
     libpng = libpng_apng;
-    enableGTK3 = false;
+    enableGTK3 = true;
     python = python2;
     gnused = gnused_422;
   }) firefox-unwrapped firefox-esr-unwrapped;

2017-04-09 - commit dd25b6da62ca6bb6a28a87a39e3505cf6b6a933a - OK
2017-04-10 - commit 999cf98de9fadf368aa8eb160ecbc929e6e5499d  - Possible origin
2017-04-10 - commit 0e0e7c1a8f89279a154881d78ed67f05b7b50817 - NOT OK

Steps to reproduce

Close all open Firefox instances

Run firefox in KDE having services.xserver.dpi set.
nix-shell -p firefox --run firefox

Check if Firefox correctly adjusted its resolution to match your DPI settings.

Technical details

System: 17.09.git.f0fac3b (Hummingbird)
Nix version: nix-env (Nix) 1.11.8
Nixpkgs version: "17.09.git.f0fac3b578"

Does anyone have any idea about why is that happening? @abbradar @edolstra

Thanks for the ping. Hm, strange -- what happens if you use KDE's DPI settings?

I searched a little deeper and was able to find some related bugs:

Opensuse 1022830
KDE 367499
Mozilla 1269274
GNOME 757142

So it seems to be is a GTK bug/regression/new feature, caused by this commit.
To my surprise, this new behavior was intentional and the bug is marked as WONTFIX! Here are the answers from the creator of the commit:

Users using a HiDPI setup will now have to edit multiple configuration files
to achieve the same result.

I don't consider this a serious problem. Once you are editing files in /etc/X11 manually, all bets are off anyway.

Yes. You need to have a properly configured system for software to work as intended. I think you're overstating the problem of going from
"I have to edit /etc/X11/xorg.conf"
to
"I have to edit /etc/X11/xorg.conf and /etc/X11/Xdefaults"

There was a discussion to workaround this in KDE, but it seems there it no hope to see that fixed there:

... There is absolutely no reason why it should be up to Xorg to bend over backwards to work around breakage explicitly introduced by external developers. Xorg already provides a multitude of tools to expose DPI information (core API about display width and resolution, XRANDR information). If the toolkit refuses to use them, that's the toolkit issue, and users should complain with the toolkit developers (or work around the toolkit breakage in whatever way they can).

I believe this affects all the GTK3 packages in high resolution systems, which is unfortunate, considering that high resolution displays are increasingly common. That said, it seems there are some possible solutions:

Add the suggested patch to revert the GTK bug, without hope that it will be fixed upstream.
Workaround the bug, somehow setting Xft.dpi according to services.xserver.dpi.
Revert the move of Firefox to GTK3, solving the problem only for Firefox.
Document somewhere the need to edit ~/.Xresources and add Xft.dpi there to match services.xserver.dpi.

I solved the problem locally adding the setitings in ~/.Xresources, which solves my immediate problem, but I think it is the ugliest workaround for the problem.

It would seem ideal if you didn't need any reconfiguration at all after connecting a different display.  I've had checked on a few machines, and in all cases the size/DPI values were correctly auto-detected by X.

Isn't Xft.dpi already set according to fonts.fontconfig.dpi?

It seems it is set there, @lheckemann , but the effect is different from setting it in .Xresources.

For me, setting fonts.fontconfig.dpi fixed most scaling issues in GTK applications.

For me, fonts.fontconfig.dpi doesn't solve it. Without setting it in .Xresources, both Firefox and Gnumeric do not scale as expected.

I've had checked on a few machines, and in all cases the size/DPI values were correctly auto-detected by X.

I don't think X has any problem to detect/report dpi. The problem seems restricted to application using recent versions of gtk3.
I guess the problem is GTK3 applications ignoring dpi settings in favor of the value 96, unless it is set in .Xresources, @vcunat .
Can you confirm that both Firefox and Gnumeric scale correctly even without Xft.dpi in .Xresources? Even after a reboot?

Yes, I had read that gtk3 commit you linked – it's a simple change.

I won't be able to work on this (or NixOS at all) much until my exams finish (end of May) but just as a heads up: I wanted to solve this by adding a system-wide configuration file at /etc/X11/Xresources and populating it from services.xserver.dpi.

Do I understand correctly that fonts.fontconfig.dpi fixes this correctly? I'm thinking of possible ways to fix this.

Do I understand correctly that fonts.fontconfig.dpi fixes this correctly?

I don't think it so. Here, setting it has no effect in Firefox or Gnumeric. I imagined it was already set indirectly by services.xserver.dpi.
The only thing that fixes the problem for me, @abbradar, is adding a .Xresources to my home folder.

@rbasso No, it wasn't set by xserver.dpi. I think GTK overrides fontconfig settings. Anyway see #25892 -- this patch can already be useful to you but before merging it I want to discuss merging those two settings.

I'd like to use the gtk+ patch, as it's the most sensible behaviour and should make GTK applications work just like everything else does without extra config, but it's incredibly impractical due to the huge amount of building (including webkit…) my laptop would have to do for this. So personally I'd prefer for the patch that gtk+ rejected to just get included with nixpkgs.

@abbradar,
I just tested the patch from #25892, which correctly create the /etc/X11/Xresources with Xft.dpi set, but it is completely ignored by Firefox.

@abbradar Any intentions to PR your change?

@lheckemann I did just this in #25892


nan error often occurs when training GFL

I was trying to train GFL, but nan error often occurs, loss_cls is nan or loss_bbox is nan.
However, sometimes when I retrain the epoch, nan error dissappear.

https://github.com/open-mmlab/mmdetection/blob/master/docs/faq.md#training


hyperboloid mirror: bug in shadow3 inverts the direction of Ex (electric field)?

Please also check Ruben Reininger's code.
https://github.com/oasys-kit/ShadowOui/blob/master/orangecontrib/shadow/widgets/gui/ow_optical_element.py
lines: 2293 - 2304


Explore setVirtualTimePolicy

The devtools protocol has a setVirtualTimePolicy method that looks interesting, we might want to explore using that in certain contexts instead of shimming the global timers.

I tested this and it doesn't actually work anywhere but chromium (no node, no firefox etc) so if we do this we'd have to have two implementations anyway.


How to Play with Rainbow

Hello,
I have my custom gym env, I am able to train everything in the chapter 7, which are the variants of the DQN. Once, I train I can load the trained net and performance with the modified version of DQN_play script 03_dqn_play.
My problem is particular with Rainbow, how can I select action from the trained Rainbow net? Since it is distributional, it returns 50 predictions for my each action. So far, I tried to use max and mean Q values to test the agent but it performs a lot worse than the training performance.
Any help is appreciated,
Thanks!

Hi!
Distributional net application should be done carefully, as the shape is unusual. The tricky thing here is that atoms' indices need to be converted into Q values.
Normally, finding the action with max Q value should work well, but I suggest to use method qvals() of the model to make sure you're applying max function to the proper tensor. This method is defined here: https://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On/blob/master/Chapter07/08_dqn_rainbow.py#L81
To simplify the task, you might want to use the ptan.agent.DQNAgent, the same way it was used in the training code. It supposed to be called with observations numpy array and returns an array with action indices: https://github.com/PacktPublishing/Deep-Reinforcement-Learning-Hands-On/blob/master/Chapter07/08_dqn_rainbow.py#L140
Another, slightly more advanced approach would be to get the distribution from the model using apply_softmax() method of the model and then sample from this distribution. This might help if underlying distribution in the environment is multi-modal. To sample, you might use methods np.random.sample or PyTorch distributions package.


feat: create OCR model with Attention mechanism

Context
Create OCR model with Attention Mechanism.
Jira
Test Steps

Pull this PR
Run python modelOCR.py
See if model is compiled and summary is generated

Notes
Attention mechanism helps model with better text recognition

Dataset loaded and model compiled


fix issue 11052 - pathSplitter cannot be converted to string[], and to!() fails

to now works on pathSplitterresult using the cast operator overloading. Since the function returns a lazy range there's very little chances that anyone ever used  cast on it (which would stop working with this change).

Actually this is more an enhancement; to has no overload that converts input ranges to arrays.

This is useless actually.


String.oneOf property

Coverage increased (+0.06%) to 89.645% when pulling 9453de9599b1fcc8872b014e818baf9a07588f0e on ponury-kostek:dev_string_oneof into 2e4ebccec551c45dcbc4bfb1ea738fa760ca9843 on alexandrajs:master.


Problems when trying to run teacher

Hi . Im getting this when trying to run shellyteacherdomo.py
"Traceback (most recent call last):
File "shellyteacher4domo.py", line 79, in
class MQTTClient(mqtt.Client): # Gen1 detailed infos and Gen2 alive
NameError: name 'mqtt' is not defined"
Im not so good with linux so maybe someone can tell me what's wrong?

You have to install paho-mqtt first, if you want to use the linux version, its on the readme:
pip3 install paho-mqtt
Or simply use the windows precompiled binary:
https://github.com/enesbcs/shellyteacher4domo/releases/tag/0.03

Ok I have installed it. But still got the same message when trying to run  the teacher,
"Installing collected packages: paho-mqtt
Successfully installed paho-mqtt-1.6.1"
Do you need to start the mqtt client manually ?

Ok I have installed it. But still got the same message when trying to run the teacher,
"Installing collected packages: paho-mqtt
Successfully installed paho-mqtt-1.6.1"
Do you need to start the mqtt client manually ?

Please download latest shellyteacher4domo from github.
Could you add some details about your installation? Linux family and version, exact python version?

Sure.
Rpi 3b running Raspbian GNU/Linux 10
Kernel: Linux 5.10.103-v7+
Python Version: 22.3.1

Python Version: 22.3.1
There is no such python version. Latest python is 3.11.5

Sry thaught it was the pip3 version.
Python 3.7.3

I have installed a Debian 10 which is basicly the same as Raspbian 10 Buster.

When you are running
pip3 install paho-mqtt
it will install the package into the actual user home directory and if you are running shellyteacher as other user or with sudo, it wont see that.
Try to use elevated installation of the paho-mqtt package like:
sudo pip3 install paho-mqtt
OR make a su command to elevate yourself to root, before executing pip3 install paho-mqtt.
When i removed paho-mqtt with pip3 uninstall paho-mqtt i've got the same error message as you got earlier 'mqtt' is not defined. After i installed with sudo pip3 install paho-mqtt the teacher works.
But i repeat myself: if you are not an experienced linux console user, the Teacher windows binary can be downloaded and can be run on ANY PC (not just the server) on the same network, as your MQTT server.

Ok . Thank you for all help you give me . I did install it with sudo but still got the same problem. I did as you advised and ran the windows version . I have all up running , the teacher is connected to broker . And shelly devices , teacher, and domoticz mqtt autodiscovery set to same prefix topic. But no devices is showing up in domoticz. Is it possible to see if teacher finds any devices in a log?

I hope you do not set shelly devices report topic the same as the autodiscovery topic.
Autodiscovery configs arrives as default into 'homeassistant/', Domoticz awaits configs at "homeassitant/". Shelly Gen1 devices uses 'shellies/SHELLYID/' topics for reporting data and announcing itself, Gen2 devices uses 'SHELLYID/' topics for data reporting.
Yep the MQTT server needs to be the same at all three, i hope you do not use <IP_ADDRESS> or localhost address, as it is only working on the server.
After first start of the Teacher you  have to set up MQTT server actual IP, prefix, enable Retain, press "Save settings", then you can press "Start".

And that point you have to restart Shelly devices to force them to send announce messages through MQTT. No announce messages = No detection

Ok. No the teacher is connected to mqtt broker like it should with ip of server . I have checked it with Mqtt explorer. But mine dosen't recognize any devices in log like yours did. I have a shelly plus 1, and a  shelly i4. Could it be some settings in shellys mqtt settings that make it dont recognize it?

This is how my shellies report in mqtt explorer .

This is how my shellies look in mqtt explorer.

Could you post an image of shellyteacher window, after teacher started, settings saved and Start detection loop pressed, with Shelly i4 restarted after "Detection started" appears in log?
When the teacher receives MQTT topic: "shellyplus1-ID/online" payload: true it will send back a messege to topic: "shellyplus1-ID/rpc" with {"id": 1, "src":"shellies_discovery", "method":"Shelly.GetConfig"} which will post the device data to "shellies_discovery/" MQTT topic. Neither /rpc, nor shellies_discovery/ are seen on your screenshot, the only explanation is that the Teacher has no working MQTT connection.

Darn. It seems to have been the version of the shelly teacher. It worked right away after I downloaded 0.4 . Thank you for all help and patience. Really nice work

Thanks for testing!
Closing issue now.


Rekey example not working in 3.30.0 release

I was updating my project's sqleet to 3.30.0 and noticed that the sqlite3_rekey function was no longer able to rekey my database. I was getting SQLITE_MISUSE back when attempting to rekey the database.

I also tested v0.29.0, v0.28.0, and v0.27.2
None of these worked as expected.
However, v0.27.1 does work as expected.
buchmanj@Accio ~/D/sqleet-v0.27.1> ./sqleet
SQLite version 3.27.1 2019-02-08 13:17:39
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> ^D
buchmanj@Accio ~/D/sqleet-v0.27.1> ./sqleet test.sqlite
SQLite version 3.27.1 2019-02-08 13:17:39
Enter ".help" for usage hints.
sqlite> PRAGMA rekey='swordfish';
sqlite> ^D
buchmanj@Accio ~/D/sqleet-v0.27.1> hexdump -C test.sqlite
00000000  14 c2 ed e3 36 fb f2 9c  27 75 7d 9d f8 6b 61 0a  |....6...'u}..ka.|
00000010  56 61 e3 62 7c 76 8f 30  12 54 74 d0 7b c4 fd 1e  |Va.b|v.0.Tt.{...|
00000020  f2 26 f3 c7 80 f3 8c 23  4f a5 ef e3 d4 8e 03 a7  |.&.....#O.......|
00000030  e8 c6 cf de 96 2c 33 70  2e 0b 5e b1 22 50 63 e9  |.....,3p..^."Pc.|
00000040  66 00 47 72 d9 39 e8 9a  38 a6 7d b7 4c 07 5e ad  |f.Gr.9..8.}.L.^.|
00000050  f4 b8 50 4e 5c 0d 21 d8  03 a2 82 c4 6e b3 1b 36  |..PN.!.....n..6|
00000060  c6 76 52 fc 1f 84 c9 3e  2b 7b 55 cc 43 8f 13 d3  |.vR....>+{U.C...|
00000070  bc 41 8f 53 36 96 35 91  47 30 c3 78 ed c8 5d f7  |.A.S6.5.G0.x..].|
00000080  05 b2 82 84 55 cf 98 25  a3 32 5c aa f9 9f 36 dc  |....U..%.2...6.|
00000090  c5 e6 8b 29 0d cb aa db  e8 1d d3 27 1c e6 11 af  |...).......'....|
000000a0  34 5c c7 04 7c f3 63 f5  ad 5b b5 5b 51 52 d8 59  |4..|.c..[.[QR.Y|

I've tested this on both BSD and Linux based systems. It seems that it's only failing on BSD / Mac / iOS systems. I was not able to reproduce on a Linux box.

I can confirm the rekey issue. Android jni and windows both do not work. Only 0.27.1 does.

Sorry for the delay, especially given the serious nature of the bug. Automated cross-platform tests are planned to be implemented prior to v1 in order to catch platform-specific issues like this in the future.
TL;DR: Fix in master. Please test and report back as I have yet to reproduce this issue myself.  A fixed release sqleet v0.30.1 will be published once the fix is confirmed to resolve the issue.

I do not have Windows at hand for reproducing, but AddressSanitizer:heart: found an error introduced with URI API (shortly after 0.27.1) which likely leads to rekey failing in certain conditions. Rekey attaches a vacuum database that has no filename (URI) associated with it, which results in sqleet trying to parse URI configuration from an empty string zUri.
145 int codec_parse_uri_config(Codec *codec, const char *zUri)
146 {
147     int rc, pagesize;
148     const char *value;
149
150     /* Override page_size PRAGMA */
151     pagesize = (int)sqlite3_uri_int64(zUri, "page_size", -1);

Line 151 calls sqlite3_uri_int64() with a zero-length URI, that is, zUri[0] = '\0'. Internally, zUri gets passed to sqlite3_uri_parameter() for parsing the value of the page_size URI parameter:
160417 SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam){
160418   if( zFilename==0 || zParam==0 ) return 0;
160419   zFilename += sqlite3Strlen30(zFilename) + 1;
160420   while( zFilename[0] ){

Upon entering the function, zFilename (i.e., the passed-in zUri) is a pointer to an empty string. Line 160419 increments the pointer by 1, thereby causing an out-of-bound access (zUri[1]) in the while condition in line 160420.
The fix is trivial: Set zUri to NULL if codec_parse_uri_config() receives an empty URL string. Interestingly, (internal) SQLite3 URI functions handle NULL URIs correctly, whereas empty URI strings produce undefined behavior.
Fixed in master commit 695bc40.

I was unable to reproduce the rekeying error using Win10 and msys2 gcc. Probably depends on the compiler used in addition to operating system. This is not surprising assuming the root cause is an out-of-bound memory access in heap (such bugs tend to be nondeterministic in nature).
However, the fact that the bug seems to be introduced between releases v0.27.1 and v0.27.2 makes me slightly worried. URI API was added in v0.30.0 so the bug described in my previous comment did not exist before v0.30.0. There also were no significant changes in sqleet or SQLite3 code between vesions v0.27.1 and v0.27.2 that could explain the rekey bug.
Nonetheless, let's see if the proposed fix addresses the rekey bug. If not, I will try to figure out some way to reproduce the issue in my test environment.

Must be noted that SQLITE_MISUSE is a very rare error code in SQLite3 code base and sqleet returns it only in the case of invalid URI configuration. Thus, SQLITE_MISUSE strongly suggests a problem in URI configuration parsing. Rekeying being broken before the introduction of URI API in v0.30.0 is unexpected.

No luck reproducing on Android in Termux environment with clang-compiled sqleet v0.30.0 (unfixed release). Oh well, hopefully someone who has been able to trigger the bug can test the fix in latest master branch.

I tested the fix on Android JNI 21 And it seems to work perfectly. Windows i can test but only POSIX compiled like clang/gcc.

That's great! Fixed sqleet v0.30.1 release is out now. I guess I have to figure out a systematic way to backport these kind of critical fixes to older releases as well.
If it turns out that the fix is incomplete and rekeying still fails in other environments, feel free to reopen this issue.
Thanks everybody for your contribution to sqleet.


db schema should (??) be included in repo

I copied over the schema from radiance and ran rails db:migrate but previously there was no db populated :(
Should the existing schema & migrations just be included in the repo?

added in my fork at this commit


Replace ZipUtils usage of deprecated java.util.Date with java.time

Motivation:
ZipUtils uses deprecated java.util.Date API.
Modification:
Switch to java.time API.
Result:
Fixed deprecation warning when comîling Zinc.

To validate this pull request against other sbt modules, please visit this link.

Note: I wasn't able to add a spec as DOS time is timezone dependent.


doc: lib.types.attrsWith init documentation

Added documentation for the newly added types.attrsWith
cc @infinisil
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Is this related to https://github.com/NixOS/nixpkgs/pull/361334 ?


[bug] No way to not wait

As a user running a long running script, I want to start a job and immediately return the job id.  We should default --wait to true because, well, that's what it's doing.

further context in this slack thread: https://filecoinproject.slack.com/archives/C02RLM3JHUY/p1665490352129059?thread_ts=1665483773.802149&cid=C02RLM3JHUY


Change examples to use versioning from crates.io instead of repo

Change examples to use versioning from crates.io instead of repo
i want to simply copy the example code and add the crates.io stuff to toml, not download the whole repo then gut, its annoying but maybe im just lacking braincells

Its just convenient to test using examples if the dependencies are by path into the workspace. egui does it the same way https://github.com/emilk/egui/blob/master/examples/confirm_exit/Cargo.toml .


MSBuild: VisualStudioVersion is always .0

Clarify that the expected value of VisualStudioVersion always has a zero minor part.
This came up in https://github.com/dotnet/aspnetcore/pull/39422#discussion_r785017328.
cc @ghogen, @dougbu

@rainersigwald : Thanks for your contribution! The author(s) have been notified to review your proposed change.