VM remains Scheduled, with no qemu-kvm process in virt-launcher when using large images

/kind bug
What happened:
I tried to start a VM with windows 10, in a large'ish containerdisk of about 10 Gi, but the VM remains in phase Scheduled and I can't figure out why.
kubectl -n flfr describe virtualmachineinstance.kubevirt.io/windows-glenmorangie  says
Name:         windows-glenmorangie
Namespace:    flfr
Labels:       debugLogs=true
              kubevirt.io/domain=windows
              kubevirt.io/nodeName=glenmorangie
              kubevirt.io/size=small
Annotations:  debugLogs: true
              kubevirt.io/latest-observed-api-version: v1alpha3
              kubevirt.io/storage-observed-api-version: v1alpha3
API Version:  kubevirt.io/v1alpha3
Kind:         VirtualMachineInstance
Metadata:
  Creation Timestamp:  2020-07-01T13:50:13Z
  Finalizers:
    foregroundDeleteVirtualMachine
  Generation:  6
  Owner References:
    API Version:           kubevirt.io/v1alpha3
    Block Owner Deletion:  true
    Controller:            true
    Kind:                  VirtualMachine
    Name:                  windows-glenmorangie
    UID:                   444e2b8a-3f61-4167-96be-865ddaeb16bd
  Resource Version:        78944921
  Self Link:               /apis/kubevirt.io/v1alpha3/namespaces/flfr/virtualmachineinstances/windows-glenmorangie
  UID:                     a6c62771-623e-4145-9a7f-a00e4523d63b
Spec:
  Domain:
    Cpu:
      Cores:  2
    Devices:
      Disks:
        Disk:
          Bus:  virtio
        Name:   boot
        Disk:
          Bus:  virtio
        Name:   service
        Disk:
          Bus:  virtio
        Name:   tools
      Interfaces:
        Bridge:
        Name:  default
    Features:
      Acpi:
        Enabled:  true
    Firmware:
      Uuid:  2913d1e6-d616-57a6-ab11-c9759a89c192
    Machine:
      Type:  q35
    Resources:
      Requests:
        Cpu:     100m
        Memory:  10Gi
  Networks:
    Name:  default
    Pod:
  Node Selector:
    kubernetes.io/hostname:  glenmorangie
    Overlay:                 overlay2
  Volumes:
    Container Disk:
      Image:              docker.stibo.dk:5501/kubevirt-windows:win10
      Image Pull Policy:  IfNotPresent
    Name:                 boot
    Container Disk:
      Image:              docker.stibo.dk:5501/build-slave-service:latest
      Image Pull Policy:  Always
    Name:                 service
    Container Disk:
      Image:              docker.stibo.dk:5501/kubevirt-toolbox:8u152
      Image Pull Policy:  IfNotPresent
    Name:                 tools
Status:
  Active Pods:
    ffcbbaaa-7bca-449b-be86-b20dd75e6aff:  glenmorangie
  Conditions:
    Last Probe Time:       <nil>
    Last Transition Time:  <nil>
    Message:               cannot migrate VMI which does not use masquerade to connect to the pod network
    Reason:                InterfaceNotLiveMigratable
    Status:                False
    Type:                  LiveMigratable
    Last Probe Time:       <nil>
    Last Transition Time:  2020-07-01T13:50:40Z
    Message:               unknown error encountered sending command SyncVMI: rpc error: code = DeadlineExceeded desc = context deadline exceeded
    Reason:                Synchronizing with the Domain failed.
    Status:                False
    Type:                  Synchronized
  Guest OS Info:
  Interfaces:
    Ip Address:  <IP_ADDRESS>
    Ip Addresses:
      <IP_ADDRESS>
    Name:            default
  Migration Method:  BlockMigration
  Node Name:         glenmorangie
  Phase:             Scheduled
  Qos Class:         Burstable
Events:
  Type     Reason            Age   From                        Message
  ----     ------            ----  ----                        -------
  Normal   SuccessfulCreate  31s   virtualmachine-controller   Created virtual machine pod virt-launcher-windows-glenmorangie-cpvt2
  Warning  SyncFailed        4s    virt-handler, glenmorangie  unknown error encountered sending command SyncVMI: rpc error: code = DeadlineExceeded desc = context deadline exceeded

kubectl -n flfr describe pod/virt-launcher-windows-glenmorangie-cpvt2   says:
Name:         virt-launcher-windows-glenmorangie-cpvt2
Namespace:    flfr
Priority:     0
Node:         glenmorangie/<IP_ADDRESS>
Start Time:   Wed, 01 Jul 2020 15:50:13 +0200
Labels:       debugLogs=true
              kubevirt.io=virt-launcher
              kubevirt.io/created-by=a6c62771-623e-4145-9a7f-a00e4523d63b
              kubevirt.io/domain=windows
              kubevirt.io/size=small
Annotations:  cni.projectcalico.org/podIP: <IP_ADDRESS>/32
              debugLogs: true
              kubevirt.io/domain: windows-glenmorangie
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  VirtualMachineInstance/windows-glenmorangie
Init Containers:
  container-disk-binary:
    Container ID:  docker://9ea5cf9e2e2cd441f80e15d095aaa8d5e2061fdd637524bb669e328974e014d1
    Image:         index.docker.io/kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121
    Image ID:      docker-pullable://kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/cp
      /usr/bin/container-disk
      /init/usr/bin/container-disk
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Wed, 01 Jul 2020 15:50:15 +0200
      Finished:     Wed, 01 Jul 2020 15:50:15 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  40M
    Requests:
      cpu:        10m
      memory:     1M
    Environment:  <none>
    Mounts:
      /init/usr/bin from virt-bin-share-dir (rw)
Containers:
  compute:
    Container ID:  docker://2a23f7e04423e7fe530fa292f05194c7e11be6049820b00f179b304776a6632a
    Image:         index.docker.io/kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121
    Image ID:      docker-pullable://kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/virt-launcher
      --qemu-timeout
      5m
      --name
      windows-glenmorangie
      --uid
      a6c62771-623e-4145-9a7f-a00e4523d63b
      --namespace
      flfr
      --kubevirt-share-dir
      /var/run/kubevirt
      --ephemeral-disk-dir
      /var/run/kubevirt-ephemeral-disks
      --container-disk-dir
      /var/run/kubevirt/container-disks
      --readiness-file
      /var/run/kubevirt-infra/healthy
      --grace-period-seconds
      45
      --hook-sidecars
      0
      --less-pvc-space-toleration
      10
      --ovmf-path
      /usr/share/OVMF
    State:          Running
      Started:      Wed, 01 Jul 2020 15:50:16 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      devices.kubevirt.io/kvm:        1
      devices.kubevirt.io/tun:        1
      devices.kubevirt.io/vhost-net:  1
    Requests:
      cpu:                            100m
      devices.kubevirt.io/kvm:        1
      devices.kubevirt.io/tun:        1
      devices.kubevirt.io/vhost-net:  1
      memory:<PHONE_NUMBER>1
    Readiness:                        exec [cat /var/run/kubevirt-infra/healthy] delay=4s timeout=5s period=1s #success=1 #failure=5
    Environment:
      LIBVIRT_DEBUG_LOGS:  1
    Mounts:
      /var/run/kubevirt-ephemeral-disks from ephemeral-disks (rw)
      /var/run/kubevirt-infra from infra-ready-mount (rw)
      /var/run/kubevirt/container-disks from container-disks (rw)
      /var/run/kubevirt/sockets from sockets (rw)
      /var/run/libvirt from libvirt-runtime (rw)
  volumeboot:
    Container ID:  docker://77ebcb3bb487cd3737dd50f0c09eb979f1cf12fb968087aa0a0d2c4604b35be6
    Image:         docker.stibo.dk:5501/kubevirt-windows:win10
    Image ID:      docker-pullable://docker.stibo.dk:5501/kubevirt-windows@sha256:d1ec2ec1b79531b40b67b6a7ccf8230e3e1f8b2a2ccbebf0b31e08e2ccb315db
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/container-disk
    Args:
      --copy-path
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b/disk_0
    State:          Running
      Started:      Wed, 01 Jul 2020 15:50:16 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  40M
    Requests:
      cpu:        10m
      memory:     1M
    Readiness:    exec [/usr/bin/container-disk --health-check] delay=1s timeout=1s period=1s #success=1 #failure=5
    Environment:  <none>
    Mounts:
      /usr/bin from virt-bin-share-dir (rw)
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b from container-disks (rw)
  volumeservice:
    Container ID:  docker://63c1359edb53395806d39d122b2a513a9ba2c55a3582a2aa0a527f881464fa07
    Image:         docker.stibo.dk:5501/build-slave-service:latest
    Image ID:      docker-pullable://docker.stibo.dk:5501/build-slave-service@sha256:54445b36ea0646a64475651867f0aa56e350e3074c54bf124e21725e99e1599a
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/container-disk
    Args:
      --copy-path
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b/disk_1
    State:          Running
      Started:      Wed, 01 Jul 2020 15:50:17 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  40M
    Requests:
      cpu:        10m
      memory:     1M
    Readiness:    exec [/usr/bin/container-disk --health-check] delay=1s timeout=1s period=1s #success=1 #failure=5
    Environment:  <none>
    Mounts:
      /usr/bin from virt-bin-share-dir (rw)
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b from container-disks (rw)
  volumetools:
    Container ID:  docker://dc4c611c5f8f7197c554bb71884ddacef902cf796a9dfb901671ce61f70ae06f
    Image:         docker.stibo.dk:5501/kubevirt-toolbox:8u152
    Image ID:      docker-pullable://docker.stibo.dk:5501/kubevirt-toolbox@sha256:681ec2c15ff1166c61d3b77ff6a215ea1ee418c97e2a6cf455f5349f0c66f2e4
    Port:          <none>
    Host Port:     <none>
    Command:
      /usr/bin/container-disk
    Args:
      --copy-path
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b/disk_2
    State:          Running
      Started:      Wed, 01 Jul 2020 15:50:17 +0200
    Ready:          True
    Restart Count:  0
    Limits:
      cpu:     100m
      memory:  40M
    Requests:
      cpu:        10m
      memory:     1M
    Readiness:    exec [/usr/bin/container-disk --health-check] delay=1s timeout=1s period=1s #success=1 #failure=5
    Environment:  <none>
    Mounts:
      /usr/bin from virt-bin-share-dir (rw)
      /var/run/kubevirt-ephemeral-disks/container-disk-data/a6c62771-623e-4145-9a7f-a00e4523d63b from container-disks (rw)
Conditions:
  Type              Status
  Initialized       True
  Ready             True
  ContainersReady   True
  PodScheduled      True
Volumes:
  sockets:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  infra-ready-mount:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  virt-bin-share-dir:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  libvirt-runtime:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  ephemeral-disks:
    Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:  <unset>
  container-disks:
    Type:        EmptyDir (a temporary directory that shares a pod's lifetime)
    Medium:
    SizeLimit:   <unset>
QoS Class:       Burstable
Node-Selectors:  kubernetes.io/hostname=glenmorangie
                 kubevirt.io/schedulable=true
                 overlay=overlay2
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type    Reason     Age   From                   Message
  ----    ------     ----  ----                   -------
  Normal  Scheduled  97s   default-scheduler      Successfully assigned flfr/virt-launcher-windows-glenmorangie-cpvt2 to glenmorangie
  Normal  Pulled     95s   kubelet, glenmorangie  Container image "index.docker.io/kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121" already present on machine
  Normal  Started    95s   kubelet, glenmorangie  Started container container-disk-binary
  Normal  Pulled     95s   kubelet, glenmorangie  Container image "index.docker.io/kubevirt/virt-launcher@sha256:a04cd4d173d3071a49cf32a94899c1a465674e488c30853d7ee54c52951d9121" already present on machine
  Normal  Created    95s   kubelet, glenmorangie  Created container container-disk-binary
  Normal  Pulled     94s   kubelet, glenmorangie  Successfully pulled image "docker.stibo.dk:5501/build-slave-service:latest"
  Normal  Created    94s   kubelet, glenmorangie  Created container compute
  Normal  Started    94s   kubelet, glenmorangie  Started container compute
  Normal  Pulled     94s   kubelet, glenmorangie  Container image "docker.stibo.dk:5501/kubevirt-windows:win10" already present on machine
  Normal  Started    94s   kubelet, glenmorangie  Started container volumeboot
  Normal  Pulling    94s   kubelet, glenmorangie  Pulling image "docker.stibo.dk:5501/build-slave-service:latest"
  Normal  Created    94s   kubelet, glenmorangie  Created container volumeboot
  Normal  Created    93s   kubelet, glenmorangie  Created container volumeservice
  Normal  Started    93s   kubelet, glenmorangie  Started container volumeservice
  Normal  Pulled     93s   kubelet, glenmorangie  Container image "docker.stibo.dk:5501/kubevirt-toolbox:8u152" already present on machine
  Normal  Created    93s   kubelet, glenmorangie  Created container volumetools
  Normal  Started    93s   kubelet, glenmorangie  Started container volumetools

The compute container in the virt-launcher doesn't have a qemu-kvm process, like working VMs do.
kubectl -n flfr exec pod/virt-launcher-windows-glenmorangie-cpvt2 -- ps afx
 PID TTY      STAT   TIME COMMAND
  920 ?        Rs     0:00 ps afx
    1 ?        Ssl    0:00 /usr/bin/virt-launcher --qemu-timeout 5m --name windows-glenmorangie --uid a6c62771-623e-4145-9a7f-a00e4523d63b --namespace flfr --kubevirt-share-dir /var/run/kubevirt --ephemeral-disk-dir /var/run/kubevirt-ephemeral-disks --container-disk-dir /var/run/kubevirt/container-disks --readiness-file /var/run/kubevirt-infra/healthy --grace-period-seconds 45 --hook-sidecars 0 --less-pvc-space-toleration 10 --ovmf-path /usr/share/OVMF
   27 ?        Sl     0:00 /usr/bin/virt-launcher --qemu-timeout 5m --name windows-glenmorangie --uid a6c62771-623e-4145-9a7f-a00e4523d63b --namespace flfr --kubevirt-share-dir /var/run/kubevirt --ephemeral-disk-dir /var/run/kubevirt-ephemeral-disks --container-disk-dir /var/run/kubevirt/container-disks --readiness-file /var/run/kubevirt-infra/healthy --grace-period-seconds 45 --hook-sidecars 0 --less-pvc-space-toleration 10 --ovmf-path /usr/share/OVMF --no-fork true
   49 ?        S      0:00  \_ /usr/sbin/virtlogd -f /etc/libvirt/virtlogd.conf
   50 ?        Sl     0:12  \_ /usr/sbin/libvirtd
  127 ?        S      0:00 /usr/sbin/libvirtd

I have set debugLogs: "true" but I can't really see anything pertaining to the missing process.
The error messages from the virt-launcher log are:
{"component":"virt-launcher","level":"error","msg":"internal error: Child process (/usr/sbin/dmidecode -q -t 0,1,2,3,4,17) unexpected exit status 1: /dev/mem: No such file or directory","pos":"virCommandWait:2709","subcomponent":"libvirt","thread":"65","timestamp":"2020-07-01T11:15:33.390000Z"}
{"component":"virt-launcher","level":"error","msg":"At least one cgroup controller is required: No such device or address","pos":"virCgroupDetect:416","subcomponent":"libvirt","thread":"54","timestamp":"2020-07-01T11:15:37.180000Z"}
{"component":"virt-launcher","level":"error","msg":"Could not send domain notify event.","pos":"client.go:267","reason":"context deadline exceeded","timestamp":"2020-07-01T11:18:24.595056Z"}
{"component":"virt-launcher","level":"error","msg":"Could not send domain notify event.","pos":"client.go:267","reason":"context deadline exceeded","timestamp":"2020-07-01T11:18:26.853664Z"}
{"component":"virt-launcher","level":"error","msg":"Could not send domain notify event.","pos":"client.go:267","reason":"context deadline exceeded","timestamp":"2020-07-01T11:18:28.858275Z"}
{"component":"virt-launcher","level":"error","msg":"Could not send domain notify event.","pos":"client.go:267","reason":"context deadline exceeded","timestamp":"2020-07-01T11:18:30.862459Z"}

Here's the complete virt-launcher log output:
glenmorangie-fail.txt.gz
Any clue what's going on?
It seems that the VM some times chooses to start, without any changes being made.
What you expected to happen:
I really would have liked the VM to start.
How to reproduce it (as minimally and precisely as possible):
I'm sorry to say that using a minimal container image works perfectly, we only get problems with huge (10 Gi+) ones.
Anything else we need to know?:
Environment:

KubeVirt version (use virtctl version):
Client Version: version.Info{GitVersion:"v0.29.0", GitCommit:"cbb7eaddb34d38da15868b19d84647f668a6134b", GitTreeState:"clean", BuildDate:"2020-05-05T03:33:18Z", GoVersion:"go1.12.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{GitVersion:"{gitVersion}", GitCommit:"{gitCommit}", GitTreeState:"{gitTreeState}", BuildDate:"{buildDate}", GoVersion:"go1.12.8", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes version (use kubectl version):
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.3", GitCommit:"2e7996e3e2712684bc73f0dec0200d64eec7fe40", GitTreeState:"clean", BuildDate:"2020-05-20T12:52:00Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.3", GitCommit:"b3cbbae08ec52a7fc73d334838e18d17e8512749", GitTreeState:"clean", BuildDate:"2019-11-13T11:13:49Z", GoVersion:"go1.12.12", Compiler:"gc", Platform:"linux/amd64"}

VM or VMI specifications:

This fails, if we use the large win10 image:
apiVersion: kubevirt.io/v1alpha3
kind: VirtualMachine
metadata:
  name: windows-glenmorangie
spec:
  running: true
  template:
    metadata:
      labels:
        kubevirt.io/size: small
        kubevirt.io/domain: windows
        debugLogs: "true"
      annotations:
        debugLogs: "true"
    spec:
      nodeSelector:
        overlay: overlay2
        kubernetes.io/hostname: glenmorangie
      domain:
        cpu:
          cores: 2
        devices:
          disks:
            - name: boot
              disk:
                bus: virtio
            - name: service
              disk:
                bus: virtio
            - name: tools
              disk:
                bus: virtio
          interfaces:
          - name: default
            bridge: {}
        resources:
          requests:
            memory: 10Gi
      networks:
      - name: default
        pod: {}
      volumes:
        - name: boot
          containerDisk:
            image: docker.stibo.dk:5501/kubevirt-windows:win10
        - name: service
          containerDisk:
            image: docker.stibo.dk:5501/build-slave-service:latest
        - name: tools
          containerDisk:
            image: docker.stibo.dk:5501/kubevirt-toolbox:8u152

Cloud provider or hardware configuration:

Bare metal (RKE).

OS (e.g. from /etc/os-release):
Ubuntu 18.04.4 LTS

Kernel (e.g. uname -a):
Linux glenmorangie 4.15.0-101-generic #102-Ubuntu SMP Mon May 11 10:07:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

I've been digging through the logs and compared one from an instance that worked with the one from the broken instance.
It seems the last thing that happens in the broken instance is setting the owner of the disk image files:
{"component":"virt-launcher","level":"info","msg":"Closed fd 20","pos":"virFileClose:110","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.315000Z"}
{"component":"virt-launcher","level":"info","msg":"Set process affinity on 127","pos":"virProcessSetAffinity:421","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.315000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting cgroup for external devices (if required)","pos":"qemuProcessLaunch:6822","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.315000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting up resctrl","pos":"qemuProcessLaunch:6826","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.315000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting up managed PR daemon","pos":"qemuProcessLaunch:6830","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.315000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting domain security labels","pos":"qemuProcessLaunch:6835","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316000Z"}
{"component":"virt-launcher","level":"info","msg":"OBJECT_REF: obj=0x7f46140281d0","pos":"virObjectRef:386","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-ephemeral-disks/disk-data/boot/disk.qcow2' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316
000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt/container-disks/disk_0.img' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316000Z"}

Comparing "grep 'Setting DAC user and group on'" from the two log files yields:
Working:
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/domain-1-flfr_windows-glenspe' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:27:52.203000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/channel/target/domain-1-flfr_windows-glenspe' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:27:52.203000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/domain-1-flfr_windows-glenspe/master-key.aes' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:27:52.203000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-ephemeral-disks/disk-data/boot/disk.qcow2' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:27:52.231000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt/container-disks/disk_0.img' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:27:52.231000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-ephemeral-disks/disk-data/service/disk.qcow2' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:20.414000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt/container-disks/disk_1.img' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:20.414000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-ephemeral-disks/disk-data/tools/disk.qcow2' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:20.689000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt/container-disks/disk_2.img' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:20.689000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-private/5f9b49d3-cec2-4ba9-9cbf-914b4eca7338/virt-serial0' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:25.919000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/channel/target/domain-1-flfr_windows-glenspe/org.qemu.guest_agent.0' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"52","timestamp":"2020-07-02T06:29:25.919000Z"}

Broken:
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/domain-1-flfr_windows-glenmor' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.287000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/channel/target/domain-1-flfr_windows-glenmor' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.287000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/lib/libvirt/qemu/domain-1-flfr_windows-glenmor/master-key.aes' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.287000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt-ephemeral-disks/disk-data/boot/disk.qcow2' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316000Z"}
{"component":"virt-launcher","level":"info","msg":"Setting DAC user and group on '/var/run/kubevirt/container-disks/disk_0.img' to '107:107'","pos":"virSecurityDACSetOwnership:809","subcomponent":"libvirt","thread":"55","timestamp":"2020-07-01T13:50:21.316000Z"}

The broken pod has files still owned by root after the last log line command:
-rw-r--r-- 1 root root<PHONE_NUMBER>0 Jun  2 11:42 disk_0.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:49 disk_0.sock
-rw-r--r-- 1 root root     4456448 Jan  1  1970 disk_1.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:49 disk_1.sock
-rw-r--r-- 1 root root   647561216 Jun  2 12:01 disk_2.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:49 disk_2.sock

It's as though the chown works differently, because in the working pod the image files have the expected ownership:
-rw-r--r-- 1 qemu qemu<PHONE_NUMBER>0 Jun  2 11:42 disk_0.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:45 disk_0.sock
-rw-r--r-- 1 qemu qemu     4456448 Jan  1  1970 disk_1.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:48 disk_1.sock
-rw-r--r-- 1 qemu qemu   647561216 Jun  2 12:01 disk_2.img
srwxr-xr-x 1 root qemu           0 Jul  2 07:48 disk_2.sock

There's no difference between the working and non-working hosts that I know of, however, if I manually run chown 107.107 on one of the container disk images in the broken container, then my takes a very long time.
This is done in the compute container that's currently scheduled:
[root@windows-glenmorangie container-disks]# ls -lrth
total 11G
-rw-r--r-- 1 root root 4.3M Jan  1  1970 disk_1.img
-rw-r--r-- 1 root root  11G Jun  2 11:42 disk_0.img
-rw-r--r-- 1 qemu qemu 618M Jun  2 12:01 disk_2.img
srwxr-xr-x 1 root qemu    0 Jul  2 07:57 disk_0.sock
srwxr-xr-x 1 root qemu    0 Jul  2 07:57 disk_1.sock
srwxr-xr-x 1 root qemu    0 Jul  2 07:57 disk_2.sock
[root@windows-glenmorangie container-disks]# time chown 107.107 disk_1.img
real    0m11.541s
user    0m0.000s
sys     0m0.012s

I've touched a file as root and chmod'ed it and that worked in the expected 0 seconds, but chmod'ing disk_2 and disk_1 took ages, with disk_2 taking much longer than disk_1.
This is very strange, it's as though the file system is completely fubar'ed, the machine has rotating rust for storage, so it was never going to be fast, but this seems excessive.
Here's an idea, please let me know if it's stupid:

If "copy" from the volume container is a zero-copy thing that just exposes the /disk/mumble.qcow2 directly from the image
And if the owner of the file is not 107:107 in the image
And if the performance of the file system is abysmal.
And if the overlay filesystem used is overlay2, which will copy an entire file to change one bit.
Then it's possible that the initial chown of the disk images will take ages.

I think my assumption was correct. I have have built a new image with copy --chmod=107:107 so the permissions are correct from the image and that causes the DAC lines to roll by in a few ms.
I'm still testing the solution, but I think there ought to be:

Prominent warnings from virt-launcher when the permissions are wrong.
Prominent documentation on how to write a working Dockerfile with correct permissions.
Explicit error handling that detects the problem and supplies a specific error message.


Migrate TravisCI to GitHub Actions

This change also adds Ruby 3.0 to the CI matrix.
See also https://github.com/ruby/setup-ruby#matrix-of-ruby-versions

The new CI URLs can be updated after this PR merged.
https://github.com/GlobalNamesArchitecture/damerau-levenshtein/blob/d4e375479fbb8c6c8e36c705cec8c91cedf33704/README.md#L256-L257

thanks @ybiquitous very helpful

looks like something is missing, and CI fails atm. I will have to investigate, but sadly not soon, I can get back to it in 2 weeks or so. If you can try to fix the problem, it would be great @ybiquitous

@dimus No worries! The problem seems like a RuboCop's issue. I'll look into it. 👍🏼


Issue/refactor developer docs

Description
Refactored docs as a preparation for modules V2
Environment Variabes -> Move to Administrator Documentation

Model developer documentation -> add short intro pragraph
- Developer Getting Started  -> Needs to be reviewed
- Project Creation Guide
- Module Creation Guide  -> split from `Module Developers Guide` (+V2)
- Understanding Modules -> split from `Module Developers Guide` (+V2)
- Developing Plugins -> split from `Module Developers Guide`
- Developing South Bound Integrations  -> split from `Module Developers Guide`
- Releaseing Modules -> split from `Module Developers Guide`  (+V2)
- Testing Modules -> rename of `Test plugins`
- Debugging Modules -> rename of `Model debugging`
- Model Design Guideline

Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[x] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[x] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Processing this pull request

Merged into branches master in 051b9ac321cd09999410d02e5c7ddb250c0dbfec

Processing #3042.


dim_reduction_plots called in mrd.plot_latent and throws error

models/mrd.py is still calling the line
        from ..plotting.matplot_dep import dim_reduction_plots

which I guess is not used anymore?
The above line is called in function plot_latent of mrd (devel) and throws an error.

Fixed by #316


core dump on calling sdsMakeRoomFor

I am getting core dump on realloc of sdsMakeRoomFor. My coredump backtrace is given below:
`Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7ffff67a5700 (LWP 11207)]
0x0000003fc8c32625 in raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) bt
#0  0x0000003fc8c32625 in raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x0000003fc8c33e05 in abort () at abort.c:92
#2  0x0000003fc8c70537 in __libc_message (do_abort=2, fmt=0x3fc8d588c0 "*** glibc detected *** %s: %s: 0x%s ***\n")
at ../sysdeps/unix/sysv/linux/libc_fatal.c:198
#3  0x0000003fc8c75f4e in malloc_printerr (action=3, str=0x3fc8d5687d "corrupted double-linked list", ptr=,
ar_ptr=) at malloc.c:6350
#4  0x0000003fc8c763d3 in malloc_consolidate (av=0x7ffff0000020) at malloc.c:5216
#5  0x0000003fc8c79c28 in _int_malloc (av=0x7ffff0000020, bytes=) at malloc.c:4415
#6  0x0000003fc8c7bbda in _int_realloc (av=0x7ffff0000020, oldp=0x7ffff0000b60, oldsize=, nb=1312) at malloc.c:5339
#7  0x0000003fc8c7bf78 in __libc_realloc (oldmem=0x7ffff0000b70, bytes=1299) at malloc.c:3823
#8  0x00000000004c7c06 in sdsMakeRoomFor (s=, addlen=) at sds.c:142
#9  0x00000000004c8044 in sdscatlen (s=, t=0x7fffea673080, len=43) at sds.c:241
#10 0x00000000004c5e00 in __redisAppendCommand (c=0x735090, cmd=, len=) at hiredis.c:910
#11 0x00000000004c703c in redisvAppendCommand (c=0x735090, format=, ap=) at hiredis.c:942
#12 0x00000000004c7208 in redisAppendCommand (c=, format=) at hiredis.c:956
#13 0x0000000000446e88 in DataReader::Do (this=0x7ffff6742f50, task=0x7ffff5da3c50) at schsv_dtsvr_V1.0.0/ds/datareader.cpp:106
#14 0x000000000044d1f9 in TaskHandler::Do (p=) at schsv_dtsvr_V1.0.0/ds/task_handler.cpp:41
#15 0x0000003fc9007a51 in start_thread (arg=0x7ffff67a5700) at pthread_create.c:301
#16 0x0000003fc8ce893d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:115`
I have worked  on the issue for a long time without no progress.   Any idea? Thanks!

Do you have example code triggering the error?

code:
`//普通查询
for(i=0; iids_size(); i++)
{
uint32_t docid = rd->ids(i);
stringstream ss;
ss<<docid;
	string key = ss.str();

	ss.clear();

	//根据版本号读数据
	if(g_DataVersion != "0")
	{
		ss<<"_1";
		key += ss.str();
	}

	redisContext* rediscon = rc->connect;

	string command = "HGET " + key + " mulfield";  //v2@*@v4@*@v5@*@v7

	int err = redisAppendCommand(rediscon, command.c_str());

 }

for(i=0; i<rd->ids_size(); i++)
{
	uint32_t docid = rd->ids(i);
	stringstream ss;
	ss<<docid;

	string key = ss.str();
	ss.clear();

	//根据版本号读数据
	if(g_DataVersion != "0")
	{
		ss<<"_1";
		key += ss.str();
	}
	//封装Response
	ResponseDocDetail *rspdd = rspDoc->add_rspdd();
	rspdd->set_rsptype(RSP_NORMAL);
	rspdd->set_doc_id(docid);

	string poolkey;
    int slaveIndex;
	string shard;

	m_dataManager.FlushMulFieldCache();

	redisContext* rediscon = rc->connect;

	void *reply1 = NULL;
	redisGetReply(rediscon,&reply1);
	redisReply *reply = (redisReply*)reply1;
	if (reply == NULL && rediscon->err != 0)
	{
		LOG(ERROR)<<"RedisManager::redisCommand add/delete failed 222 :" << rediscon->errstr;
	}
	if(reply == NULL)
	{
		FieldValues *fvs = rspdd->add_fvs();
		fvs->set_name("NULL");
		fvs->set_value("NULL");
		continue;
	}
	string tmp(reply->str, reply->len);

	for(j=0; j<rdc.fieldlist_size(); j++)
	{
		field = rdc.fieldlist(j);
		string value;
		if(0 == m_dataManager.HashMulFieldCache(field, value))
		{
			LOG(INFO)<<" HashMulFieldCache get field :" << field;
		}
		else if(m_dataManager.HashMulField(field, tmp, value))
		{
			LOG(INFO)<<" HashMulField get field :" << field;
		}
		else
		{
			LOG(INFO)<<" get field failed:" << field;
			value = "nil";
		}

		FieldValues *fvs = rspdd->add_fvs();
		fvs->set_name(field);
		fvs->set_value(value);

	}

	if(reply)
		freeReplyObject(reply);

 }`

I have only one connenction. I also have a detecting thread to rebuild the connect when it is closed.
`bool RedisConnectPool::detectConnects()
{
bool bPingRet = true;
for (size_t i=0; i<m_connects.size(); i++)
{
redisContext *tempRedisConn = m_connects[i].connect;
if (NULL == tempRedisConn)
{
bPingRet = false;
break;
}
	string command = "PING";
	redisReply *reply = (redisReply*)redisCommand(tempRedisConn, command.c_str());
	if (reply == NULL && tempRedisConn->err != 0)
	{
		bPingRet = false;
		break;
	}

	if (reply && reply->type == REDIS_REPLY_STATUS)
	{
		string strRet = reply->str;
		if (strRet.find("PONG") != string::npos)
		{
			freeReplyObject(reply);
			continue;
		}
	}

	bPingRet = false;
	freeReplyObject(reply);
	break;
}

return bPingRet;

}`

After I close the detecting thread, the coredump does not occur now.
Maybe something wrong when processing thread and detecting thread runing at the same time.
I also refer to your reply in https://github.com/redis/hiredis/issues/447
I only see see two ways how this can lead to a failure:
A already broken pointer is passed, making it fail in completely unpredictable ways
The pointer is concurrently modified from somewhere else, making it a data race.

Wait, are you using a single hiredis context in multiple threads?

Yes, I init a connect pool.  The processing thread get one connect for pool to use and the detecting thread check every connect in pool if it is useable..

I'm also seeing this.  I'm not using threads.  In my use-case, I start with the redis service down (or I start it up and then take it down while my app is running) -- net effect: my app cannot make a connection to redis.  I attempt to send PING's to redis.
	if (redisAsyncCommand(c, fn, context, command) != REDIS_OK)
	{
		info("Redis: Error sending command %s", command);
		/*  snip - error handling - snip */
	}

The "command" is "PING"
My code gets in here 3x, attempting to send the PING and then it seg faults in that same sds function.

Maybe we're doing something wrong.  Are we allowed to keep calling redisAsyncCommand (which seems to append subsequent commands to the output buffer) before we get a reply?

FYI-- this is the same issue as: https://github.com/redis/hiredis/issues/460

@dagostinelli OK since this is happening without threading, I'm more inclined to believe that it might actually be a bug in the library.  What event library are you using in your case?

@michael-grunder I'm using libevent

@michael-grunder If it helps, I'm calling redisAsyncCommand from the callback of an evtimer.

@dagostinelli can you provide a minimal example to reproduce the issue? I can take a closer look, but likely not before the Christmas days

We are using hiredis-vip for Redis cluster, this bug is same as hiredis.
Our program will dispatch redisClusterAsyncCommand in multiple worker threads,
Is it the reason for this issue? See backstrace below.
==13234==ERROR: AddressSanitizer: attempting double-free on 0x6140004ce440 in thread T30:
#0 0x56a1b3 in realloc (xxx)
#1 0x9706dc in sdsMakeRoomFor /opt/hiredis-vip/sds.c:142
#2 0x970849 in sdscatlen /opt/hiredis-vip/sds.c:241
#3 0x97023f in __redisAppendCommand /opt/hiredis-vip/hiredis.c:926
#4 0x9640c2 in __redisAsyncCommand /opt/hiredis-vip/async.c:646
#5 0x96cc4d in redisClusterAsyncFormattedCommand /opt/hiredis-vip/hircluster.c:4819
#6 0x96d0ca in redisClusterAsyncCommandArgv /opt/hiredis-vip/hircluster.c:4900

0x6140004ce440 is located 0 bytes inside of 431-byte region [0x6140004ce440,0x6140004ce5ef)
freed by thread T28 here:
#0 0x569e39 in free (xxx)
#1 0x9700bc in redisBufferWrite /opt/hiredis-vip/hiredis.c:865

previously allocated by thread T24 here:
#0 0x56a1b3 in realloc (xxx)
#1 0x9706dc in sdsMakeRoomFor /opt/hiredis-vip/sds.c:142

Thread T30 created by T0 here:
#0 0x559472 in pthread_create (xxx)
#1 0x9d99f6 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (xxx)
#2 0x6020004ac0ef (+0x4ac0ef)

Thread T28 created by T0 here:
#0 0x559472 in pthread_create (xxx)
#1 0x9d99f6 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (xxx)
#2 0x6020004ac0ef (+0x4ac0ef)

Thread T24 created by T0 here:
#0 0x559472 in pthread_create (xxx)
#1 0x9d99f6 in std::thread::_M_start_thread(std::shared_ptr<std::thread::_Impl_base>) (xxx)
#2 0x6020004ac0ef (+0x4ac0ef)

SUMMARY: AddressSanitizer: double-free ??:0 realloc

0x6140004ce440 is located 0 bytes inside of 431-byte region [0x6140004ce440,0x6140004ce5ef)
freed by thread T28 here:
#0 0x569e39 in free (xxx)
#1 0x9700bc in redisBufferWrite /opt/hiredis-vip/hiredis.c:865

This redisBufferWrite is inside called by libevent callbacks.

Going to close this issue but if it's still an issue please provide a minimal example that can trigger the segfault.


FR[cloud]: Make package selection easier on kurtosis cloud

Background & motivation
Currently to use a particular kurtosis package, you have to know exactly the name/path of the package.

Desired behaviour
Would be great if there is a way to select a package from a list of available packages.
Extra good would be if you could favorite the packages, and set some to default, so it won't even pop up, but just show in the corner or something which package is used by default, then if clicked on would pop up and offer alternatives.
How important is this to you?
Nice to have; this feature would make using Kurtosis more enjoyable.
What area of the product does this pertain to?
Frontend: the Graphical User Interface, including the Enclave Manager

This has been implemented.


Documentation example

Hi,
This project looks great, but it really needs some examples, especially for those who are now to swift.
Tim

Agreed, we should have usage examples in the README at the very least.

I've given it a shot with #62. Let me know what you think.

I think #62 covered this well.


it seems build failed randomly with 3.x.x

mojave 10.14.3
xcode 10.2 (10E125)
pod 1.3.1
the framework that i use is meteor <IP_ADDRESS> which cordova version is 4.5.4
plugins list
"cordova-plugin-whitelist": "1.3.2",
    "cordova-plugin-wkwebview-engine": "1.1.3",
    "cordova-plugin-meteor-webapp": "1.6.0",
    "cordova-plugin-statusbar": "2.3.0",
    "cordova-plugin-splashscreen": "4.1.0",
    "cordova-plugin-cocoapod-support": "1.3.0",
    "cordova-plugin-document-scanner": "3.0.0"

Any specific build errors ?
Do you know if any of the plugins use swift? or have swift pod dependencies?
Have not really worked on meteor, if you could give me some starter tips. I will test this on my end and get back to you.
Cheers,
Chris
Neutrinos

first you have to install meteor
curl https://install.meteor.com/ | sh
then clone this repo
git clone https://github.com/crapthings/testscan
cd testscan
meteor npm i

plug ios-device or use simulator
meteor run ios-device

after this will open workspace automaticly
i will upload a video on youtube to specify the problem

https://www.youtube.com/watch?v=1XLDg6ybq7g&feature=youtu.be

the error seems differently on cordova without meteor
npm i -g<EMAIL_ADDRESS>add platform ios
add plugin

Thank you for giving such a detailed explanation of your problem. It just makes it so easy. :)
So in the youtube video around 3:43 you get an error in the line
guard let data = UIImageJPEGRepresentation(image, 1) ?? UIImagePNGRepresentation(image) else {

replace it with
guard let data = image.jpegData(compressionQuality:1.0) ?? image.pngData() else {

you can change compression quality from 0.0 to 1.0 where 1.0 is the best quality / least compression and 0.0 is the most compression / least quality. The plugin was written in swift 4.0 (and hence this issue when you build with 4.2), but it would seem using swift 4.2 fixes almost all your issues so if you. So let me know if this fix works out for you.
Cheers,
Chris
Neutrinos

is this the latest wescan lib?

This is the latest pod they have released
Did the solution I provided not work ?
Cheers,
Chris
Neutrinos

it works,  but the original wescan integration doesnt need to convert code, weird
anyway it just works.  im closing this issue.

i have to set version to 1.0.0 to make this plugin working.
platform :ios, '10.3'
use_frameworks!
target 'EasyScroll' do
  pod 'WeScan', '= 1.0.0'
end

@crapthings
Thanks for dropping this info here. Will update as required.
Cheers,
Chris
Neutrinos


Disable download button for diagrams where diagram-cache export failed

Instead of pressing the button and receiving the red error occured info box it should be better to disable/grey-out the download button. This indicates that the diagram-cache export job failed for this diagram.

disable/grey-out the download button

There should also be a more explicit indicator to the user as to why it's disabled, which could be e.g. a little popup on mouse-over of the button (Something along the lines of "Download unavailable: Export has failed").


FlutterFire/firebase-dart abstraction

It would be great if FlutterFire could collaborate with firebase-dart to agree upon common interfaces, in which both packages implement.
I'm working on a project where I am building a web app and a flutter app, and I am trying to abstract the common business logic into another library for both apps to consume. As it stands right now I have to implement a lot of things twice, once for web and once for flutter, and the logic is almost the exact same each time.
See the companion issue at firebase-dart

@davidmarne
The issue at https://github.com/flutter/flutter/issues/16186 has been closed and moved here. Future collaboration on this issue will be done here.

This has been addressed by FlutterFire being the common interface and using the firebase-dart for the web implementation.


There is no padding at External Sources's description

Describe the Bug
At External Sources page in the settings the description is touching the edges of the screen.
Steps to Reproduce

Go to Settings.
Press on external Sources.
See that there is no paddings and settings is not translated.

Expected Behavior
Padding from the sides around this description.
settings should be translated.
Additional Information

Hey, can i work on this?

Hey, can i work on this?

@Percobain Thanks for your interest in contributing. Yes you can work on this. Just assign the ticket to yourself and start. Maybe our contributing doc is helpful too: https://github.com/digitalfabrik/integreat-app/blob/main/docs/contributing.md#pull-requests


Provide a way to flag scores that seem odd

While checking my watchlist on Wikidata, this edit stuck out in red, with scores of "2% damaging, 84% reverted". The 2% may well be true, but the 84% seem odd to me, given that I could not see anything near 84% reverts for the two items involved, the property or the user.
I think allowing to flag such edits could help finetune the model.

See https://www.wikidata.org/wiki/Wikidata:ORES/Report_mistakes in Wikidata


Unable to add APIS with multple scopes in swagger after running the migration script

Description:
Unable to add APIS with multple scopes in swagger after running the migration script
Suggested Labels:
Migration
Preconditions:
Delete any duplicate records  added to the IDN_OAUTH2_SCOPE
The migration script for mssql for IS-migration 5.4.0 step2 should NOT be applied
The Payment AP Should NOT be created
Affected Product Version:
1.APIM 2.2.0
2.ISKM 5.3.0
OS, DB, other environment details and versions:
MSSQL DB
Steps to reproduce:
1.Download the migration script available in step 3 in [1]
[1]https://docs.wso2.com/display/IS540/Upgrading+from+a+Previous+Release
2.Extract the wso2is-5.4.0-migration.zip and get the mssql.sql file available in the path /is-migration/is-migration/migration-resources/5.4.0/dbscripts/step2/
3.Run the migration script
4.Deploy an API with multiple scopes in the swagger.json
Note: The API deployment fails.
Related Issues:
https://github.com/wso2/product-apim/issues/3190

Doc Impact :N/A

This is fixed in APIM 2.6.0


Exclusion of sample file of asset

What is the dots file for

?
Maybe include said file (and also other files used to for the assete) in the samples directory? :)

Sadly, I do not have access to those files anymore, so I'm closing this issue :S


Bug Fixes in Rooms page

needs conflict resolution

[Current coverage][cc-pull] is 56.66%

Merging [#489][cc-pull] into [development][cc-base-branch] will increase coverage by 0.90%

@@           development       #489   diff @@
=============================================
  Files                4          4
  Lines              382        390     +8
  Methods             42         42
  Messages             0          0
  Branches            43         44     +1
=============================================
+ Hits               213        221     +8
  Misses             169        169
  Partials             0          0

Powered by Codecov. Last updated by [aa0e735...6e395bc][cc-compare]
[cc-base-branch]: https://codecov.io/gh/fossasia/open-event-webapp/branch/development?src=pr
[cc-compare]: https://codecov.io/gh/fossasia/open-event-webapp/compare/aa0e735dc8971f943fd62f053424948f6a442f42...6e395bcc28940b49dc5bf5adbd02b64eabba290e?src=pr
[cc-pull]: https://codecov.io/gh/fossasia/open-event-webapp/pull/489?src=pr

@championswimmer  @mariobehling  Solved here #487

@championswimmer Resolved conflicts !!


Date Support for labels

Is there date support for the labels?
If so are there any resources?

This is natively supported in version 2. There are number of samples at https://github.com/nnnick/Chart.js/tree/v2.0-dev/samples/timeScale


Improve hashing

We currently use md5 to hash the images. We want to switch to something more lightweight or to something more useful than md5
Different Options:
oshash: Turns out oshash has a minimum file size requirement of 128 KB Most of my images are less than 48 KB in size
imohash: Turns out imohash is about 2x faster to hash than oshash is But it scans the whole file. We only want the content picture
imagehash: Perceptual hashing. The application has a similarty search where it uses faiss (https://github.com/facebookresearch/faiss). It works based on vectors. Maybe we can than depreciate faiss in the long term with imagehashes, but I haven't found a explanation of the benefits and drawbacks.
This is still open for discussion

Please keep in mind that currently an access to the images using md5 hash WITHOUT login is possible. --> librephotos:3000/media/photos/<md5_hash>.jpg. For this I will also independently here from create a ticket, as this is in my opinion a security risk.

You need to have either a valid access or refresh token as a cookie to be able to access it.

Awkward, i did not check it correctly...

MD5 is really a bad choice and I was curious why it was beeing used. Its kinda easy to forge two files which will result into the same checksum.
There's the option of using siphash, which is very good at not creating predictable collisions when the secret is unknown to the attacker, while only beeing 64 bits long.
But actually I think b2sum with 256 bit should be used. It's fast, portable and has a good track record for its security.

Ah sorry I think I missread your initial post. (I've hid my initial comment).
So you're searching for an algorithm to find similar pictures to cluster them and also find duplicates?
What digiKam uses is quite good IMHO (Haar Algorithm) not sure about the data length of the unique fingerprint tho.

Fuzzy search by sketch is pretty impressive, actually:
https://docs.kde.org/trunk5/en/digikam-doc/digikam/digikam.pdf

Once this is implemented, will the software be able to scan the existing library for near duplicates?
I am looking to replace Google photos and get rid of Apple photos, so all of my photos can be in one place. I have duplicates now, so I can definitely wait for that feature.


Tomcat 8.0.x停用了

Users of Tomcat 8.0.x should be aware that it has reached end of life. Users of Tomcat 8.0.x should upgrade to 8.5.x or later.
From:
https://tomcat.apache.org/download-80.cgi
For:
2. 源码部署
- CAT安装环境

不了解说的是什么意思~


Support custom snapshot directory for containers to avoid long response time of cri.ListContainers requests (kubelet PLEG not ready) when host has I/O pressure.

What is the problem you're trying to solve
In current design, the files of cri plugin are stored in the root directory of
containerd, is same directory as other plugins, such as overlayfs.
The cri plugin synchronously presist the container's status in the file which
named stauts.json, and ensures consistency through a read-write locks RWLock.
The ListContainers api of cri plugin implemented getting the list of containers
and get their status one by one.
https://github.com/containerd/containerd/blob/5c37d3827b01bff9b67bc9b73a60cc35f4bfb96a/pkg/cri/server/container_list.go#L29-L59
When the host having high IO pressure, those IO pressure may be produced by pulling
images or writing files, and at the same time, if the cri received container created
or exited events, that will updates the container status and the on disk checkpoint,
it will take a lot of time, and holding the RWLock.
The ListContainers will not return a response until a long time later, while having
more events need to invoke UpdateSync of status storage.
https://github.com/containerd/containerd/blob/5c37d3827b01bff9b67bc9b73a60cc35f4bfb96a/pkg/cri/store/container/status.go#L262-L278
In the Kuberntes environment, that will cause node to trigger a PLEG Not Ready
event (if it takes over 30s to response), If not recovery in evition timeout (default 5min),
eviction will be happend. This could lead to a new node triggering I/O pressure
if there are few schedulable machines in the cluster. This situation will keep repeating
in a consistent cycle.
Describe the solution you'd like
The primary issue with the CRI plugin here is that the control plane and data plane are coupled.
There are 2 way to avoid this,

Make the containers' snapshots (overlay driver) customizable,  and allowing user can choose a
different directory(disk device) to store the upper and work for containers.

a litte more complex and need to modify the snapshot driver, WIP.

Make the cri plugin's root directory customizable, and allowing user can choose a
different directory(disk device) for cri plugin to presist status/files of containers.

simple, here is a simple commit https://github.com/jiusanzhou/containerd/commit/b53274a7089375bf8e7a183719f9d0124507a912

Additional context
No response

@fuweid any ideas for this case?

Hi @jiusanzhou It seems that it's similar to https://github.com/containerd/containerd/issues/8698.
Currently, the overlayfs snapshotter supports to change the root_path. However, please change it in the brand-new environments.
[plugins."io.containerd.snapshotter.v1.overlayfs"]
    mount_options = []
    root_path = ""
    sync_remove = false
    upperdir_label = false

Or use the valotile option for overlayfs. Does it look good?

@fuweid thank you for you response.
Actually, setting the root_path can indeed solve this problem. Maybe some of the information I provided is not clear.
What I really need is spliting the snapshots of images and containers to different directories. The config for overlayfs like below,
// Config represents configuration for the overlay plugin.
type Config struct {
	// Root directory for the plugin
	RootPath string `toml:"root_path"`

	// ContainerSnapshotPath is the directory for container snapshots
	ContainerSnapshotPath string `toml:"container_snapshot_path"`

	UpperdirLabel bool `toml:"upperdir_label"`
	SyncRemove    bool `toml:"sync_remove"`

	// MountOptions are options used for the overlay mount (not used on bind mounts)
	MountOptions []string `toml:"mount_options"`
}

In our environment, the host has two disks one is a HDD and the other is a SSD. Here is the mounting informations,
/dev/sdb -> /data-hdd    // 2T
/dev/sdc -> /data-ssd    // 500G

This problem happens when we configurate the root directory for containerd to /data-hdd/containerd.
I thank keeping  the overlayfs data one the /data-hdd and changing the root for containerd to  /data-ssd/containerd, that will work fine. Here is the config,
root = "/data-ssd/containerd"

[plugins."io.containerd.snapshotter.v1.overlayfs"]
    root_path = "/data-hdd/overlayfs"

But at the same time we want to improve the speed of starting containers by move the pulling image on the ssd. That means we want the metdata for containerd and the snapshots of images store in the same disk, only split the snapshots for containers. Here is the config we expect,
root = "/data-ssd/containerd"

[plugins."io.containerd.snapshotter.v1.overlayfs"]
    root_path = "" # default: /data-ssd/containerd/io.containerd.snapshotter.v1.overlayfs
    container_snapshot_path = "/data-hdd/overlayfs" # only for containers

Great, thank you.

it needs to know which layer is used for container writable layer.

I have already created the MVP to implement this. And I use the code below to distinguish what is the  layer for,

const (
	// CRIImageLayers is a key of snapshot layers
	CRIImageLayers = "containerd.io/snapshot/cri.image-layers"
)

func isForContainer(info snapshots.Info) bool {
	_, ok := info.Labels[CRIImageLayers]
	return !ok
}

FYI, @cardyok will share his idea about it in kubeCon Shanghai https://sched.co/1PTJP.

Thank you for your infomration.

I have already created a PoC to implement this. And I use the code below to distinguish what is the layer for,

Yes. You can build your own snapshotter to make it happen. But for the builtin-snapshotter, we need to discuss it~


如何使用pycharm调试beaver，比如sft.sh

Required prerequisites

[X] I have read the documentation https://safe-rlhf.readthedocs.io.
[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[X] Consider asking first in a Discussion.

Questions
请问怎么用pycharm调试用deepspeed编写的程序呢，我尝试将脚本文件中的参数写入到pycharm中debuge configurations的parameters里面，但是会报错：

Checklist

[x] I have provided all relevant and necessary information above.
[X] I have chosen a suitable title for this issue.

#

目前没有机器做测试，根据这个issue来看，要不试一下--no_local_rank？

Close due to inactivity. Please feel free to ask for a reopen if you have more questions.


Example for FlatBuffer serialization

The *Dense tensor supports serialization to flat buffers. It is however undocumented. This is a good first issue for anyone interested

Attempting this one too.


Revert "Improve code readability"

Reverts test-network-function/cnf-certification-test-partner#146

@rdavid I had to revert this.  Commands weren't running correctly.


On iOS Safari, sometimes "Copy Link" and "Back to Top" links don't work

Clicks didn't trigger any visible result for Sean at today's test.

Still experiencing this, on iPad Mini, iOS 10, Mobile Safari. The Back to Top works, but the Copy Link does not.

Huh! It seems like if you just briefly tap on Back to top or Copy link, then those actions aren't triggered. If you long press then iOS takes you to the highlight-text interface. If you press for an intermediate period of time, the buttons are both working. Ugh.

Sean isn't experiencing this issue anymore, and I can't reproduce on BrowserStack or a physical device really. The brief-tap vs tap vs long-tap is an OS issue that we can't really get around from our end, if that was the problem all along.


Install twilio sendgrid in Heroku

Use this to set up potential for sharing the data from the Contact Us page:
-maybe send email of the data to an employee to respond
-maybe set up a screen for an employee to see all Contact Us data; possibly have an option on the page where they can directly respond to the person

feature/#30-twilio

done


One more change is needed for ScriptPurpose

Describe the feature you'd like
@zliu41 Sorry for not catching this earlier. Instead of an Integer here we need to specify ProposalProcedure
https://github.com/IntersectMBO/plutus/blob/5e95bc2db868e7592ae39c0ea95b9cc1b0f9337c/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L328
Describe alternatives you've considered
No response

@lehins What's the reason for needing the full ProposalProcedure instead of the index of it?

@zliu41 This is how we've always done the ScriptPurpose and this is the way it is in the spec.
In my opinion it makes no sense and it should always have been an Integer in all of the type constructors of ScriptPurpose. But while discussing this topic with @WhatisRT today, he said that this decision was mostly done for Plutus Scripts, so the script knows which thing actually triggered the script. It is always possible to lookup the thing that triggered the script in the appropriate field of TxInfo using the index, so I am not sure why it was done this way.
If you don't think this is useful information, maybe we should switch the rest Integer instead in Conway?
data ScriptPurpose
  = Minting Haskell.Integer
  | Spending Haskell.Integer
  | Rewarding Haskell.Integer
  | Certifying Haskell.Integer
  | Voting Haskell.Integer
  | Proposing Haskell.Integer

I really don't know how ScriptPurpose is used in Plutus scripts, so it is really hard for me to tell what's best here.

Among the other script purposes I think only Certifying is analogous and can be switched to Integer. However ProposalProcedure, which can contain many parameters, can be bigger than TxCert, which has a fixed size.
Using ProposalProcedure means the ScriptContext will be bigger; on the other hand it makes the constitution script cheaper. Not a big deal either way; we can go with ProposalProcedure. cc @michaelpj

Among the other script purposes I think only Certifying is analogous

They are actually all analogous. Redeemer pointers are specified as Int in the transaction. We resolve them into actual elements in the ledger rules. The only reason why they are not an Int is for the ScriptPurpose in the PlutusContext.
One way or another, whichever way you decide it to be it should be consistent: either all Integer or all actual elements.

Given that we're changing a bunch of stuff for V3, I wouldn't be totally averse to just switching to Integers (or perhaps newtypes around integers so we can provide a bit of help in picking the right lookup function) for the pointers.
I think my argument before was that we might as well give people the "resolved" value. But I'm not sure this is actually useful, and in some cases people then go and match it up against the inputs to figure out the index :see_no_evil: It would mean that you would have to do a linear lookup to find the value, so that's wasted work if you just care about what it is and not where it is :shrug:
Unclear! I do agree it should be consistent. And nobody has complained about it, so maybe the current version is good?

I wouldn't be totally averse to just switching to Integers (or perhaps newtypes around integers so we can provide a bit of help in picking the right lookup function) for the pointers.

What if we include both? The index and the element? I think that would provide the best of both of worlds :slightly_smiling_face:

Well, it doesn't give us the advantage of being able to shrink the script context. An interesting idea, though :thinking:

Providing just the element can be ambiguous in some cases. For example if one transaction contains two different proposals for TreasuryWithdrawal that have the same amount but different anchors. Then the script will not know which is which, because they both will be identical in the list of proposals, despite being two totally separate proposals on the ledger side.
Proving just the index requires an O(n) lookup, so it is also not ideal.

Oh yeah. Also having an index available would allow the plutus programmer to construct TxIn and GovernanceActionId easily. Because the only thing that is required is the transaction body hash (txInfoId) and the index in the list of inputs and proposals respectively.

So, after having a long discussion with @WhatisRT about this issue we came to a consensus that we really need to supply the index for Certifying and Proposing:
data ScriptPurpose
  = Minting V2.CurrencySymbol
  | Spending V2.TxOutRef
  | Rewarding V2.Credential
  | Certifying Haskell.Integer TxCert
  | Voting Voter
  | Proposing Haskell.Integer Proposal

If we don't do this then the script purpose can be ambiguous. The alternative is bring back the translation of Anchor, which I suspect Plutus team would not want to do in order to avoid bloating up the ScriptContext.
The reason for ambiguity is I could submit a transaction with certificates and proposals that will look identical to plutus, while being distinct in reality:
Tx {
  ...
  certs = [RegDRepTxCert c1 100 Nothing, UpdateDRepTxCert c1 (Just drepAnchor), UpdateDRepTxCert c1 Nothing]
  ...
  proposals =
    let w = TreasuryWithdrawals [ra1] (Just policyHash) in
      [ProposalProcedure 200 ra1 w (Just gaAnchor), ProposalProcedure 200 ra1 w Nothing]
  ...
}

which will be translated to PlutusContext as
Tx {
  ...
  certs = [RegDRepTxCert c1 100, UpdateDRepTxCert c1, UpdateDRepTxCert c1]
  ...
  proposals =
    let w = TreasuryWithdrawals [ra1] (Just policyHash) in
      [ProposalProcedure 200 ra1 w, ProposalProcedure 200 ra1 w]
  ...
}

in which case script purpose will be identical for both proposals and it will also be identical for the last two UpdateDRepTxCert certificates. Adding an index to the script purpose for Certifying and Proposing should solve this problem.

I assumed we'd also remove the TxCert and Proposal parts, but I don't mind either way.

Again for consistency I'd prefer adding it everywhere if we're going to do it somewhere.

The main issue is that this really ties in with a bunch of other stuff. @lehins really wants to optionally support indexing redeemers in the order in which they are mentioned on the wire. If we do that, when we show the indices to Plutus we now either need to substitute everything back into the original order (which would mean the index supplied is different from the one Plutus sees), or we'd need to implement our old friend, but not just for inputs, also for multi-asset (the horror!) and everything else.
I think it's also important to recognize that these two types of script purposes are different, since these are the ones where the ordering has actual semantic meaning in the ledger, while everything else can be freely reorganized without changing the semantics of the transaction. So it makes sense that these two would get information that reflects that.

They are actually all analogous.

Again for consistency I'd prefer adding it everywhere if we're going to do it somewhere.

I still don't know what the indexes mean for Minting, Rewarding and Voting. What would they be indexing into? I'm not seeing [CurrencySymbol], [Credential] or [Voter] in the script context.

What would they be indexing into? I'm not seeing [CurrencySymbol], [Credential] or [Voter] in the script context.

@zliu41 Sorry, I misunderstood your question. These are the fields that can contain script hashes as such they can be locked by scripts and need a script purpose. All three a maps, not lists, that's why you are not seeing them:

CurrencySymbol
https://github.com/IntersectMBO/plutus/blob/5e95bc2db868e7592ae39c0ea95b9cc1b0f9337c/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L354
Credential
https://github.com/IntersectMBO/plutus/blob/5e95bc2db868e7592ae39c0ea95b9cc1b0f9337c/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L356
Voter
https://github.com/IntersectMBO/plutus/blob/5e95bc2db868e7592ae39c0ea95b9cc1b0f9337c/plutus-ledger-api/src/PlutusLedgerApi/V3/Contexts.hs#L362

PlutusTx's map API is not exactly assocation list, it's a mess - it is a weird and confusing hybrid of an association list and a map. But even if it is an association list, I don't think integer indexing is an operation that makes sense on association lists - they are supposed to be accessed by keys. Indeed PlutusTx's map API doesn't provide an indexing operation: you need to convert it to a regular list via Map.toList first.
If integer indexing is indeed useful for Minting, Rewarding and Voting, I would suggest changing the corresponding maps to regular lists in the script context.
Fortunately you guys prefer having the indexes only on Proposing and Certifying anyway, so we don't really have a problem then. I also think it makes sense to supply both the index and the other argument, since it makes the script easier to write and cheaper. So I'll update the PR accordingly.

PlutusTx's map API is not exactly assocation list, it's a mess - it is a weird and confusing hybrid of an association list and a map. But even if it is an association list, I don't think integer indexing is an operation that makes sense on association lists - they are supposed to be accessed by keys. Indeed PlutusTx's map API doesn't provide an indexing operation: you need to convert it to a regular list via Map.toList first.
If integer indexing is indeed useful for Minting, Rewarding and Voting, I would suggest changing the corresponding maps to regular lists in the script context.
Fortunately you guys prefer having the indexes only on Proposing and Certifying anyway, so we don't really have a problem then. I also think it makes sense to supply both the index and the other argument, since it makes the script easier to write and cheaper. So I'll update the PR accordingly.

Is this both the index and other argument for all purposes or just new ones? Preferably I know a lot of users would prefer having both since the index can be extremely helpful for quickly looking up inputs. If needed I can provide more specific use cases.

Is this both the index and other argument for all purposes or just new ones?

Yes, both index and argument. However, we aren't quite sure if it is safe yet to add an index for inputs. Reason for this is in the fact that inputs are a Set in Ledger and it depends on the Ord instance. There is a much more complicated issue at hand here with regards to inputs, which we probably won't have enough time to address for Conway and PlutusV3
Proposals and certificates, on the other hand, preserve the order in which they were provided on the wire, thus index is stable.


"Non-optional dependency X of Y not found in dependency tree!?." message

To reproduce:

checkout dplug: https://github.com/p0nce/dplug
type dub test dplug:gui in the checkouted directory

Output:
Building package dplug:gui in /Users/ponce/Desktop/dplug/
Non-optional dependency gfm:core of dplug:core not found in dependency tree!?.

DUB Version: 12f7389fdecd38ad0d29e8d1e9ffa7187ad2de5c
This used to work on previous DUBs.

I have same problem now with master
Here is vverbose https://gist.github.com/MrSmith33/c81ae99368751ca432844821077e7123

@MrSmith33: Can you see if your case is fixed with #807? It's hard to tell without a full reproduction case, but I think it possibly is the first case that I fixed there.

I can confirm this fixed the bug here. Back onto DUB master :)

Didn't fixed my case.

I still get this with DUB version 30de6090144aecdd62bedbb2e8a8b2dc0675c2dc
To reproduce:

checkout dplug: https://github.com/p0nce/dplug
cd dplug/examples/distort
dub

Output:
Non-optional dependency gfm:core of dplug:core not found in dependency tree!?.

I've cleanup my DUB state, don't know what to do.

The PR isn't yet merged, so master is still broken.

Uh OK. Makes sense :)

Still happens to me on travis-CI.
https://travis-ci.org/MyLittleRobo/standardpaths/jobs/135571541


No webhook notification received if performed deleted a sharelink through API call

Category

[x] Question
[ ] Documentation issue
[ ] Bug

Expected or Desired Behavior
Webhook notification should receive if sharelink get removed from a file or file got unshared through API call
Observed Behavior
Webhook notification did not received after sharelink get removed from a file through API call
Steps to Reproduce
File has public exposure
Call API to remove the public link
POST: https://tenant-my.sharepoint.com/personal/user/_api/SP.Web.DeleteAnonymousLinkForObject
Link get removed from onedrive but no notification received for user considering user have a valid webhook
Thank you.
[ ]: http://aka.ms/onedrive-api-issues
[x]: http://aka.ms/onedrive-api-issues

Thanks, could you please clarify whether the webhook is registered for security events?
Also could you please provide a request ID + timestamp for a recent attempt to remove the link where the notification was not sent?


Imports are messed up when there is an export of arrow function.

Describe the bug
I have been using Vite + Preact + TS as I wanted to migrate my project to vite from preact cli. I run into a really strange issue.
In the reproduction repo there are two TS files that create two Preact contexts: Context1.ts and Context2.ts. In App.tsx the context are provided a value for each of them:

{ value: 'context 1' } - 1st context
{ value: 'context 2' } - 2nd context

There is a Consumer.tsx component that uses both contexts and just logs the values in the console.
There is no error, but when I run the app, in the console I get:
{value: 'context 2'}
{value: 'context 2'}

Expected:
{value: 'context 1'}
{value: 'context 2'}

I think this issue could be related to vite because there is an exported arrow function Test in both Context1.ts and Context2.ts. When this export is commented out in at least one of the files, it works fine (I get proper result in the console).
Reproduction
https://github.com/AleksaStevic/stp-ptc-test
Steps to reproduce

Clone reproduction repo
npm install
npm run dev
Open http://localhost:5175/ and look into the browser console.

System Info
System:
    OS: macOS 13.2.1
    CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 209.72 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.12.0 - ~/.nvm/versions/node/v18.12.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v16.16.0/bin/yarn
    npm: 9.6.2 - ~/.nvm/versions/node/v18.12.0/bin/npm
    Watchman: 2<IP_ADDRESS> - /usr/local/bin/watchman
  Browsers:
    Chrome: 111.0.5563.146
    Safari: 16.3
  npmPackages:
    vite: ^4.1.0 => 4.1.4

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

If I use preact({ prefreshEnabled: false }) instead of preact() in vite.config.ts, it worked.
I think this is a bug in @prefresh/vite.

It appears you are correct, this issue is very similar to https://github.com/preactjs/prefresh/issues/480

I'll close this issue as I don't think it's a bug in Vite.
Feel free to create a new one if it turns out to be.


Plzz

This pull request adds additional libraries I thought would be necessary for the project.

Closed since this is not necessary .


[MA2] Unable to add Windows SMB shares

What version of Music Assistant has the issue?
2.0.0b10
The problem
Unable to add a Windows SMB share.
How to reproduce
adding network IP address, share name, folder name along with username and password
In the form :

I’ve tried using the host name, adding // before the ip address, adding hostname before the username (host/username)
Relevant log output
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/providers/filesystem_smb/init.py", line 166, in _get_smb_connection
async with AsyncSMB(
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/providers/filesystem_smb/helpers.py", line 116, in aenter
await self.connect()
File "/usr/local/lib/python3.11/site-packages/music_assistant/server/providers/filesystem_smb/helpers.py", line 111, in connect
raise LoginFailed(f"SMB Connect failed to {self._remote_name}") from exc
music_assistant.common.models.errors.LoginFailed: SMB Connect failed to 192.168.0.xx
[ip address edited]
Additional information
I’m accessing these shares from multiple different computers and another HomeAssistant add-on (Samba backup) using the same credentials with no issues.
What version of Home Assistant Core are your running
2023.3.3
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

@gaussey ; Just saying, but is your Shared Folder really "E" ? To me it looks like your trying to use a Mapped Drive letter as you would in Windows. If so, there's no need to... Simply enter your path directly using the actual shared folder.

If you want to add a Windows SMB share you need to enter the dns name instead of IP, at least that is what somebody else reported.

If you want to add a Windows SMB share you need to enter the dns name instead of IP, at least that is what somebody else reported.

Tried, for about an hour, multiple combinations, every upper case and lowercase version, with slashes and no slashes.

We have another report of a user saying that connecting to Windows is not possible. So far I have only tested with linux samba (as I have no Windows here). I'll have to figure out what's wrong. We're using the pretty common pysmb library, which is a bit aged but used by many projects.
Did you try the full fqdn ? So something like yourhostname.local or something alike ?
I'll see of I can somehow setup a windows box in a VM or something.

We have another report of a user saying that connecting to Windows is not possible. So far I have only tested with linux samba (as I have no Windows here). I'll have to figure out what's wrong. We're using the pretty common pysmb library, which is a bit aged but used by many projects.
Did you try the full fqdn ? So something like yourhostname.local or something alike ?
I'll see of I can somehow setup a windows box in a VM or something.

hostname.local makes no difference.

Also ensure that you are at least using SMB v2 on your server.

SMBv2 is default on Windows 10 now, I’ve temporarily turned on SMBv1 in case that was the issue.
For what it’s worth this was my mount comment in HomeAssistant that worked fine for mounting the share 👍
mount_emusic: mkdir -p /media/emusic;mount -t cifs -o vers=3.0,noserverino,username=username,password=pass,domain=WORKGROUP //192.168.0.xx/E/music /media/emusic

Might be worth to try disabling SMBv2/v3 encryption feature to test ; https://learn.microsoft.com/en-us/troubleshoot/windows-server/networking/reduced-performance-after-smb-encryption-signing
Don't forget to reboot your SMB Server and HA Host before re-attempting connection to SMB Provider.

I'm the other Windows SMB user that has been effected by the changes introduced in b7>. :-)  I was going crazy at first just getting connected to my share. I finally sorted that out (had to use DNS over IP). and un-tic the TCP option but then found out the sync would die (connection failures) after a few seconds presumably from hitting some Windows SMB connection limit.
Looks like we are in the same boat, You grab the left oare and I'll grab the right...

Good news as I think I fixed this by switching to another smb library.
Beta 16 will be available soon (within a few hours) so please give that a proper test, thanks!


Add better velocity calculation for MR controllers and simulated hand

Overview
Fix is triggered by #4210 , which was, as it turned out, unrelated to ManipulationHandler.
MR controllers were completely missing calculation of controller velocity and angular velocity on a per-frame basis.
This change adds velocity calculation to both MR articulated hands and MR controller. Velocity is calculated using several of last registered controller positions -- this doesn't increase CPU cost, but protects from jitter.  Old approach to velocity calculation was missing actual velocity change in most cases.

/azp run

/azp run mrtk_PR

+1 on what will said, if possible move the velocity calculations into a util method

Apart form the example scene lukas mentioned, is is possible to add a unit test for checking that the throw behavior doesn't break again?

Technically unit test is possible, but it will not be testing everything, as the velocity logic is implemented in controllers, so it will only test that velocity is applied correctly with simulated hands. I'll try to add one.

/azp run

/azp run mrtk_PR


Add optional target attribute to some components

📚 Context
The Read More -> links, View all updates button, and View forum button on the docs homepage open the links in the same tab. There's a small but non-zero risk of users opening the links and not returning to the docs after.
This PR updates button, newsEntry, noteSplit, and arrowLink components to include an optional target attribute. When not specified, target = "_self".  This change allows us to set target="_blank" where required (e.g. in pages/index.js), so that the links open in a new tab.
💥 Impact

Size:

[ ] Small
[x] Not small

@imjuangarcia  I didn't the target attribute in ArrowLink for the SVGs. The "Next: Read More ->" (see screenshot) uses ArrowLink. Currently, clicking them opens the links in the same tab. I add target to ArrowLink and use that in news entry to open the blog posts in a new tab.


HUC discovery

This ties to #179. I am wrapping up the HUC discovery by AOI work. I will provide a function get_huc. That follows the conventions of the other get_* family functions.
get_huc = function(AOI, level = 8, nested = FALSE)

The nested parameter will try to get all lower level HUC, in this case the 10's, and 12's. The current hurdle is try to understand the seemingly random limits on each HUC level imposed by the Arc Server.
I will submit a pull request when complete for your consideration.

This can be closed right? We have get_huc12 andd get_huc08.

This is on my TODO list. The idea is to be able to get any HUC level via the National Map REST API... I am almost there. How about I do that, make a PR and you can accept or decline?

Hey guys, running into a use case where it would be nice to get levels of HUCs like @mikejohnson51 mentioned besides 8 and 12 and was wondering if this was doable or was implemented already (couldn't find it)? Looks like Mike mentioned the National Map REST API as a way to query this info as a solution and was curious how that ended up? Let me know if you want/need any help with this as I've got some time right now to pursue. Thanks!

Hey @dblodgett-usgs that sounds great! Thanks for the info.

For prosperity:
AOI = AOI::aoi_get(state = "CO", county = "Larimer")
hucs = nhdplusTools::get_huc12(AOI) %>%
  mutate(huc2 = substr(huc12, 1, 2),
         huc4  = substr(huc12, 1, 4),
         huc6  = substr(huc12, 1, 6),
         huc8  = substr(huc12, 1, 8),
         huc10 = substr(huc12, 1, 10))

# HUC6 example but applies to all levels:

hucs6 = group_by(hucs, huc6) %>%
  summarize()

That's pretty sweet/clever/gtk @mikejohnson51!

Done in #311 -- @joshualerickson you should be good to go now.
aoi <- AOI::aoi_get(state = "WI", county = "Dane")

hu4 <- nhdplusTools::get_huc(aoi, type = "huc04")
#> Spherical geometry (s2) switched off
#> although coordinates are longitude/latitude, st_intersects assumes that they are planar
#> Spherical geometry (s2) switched on
hu10 <- nhdplusTools::get_huc(aoi, type = "huc10")
#> Spherical geometry (s2) switched off
#> although coordinates are longitude/latitude, st_intersects assumes that they are planar
#> Spherical geometry (s2) switched on

plot(sf::st_geometry(hu4), lwd = 2)
plot(sf::st_geometry(hu10), add = TRUE)
plot(sf::st_geometry(aoi), add = TRUE)

Created on 2022-11-15 with reprex v2.0.2


Write tracks to a floppy disk

Sources:

The .ADF (Amiga Disk File) format FAQ
Encoding and writing an MFM track
td_readwritetrack
Hardware banging trackloader

There are various timing contraints while reading from or writing to floppy disk: http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node018E.html

This work will continue in #25


Add Usagi and unparseable date fix

Closes #5697, #5665
Checklist:

[ ] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[ ] Have not changed source names
[ ] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension

If you want to close multiple issues in one PR you still need to use the keyword before every ID.
So:
Closes #5697
Closes #5665


Symptoms checker modal background overlay persists even after completing the test

Steps to recreate:

Use "Check Symptoms" button.
Follow through the test and finish it.
On completion, the browser window closes but the overlay persists.

Possible solution:
On clicking the "Check Symptoms" button again, the overlay seems to go away so maybe fire the toggle button on modal close so the overlay goes away.

I'd like to work on this

Okay assigning this to you.


az webapp config connection-string list does not give values for non-JSON output

Command Name
az webapp config connection-string list
Errors:
Values are missing with non-JSON output (such as table and tsv)
To Reproduce:

az webapp config connection-string list --name {} --resource-group {} --output tsv

Expected Behavior
The output should be similar to az webapp config connection-string list --name {} --resource-group {} --output json
Environment Summary
Windows-10-10.0.17134-SP0
Python 3.6.6
Shell: cmd.exe

azure-cli 2.0.71 *
azure-cli-ml 1.0.6

Extensions:
azure-cli-ml 1.0.6

Additional Context

RG is marked as optional because ingeneral on CLI you can set a default value for RG using az configure --defaults group=. if you don't do this you need to give us a RG or ID value

@panchagnula I'm so confused why this issue was closed, it's still a bug (even if I'm missing some information). I don't have any resources that are public, so does it matter if I supply a resource group?
In general, I'm able to reproduce this with any web app that has a connection string. The problem is when you run the same command, with a different --output, you get a different set of information. This isn't specific to a resource group/web app.

sorry ignore my comments above the comments for a different issue - reactivating this.

@qwordy need your advice on this issue - is this expected behavior, is there something specific the command needs to do here to support the non JSON output?

table prints summary, which only contains the most important fields.
Take a look at
https://github.com/Azure/azure-cli/blob/dev/doc/authoring_command_modules/authoring_commands.md#custom-table-formats

thanks for info will take a look at this further.

move to S166.

move to S168

@Kotasudhakarreddy can you take a look at this please?

Sure @Panchagnula, will look into it.

@qwordy- we have analyzed and identified that Custom table format displays the plain Key:Value fields from the parent object. Where as if there is any child object presnt inside a parent object it is unable to convert in table format. Below is sample FYR. Can you please advise

@qwordy can you comment on the above details - this is not specific to AppService - and might be by Design as per the core implementation fo how --table works. Thanks!

Change
    with self.command_group('webapp config connection-string') as g:
        g.custom_command('list', 'get_connection_strings', exception_handler=empty_on_404)

to
    with self.command_group('webapp config connection-string') as g:
        g.custom_command('list', 'get_connection_strings', exception_handler=empty_on_404, table_transformer='{Name:name, SlotSetting:slotSetting, Type:value.type, Value:value.value}')

I have not tested it. Search "table_transformer=" in the project, you can find many examples. You can customize the schema of table.

Change
with self.command_group('webapp config connection-string') as g:
g.custom_command('list', 'get_connection_strings', exception_handler=empty_on_404)
to
with self.command_group('webapp config connection-string') as g:
g.custom_command('list', 'get_connection_strings', exception_handler=empty_on_404, table_transformer='{Name:name, SlotSetting:slotSetting, Type:value.type, Value:value.value}')
I have not tested it. Search "table_transformer=" in the project, you can find many examples. You can customize the schema of table.

Thanks! will check.

Fixed by change12685


Feature Suggestion: Workbench View detached from Explorer

Thank you for this excellent, very useful extension!
A small feature request:
Would it be possible to have the extension contribute a view detached from the explorer view?
"contributes": {
  "viewsContainers": {
  "views": {
    "betterOpenEditorsContainer": [
      {
        "id": "betterOpenEditors",
        "name": "Better Open Editors"
      }
    ]
  }

(Obviously, this can be done in most instances with some UI drag-and-drop, but for certain setups, it might be nice to have an independent view as well!)
Thanks in advance!

In case this is of interest: I think I mostly got this working here: https://github.com/ColinConwell/vscode-better-open-editors/tree/dual_option
Though there is currently an error I can't (at the moment) chase down:
Error: Cannot resolve tree item for element 1/undefined-/ from extension McSodbrenner.treeview-open-editors


Mint passive mode

tl;dr
Switch Tesla.Adapter.Mint to use passive mode, as suggesting in https://github.com/teamon/tesla/issues/357#issuecomment-916967770
(Potentially) related issues:

https://github.com/teamon/tesla/issues/357
https://github.com/teamon/tesla/issues/450
https://github.com/teamon/tesla/issues/394
https://github.com/teamon/tesla/issues/385
https://github.com/teamon/tesla/issues/370

@teamon I'd like to tackle this one

@teamon We basically want to change the default active mode to passive  here https://github.com/elixir-tesla/tesla/blob/master/lib/tesla/adapter/mint.ex#L51 right?

Basically yes :)
In case of tests it would be great to have failing test cases for all related issues and then check if changing to passive mode fixes them.


Remove unneeded check of free(NULL)

Passing NULL to free() is totally allowed

Consider that the compiler (at least gcc) emits exactly the same code whether or not you have the check for NULL before calling free()
	movq	%rax, -8(%rbp)
	cmpq	$0, -8(%rbp)
	je	.L2
	movq	-8(%rbp), %rax
	movq	%rax, %rdi
	call	free@PLT
.L2:
	movl	$0, %eax
	leave

it checks for the pointer to be not NULL nevertheless.
Yes, it's useless (for code generation) but it saves you if you're on a platform not 100% compliant with the standard.

ok cool TIL


Bugfix | Fixes not operator creating invalid types

The Issue
The implementation of the Not operator has a bug where it creates types with invalid representations, which in turn leads to panics when the type is used.
For example.
let _ = !u4(0b0101); // this u4 has a value of u4(0b1111_1010) -> invalid!

Using such an invalid type will result in a panic:
let _ = !u4(5) + u4(1);
// -> assertion failed: Self::MAX.0 - other.0 >= self.0

The unit tests did not catch this one because the equality PartialEq implementation ignores the bits in the representation which lie outside the type mask.
The Fix
The not operator should ensure not to flip the bits of the underlying value which lie outside of the type mask.

Nice find...this is actually related to some discussion I'd brought up a while back (here) when running into something similar.
I think this again brings up whether or not masking should be done on write or on read/whenever it's necessary.  I believe the current thinking (though maybe not entirely consistent, as mentioned in the ticket linked above) is that the value should be masked when accessing it (i.e. don't assume it's already masked correctly) so here the issue is in the Add impl: it's assuming that all masking is being done on "write", so it's asserting that it's already correct.
In my opinion I think we should probably make it such that the internal value is always "correct" (i.e. masking should be done on "write").  There are some pros listed in that ticket about mask-on-read, but I have a feeling we'll continue to bump into situations like this, and upholding the invariant that the held value is always correct seems like a bigger win.
But because not returns a new value, I think we need this change regardless though.

Interesting idea with the "mask on read" approach. I guess the performance benefits might be worth considering. It might make inspection with the debugger (where you can see the representation value) a bit confusing, though.
I could have a go at changing this assertion in the Add implementation, if we think this approach is preferred. It would be good to add some test coverage which captures this "mask on read" design philosophy too.
In this particular case there is no performance change, I think. We aren't adding any operations, just changing the order of existing operations. I guess if we commit to "mask on read" then we can remove the mask call in Not altogether(?).

@BenLeadbetter sorry for the slow reply.  I'm trying to spend some time on Ux and taking a look at doing a mask-on-write approach.  Let me try and take a shot at that before we move forward here.

All good. I'm keen to see the changes

@BenLeadbetter have a draft of mask-on-write up in https://github.com/rust-ux/uX/pull/65.  I tested the case that you included in your description and that no longer panics.

Thanks! I'll try out your branch against my crate

@BenLeadbetter the mask-on-write is now merged and, as far as I know, this issue should be fixed.  Closing but please re-open if you still see an issue.


Bug with containers creation in Orchestrator on WSL

After https://github.com/analysis-dev/save-cloud/pull/707 there is a problems with getHostIp() method, since host.docker.internal on WSL are already exists in /etc/hosts for some reasons, therefore, in process of containers creation. instead of  host-gateway value we get  host.docker.internal, which is wrong

IIUC, host.docker.internal on WSL distros points to the Windows hosts, so that processes from inside Docker on WSL distro can access processes running on Windows host and not on WSL VM. This can probably be worked around by passing HOST_IP=host-gateway when running orchestrator with bootRun inside WSL.
I believe if orchestrator runs on Windows and communicates with Docker Daemon via HTTP API (see #632), this very feature makes possible communication between agents running inside Docker for Windows and orchestrator. It's weird though, that there is a hosts entry even in usual distros.

We stopped build containers on orchestrator level


Video qualities unavailable for YouTube provider

Current Behavior:
Whatever YT video I play with the player, it is always blurry. After inspecting, I found that player.qualities has no quality available! I tried to trigger the auto quality option player.remoteControl.requestAutoQuality() but that didn't help, Maybe because the player has no quality options in the first place.
How to load qualities for YouTube videos?
Expected Behavior:
I've used Plyr before. My expectation was that this should've qualities available automatically. Or a way to load YT video qualities (in the docs).
Steps To Reproduce:

Use YouTube provider
Check player(instance).qualities
Try to trigger auto quality & that does nothing

I wanted to trigger auto quality when the user goes fullscreen so a better quality can be played automatically.
Reproduction Link: I believe that this issue doesn't require a repo
Environment:

Meta Framework: Next.js 14.2
Node: 20
Device: PC
OS<EMAIL_ADDRESS>Browser: Chrome@127
@vidstack/react: ^1.11.29

Edit: Important context, initially player initializes at a small size (it's around 640px in width), So the quality is being set is okay for that size, The issue is, I've no option to change to a better quality even though the video has lots quality available in YT. Due to this when the user switches to fullscreen video stays blurry.

You cannot control the quality level of the YouTube embed, there is no API to do so. It is auto by default.

Thanks @mihar-22, The issue is auto quality is not working for me. When the video loads in a small size it never switches to a better resolution when the player is in full-screen mode.

Uhm, I'm experiencing the same issue here. Using native embed works well, using Vidstack Player does not. So it's not a limitation of the YouTube embed...


failure with weird character at beginning of file

| ��/// <reference path="bootstrap.js" />

couldnt reckognize exactly if there is any issue about any specific chars

that's almost certainly not added by this code, are you using utf-8 files?


Fix fmt.Errorf error message

"disovery" to "discovery" in line 218.
"simgle" to "single" in line 883.

Thanks!


asset.start_date not working in live mode

Hi,
I am trying to fetch the start_date of assets trading on Binance in live mode using the command asset.start_date.  asset.start_date returns the same timestamp for all assets: 'Timestamp('2009-01-01 00:00:00+0000', tz='UTC')'
Cheers,
Francesco

Thank you for catching this. We've resolved this in a separate branch which we've been delayed in releasing but planning to release early this week.


Add support for AD

Looking for a timeline when/if Active directory will be integrated as a 1st party backend provider.

Does the ldap feature that is provided by the operator currently not satisfy the use case that you are desiring?

Closing as support is included


hitarea not respecting anchor property

Not sure if this is intended behaviour.
Setting the hitarea of a sprite which also has it's anchor specified doesn't work. (hit area will then lie outside the bounds of the sprite).
fiddle example, 1st click - okay, 2nd click (after hit area is set) - not okay
http://jsfiddle.net/5mydwyxd/

IIRC if you set hitArea it is an absolute area that is checked for hits. By opting into hitArea you basically say "don't try to calculate the hit area, just use this rect exactly".

fixed docs!


Add open source license

Just what the title says. Please attach an open source license to this repo.
[Note: Just saw a demo of this at the Summit in Barcelona. Very cool stuff!]

Attached an LICENSE to the repo. Thank you!