gdm crash on unstable

on current unstable gdm crashes on boot leaving the system unusable,
im on a lenovo w541 , using bumblebee - this was discovered after #23628
lastboot.log.txt
im now using a other window manager, but would like to get my gnome back

I suppose this is the most interesting part:
(WW) xf86OpenConsole: VT_ACTIVATE failed: Operation not permitted
(EE)
Fatal server error:
(EE) xf86OpenConsole: Switching VT failed
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/dev/null" for additional information.
(EE)
(WW) xf86CloseConsole: KDSETMODE failed: Operation not permitted
(WW) xf86CloseConsole: VT_SETMODE failed: Operation not permitted
(WW) xf86CloseConsole: VT_ACTIVATE failed: Operation not permitted
(EE) Server terminated with error (1). Closing log file.
Unable to run X server

... but that doesn't enlighten me in any way.

I really love Please also check the log file at "/dev/null" for additional information. :-D

Same issue using on a desktop with the proprietary Nvidia driver (no bumblebee), so might not be unique to a specific driver.
Switching to slim fixes my system.

I have the same issue with the intel driver (Intel Corporation HD Graphics 520). I am using lightdm for now without any problems.

GDM crashes on 17.03, too. Doesn't seem to be related to any graphics drivers.

It might be related to wayland differences.

Bisecting 8afdb9b..a40f20f8d47ee8f09914fc926d1ad7c45a3d6779

After reverting a5aa9269027d638b80fe1f23bcf8887ca80d034b in 4e57e7f7c6db9a9c00f527eff80cb37890ba516d I am able to run gdm in a VM again, nixos.tests.gnome3-gdm is still failing.

machine# [   30.319299] xsession[990]: Failure: Module initialization failed
machine# [   30.519484] xsession[990]: /nix/store/sc8q8s8ldmi2w0x86m2nznahpizx4wab-xsession: Window manager 'gnome3' not found.

Was there a change that switched gdm back to X (ronnys logs, globins test log)?
When I touched this code gdm was started with wayland and not X.
Debug information might help now (See https://github.com/NixOS/nixpkgs/pull/19742).

I don't know of one.. The problem seems to be that gdm/sddm etc, can't find the gnome3 session.

The problem exists with gdm / sddm but not with lightdm / slim?
What do you mean with gnome3 session? Your log fragment states it cannot find gnome3 window manager, which is supposed to happen. There is no window manager called gnome3.
For gnome, the session type ($sessionType in /nix/store/...-xsession, the script that caused above output) should be "gnome3-none".

After running the test, I can confirm that it tries to run gdm under X instead of wayland. I can not find @globins error message "window manager gnome3 not found" in my logs.
Also I can NOT reproduce the problems with my working nixos config in a vm. I reverted @globin s revert commit from above and was able to start a vm with my config. Inside the VM, gdm was started under wayland and I could login to a working gnome environment.
May the failing gnome-gdm test be a false positive?
Sidenote: I had to change in nixos/modules/virtualisation/qemu-vm.nix
services.timesyncd.enable = false;
to
services.timesyncd.enable = mkVMOverride false;

Well, I'm having the issue with the Nvidia proprietary driver, so as far as I'm aware there is no Wayland involved. LightDM/Slim works fine. GDM doesn't start at all, it gets stuck in a systemd restart loop.

@groxxda what was the exact way you created the VM? I couldn't manage to get a working gdm + gnome3 with that commit reverted or without

@globin
nixos-rebuild  -I nixpkgs=/home/alice/nixpkgs  --show-trace build-vm  && sed 's/-m 384/-m 4096/' result/bin/run-bobs-vm|bash

And what is your NixOS config?

@globin
  hardware.opengl.extraPackages = [ pkgs.vaapiIntel ];
  environment.gnome3.packageSet = pkgs.gnome3_22;

  services.xserver = {
    enable = true;
    exportConfiguration = true;
    layout = "de";
    videoDrivers = [ "intel" ];
    xkbOptions = "eurosign:e";
    modules = [ pkgs.xorg.xf86inputlibinput ];
    tty = null;
    display = null;
    deviceSection = ''
      Option "AccelMethod" "uxa"
    '';
    displayManager = {
      slim.enable = false;
      gdm.enable = true;
    };
    desktopManager.gnome3.enable = true;
  };
  users = {
    mutableUsers = false;
    extraUsers.groxxda = {
      isNormalUser = true;
      extraGroups = [ "video" ];
    };
    extraUsers.gdm.extraGroups = [ "gdm" ];
    extraGroups.gdm = {};
  };

  services.gnome3.gnome-user-share.enable = false;
  services.gnome3.seahorse.enable = false;
  services.gnome3.sushi.enable = false;
  services.gnome3.tracker.enable = false;
  services.telepathy.enable = false;
  services.packagekit.enable = pkgs.lib.mkForce false;

Note that the gnome3-gdm test  does not set services.xserver.displayManager.slim.enable = false

I managed to get it to work in a VM, too, but segfaults on my Thinkpad T460s.
Extended log excerpt here: https://gist.github.com/globin/2f8950b3161c5c03ef83b8c787287a66
Probably relevant parts:
Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: child (pid:1180) done (signal:1)
Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: uninitializing PAM
Mar 28 15:34:30 hostname gdm-launch-environment][1029]: GdmSessionWorker: state NONE
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: could not connect to wayland server
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE)
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: Fatal server error:
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE) Couldn't add screen
Mar 28 15:34:30 hostname org.gnome.Shell.desktop[1275]: (EE)
Mar 28 15:34:30 hostname gdm[813]: Child process 1029 was already dead.

Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSessionWorker: state SESSION_STARTED
Mar 28 15:34:31 hostname gdm-launch-environment][1565]: GdmSession worker: watching pid 1583
Mar 28 15:34:31 hostname gdm-launch-environment][1583]: GdmSessionWorker: could not take control of tty: Operation not permitted
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Enabling debugging
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Running session message bus
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: session message bus already running, not starting another one
Mar 28 15:34:31 hostname gdm-wayland-session[1583]: Running wayland session
Mar 28 15:34:31 hostname gsettings[1587]: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.

Works with slim + gnome3 btw on my hardware...

I just successfully booted 65593e6 on my hardware (intel graphics)
Btw, I thought you had a nvidia graphics card, so why did you set opengl.extraPackages = [ pkgs.vaapiIntel ];?
If the problem is nvidia specific, can someone try the official blob and also nouveau?

No not anymore:
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 520 (rev 07)

@groxxda crw-rw----+ 1 root video 226, 0 Mar 30 14:12 /dev/dri/card0
Removing the blocker as it apparently only fails on some hardware and other DMs work.

The other issue is that the display-manager keeps restarting even when I changed the systemd unit to not do restart. It makes it impossible to log into the account in text mode because the constant interruption of the DM starting. I'm not sure how to find out what triggers the display-mananger startup.

Possible issue is that GDM tries to spawn on tty1 and conflicts with getty/kmscon. Disabling<EMAIL_ADDRESS>on my system fixed it.

Regarding my previous comment:
While disabling<EMAIL_ADDRESS>fixed the issue on my ThinkPad T420 with Intel Graphics (NVIDIA dGPU disabled in the BIOS), it hasn't fixed it on my desktop with an NVIDIA GTX 970 and nvidia_x11_beta.
I'm still using lightdm, unfortunately it breaks lock screen/session management stuff in GNOME that seems to depend on gdm (why?). I have to manually run gnome-session-quit to log out. light-locker-command -l does nothing.
Apr 16 16:04:50 pegasus gdm[3262]: Child process 8289 was already dead.
Apr 16 16:04:50 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: GdmDisplay: display lasted 0.427778 seconds
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8341 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8318 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8380 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8356 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: GdmDisplay: display lasted 0.426663 seconds
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8408 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8384 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:51 pegasus gdm[3262]: Child process -8447 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Child process 8423 was already dead.
Apr 16 16:04:51 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:52 pegasus systemd[1]: Stopping X11 Server...
Apr 16 16:04:52 pegasus gdm[3262]: GdmDisplay: display lasted 0.264471 seconds
Apr 16 16:04:52 pegasus gdm[3262]: Failed to contact accountsservice: Error calling StartServiceByName for org.freedesktop.Accounts: GDBus.Error:org.freedesktop.systemd1.ShuttingDown: Refusing activati
Apr 16 16:04:52 pegasus gdm[3262]: Child process -8475 was already dead.
Apr 16 16:04:52 pegasus gdm[3262]: Child process 8451 was already dead.
Apr 16 16:04:52 pegasus gdm[3262]: Unable to kill session worker process
Apr 16 16:04:52 pegasus gdm[3262]: gdm_display_finish: assertion 'GDM_IS_DISPLAY (self)' failed
Apr 16 16:04:52 pegasus systemd[1]: Stopped X11 Server.

There might be two separate issues affecting people here.

FWIW systemd.targets."multi-user".conflicts = [<EMAIL_ADDRESS>] worked on my laptop with an Intel GPU. Thank you for that fix!

i jsut tried this as well, and it seems to fix this issue as well as #24298 for me
however it seems to come at the cost of language settings being reset to english

GDM works again on my notebooks, no idea why though. Even the systemd.targets."multi-user".conflicts = [<EMAIL_ADDRESS>] is no longer necessary for me. I am using nixos unstable ( f0fac3b578086066b47360de17618448d066b30e ).

I have managed to get GDM running on my desktop with a nvidia card. There are two separated problems.
First, GDM starts on vt1 (tty1), so the conflict with<EMAIL_ADDRESS>is really needed. It is event present in the official systemd unit shipped with GDM.
Second, GDM runs the Xserver as non root user. However nvidia driver needs to be able create devices in the /dev/ folder.
The solution is to create those devices before the Xserver is started. I'm using these udev rules
services.udev.extraRules =  ''
  KERNEL=="card*", SUBSYSTEM=="drm", DRIVERS=="nvidia", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidia%n c 195 %n"
  KERNEL=="nvidia", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidiactl c 195 255"
  KERNEL=="nvidia_modeset", RUN+="${pkgs.coreutils}/bin/mknod -m 0666 /dev/nvidia-modeset c 195 254"
'';

Nvidia solves this with nvidia-modprobe utility which is setuid binary that can make nvidia devices and is called from nvidia xorg driver. But is hardcoded as /usr/bin/nvidia-modpobe in all the nvidia blobs. However even nvidia docs recommends udev before nvidia-modprobe
PS:

gdm on wayland with nvidia does not work in 3.22, but it looks like newer version could supported it.
i needed to turn off journald rate limiting to see all gdm logs and be able to debug this problem.

I looks like conflict with<EMAIL_ADDRESS>is not the right solution. It breaks when running nixos-rebuild switch. It is caused by calling systemctl start getty.target from swith-to-configuration script. This forces the system to stop GDM, start getty@tty1, stop getty@tty1 and start GDM again which sometimes fails.
However, GDM can be compiled to start on different vt than tty1 and that seems to work fine. So I am running GDM on tty7.

I'm sharing my situation here for anecdotal purposes.
Adding following line to configuration.nix has fixed a problem on my NixOS machine where gdm is used.
systemd.targets."multi-user".conflicts = [<EMAIL_ADDRESS>]
Before when running `
E465_configuration.zip
nixos-rebuild, I would see an error like this: warning: the following units failed: systemd-vconsole-setup.service`
This error no longer appears with the workaround in place. My system does not have an Nvidia GPU, rather, it's AMD A10-8700P & Radeon R6 M340DX (Lenovo ThinkPad E465).

I may have experienced the nixos-rebuild switch break that deedrah mentioned. Not on my E465, but instead on an Intel Haswell desktop configured with an AMD Radeon 7750 (no integrated graphics). I applied digs' workaround to the machine because it had been showing the same systemd-vconsole-setup.service failure which the E465 had. With the workaround applied, rather than seeing the systemd failure warning after nixos-rebuild switch, Gnome3 simply disappears instead. If GDM reappears, login attempts succeed but do not bring an Gnome3 session - just GDM again.

Another temporary fix:
https://github.com/michalrus/dotfiles/commit/1068843182e0c1a23ed7a83c7fe741a5fb89b7ad

Confirm that adding this work around systemd.targets."multi-user".conflicts = [<EMAIL_ADDRESS>] fixes gdm.

I think the best solution is to start GDM on tty7 like any other display manager.
Something like this should do the work for testing:
  nixpkgs.config.packageOverrides = pkgs:
  {
    gnome3 = pkgs.gnome3 // { gdm = pkgs.gnome3.gdm.overrideAttrs ( oldAttrs: {
      configureFlags = oldAttrs.configureFlags ++ [ "--with-initial-vt=7" ];
    });};
  };

I would like to help fixing this blocker, but it's unclear which problems are tracked in this issue. Can somebody clearify?

I think there are two separated problems:

<EMAIL_ADDRESS>and gdm competing over tty1 (Where I think the solution with conflicts does not co-operate well with nixos-rebuild switch.
GDM running X server as non root  and default access rights only for root for nvidia devices in /dev. Access rights should be setup by distribution according by Nvidia's docs.

I am running GDM on tty7 (and no conflicts for getty@tty1)  and using this to fixup access rights for some months without any problem.

I couldn't reproduce this issue on master. Trying on 17.09

This should fixed by fixing #22470.


[DRAFT] Gallery view

Adds Gallery View for images in threads
Still needs some error handling logic.
Need to modify for webM logic.
Themeing, etc
You either merge now tune it to your likings and I'll tweak webM later

Most of the images 404 but I like it so far

@Rukkaitto  I pushed up a fix. Im trying to figure out how to use non-thumbnail images. According to https://github.com/4chan/4chan-API/blob/master/pages/User_images_and_static_content.md you remove the "s" for non-thumnail as the 's' selects thumbnail.
if you pull down again you should see the gallery working as expected, just lower res images.

Resolved conflicts

@Rukkaitto I pushed up a fix. Im trying to figure out how to use non-thumbnail images. According to https://github.com/4chan/4chan-API/blob/master/pages/User_images_and_static_content.md you remove the "s" for non-thumnail as the 's' selects thumbnail.
if you pull down again you should see the gallery working as expected, just lower res images.

Non thumbnail images are used like this : https://i.4cdn.org/$board/${post.tim}.${post.ext}

@Rukkaitto ill be out on vacation for a week so you can either merge and take care of the images urls or wait till I get back.

@Rukkaitto ill be out on vacation for a week so you can either merge and take care of the images urls or wait till I get back.

I'll take care of it when I have the time, thanks.

Merged in fc95eb8a14fc91568d275b9e23ce1412299520f9.


Rootless podman on EL7.8 can't start read-only containers if we have userns=keep-id

I am not able to run containers with the read-only flag if I want to keep the id in my user-ns. Without keeping the id it works:
$ id -u
1011
$ podman  run -it  --read-only=true --user=root --userns=keep-id fedora:31
Error: container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:147: setting rootfs as readonly caused \\\"operation not permitted\\\"\"": OCI runtime permission denied error
$ podman  run -it  --read-only=true --user=root fedora:31
[root@0f44a3e2bb94 /]#

Debug:
$ podman  run --log-level=debug -it  --read-only=true --user=root --userns=keep-id fedora:31
WARN[0000] The cgroups manager is set to systemd but there is no systemd user session available
WARN[0000] For using systemd, you may need to login using an user session
WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 1011` (possibly as root)
WARN[0000] Falling back to --cgroup-manager=cgroupfs and --events-backend=file
DEBU[0000] Using conmon: "/usr/bin/conmon"
DEBU[0000] Initializing boltdb state at /var/lib/containers/users/user/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/users/user/storage
DEBU[0000] Using run root /var/lib/containers/users/user/run
DEBU[0000] Using static dir /var/lib/containers/users/user/storage/libpod
DEBU[0000] Using tmp dir /run/pods/user/libpod/tmp
DEBU[0000] Using volume path /var/lib/containers/users/user/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] [graphdriver] trying provided driver "overlay"
DEBU[0000] overlay: mount_program=/bin/fuse-overlayfs
DEBU[0000] backingFs=xfs, projectQuotaSupported=false, useNativeDiff=false, usingMetacopy=false
DEBU[0000] Initializing event backend file
DEBU[0000] using runtime "/usr/bin/runc"
DEBU[0000] Failed to add podman to systemd sandbox cgroup: dial unix /run/user/0/bus: connect: permission denied
INFO[0000] running as rootless
WARN[0000] The cgroups manager is set to systemd but there is no systemd user session available
WARN[0000] For using systemd, you may need to login using an user session
WARN[0000] Alternatively, you can enable lingering with: `loginctl enable-linger 1011` (possibly as root)
WARN[0000] Falling back to --cgroup-manager=cgroupfs and --events-backend=file
DEBU[0000] Using conmon: "/usr/bin/conmon"
DEBU[0000] Initializing boltdb state at /var/lib/containers/users/user/storage/libpod/bolt_state.db
DEBU[0000] Using graph driver overlay
DEBU[0000] Using graph root /var/lib/containers/users/user/storage
DEBU[0000] Using run root /var/lib/containers/users/user/run
DEBU[0000] Using static dir /var/lib/containers/users/user/storage/libpod
DEBU[0000] Using tmp dir /run/pods/user/libpod/tmp
DEBU[0000] Using volume path /var/lib/containers/users/user/storage/volumes
DEBU[0000] Set libpod namespace to ""
DEBU[0000] Initializing event backend file
DEBU[0000] using runtime "/usr/bin/runc"
DEBU[0000] parsed reference into "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]docker.io/libra
ry/fedora:31"
DEBU[0000] reference "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]docker.io/library/fedora:31
" does not resolve to an image ID
DEBU[0000] parsed reference into "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]localhost/fedor
a:31"
DEBU[0000] reference "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]localhost/fedora:31" does n
ot resolve to an image ID
DEBU[0000] parsed reference into "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]@fac75bdc1c86b5
f45a252fe3a149d6657522a576a8fe330dfcac110cb6881c86"
DEBU[0000] exporting opaque data as blob "sha256:fac75bdc1c86b5f45a252fe3a149d6657522a576a8fe330dfcac110cb6881c86"
DEBU[0000] No hostname set; container's hostname will default to runtime default
DEBU[0000] Using slirp4netns netmode
DEBU[0000] Adding mount /proc
DEBU[0000] Adding mount /dev
DEBU[0000] Adding mount /dev/pts
DEBU[0000] Adding mount /dev/mqueue
DEBU[0000] Adding mount /sys
DEBU[0000] Adding mount /sys/fs/cgroup
DEBU[0000] created OCI spec and options for new container
DEBU[0000] Allocated lock 7 for container 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801
DEBU[0000] parsed reference into "[overlay@/var/lib/containers/users/user/storage+/var/lib/containers/users/user/run:overlay.mount_program=/bin/fuse-overlayfs]@fac75bdc1c86b5
f45a252fe3a149d6657522a576a8fe330dfcac110cb6881c86"
DEBU[0000] exporting opaque data as blob "sha256:fac75bdc1c86b5f45a252fe3a149d6657522a576a8fe330dfcac110cb6881c86"
DEBU[0000] created container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801"
DEBU[0000] container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801" has work directory "/var/lib/containers/users/user/storage/overlay-containers/8d91c86cd41b
8f342c2779e27930d7bb50538821f4789f193a13af6b43520801/userdata"
DEBU[0000] container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801" has run directory "/var/lib/containers/users/user/run/overlay-containers/8d91c86cd41b8f342
c2779e27930d7bb50538821f4789f193a13af6b43520801/userdata"
DEBU[0000] New container created "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801"
DEBU[0000] container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801" has CgroupParent "/libpod_parent/libpod-8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af
6b43520801"
DEBU[0000] Handling terminal attach
DEBU[0000] overlay: mount_data=lowerdir=/var/lib/containers/users/user/storage/overlay/l/GEBGOKA2ARXLLWG26ATNZF73AF,upperdir=/var/lib/containers/users/user/storage/overlay/1b
f2f0248cb927f67d669700534583f8b68fd3057e73a917088630290dd2c211/diff,workdir=/var/lib/containers/users/user/storage/overlay/1bf2f0248cb927f67d669700534583f8b68fd3057e73a9170886302
90dd2c211/work,context="system_u:object_r:svirt_sandbox_file_t:s0:c168,c961"
DEBU[0000] mounted container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801" at "/var/lib/containers/users/user/storage/overlay/1bf2f0248cb927f67d669700534583f
8b68fd3057e73a917088630290dd2c211/merged"
DEBU[0000] Created root filesystem for container 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801 at /var/lib/containers/users/user/storage/overlay/1bf2f0248cb927
f67d669700534583f8b68fd3057e73a917088630290dd2c211/merged
DEBU[0001] /etc/system-fips does not exist on host, not mounting FIPS mode secret
DEBU[0001] Created OCI spec for container 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801 at /var/lib/containers/users/user/storage/overlay-containers/8d91c86cd4
1b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801/userdata/config.json
DEBU[0001] /usr/bin/conmon messages will be logged to syslog
DEBU[0001] running conmon: /usr/bin/conmon               args="[--api-version 1 -c 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801 -u 8d91c86cd41b8f342c2779e27930d7b
b50538821f4789f193a13af6b43520801 -r /usr/bin/runc -b /var/lib/containers/users/user/storage/overlay-containers/8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801/u
serdata -p /var/lib/containers/users/user/run/overlay-containers/8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801/userdata/pidfile -l k8s-file:/var/lib/containers
/users/user/storage/overlay-containers/8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801/userdata/ctr.log --exit-dir /run/pods/user/libpod/tmp/exits --socket-d
ir-path /run/pods/user/libpod/tmp/socket --log-level debug --syslog -t --conmon-pidfile /var/lib/containers/users/user/run/overlay-containers/8d91c86cd41b8f342c2779e27930d7bb
50538821f4789f193a13af6b43520801/userdata/conmon.pid --exit-command /usr/bin/podman --exit-command-arg --root --exit-command-arg /var/lib/containers/users/user/storage --exit-com
mand-arg --runroot --exit-command-arg /var/lib/containers/users/user/run --exit-command-arg --log-level --exit-command-arg debug --exit-command-arg --cgroup-manager --exit-comman
d-arg cgroupfs --exit-command-arg --tmpdir --exit-command-arg /run/pods/user/libpod/tmp --exit-command-arg --runtime --exit-command-arg runc --exit-command-arg --storage-driver -
-exit-command-arg overlay --exit-command-arg --storage-opt --exit-command-arg overlay.mount_program=/bin/fuse-overlayfs --exit-command-arg --events-backend --exit-command-arg file --
exit-command-arg container --exit-command-arg cleanup --exit-command-arg 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801]"
WARN[0001] Failed to add conmon to cgroupfs sandbox cgroup: error creating cgroup for cpu: mkdir /sys/fs/cgroup/cpu/libpod_parent: permission denied
DEBU[0001] Received: -1
DEBU[0001] Cleaning up container 8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801
DEBU[0001] Network is already cleaned up, skipping...
DEBU[0001] unmounted container "8d91c86cd41b8f342c2779e27930d7bb50538821f4789f193a13af6b43520801"
DEBU[0001] ExitCode msg: "container_linux.go:345: starting container process caused \"process_linux.go:430: container init caused \\\"rootfs_linux.go:147: setting rootfs as readonly
caused \\\\\\\"operation not permitted\\\\\\\"\\\"\": oci runtime permission denied error"
ERRO[0001] container_linux.go:345: starting container process caused "process_linux.go:430: container init caused \"rootfs_linux.go:147: setting rootfs as readonly caused \\\"operati
on not permitted\\\"\"": OCI runtime permission denied error

$ podman info --debug
debug:
  compiler: gc
  git commit: ""
  go version: go1.12.12
  podman version: 1.6.4
host:
  BuildahVersion: 1.12.0-dev
  CgroupVersion: v1
  Conmon:
    package: conmon-2.0.8-1.el7.x86_64
    path: /usr/bin/conmon
    version: 'conmon version 2.0.8, commit: f85c8b1ce77b73bcd48b2d802396321217008762'
  Distribution:
    distribution: '"centos"'
    version: "7"
  IDMappings:
    gidmap:
    - container_id: 0
      host_id: 1015
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
    uidmap:
    - container_id: 0
      host_id: 1011
      size: 1
    - container_id: 1
      host_id: 165536
      size: 65536
  MemFree: 134238208
  MemTotal:<PHONE_NUMBER>
  OCIRuntime:
    name: runc
    package: runc-1.0.0-89.dev.git029124d.el7.x86_64
    path: /usr/bin/runc
    version: |-
      runc version 1.0.0-rc7+dev
      commit: 98107a1959795eaa8040ea0f5770fa381a5f0b58
      spec: 1.0.1-dev
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 4
  eventlogger: file
  hostname: pods.example.com
  kernel: 3.10.0-1127.el7.x86_64
  os: linux
  rootless: true
  slirp4netns:
    Executable: /bin/slirp4netns
    Package: slirp4netns-0.4.3-4.el7_8.x86_64
    Version: |-
      slirp4netns version 0.4.3
      commit: 2244b9b6461afeccad1678fac3d6e478c28b4ad6
  uptime: 50h 34m 50.22s (Approximately 2.08 days)
registries:
  blocked: null
  insecure: null
  search:
  - registry.access.redhat.com
  - registry.fedoraproject.org
  - registry.centos.org
  - docker.io
store:
  ConfigFile: /home/user/.config/containers/storage.conf
  ContainerStore:
    number: 6
  GraphDriverName: overlay
  GraphOptions:
    overlay.mount_program:
      Executable: /bin/fuse-overlayfs
      Package: fuse-overlayfs-0.7.2-6.el7_8.x86_64
      Version: |-
        fuse-overlayfs: version 0.7.2
        FUSE library version 3.6.1
        using FUSE kernel interface version 7.29
  GraphRoot: /var/lib/containers/users/user/storage
  GraphStatus:
    Backing Filesystem: xfs
    Native Overlay Diff: "false"
    Supports d_type: "true"
    Using metacopy: "false"
  ImageStore:
    number: 2
  RunRoot: /var/lib/containers/users/user/run
  VolumePath: /var/lib/containers/users/user/storage/volumes

This looks like it works on Fedora and perhaps newer versions of podman on RHEL8.  Any chance you could try this on RHEL8?

It works on Centos 8.1 using podman 1.6.4 - though this is not yet with cgroupv2

Please open a bugzilla on this, since this is not an issue in the upstream.


Do a multimarker setup to get more range in marker detections

TODO: describe what this title means :)

This I assume :) https://artoolkit.org/documentation/doku.php?id=3_Marker_Training:marker_multi

I envision ad-hoc multimarker detection.

Link and close?

thanks for pinging me. this is implemented now :)
https://github.com/jeromeetienne/AR.js/tree/master/three.js/examples/multi-markers
artoolkit multi marker was static and was super buggy.
So i implemented my own multimarker. With a very nice workflow to dynamically learn new area of multi markers.


Azure Traffic Collector CLI

Resource Provider
Microsoft.NetworkFunction
Description of Feature or Work Requested
Generate CLI for Azure Traffic Collector
Minimum API Version Required
2022-05-01
Swagger Link
https://github.com/Azure/azure-rest-api-specs-pr/pull/4405 (In Dev branch.)
Working on merging swagger to public repo.
Target Date
May 2022 (Public Preview)

PLR

@jaganpani, once the swagger is merged into public repository, please let us know, thanks.

@jsntcy any updates on this request.

@jaganpani, recently we developed a new CLI code generator and we'd like to invite you (or someone from your team) as our first customer to try our new code generator to generate CLI code automatically.
We can set up a quick meeting with you to guide you to generate code step by step using the tool.
Really appreciated if you can try our new codegen tool.

@jsntcy , lets setup a meeting to go over the tool.

@jsntcy Yu Chen FTE , lets setup a meeting to go over the tool.

My teammate Kai Ru will setup a meeting with you to go over the tool.

@jaganpani, what's release stage for traffic collector? Public Preview or GA?

@jaganpani, any update?

After talking with the Service team, would like to GA along with the Microsoft Ignite release.  This might be a good candidate for CodeGen V2 and the team has expressed interest in using CodeGen V2 as long as it is stable and won't interfere with their timeline.
The team is also requesting information about timelines for release. Branch cutoff etc. @yonzhan, let me know if there are any questions or concerns about any of these points.

@chasewilson good to know. For new RP like this, we encourage them using CodeGen V2 to implement.


Copy to clipboard not working in vim

I just installed your plugin, and it works amazingly except when I try to use it in vim. I both tried installing the vim-husk and vim-rsi  plugins (not at the same time). But I still can not copy anything to the system clipboard.
System setup

Oh my tmux .tmux.conf file
My .tmux.conf.local file
My .vim setup

After reinstalling my os I do no longer have this issue. I, therefore, suspect it was caused by an upstream component.


HQ Camera does not start at full resolution.

With a Raspberry Pi Zero 2 W running Buster 32bit and an HQ Camera this is the code I am using:
from picamera2.picamera2 import *
import time

picam2 = Picamera2()
picam2.start_preview()

config = picam2.still_configuration()
picam2.configure(config)

picam2.start()

time.sleep(2)

image = picam2.capture_file("test.jpg")

picam2.stop()

and this is the output:
[0:39:01.109655276] [2255]  INFO IPAManager ipa_manager.cpp:138 libcamera is not installed. Adding '/home/pi/dev/libcamera/build/src/ipa' to the IPA search path
[0:39:01.118175912] [2255]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3447-c6bb050a
[0:39:01.125627732] [2256]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'imx477'
[0:39:01.125736276] [2256]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:39:01.125803985] [2256] ERROR CameraSensor camera_sensor.cpp:551 'imx477 10-001a': Camera sensor does not support test pattern modes.
[0:39:01.160112315] [2256]  INFO IPAProxy ipa_proxy.cpp:130 libcamera is not installed. Loading IPA configuration from '/home/pi/dev/libcamera/src/ipa/raspberrypi/data'
[0:39:01.195346075] [2256]  INFO RPI raspberrypi.cpp:1337 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media2 and ISP device /dev/media0
2022-03-20T05:57:15.885Z | INFO     | Initialization successful.
2022-03-20T05:57:15.885Z | INFO     | Camera now open.
[0:39:01.204407916] [2255]  INFO Camera camera.cpp:1028 configuring streams: (0) 4048x3040-XBGR8888
[0:39:01.206843627] [2256]  INFO RPI raspberrypi.cpp:757 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 4056x3040-SBGGR12_1X12 - Selected unicam format: 4056x3040-pBCC
2022-03-20T05:57:15.897Z | INFO     | Configuration successful!
[0:39:02.882906289] [2256] ERROR V4L2 v4l2_videodevice.cpp:1192 /dev/video14[15:cap]: Unable to request 1 buffers: Cannot allocate memory
[0:39:02.944480300] [2256] ERROR RPI raspberrypi.cpp:999 Failed to allocate buffers
2022-03-20T05:57:17.906Z | ERROR    | Camera did not start properly.
Traceback (most recent call last):
  File "/home/pi/dev/volcapcam/picamtest.py", line 10, in <module>
    picam2.start()
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 491, in start
    self.start_(controls)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 485, in start_
    raise RuntimeError("Camera did not start properly.")
RuntimeError: Camera did not start properly.

Increasing the buffer size at full resolution to 3 or greater:
config = picam2.still_configuration(buffer_count=3)
Causes a different error:
[0:48:04.453514304] [2425]  INFO IPAManager ipa_manager.cpp:138 libcamera is not installed. Adding '/home/pi/dev/libcamera/build/src/ipa' to the IPA search path
[0:48:04.455952083] [2425]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3447-c6bb050a
[0:48:04.462834844] [2426]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'imx477'
[0:48:04.462945158] [2426]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:48:04.463012554] [2426] ERROR CameraSensor camera_sensor.cpp:551 'imx477 10-001a': Camera sensor does not support test pattern modes.
[0:48:04.491360845] [2426]  INFO IPAProxy ipa_proxy.cpp:130 libcamera is not installed. Loading IPA configuration from '/home/pi/dev/libcamera/src/ipa/raspberrypi/data'
[0:48:04.526177104] [2426]  INFO RPI raspberrypi.cpp:1337 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media2 and ISP device /dev/media0
2022-03-20T06:06:19.216Z | INFO     | Initialization successful.
2022-03-20T06:06:19.216Z | INFO     | Camera now open.
[0:48:04.533299138] [2425]  INFO Camera camera.cpp:1028 configuring streams: (0) 4048x3040-XBGR8888
[0:48:04.534249249] [2426]  INFO RPI raspberrypi.cpp:757 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 4056x3040-SBGGR12_1X12 - Selected unicam format: 4056x3040-pBCC
2022-03-20T06:06:19.224Z | INFO     | Configuration successful!
[0:48:04.851581019] [2426] ERROR V4L2 v4l2_videodevice.cpp:1199 /dev/video14[15:cap]: Not enough buffers provided by V4L2VideoDevice
Traceback (most recent call last):
  File "/home/pi/dev/volcapcam/picamtest.py", line 8, in <module>
    picam2.configure(config)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 458, in configure
    self.configure_(camera_config)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 447, in configure_
    self.logger.critical("Failed to allocate buffers.")
AttributeError: 'Picamera2' object has no attribute 'logger'

Lowering the resolution by half works:
config = picam2.still_configuration(main={"size": (2028, 1520)})
Preview configuration also works at half resolution:
config = picam2.preview_configuration(main={"size": (2028, 1520)})
But a preview configuration at full resolution results in the same Not enough buffers provided by V4L2VideoDevice error:
config = picam2.preview_configuration(main={"size": (4056, 3040)})

Hi, thanks for reporting this. Could you please post:

The output of cat /proc/meminfo.
The contents of your /boot/config.txt file.
Can you say whether you are running this using an attached display and keyboard, or over ssh or using VNC.
Are you running the full Raspberry Pi OS or Raspberry PI OS Lite?
Do you have X Windows installed and are you using it?

Thanks.

The output of cat /proc/meminfo.

MemTotal:         372896 kB
MemFree:           86572 kB
MemAvailable:     157176 kB
Buffers:            8820 kB
Cached:           110548 kB
SwapCached:        11200 kB
Active:            66876 kB
Inactive:         116708 kB
Active(anon):      10168 kB
Inactive(anon):    63744 kB
Active(file):      56708 kB
Inactive(file):    52964 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       2097148 kB
SwapFree:        2041340 kB
Dirty:                28 kB
Writeback:             0 kB
AnonPages:         54124 kB
Mapped:            63548 kB
Shmem:              9696 kB
KReclaimable:      11972 kB
Slab:              29108 kB
SReclaimable:      11972 kB
SUnreclaim:        17136 kB
KernelStack:        1864 kB
PageTables:         4208 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2283596 kB
Committed_AS:    1038700 kB
VmallocTotal:    1687552 kB
VmallocUsed:        6188 kB
VmallocChunk:          0 kB
Percpu:              528 kB
CmaTotal:         262144 kB
CmaFree:           39252 kB

The contents of your /boot/config.txt file.

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
#dtparam=spi=on

# Uncomment this to enable infrared communication.
#dtoverlay=gpio-ir,gpio_pin=17
#dtoverlay=gpio-ir-tx,gpio_pin=18

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# Automatically load overlays for detected cameras
camera_auto_detect=1

# Automatically load overlays for detected DSI displays
display_auto_detect=1

# Enable DRM VC4 V3D driver
dtoverlay=vc4-kms-v3d
max_framebuffers=2

# Disable compensation for displays with overscan
disable_overscan=1

[cm4]
# Enable host mode on the 2711 built-in XHCI USB controller.
# This line should be removed if the legacy DWC2 controller is required
# (e.g. for USB device mode) or if USB support is not required.
otg_mode=1

[all]

[pi4]
# Run as fast as firmware / board allows
arm_boost=1

[all]
gpu_mem=128

Can you say whether you are running this using an attached display and keyboard, or over ssh or using VNC.

Occurs with an HDMI display and separate mouse and keyboard over a USB hub, as well as over SSH without the HDMI and USB connected. It is being powered from a 5V 3.4A Max power source over USB power.

Are you running the full Raspberry Pi OS or Raspberry PI OS Lite?

Full Raspberry Pi OS 32Bit installed using Raspberry Pi Imager on March 18th 2022.

Do you have X Windows installed and are you using it?

I don't believe so. pidof X returns nothing.
This was a completely fresh install of the OS for the sole purpose of running Picamera2. Following the install instructions, enabling glamor, increasing the swap space to 2048 and gpu memory to 128. The same errors still occur if I revert back to 64.

The same errors still occur if I revert back to 64.
This was with preview_configuration at full res (which I believe has 3 or 4 buffers). If I run the original script over SSH with display and keyboard unplugged and with GPU set to 64 the script runs normally.

The most obvious thing that I see in your /proc/meminfo is that you have very little free CMA. Here are some things to try:

Firstly, do not increase the amount of gpu_mem, this can only do bad things. I would recommend deleting that line and letting the system decide (arguably making it lower than the default might help, but that may be inadvisable if you want to use the video encoder). I think vcgencmd get_mem gpu will tell you how much you have.
If you're not using the X windows libcamera previews, then you should disable Glamor (and reboot), as it will use up precious CMA.
Even better, if you're not using X windows then Raspberry Pi OS Lite may be a better choice.

Then have a look at your /proc/meminfo and let's see if the CMA is in better shape.

I tried a new clean install of Raspberry Pi OS Lite 32Bit. It needs the following things to also be installed:
sudo apt install libatlas-base-dev
python -m pip install numpy
python -m pip install Pillow

However I am getting the same Unable to request 2 buffers: Cannot allocate memory error:
[0:09:37.336817177] [2486]  INFO IPAManager ipa_manager.cpp:138 libcamera is not installed. Adding '/home/pi/dev/libcamera/build/src/ipa' to the IPA search path
[0:09:37.353484470] [2486]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3447-c6bb050a
[0:09:37.358872318] [2487]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'imx477'
[0:09:37.358968464] [2487]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:09:37.359033828] [2487] ERROR CameraSensor camera_sensor.cpp:551 'imx477 10-001a': Camera sensor does not support test pattern modes.
[0:09:37.387341346] [2487]  INFO IPAProxy ipa_proxy.cpp:130 libcamera is not installed. Loading IPA configuration from '/home/pi/dev/libcamera/src/ipa/raspberrypi/data'
[0:09:37.418727292] [2487]  INFO RPI raspberrypi.cpp:1337 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media3 and ISP device /dev/media0
2022-03-20T21:55:19.648Z | INFO     | Initialization successful.
2022-03-20T21:55:19.649Z | INFO     | Camera now open.
[0:09:37.424198421] [2486]  INFO Camera camera.cpp:1028 configuring streams: (0) 4048x3040-XBGR8888
[0:09:37.424992482] [2487]  INFO RPI raspberrypi.cpp:757 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 4056x3040-SBGGR12_1X12 - Selected unicam format: 4056x3040-pBCC
2022-03-20T21:55:19.655Z | INFO     | Configuration successful!
[0:09:37.757330846] [2487] ERROR V4L2 v4l2_videodevice.cpp:1192 /dev/video14[15:cap]: Unable to request 2 buffers: Cannot allocate memory
Traceback (most recent call last):
  File "/home/pi/dev/volcapcam/picamtest.py", line 8, in <module>
    picam2.configure(config)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 458, in configure
    self.configure_(camera_config)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 447, in configure_
    self.logger.critical("Failed to allocate buffers.")
AttributeError: 'Picamera2' object has no attribute 'logger'

Here is the output of cat /proc/meminfo on the new card:
MemTotal:         437860 kB
MemFree:          234264 kB
MemAvailable:     335572 kB
Buffers:           21160 kB
Cached:           117136 kB
SwapCached:         6420 kB
Active:            71168 kB
Inactive:          81332 kB
Active(anon):       2052 kB
Inactive(anon):    12616 kB
Active(file):      69116 kB
Inactive(file):    68716 kB
Unevictable:          16 kB
Mlocked:              16 kB
SwapTotal:       2097148 kB
SwapFree:        2088444 kB
Dirty:                28 kB
Writeback:             0 kB
AnonPages:          7908 kB
Mapped:            16712 kB
Shmem:               448 kB
KReclaimable:      17060 kB
Slab:              32440 kB
SReclaimable:      17060 kB
SUnreclaim:        15380 kB
KernelStack:        1016 kB
PageTables:         1004 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     2316076 kB
Committed_AS:     131944 kB
VmallocTotal:    1622016 kB
VmallocUsed:        6020 kB
VmallocChunk:          0 kB
Percpu:              528 kB
CmaTotal:         262144 kB
CmaFree:          183592 kB

After rebooting and running the script from the Lite OS command line using a mouse and keyboard, the script works.
After rebooting and logging in through SSH and running the script, I get this error:
[0:00:50.333655316] [806]  INFO IPAManager ipa_manager.cpp:138 libcamera is not installed. Adding '/home/pi/dev/libcamera/build/src/ipa' to the IPA search path
[0:00:50.360200240] [806]  INFO Camera camera_manager.cpp:293 libcamera v0.0.0+3447-c6bb050a
[0:00:50.365729220] [809]  WARN CameraSensorProperties camera_sensor_properties.cpp:141 No static properties available for 'imx477'
[0:00:50.365827338] [809]  WARN CameraSensorProperties camera_sensor_properties.cpp:143 Please consider updating the camera sensor properties database
[0:00:50.365892021] [809] ERROR CameraSensor camera_sensor.cpp:551 'imx477 10-001a': Camera sensor does not support test pattern modes.
[0:00:50.394530805] [809]  INFO IPAProxy ipa_proxy.cpp:130 libcamera is not installed. Loading IPA configuration from '/home/pi/dev/libcamera/src/ipa/raspberrypi/data'
[0:00:50.426442429] [809]  INFO RPI raspberrypi.cpp:1337 Registered camera /base/soc/i2c0mux/i2c@1/imx477@1a to Unicam device /dev/media2 and ISP device /dev/media0
2022-03-20T23:54:24.665Z | INFO     | Initialization successful.
2022-03-20T23:54:24.666Z | INFO     | Camera now open.
[0:00:50.431914797] [806]  INFO Camera camera.cpp:1028 configuring streams: (0) 4048x3040-XBGR8888
[0:00:50.432725000] [809]  INFO RPI raspberrypi.cpp:757 Sensor: /base/soc/i2c0mux/i2c@1/imx477@1a - Selected sensor format: 4056x3040-SBGGR12_1X12 - Selected unicam format: 4056x3040-pBCC
2022-03-20T23:54:24.672Z | INFO     | Configuration successful!
[0:00:50.659514349] [809] ERROR V4L2 v4l2_videodevice.cpp:1192 /dev/video14[15:cap]: Unable to request 1 buffers: Cannot allocate memory
[0:00:50.662486063] [809] ERROR RPI raspberrypi.cpp:999 Failed to allocate buffers
2022-03-20T23:54:24.901Z | ERROR    | Camera did not start properly.
Traceback (most recent call last):
  File "/home/pi/dev/volcapcam/picamtest.py", line 10, in <module>
    picam2.start()
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 491, in start
    self.start_(controls)
  File "/home/pi/dev/picamera2/picamera2/picamera2.py", line 485, in start_
    raise RuntimeError("Camera did not start properly.")
RuntimeError: Camera did not start properly.

Logging out of SSH (without rebooting) and running the script using mouse and keyboard input works. Then logging in to SSH (still without rebooting) works.
Rebooting, logging in through SSH, and then running the script using mouse and keyboard fails. Then logging out of SSH and trying the script again with mouse and keyboard works.
Does it make sense for SSH to take up enough memory on the pi to make this big of a difference? Or could it be a permissions/access issue separate from the previous ones?

Hi, so this is all sounding very strange. I don't see how an ssh process can affect the amount of CMA that you have. Does running grep -i cma /proc/meminfo show any differences if you run it just before the working or non-working cases?
Another couple of things to check:

Does dmesg show anything useful? Maybe run sudo dmesg -C first to clear it, then have at look at dmesg after a failure. Is there anything in there that looks like an error?
Again, just before the working and non-working cases, try sudo cat /sys/kernel/debug/vcsm-cma/state. This should list all the allocated CMA. Is that showing any differences?

It gets even stranger. After booting up the device seems to have about 160000 of cma free, then after running the camera script (or really running anything from command line) another 60000-80000 of cma becomes free. I don't think SSH is to blame, since I was able to run successfully after running grep -i cma /proc/meminfo right after a failed run.
These were a few test runs I did. Success failure is pretty random, but then success is consistent once enough cma is free.
- Boot

- Run grep -i cma /proc/meminfo with mouse + keyboard

CmaTotal: 262144 kB
CmaFree: 165488 kB

- Run script with mouse + keyboard successfully without error

- Login with SSH

- Run grep -i cma /proc/meminfo through SSH

CmaTotal: 262144 kB
CmaFree: 223856 kB

- Run script through SSH successfully without error

- Boot

- Login with SSH

- Run grep -i cma /proc/meminfo through SSH

CmaTotal: 262144 kB
CmaFree: 167300 kB

- Run script through SSH succesfully without error

- Run grep -i cma /proc/meminfo through SSH

CmaTotal: 262144 kB
CmaFree: 224568 kB

- Boot

- Login with SSH

- Run script through SSH FAILS with error

- Run grep -i cma /proc/meminfo through SSH

CmaTotal: 262144 kB
CmaFree: 203508 kB

- Run script through SSH succesfully without error

This is what I go at the end of dmesg after 2 failed attempts in a row followed by 2 successful attempts:
[   12.536996] imx477 10-001a: Device found is imx477
[   12.537306] imx477 10-001a: Consider updating driver imx477 to match on endpoints
[   12.758198] brcmfmac: brcmf_cfg80211_set_power_mgmt: power save enabled
[   14.142192] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
[   16.244293] ICMPv6: process `dhcpcd' is using deprecated sysctl (syscall) net.ipv6.neigh.wlan0.retrans_time - use net.ipv6.neigh.wlan0.retrans_time_ms instead
[   18.186695] Bluetooth: Core ver 2.22
[   18.186814] NET: Registered protocol family 31
[   18.186822] Bluetooth: HCI device and connection manager initialized
[   18.190062] Bluetooth: HCI socket layer initialized
[   18.190082] Bluetooth: L2CAP socket layer initialized
[   18.190110] Bluetooth: SCO socket layer initialized
[   18.256979] Bluetooth: HCI UART driver ver 2.3
[   18.256998] Bluetooth: HCI UART protocol H4 registered
[   18.257092] Bluetooth: HCI UART protocol Three-wire (H5) registered
[   18.257325] Bluetooth: HCI UART protocol Broadcom registered
[   18.894409] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[   18.894425] Bluetooth: BNEP filters: protocol multicast
[   18.894446] Bluetooth: BNEP socket layer initialized
[   18.915929] NET: Registered protocol family 38
[   18.963567] cryptd: max_cpu_qlen set to 1000
[   28.121337] cma: cma_alloc: alloc failed, req-size: 12018 pages, ret: -16
[   28.121362] bcm2835-isp bcm2835-isp: dma_alloc_coherent of size 49225728 failed
[   33.755947] cam1-reg: disabling
[   33.755969] cam-dummy-reg: disabling
[   43.595961] cma: cma_alloc: alloc failed, req-size: 12018 pages, ret: -16
[   43.595989] bcm2835-isp bcm2835-isp: dma_alloc_coherent of size 49225728 failed

sudo cat /sys/kernel/debug/vcsm-cma/state doesn't list anything under resources.

I've been trying some of this as well, and I do see slightly strange behaviour in that the free CMA seems somewhat variable, and indeed can occasionally go up. We'll investigate some more.
In the meantime, there's probably some more advice I can give. The default image formats that Picamera2 (currently) chooses are not always the best ones. By default it selects RGBA type images because those are the only ones that work with all the different kinds of preview windows as well as the hardware video encoder, in OpenCV and the usual Python still image encoders. But they are also much the most memory hungry ones.
So you would almost certainly have more luck if you set the format like this:
config = picam2.still_configuration(main={"format": "RGB888"})

In fact this format works OK with the DRM/KMS preview window (which is what you would get if you aren't running X Windows), and also in those various image encoders, so there's probably no reason not to use it. But there's no way round the fact that on a Pi Zero 2 you're going to have to be a bit careful - a single 12MP RGBA buffer occupies 48MB (an RGB only buffer is better, but still 36MB each), and the camera system needs several to keep the frames flowing through.
Do you have a particular application in mind? As you can see, there are definite pros and cons to some of the image format and resolution choices, and they can vary depending on the platform.

Thank for the the additional advice. Anecdotally specifying the format seems more reliable, but I do still occasionally get the error after bootup. But after a minute or two the error just seems to go away without any intervention.
Could it be that there is some background process from boot up that is still freeing up memory after logging in? Or perhaps even the camera itself needs more time after the pi has been turned on?
The project I am working on is synchronized still photography of multiple Pi HQ Cameras. I am planning to use the external sync signal feature (https://forums.raspberrypi.com/viewtopic.php?t=281913) but haven't gotten to that point yet.
For my particular use case I'm not planning on doing any realtime previews on the pi itself, and I really only need the first received frame from the camera (exposure, gain and whitebalance would all be manually fixed and set in the start command). I am curious if there is a way to just use 1 buffer for this use case, but it seems like the library and API are built around a sequential camera feed.

Yes, we're going to look into the mysterious CMA issues, it feels somewhat like a fragmentation issue though it's not clear to me how it's happening.
You should be able to get by with a single set of buffers (pass buffer_count=1). Normally we allocate at least 2 because some of the preview windows hang on to a buffer until the next one arrives, so that would clearly grind to a halt otherwise. But one buffer should be fine so long as you don't use those preview windows and don't mind dropping frames in between. The way these cameras work is that by the time it gives you a frame the camera is already writing the next one to memory. With a single buffer the system will end up dropping frames until it gets the buffer back again. But it doesn't sound like this is an issue for you.

Just to update you with our progress on this. We have found that the Linux kernel is a bit over-zealous in trying to use CMA memory for itself, and this particularly afflicts platforms where the CMA area is at least half the the total system memory. This clearly includes the Pi Zero 2 as the CMA area defaults to 256MB and the total memory is 512MB.
So we'll put in a patch to improve the situation there, and I've verified that the original script starts reliably now. That will appear through sudo rpi-update in due course. Though on the lower memory platforms, tailoring the pixel formats, buffer counts and sizes to the specific use-case, is always likely to remain something to watch out for.

Thanks @davidplowman, in the meantime if the camera fails trying again after 10-15 seconds seems to be a temporary workaround.

The latest images (released yesterday) should have this kernel fix in, in fact when I installed a fresh OS Lite onto a Pi Zero today, updated and rebooted it, it reports 240MB free CMA (out of 256MB) right away.
Armed with a bit more information about formats (for example prefer "RGB888" if you aren't using the X-Windows OpenGL accelerated preview) and the number of buffers you need, I'm going to mark this one as resolved. But please get back to us if you're still experiencing problems or would like more advice in this area. Thanks!

I installed a brand new install of the latest official OS Lite 32. After startup the original example code I posted at the beginning of this issue failed for the first 10-15 seconds.
But as expected this modified version works even immediately after startup. So far I have tested it 10 reboots in a row without issue.
from picamera2.picamera2 import *
import time

picam2 = Picamera2()
picam2.start_preview()

config = picam2.still_configuration(main={"format": "RGB888", "buffer_count": 1})
picam2.configure(config)

picam2.start()

time.sleep(2)

image = picam2.capture_file("test.jpg")

picam2.stop()

Hmm, maybe I'm wrong about that fix being in the latest image. If you could bear to perform one more experiment....
Would you be able to run sudo rpi-update (don't do this on an image with anything on it that you couldn't bear to lose), re-boot and retry the original script? That really will have that fix, so we could judge whether the behaviour is the same.

I installed a brand new install of the latest official OS Lite 32. After startup the original example code I posted at the beginning of this issue failed for the first 10-15 seconds.
But as expected this modified version works even immediately after startup. So far I have tested it 10 reboots in a row without issue.
from picamera2.picamera2 import *
import time

picam2 = Picamera2()
picam2.start_preview()

config = picam2.still_configuration(main={"format": "RGB888", "buffer_count": 1})
picam2.configure(config)

picam2.start()

time.sleep(2)

image = picam2.capture_file("test.jpg")

picam2.stop()

Thank you again for all of your help!

Your
config = picam2.still_configuration(main={"format": "RGB888", "buffer_count": 1})

should be
config = picam2.still_configuration(main={"format": "RGB888"}, buffer_count=1)

At least that's what worked by me


CNI chaining fails and does not self-heal in AKS

Describe the bug
When Antrea agent pods start up before the pods of the default network stack of AKS, the CNI chaining occasionally fails and pod creation is blocked for the given nodes. Manually restarting the install-cni container, after the AKS network pods have started successfully, leads to a sufficient recovery of the CNI chaining.
To Reproduce

Create an AKS cluster with Azure CNI Overlay as network plugin.
Install Antrea in network-policy-only mode.
Scale up the cluster with a couple of new nodes and hope for Antrea agent pods to start before the Azure CNI overlay pods.
Watch new node(s) being marked as NotReady with error message: container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized.
Open a shell into the install-cni container and print its content: cat /host/etc/cni/net.d/05-antrea.conflist. Which shows that it is empty.

Expected
Expected Antrea not to leave the CNI plugin setup in an invalid state, but resolve the issue automatically.
Actual behavior
Node is marked as NotReady until the AKS engine decides to replace the node, due to it being stuck in NotReady state. The issue also blocks AKS clusters from properly autoscaling, as the new nodes are not usable and can not host pods (as they are NotReady).
Versions:
Antrea: 2.0.1
Kubernetes: 1.28.5
Container runtime: Containerd 1.7.15-1
Linux kernel version: 5.15.0-1061-azure
Additional context
I have applied the following workaround:
    # fail if the content is empty (custom)
    if [[ "$content" =~ ^[[:space:]]*$ ]]; then
        log_error "install_cni_chaining" "Chaining failed. Proposed content is empty."
        exit 1
    fi

    # fail if the content is not valid JSON (custom)
    echo "$content" | jq empty >/dev/null 2>&1
    if [[ $? != 0 ]]; then
        log_error "install_cni_chaining" "CNI conf file is not valid JSON"
        exit 1
    fi

to this script and line number:
https://github.com/antrea-io/antrea/blob/fc401578f64c265701bd223765f05043ebbdd84b/build/images/scripts/install_cni_chaining#L90

@tnn-simon thanks for reporting the issue and the proposed workaround. If I understand correctly, the problem is because antrea-agent pod may start before azure-cni pod on a new Node, while the latter creates the cni conf.
I think we can fix it by v2.1 and backport it.

@tnn-simon thanks for reporting the issue and the proposed workaround. If I understand correctly, the problem is because antrea-agent pod may start before azure-cni pod on a new Node, while the latter creates the cni conf.
I think we can fix it by v2.1 and backport it.

Your understanding is correct. 2.1 and backport sounds magnificent.


UART examples crashes (IDFGH-6074)

Environment

Development Kit: Own hardware with Ethernet PHY and ESP32-WROOM-32
Module or chip used:  ESP32-WROOM-32
IDF version v4.3.1
Build System: CMake
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2021r1) 8.4.0
Operating System: Tested both on Windows 10 and MacOS BigSur
(Windows only) environment type: cmder (ConEmu)
Using an IDE?: No
Power Supply: External 5V power supply

Problem Description
Both uart event and uart echo examples crashes. I would like to avoid inventing wheel second time so lets focus on uart events example in this bug report, because it utilise esp-idf more, but please take a look at other examples too.
In uart events example sending at+++n command over uart end in Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Please look at my POC on my github I linked below and if you cant solve this issue give me a tips how can I solve it on my own - the JTAG debugger is on the way, but maybe I can boost panic log verbosity?
Expected Behavior
UART events example works and is based on the newest esp-idf stable version (now its v4.3.1)
Actual Behavior
UART events example crashes after sending string containing pattern to be detected
I (283) heap_init: At 4008BB48 len 000144B8 (81 KiB): IRAM
I (290) spi_flash: detected chip: generic
I (293) spi_flash: flash io: dio
I (298) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (308) uart: queue free spaces: 20
I (8238) uart_events: uart[1] event:
I (8238) uart_events: [UART DATA]: 2
I (8238) uart_events: [DATA EVT]:
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x400d381c: a73028b2 ffbf0000 ffffffff
0x400d381c: uart_pattern_enqueue at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/driver/uart.c:393

Core  0 register dump:
PC      : 0x400d3822  PS      : 0x00060033  A0      : 0x800d3c91  A1      : 0x3ffb07a0
0x400d3822: uart_pattern_enqueue at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/driver/uart.c:394 (discriminator 1)

A2      : 0x00000004  A3      : 0x00000002  A4      : 0x00000005  A5      : 0x3ffb07d0
A6      : 0x00000001  A7      : 0x3ffb7a08  A8      : 0x3ffb7520  A9      : 0x00000000
A10     : 0x00000001  A11     : 0x00000000  A12     : 0x00060021  A13     : 0x00060023
A14     : 0x00000001  A15     : 0x00060623  SAR     : 0x00000015  EXCCAUSE: 0x00000000
EXCVADDR: 0x00000000  LBEG    : 0x4000c28c  LEND    : 0x4000c296  LCOUNT  : 0x00000000

Backtrace:0x400d381f:0x3ffb07a0 0x400d3c8e:0x3ffb07c0 0x4008242d:0x3ffb0810 0x400e621b:0x3ffb6870 0x400d68b7:0x3ffb6890 0x400872ee:0x3ffb68b0 0x40088905:0x3ffb68d0
0x400d381f: uart_pattern_enqueue at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/driver/uart.c:393

0x400d3c8e: uart_rx_intr_handler_default at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/driver/uart.c:925

0x4008242d: _xt_lowint1 at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/freertos/port/xtensa/xtensa_vectors.S:1105

0x400e621b: cpu_ll_waiti at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/hal/esp32/include/hal/cpu_ll.h:183
 (inlined by) esp_pm_impl_waiti at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/esp_pm/pm_impl.c:827

0x400d68b7: esp_vApplicationIdleHook at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/esp_common/src/freertos_hooks.c:63

0x400872ee: prvIdleTask at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/freertos/tasks.c:3839 (discriminator 1)

0x40088905: vPortTaskWrapper at c:\dsa\projects\esp32-monitor-fail-poc\build/../esp-idf/components/freertos/port/xtensa/port.c:168

ELF file SHA256: 2750ea1632c62acb

CPU halted.

Steps to reproduce

Add git submodule esp-ifd, checkout v4.3.1 version, run install and export scripts
Copy uart events example from esp-idf\examples\peripherals\uart\uart_event
build, flash and monitor application
Send string with pattern (f.e. at+++x) over console
Try to debug IllegalInstruction

Code to reproduce this issue
https://github.com/dsabala/esp32-monitor-fail-poc
Debug Logs
https://github.com/dsabala/esp32-monitor-fail-poc/blob/master/fail_log.txt

I checked this solution and everything works. I think we can close this issue. Thank you @KaeLL


fix(getCollectivesWithBalance): Limit/offset doesn't apply to total

Coverage decreased (-0.02%) to 71.637% when pulling 3900c650e5cbd10054f3873c66f0dc2a5956a54a on allcollectives-with-balance-pagination-fix into 0f4ef3cc664707a54224afb8fde4cb91edecff72 on master.


Mocking MVC

I have multiple development team - Client side development, Service Development and others. Client side is a SPA. Is there a way to mock controllers so as my client side development can happen independently.
Problem Statement:
Client side needs data to test, however my service is not complete. My service might not be returning data for multiple reasons - service not implemented, underlying layers are not implemented, no data in DB etc. However I do have well defined models which will be serialized and returned from service. I also have sample data in json format.
One of the current practice is to mock the service call in client side. For example, in case of Angular, mock the angular service, use $httpbackend to mock the service call or just point to json file containing sample data instead of calling actual service. However I see few issues with this approach-

I do not actually call my service, which might be doing additional work in middleware.
Each client side framework has different way to mock calls.

What is needed:
Controller's Action should be mocked. Client should not be aware whether data being returned by service is mocked(fake) or real. Client should call the service endpoint passing required headers. When a call hits my service, it should proceed though middlewares till it hits the appropriate Controller's Action. At this point, I intercept the call to action and return a response with sample data.
This needs to be configurable, i.e for each action I can configure whether it is mocked or not.
Result:
This would definitely make client side development easier. I can configure for an action to be mocked, and need not wait till its underlying development is done. Once my service is developed, I can just switch off the mocking from config and service now returns actual data.
What is the best practice to do it? How is this done in industry currently?  Is something of this sort readily available for .net webapi/mvc?

I would recommend mocking the data service layer, not the MVC actions.
You could use environments to control this when you set up your application.
E.g. you'd have an IDataRepository interface and two implementations of it: a real one (eventually) that talks to real data. And a fake one that returns fake data. Depending on the app's current configuration, you would choose which implementation of the interface to register: the real one or the fake one.

That's one way to do it. However I was looking at something that is plugable from outside. The problem with the above approach is that I'll have to create two implementations. This clutters the codebase and for any change I'll have to rebuild the project.
The project I am working is quite huge. In fact there are multiple teams and 50+ developers. Moreover we have Microservice architecture resulting in lots of services. This was main reason why I wanted to decouple this with actual development. Though the above solution will still work I was thinking of any elegant solution.
We already have all the metadata about services available from ApiExplorer (same way as  Swashbuckle does for swagger docs generation), maybe we can handle this in a middleware.
I was grooming about this and thought whether we can create a middleware similar to DeveloperExceptionPage and overwrite Response object's properties based on the configuration.
Can this be achieved? Can a middleware overwrite Response object? If this can be done, an independent framework can be created and used across projects.

I still don't feel that mocking an API at the controller action layer is correct. That is really just an implementation detail of a service. I think mocking it at a much more distant layer makes more sense:

Mock it at the call site and avoid all the implementation details, including that it even goes over a network. That's my preference.
Mock it at the destination, but at a very low layer. For example, you could have a web server that traps certain URLs and returns canned responses for them.

I understand your viewpoint to mock at either end. Mocking at client side makes me loose benefits of middlewares such as Authorization, versioning etc. Also the mocking implementation differs with different client side framework.
We do mock each layer on server side for unit testing. However creating a fake implementation of underlying layer just makes codebase large.
I was looking at something similar to SoapUI mocking or mockable.io which integrates with asp.net while preserving the middlewares as mentioned above.
I will check how we can achieve this for our project and see how well each of these process fits.
Thank you for quick responses.


Fix adding timestamp fields to session get query

This is possible solution of this issue.

Thanks for this, fixed my issue :)


Smash Ultimate crashes on boot up

I'm having issues booting smash, I've gotten some errors where it mentions data.arc doesn't match but it would still play so I ignored it. I tried to untinstall all mods and delete the manager itself but now it doesn't boot at all, reinstalled smash and now I'm redumping the data.arc. How does one properly uninstall this?

I've gotten some errors where it mentions data.arc doesn't match
Yes, that was fixed in the latest version. The warning was not accurate on previous versions.
UMM works by modifying your data.arc. None of its changes to the game will be there after re-dumping or removing the data.arc. If you still have crashes after that, UMM is likely not the issue.
Mods never change your actual install of the game, so you should never need to reinstall. You can hold L while launching smash to disable layeredfs for that launch of the game. This will disable all mods that are not loaded by custom sysmodules (like saltyNX). So if you run into an issue like this again, you can simply hold L to get back to playing if you don't want to immediately fix the issue.

I've gotten some errors where it mentions data.arc doesn't match
Yes, that was fixed in the latest version. The warning was not accurate on previous versions.
UMM works by modifying your data.arc. None of its changes to the game will be there after re-dumping or removing the data.arc. If you still have crashes after that, UMM is likely not the issue.
Mods never change your actual install of the game, so you should never need to reinstall. You can hold L while launching smash to disable layeredfs for that launch of the game. This will disable all mods that are not loaded by custom sysmodules (like saltyNX). So if you run into an issue like this again, you can simply hold L to get back to playing if you don't want to immediately fix the issue.


can't test http server

Any option to enable testing for http server?

@dexterns88 Testing HTTP server? How do you mean?

When I try to test graphql on http link get error , but when send request to https, working well.

Are you using the web app or an extension, or the electron app?

Tried with the web app, extension it's the same.

@antraks @dexterns88 It would be helpful to see a demo with the issue. I can't seem to reproduce it. Could you also check in the dev console if there is any errors generated there? That might be helpful in figuring out the issue.
Thanks.

I'm going to close this issue as non-reproducible since there isn't enough context for reproducing the issue.


Remove "unknown type" messages

Get rid of those unsightly and meaningless "unknown type" messages that happen at startup.

This PR's issue was resolved in #215.

This PR's issue was resolved in #215.


Parallelize LLMChain apply method with ThreadPoolExecutor

Creates separate threads to execute parallel chains, reduces latency.

Pulling all experimental changes into #326, closing


GitHubRepo handling inconsistent

Fix the discrepancy between GitHub RepoUrl and RepoName in IntegrationHandler and GitHubService.

See #160 as starting point.


Unbound type constructor React.Hooks.empty

info esy build 0.5.6 (using package.json)
ocamlc .App.eobjs/byte/MixMenu.{cmi,cmo,cmt} (exit 2)
(cd build/default && C:\Users\cloud.esy\3\i\ocaml-4.7.1004-d00f8396\bin\ocamlc.opt.exe -w -40 -g -bin-annot -I .App.eobjs/byte -I C:/Users/cloud/.esy/3/i/brisk__s__brisk_reconciler-d916c6a4/lib\brisk-reconciler -I C:/Users/cloud/.esy/3/i/flex-1.2.2-3014ff07/lib\flex -I C:/Users/cloud/.esy/3/i/ocaml-4.7.1004-d00f8396/lib/ocaml\threads -I C:/Users/cloud/.esy/3/i/opam__s__base-opam__c__v0.11.1-7b13fde3/lib\base -I C:/Users/cloud/.esy/3/i/opam__s__base-opam__c__v0.11.1-7b13fde3/lib\base\caml -I C:/Users/cloud/.esy/3/i/opam__s__base-opam__c__v0.11.1-7b13fde3/lib\base\md5 -I C:/Users/cloud/.esy/3/i/opam__s__base-opam__c__v0.11.1-7b13fde3/lib\base\shadow_stdlib -I C:/Users/cloud/.esy/3/i/opam__s__bin__prot-opam__c__v0.11.0-7a9d9ea4/lib\bin_prot -I C:/Users/cloud/.esy/3/i/opam__s__bin__prot-opam__c__v0.11.0-7a9d9ea4/lib\bin_prot\shape -I C:/Users/cloud/.esy/3/i/opam__s__color-opam__c__0.2.0-3b23684d/lib\color -I C:/Users/cloud/.esy/3/i/opam__s__core__kernel-opam__c__v0.11.1-33710b56/lib\core_kernel -I C:/Users/cloud/.esy/3/i/opam__s__core__kernel-opam__c__v0.11.1-33710b56/lib\core_kernel\base_for_tests -I C:/Users/cloud/.esy/3/i/opam__s__fieldslib-opam__c__v0.11.0-f5d5f880/lib\fieldslib -I C:/Users/cloud/.esy/3/i/opam__s__gg-opam__c__0.9.3-d23270d5/lib\gg -I C:/Users/cloud/.esy/3/i/opam__s__jane_street_headers-opam__c__v0.11.0-7c39b6e4/lib\jane-street-headers -I C:/Users/cloud/.esy/3/i/opam__s__lwt-opam__c__4.2.1-ca8fc262/lib\lwt -I C:/Users/cloud/.esy/3/i/opam__s__lwt-opam__c__4.2.1-ca8fc262/lib\lwt\unix -I C:/Users/cloud/.esy/3/i/opam__s__mmap-opam__c__1.1.0-eab0ea14/lib\mmap -I C:/Users/cloud/.esy/3/i/opam__s__ocamlfind-opam__c__1.8.0-b42da40d/lib\bytes -I C:/Users/cloud/.esy/3/i/opam__s__parsexp-opam__c__v0.11.0-fb8b22b8/lib\parsexp -I C:/Users/cloud/.esy/3/i/opam__s__ppx__assert-opam__c__v0.11.0-8980525a/lib\ppx_assert\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__ppx__bench-opam__c__v0.11.0-63ec2768/lib\ppx_bench\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__ppx__compare-opam__c__v0.11.1-f8b29b6a/lib\ppx_compare\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__ppx__expect-opam__c__v0.11.1-10acf264/lib\ppx_expect\collector -I C:/Users/cloud/.esy/3/i/opam__s__ppx__expect-opam__c__v0.11.1-10acf264/lib\ppx_expect\common -I C:/Users/cloud/.esy/3/i/opam__s__ppx__expect-opam__c__v0.11.1-10acf264/lib\ppx_expect\config -I C:/Users/cloud/.esy/3/i/opam__s__ppx__hash-opam__c__v0.11.1-c4e24d34/lib\ppx_hash\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__ppx__inline__test-opam__c__v0.11.0-919fd53f/lib\ppx_inline_test\config -I C:/Users/cloud/.esy/3/i/opam__s__ppx__inline__test-opam__c__v0.11.0-919fd53f/lib\ppx_inline_test\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__ppx__sexp__conv-opam__c__v0.11.2-91b1ebec/lib\ppx_sexp_conv\runtime-lib -I C:/Users/cloud/.esy/3/i/opam__s__result-opam__c__1.3-97276d6b/lib\result -I C:/Users/cloud/.esy/3/i/opam__s__seq-opam__c__base-2e840844/lib\seq -I C:/Users/cloud/.esy/3/i/opam__s__sexplib-opam__c__v0.11.0-33d346b3/lib\sexplib -I C:/Users/cloud/.esy/3/i/opam__s__sexplib0-opam__c__v0.11.0-0d0abb4b/lib\sexplib0 -I C:/Users/cloud/.esy/3/i/opam__s__splittable__random-opam__c__v0.11.0-67b9fd1f/lib\splittable_random -I C:/Users/cloud/.esy/3/i/opam__s__stdio-opam__c__v0.11.0-f14ee92a/lib\stdio -I C:/Users/cloud/.esy/3/i/opam__s__typerep-opam__c__v0.11.0-11f61d30/lib\typerep -I C:/Users/cloud/.esy/3/i/opam__s__variantslib-opam__c__v0.11.0-d37a44a8/lib\variantslib -I C:/Users/cloud/.esy/3/i/reason_fontkit-2.4.1-51716248/lib\fontkit -I C:/Users/cloud/.esy/3/i/reason_gl_matrix-0.9.9304-b93d8592/lib\reglm -I C:/Users/cloud/.esy/3/i/reason_glfw-3.2.1024-5356750f/lib\reglfw -I C:/Users/cloud/.esy/3/i/reason_native__s__console-0.0.3-4b408091/lib\console\lib -I C:/Users/cloud/.esy/3/i/rebez-fa97c6fe/lib\rebez\lib -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Core -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Draw -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Geometry -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Math -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Native -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_Shaders -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_UI -I C:/Users/cloud/.esy/3/i/revery-0.15.4-237b60e1/lib\Revery_UI_Components -no-alias-deps -o .App.eobjs/byte/MixMenu.cmo -c -impl MixMenu.re.ml)
File "MixMenu.re", line 9, characters 23-40:
Error: Unbound type constructor React.Hooks.empty
error: command failed: "refmterr" "dune" "build" "-p" "App" (exited with 1)
esy-build-package: exiting with errors above...
error: build failed with exit code: 1
esy: exiting due to errors above

@yawaramin @rauanmayemir @jc00ke @tcoopman

@hexiangdong2017 for this sort of question, you'd be better joining either the native UI discord (https://discordapp.com/invite/4pxY5Cp) or the general ReasonML discord (https://discordapp.com/invite/reasonml).
In general, if you want to get some help you need to post exactly what you did to get the error and what you've tried to do to fix it. Posting just the error means nobody can help you, since they can't try and recreate it!
Plus, tagging people isn't a good idea unless you are replying to them! Most people are doing a hundred things so they won't be able to respond even if you do tag them.

@CrossR I just paste the code from playground

@CrossR
open Revery;
open Revery.Math;
open Revery.UI;
open Revery.UI.Components;
let component = React.component("DefaultButtonWithCounter");
let make = (~window, ()) =>
component((_slots: React.Hooks.empty) => {
let increment = () => {
Dialog.alert(window, "Hello, world");
};
  let containerStyle =
    Style.[
      position(`Absolute),
      justifyContent(`Center),
      alignItems(`Center),
      bottom(0),
      top(0),
      left(0),
      right(0),
    ];

  <View style=containerStyle>
    <Button title="Alert" onClick=increment />
  </View>;
});

let createElement = (~children as _, ~window, ()) =>
React.element(make(~window, ()));

I‘m a newer to Revery UI and I just follow the playground. @CrossR

It looks like disable to use "React.Hooks.empty"
However, I can open React.Hooks and then use "empty" directly.

@CrossR

No No No,also can't use empty

It looks like React.Hooks Library doesn't have "empty".

@CrossR

@yawaramin @rauanmayemir @jc00ke

Sorry, the code I copied is from the playground on the Website. After I copy the example from this repo, no problems happen. You need update the playground on the Website. @CrossR @yawaramin @rauanmayemir @jc00ke


Mark currently playing song as favorited

Is your feature request related to a problem? Please describe.
I would like to be able to mark the currently playing song as a favorite.
Describe the solution you'd like
A menu toggle, maybe a button, and a keyboard shortcut to mark the currently playing song as favorite (heart)
Additional context
Unfortunately it's not possible to mark a track as favorite in the tracklist otherwise I could use that.

Looking into adding a menu option, GH-199. I think I know how to do this in a way that's not ugly (because the menu and the view controllers aren't aware of each other's state).
As a workaround, you can use AppleScript: tell application "Submariner" to set loved of current track to true
Fun fact! The now playing controls on iOS and watchOS have a like/favourite button, but not on macOS. If the system now playing controls ever do expose this though, the command is already implemented.

I've added a Favourite option in the menu for the selection in the next release. It has a shortcut on Cmd+E, so you could use Cmd+L for select current track, then Cmd+E for favouriting it. (This menu option also works from the tracklist.)


Zip version produces error "The code execution cannot proceed because Qt5Network.dll was not found"

Pretty sure the zip file is just missing the DLL.

after you put the ddl in the folder i get an error "entry point not found" how do i fix that?

I'm going to guess you downloaded a version of that file from the Internet and it was the wrong version.
At this point in time the best bet is to install it using the .exe installer on the Release page. If you really want to use the zip version, I've attached a screenshot showing which version of the DLL is installed when installing using the .exe. GitHub wouldn't let me attach the .dll :(

ok thanks

Should be fixed: 047e253ba5164bbe9fcf97c39a5a6d8ab868d379