VM: -readconfig is soft-deprecated by QEMU

Required information

Distribution: openSUSE
Distribution version: Tumbleweed

lxc info
config: {}
api_extensions:
- storage_zfs_remove_snapshots
- container_host_shutdown_timeout
- container_stop_priority
- container_syscall_filtering
- auth_pki
- container_last_used_at
- etag
- patch
- usb_devices
- https_allowed_credentials
- image_compression_algorithm
- directory_manipulation
- container_cpu_time
- storage_zfs_use_refquota
- storage_lvm_mount_options
- network
- profile_usedby
- container_push
- container_exec_recording
- certificate_update
- container_exec_signal_handling
- gpu_devices
- container_image_properties
- migration_progress
- id_map
- network_firewall_filtering
- network_routes
- storage
- file_delete
- file_append
- network_dhcp_expiry
- storage_lvm_vg_rename
- storage_lvm_thinpool_rename
- network_vlan
- image_create_aliases
- container_stateless_copy
- container_only_migration
- storage_zfs_clone_copy
- unix_device_rename
- storage_lvm_use_thinpool
- storage_rsync_bwlimit
- network_vxlan_interface
- storage_btrfs_mount_options
- entity_description
- image_force_refresh
- storage_lvm_lv_resizing
- id_map_base
- file_symlinks
- container_push_target
- network_vlan_physical
- storage_images_delete
- container_edit_metadata
- container_snapshot_stateful_migration
- storage_driver_ceph
- storage_ceph_user_name
- resource_limits
- storage_volatile_initial_source
- storage_ceph_force_osd_reuse
- storage_block_filesystem_btrfs
- resources
- kernel_limits
- storage_api_volume_rename
- macaroon_authentication
- network_sriov
- console
- restrict_devlxd
- migration_pre_copy
- infiniband
- maas_network
- devlxd_events
- proxy
- network_dhcp_gateway
- file_get_symlink
- network_leases
- unix_device_hotplug
- storage_api_local_volume_handling
- operation_description
- clustering
- event_lifecycle
- storage_api_remote_volume_handling
- nvidia_runtime
- container_mount_propagation
- container_backup
- devlxd_images
- container_local_cross_pool_handling
- proxy_unix
- proxy_udp
- clustering_join
- proxy_tcp_udp_multi_port_handling
- network_state
- proxy_unix_dac_properties
- container_protection_delete
- unix_priv_drop
- pprof_http
- proxy_haproxy_protocol
- network_hwaddr
- proxy_nat
- network_nat_order
- container_full
- candid_authentication
- backup_compression
- candid_config
- nvidia_runtime_config
- storage_api_volume_snapshots
- storage_unmapped
- projects
- candid_config_key
- network_vxlan_ttl
- container_incremental_copy
- usb_optional_vendorid
- snapshot_scheduling
- container_copy_project
- clustering_server_address
- clustering_image_replication
- container_protection_shift
- snapshot_expiry
- container_backup_override_pool
- snapshot_expiry_creation
- network_leases_location
- resources_cpu_socket
- resources_gpu
- resources_numa
- kernel_features
- id_map_current
- event_location
- storage_api_remote_volume_snapshots
- network_nat_address
- container_nic_routes
- rbac
- cluster_internal_copy
- seccomp_notify
- lxc_features
- container_nic_ipvlan
- network_vlan_sriov
- storage_cephfs
- container_nic_ipfilter
- resources_v2
- container_exec_user_group_cwd
- container_syscall_intercept
- container_disk_shift
- storage_shifted
- resources_infiniband
- daemon_storage
- instances
- image_types
- resources_disk_sata
- clustering_roles
- images_expiry
- resources_network_firmware
- backup_compression_algorithm
- ceph_data_pool_name
- container_syscall_intercept_mount
- compression_squashfs
- container_raw_mount
- container_nic_routed
- container_syscall_intercept_mount_fuse
- container_disk_ceph
- virtual-machines
- image_profiles
- clustering_architecture
- resources_disk_id
- storage_lvm_stripes
- vm_boot_priority
- unix_hotplug_devices
- api_filtering
- instance_nic_network
- clustering_sizing
- firewall_driver
- projects_limits
- container_syscall_intercept_hugetlbfs
- limits_hugepages
- container_nic_routed_gateway
- projects_restrictions
- custom_volume_snapshot_expiry
- volume_snapshot_scheduling
- trust_ca_certificates
- snapshot_disk_usage
- clustering_edit_roles
- container_nic_routed_host_address
- container_nic_ipvlan_gateway
- resources_usb_pci
- resources_cpu_threads_numa
- resources_cpu_core_die
- api_os
- container_nic_routed_host_table
- container_nic_ipvlan_host_table
- container_nic_ipvlan_mode
- resources_system
- images_push_relay
- network_dns_search
- container_nic_routed_limits
- instance_nic_bridged_vlan
- network_state_bond_bridge
- usedby_consistency
- custom_block_volumes
- clustering_failure_domains
- resources_gpu_mdev
- console_vga_type
- projects_limits_disk
- network_type_macvlan
- network_type_sriov
- container_syscall_intercept_bpf_devices
- network_type_ovn
- projects_networks
- projects_networks_restricted_uplinks
- custom_volume_backup
- backup_override_name
- storage_rsync_compression
- network_type_physical
- network_ovn_external_subnets
- network_ovn_nat
- network_ovn_external_routes_remove
- tpm_device_type
- storage_zfs_clone_copy_rebase
- gpu_mdev
- resources_pci_iommu
- resources_network_usb
- resources_disk_address
- network_physical_ovn_ingress_mode
- network_ovn_dhcp
- network_physical_routes_anycast
- projects_limits_instances
- network_state_vlan
- instance_nic_bridged_port_isolation
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    MIIB7zCCAXWgAwIBAgIRANhl7wynTn9E71xLTaClXhcwCgYIKoZIzj0EAwMwMzEc
    MBoGA1UEChMTbGludXhjb250YWluZXJzLm9yZzETMBEGA1UEAwwKcm9vdEB5YXZp
    bjAeFw0xOTA0MTEwNTE4MDFaFw0yOTA0MDgwNTE4MDFaMDMxHDAaBgNVBAoTE2xp
    bnV4Y29udGFpbmVycy5vcmcxEzARBgNVBAMMCnJvb3RAeWF2aW4wdjAQBgcqhkjO
    PQIBBgUrgQQAIgNiAAT+PONmtu+qgT9JEF2nkLsL5LlPp3c4l3xMoiMmoSl0F4hY
    qwQjqfRf+eoJKSafC+b95aD8H2mP1Aq0LIkZGHw2nY2kYVGeMVl17jezt4fX07fQ
    UHVGUX+d43WQZUVb0MqjTTBLMA4GA1UdDwEB/wQEAwIFoDATBgNVHSUEDDAKBggr
    BgEFBQcDATAMBgNVHRMBAf8EAjAAMBYGA1UdEQQPMA2CBXlhdmluhwQKKhRtMAoG
    CCqGSM49BAMDA2gAMGUCMHCaqAqqEgVZaBtiOGa5DwTpdOdRXsf8/rnOgjWlvQ0o
    /mOaX58feUAURmAa19E9OQIxAKizR6KMA0RJ84vUbtsDphzMJAP3UyDlkn4dnRVV
    Ct/K6H16CwFGJHDkxzjqkLyy4g==
    -----END CERTIFICATE-----
  certificate_fingerprint: bd18dcc1b4b614aca0b28ffbb4f3bf99ebb9c40e491579937b8e03aa1c99d49b
  driver: lxc | qemu
  driver_version: 4.0.5 | 5.2.0
  firewall: nftables
  kernel: Linux
  kernel_architecture: x86_64
  kernel_features:
    netnsid_getifaddrs: "true"
    seccomp_listener: "true"
    seccomp_listener_continue: "true"
    shiftfs: "false"
    uevent_injection: "true"
    unpriv_fscaps: "true"
  kernel_version: 5.10.7-1-default
  lxc_features:
    cgroup2: "true"
    devpts_fd: "true"
    mount_injection_file: "true"
    network_gateway_device_route: "true"
    network_ipvlan: "true"
    network_l2proxy: "true"
    network_phys_macvlan_mtu: "true"
    network_veth_router: "true"
    pidfd: "true"
    seccomp_allow_deny_syntax: "true"
    seccomp_notify: "true"
    seccomp_proxy_send_notify_fd: "true"
  os_name: openSUSE Tumbleweed
  os_version: "20210131"
  project: default
  server: lxd
  server_clustered: false
  server_name: yavin
  server_pid: 7493
  server_version: "4.10"
  storage: dir
  storage_version: "1"

Issue description
When trying to run LXD with QEMU 5.2 and later, you get the following error:
% lxc launch images:opensuse/15.2 fred-vm --vm --console
Creating fred-vm
Starting fred-vm
Error: Failed to run: forklimits limit=memlock:unlimited:unlimited -- /usr/bin/qemu-system-x86_64 -S -name fred-vm -uuid 1b4eb331-a46e-4a1a-a52e-36d94f95021b -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-reboot -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=deny,resourcecontrol=deny -readconfig /var/log/lxd/fred-vm/qemu.conf -pidfile /var/log/lxd/fred-vm/qemu.pid -D /var/log/lxd/fred-vm/qemu.log -chroot /var/lib/lxd/virtual-machines/fred-vm -smbios type=2,manufacturer=Canonical Ltd.,product=LXD -runas nobody: qemu-system-x86_64:/var/log/lxd/fred-vm/qemu.conf:27: There is no option group 'spice'
qemu-system-x86_64: -readconfig /var/log/lxd/fred-vm/qemu.conf: read config /var/log/lxd/fred-vm/qemu.conf: Invalid argument
: Process exited with a non-zero value
Try `lxc info --show-log local:fred-vm` for more info

This is a known issue with QEMU and the SUSE QEMU maintainers have said that QEMU is soft-deprecating -readconfig -- with the recommended workaround being that you specify spice configuration parameters directly.
Steps to reproduce

Run LXD with QEMU 5.2.
Try to run a VM.

Note that on openSUSE I'm in the middle of figuring out how to package LXD to work with VMs, so you need some extra setup steps (which will be part of the LXD package once we sort this stuff out):
% mkdir -p /opt/lxd/OVMF
% ln -s /usr/share/qemu/ovmf-x86_64-ms-code.bin /opt/lxd/OVMF/OVMF_CODE.fd
% ln -s /usr/share/qemu/ovmf-x86_64-vars.bin /opt/lxd/OVMF/OVMF_VARS.fd
% ln -s /usr/share/qemu/ovmf-x86_64-ms-vars.bin /opt/lxd/OVMF/OVMF_VARS.ms.fd

And then you need to run LXD with LXD_OVMF_PATH=/opt/lxd/OVMF but that shouldn't be causing this issue.
Information to attach

[ ] Any relevant kernel output (dmesg)
[x] Container log (lxc info NAME --show-log)

Name: fred-vm
Location: none
Remote: unix://
Architecture: x86_64
Created: 2021/02/02 00:21 UTC
Status: Stopped
Type: virtual-machine
Profiles: default
Error: open /var/log/lxd/fred-vm/qemu.log: no such file or directory

[x] Container configuration (lxc config show NAME --expanded)

architecture: x86_64
config:
  image.architecture: amd64
  image.description: Opensuse 15.2 amd64 (20210201_04:20)
  image.os: Opensuse
  image.release: "15.2"
  image.serial: "20210201_04:20"
  image.type: disk-kvm.img
  image.variant: default
  security.idmap.isolated: "true"
  snapshots.expiry: 6w
  snapshots.pattern: '{{ creation_date | date:"2006-01-02" }}'
  snapshots.schedule: 0 0 * * *
  volatile.base_image: db74e0609ba4863716104234a6bb7c634040972d1f6c1e6607d86670b60a5278
  volatile.eth0.hwaddr: 00:16:3e:2d:a3:ff
  volatile.uuid: 1b4eb331-a46e-4a1a-a52e-36d94f95021b
devices:
  eth0:
    name: eth0
    nictype: bridged
    parent: lxdbr0
    type: nic
  root:
    path: /
    pool: default
    type: disk
ephemeral: false
profiles:
- default
stateful: false
description: ""

[x] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)

t=2021-02-02T11:27:07+1100 lvl=info msg="LXD 4.10 is starting in normal mode" path=/var/lib/lxd
t=2021-02-02T11:27:07+1100 lvl=info msg="Kernel uid/gid map:"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - u 0 0<PHONE_NUMBER>"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - g 0 0<PHONE_NUMBER>"
t=2021-02-02T11:27:07+1100 lvl=info msg="Configured LXD uid/gid map:"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - u 0 400000000 500000001"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - g 0 400000000 500000001"
t=2021-02-02T11:27:07+1100 lvl=info msg="Kernel features:"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - closing multiple file descriptors efficiently: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - netnsid-based network retrieval: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - pidfds: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - uevent injection: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - seccomp listener: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - seccomp listener continue syscalls: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - seccomp listener add file descriptors: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - attach to namespaces via pidfds: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - safe native terminal allocation : yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - unprivileged file capabilities: yes"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - cgroup layout: hybrid"
t=2021-02-02T11:27:07+1100 lvl=warn msg=" - Couldn't find the CGroup blkio.weight, disk priority will be ignored"
t=2021-02-02T11:27:07+1100 lvl=info msg=" - shiftfs support: no"
t=2021-02-02T11:27:07+1100 lvl=info msg="Initializing local database"
t=2021-02-02T11:27:08+1100 lvl=info msg="Starting /dev/lxd handler:"
t=2021-02-02T11:27:08+1100 lvl=info msg=" - binding devlxd socket" socket=/var/lib/lxd/devlxd/sock
t=2021-02-02T11:27:08+1100 lvl=info msg="REST API daemon:"
t=2021-02-02T11:27:08+1100 lvl=info msg=" - binding Unix socket" socket=/var/lib/lxd/unix.socket
t=2021-02-02T11:27:08+1100 lvl=info msg="Initializing global database"
t=2021-02-02T11:27:08+1100 lvl=info msg="Firewall loaded driver \"nftables\""
t=2021-02-02T11:27:08+1100 lvl=info msg="Initializing storage pools"
t=2021-02-02T11:27:08+1100 lvl=info msg="Initializing daemon storage mounts"
t=2021-02-02T11:27:08+1100 lvl=info msg="Initializing networks"
t=2021-02-02T11:27:08+1100 lvl=info msg="Pruning leftover image files"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done pruning leftover image files"
t=2021-02-02T11:27:08+1100 lvl=info msg="Loading daemon configuration"
t=2021-02-02T11:27:08+1100 lvl=info msg="Started seccomp handler" path=/var/lib/lxd/seccomp.socket
t=2021-02-02T11:27:08+1100 lvl=info msg="Pruning expired images"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done pruning expired images"
t=2021-02-02T11:27:08+1100 lvl=info msg="Pruning expired instance backups"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done pruning expired instance backups"
t=2021-02-02T11:27:08+1100 lvl=info msg="Updating instance types"
t=2021-02-02T11:27:08+1100 lvl=info msg="Expiring log files"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done expiring log files"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done updating instance types"
t=2021-02-02T11:27:08+1100 lvl=info msg="Updating images"
t=2021-02-02T11:27:08+1100 lvl=info msg="Done updating images"
t=2021-02-02T11:27:26+1100 lvl=info msg="Creating instance" ephemeral=false instance=fred-vm instanceType=virtual-machine project=default
t=2021-02-02T11:27:26+1100 lvl=info msg="Created instance" ephemeral=false instance=fred-vm instanceType=virtual-machine project=default
t=2021-02-02T11:28:03+1100 lvl=warn msg="Unable to use virtio-fs for config drive, using 9p as a fallback: virtiofsd missing" instance=fred-vm instanceType=virtual-machine project=default
t=2021-02-02T11:28:03+1100 lvl=warn msg="Using writeback cache I/O" DevPath=/var/lib/lxd/storage-pools/default/virtual-machines/fred-vm/root.img fsType=btrfs instance=fred-vm instanceType=virtual-machine project=default

[ ] Output of the client with --debug
[x] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

location: none
metadata:
  context: {}
  level: dbug
  message: 'New event listener: 9c87d7b2-f2aa-4926-9ccf-bef19fef2cb2'
timestamp: "2021-02-02T11:27:22.421826183+11:00"
type: logging

location: none
metadata:
  context:
    ip: '@'
    method: GET
    protocol: unix
    url: /1.0
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:27:25.961953325+11:00"
type: logging

location: none
metadata:
  context:
    ip: '@'
    method: GET
    protocol: unix
    url: /1.0/events
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:27:26.010917077+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'New event listener: c1198efa-1c6f-4930-89ea-5718101d5516'
timestamp: "2021-02-02T11:27:26.011266086+11:00"
type: logging

location: none
metadata:
  context:
    ip: '@'
    method: POST
    protocol: unix
    url: /1.0/instances
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:27:26.011719471+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: Connecting to a remote simplestreams server
timestamp: "2021-02-02T11:27:26.011911897+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: Responding to instance create
timestamp: "2021-02-02T11:27:26.011734363+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'New task Operation: 939a39e7-f84f-44dc-8db1-722064355a57'
timestamp: "2021-02-02T11:27:26.127909849+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Started task operation: 939a39e7-f84f-44dc-8db1-722064355a57'
timestamp: "2021-02-02T11:27:26.128281196+11:00"
type: logging

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:27:26.122251067+11:00"
  description: Creating instance
  err: ""
  id: 939a39e7-f84f-44dc-8db1-722064355a57
  location: none
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/fred-vm
    instances:
    - /1.0/instances/fred-vm
  status: Pending
  status_code: 105
  updated_at: "2021-02-02T11:27:26.122251067+11:00"
timestamp: "2021-02-02T11:27:26.128258283+11:00"
type: operation

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:27:26.122251067+11:00"
  description: Creating instance
  err: ""
  id: 939a39e7-f84f-44dc-8db1-722064355a57
  location: none
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/fred-vm
    instances:
    - /1.0/instances/fred-vm
  status: Running
  status_code: 103
  updated_at: "2021-02-02T11:27:26.122251067+11:00"
timestamp: "2021-02-02T11:27:26.128548358+11:00"
type: operation

location: none
metadata:
  context: {}
  level: dbug
  message: Connecting to a remote simplestreams server
timestamp: "2021-02-02T11:27:26.129385214+11:00"
type: logging

location: none
metadata:
  context:
    ip: '@'
    method: GET
    protocol: unix
    url: /1.0/operations/939a39e7-f84f-44dc-8db1-722064355a57
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:27:26.129855859+11:00"
type: logging

location: none
metadata:
  context:
    fingerprint: db74e0609ba4863716104234a6bb7c634040972d1f6c1e6607d86670b60a5278
  level: dbug
  message: Image already exists in the DB
timestamp: "2021-02-02T11:27:26.259756203+11:00"
type: logging

location: none
metadata:
  context:
    ephemeral: "false"
    instance: fred-vm
    instanceType: virtual-machine
    project: default
  level: info
  message: Creating instance
timestamp: "2021-02-02T11:27:26.264557084+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: FillInstanceConfig started
timestamp: "2021-02-02T11:27:26.266139817+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: FillInstanceConfig finished
timestamp: "2021-02-02T11:27:26.266154792+11:00"
type: logging

location: none
metadata:
  action: instance-created
  source: /1.0/instances/fred-vm
timestamp: "2021-02-02T11:27:26.271728933+11:00"
type: lifecycle

location: none
metadata:
  context:
    ephemeral: "false"
    instance: fred-vm
    instanceType: virtual-machine
    project: default
  level: info
  message: Created instance
timestamp: "2021-02-02T11:27:26.271679817+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: CreateInstanceFromImage started
timestamp: "2021-02-02T11:27:26.274576758+11:00"
type: logging

location: none
metadata:
  context:
    dev: /var/lib/lxd/storage-pools/default/virtual-machines/fred-vm/root.img
    driver: dir
    path: /var/lib/lxd/storage-pools/default/virtual-machines/fred-vm
    pool: default
  level: dbug
  message: Running filler function
timestamp: "2021-02-02T11:27:26.27589076+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Updated metadata for task Operation: 939a39e7-f84f-44dc-8db1-722064355a57'
timestamp: "2021-02-02T11:27:26.277108813+11:00"
type: logging

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:27:26.122251067+11:00"
  description: Creating instance
  err: ""
  id: 939a39e7-f84f-44dc-8db1-722064355a57
  location: none
  may_cancel: false
  metadata:
    create_instance_from_image_unpack_progress: 'Unpack: 100% (6.68GB/s)'
    progress:
      percent: "100"
      speed: "6676258992"
      stage: create_instance_from_image_unpack
  resources:
    containers:
    - /1.0/containers/fred-vm
    instances:
    - /1.0/instances/fred-vm
  status: Running
  status_code: 103
  updated_at: "2021-02-02T11:27:26.277098213+11:00"
timestamp: "2021-02-02T11:27:26.277340962+11:00"
type: operation

location: none
metadata:
  context:
    imageFile: /var/lib/lxd/images/db74e0609ba4863716104234a6bb7c634040972d1f6c1e6607d86670b60a5278
    vol: fred-vm
  level: dbug
  message: Checking image unpack size
timestamp: "2021-02-02T11:27:26.340352012+11:00"
type: logging

location: none
metadata:
  context:
    dstPath: /var/lib/lxd/storage-pools/default/virtual-machines/fred-vm/root.img
    imageFile: /var/lib/lxd/images/db74e0609ba4863716104234a6bb7c634040972d1f6c1e6607d86670b60a5278
    imgPath: /var/lib/lxd/images/db74e0609ba4863716104234a6bb7c634040972d1f6c1e6607d86670b60a5278.rootfs
    vol: fred-vm
  level: dbug
  message: Converting qcow2 image to raw disk
timestamp: "2021-02-02T11:27:26.340386181+11:00"
type: logging

location: none
metadata:
  context:
    dev: /var/lib/lxd/storage-pools/default/virtual-machines/fred-vm/root.img
    driver: dir
    pool: default
  level: dbug
  message: Moved GPT alternative header to end of disk
timestamp: "2021-02-02T11:28:03.482010328+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UpdateInstanceBackupFile started
timestamp: "2021-02-02T11:28:03.491635628+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: CreateInstanceFromImage finished
timestamp: "2021-02-02T11:28:03.491580874+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Success for task operation: 939a39e7-f84f-44dc-8db1-722064355a57'
timestamp: "2021-02-02T11:28:03.499494933+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UpdateInstanceBackupFile finished
timestamp: "2021-02-02T11:28:03.49944648+11:00"
type: logging

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:27:26.122251067+11:00"
  description: Creating instance
  err: ""
  id: 939a39e7-f84f-44dc-8db1-722064355a57
  location: none
  may_cancel: false
  metadata:
    create_instance_from_image_unpack_progress: 'Unpack: 100% (6.68GB/s)'
    progress:
      percent: "100"
      speed: "6676258992"
      stage: create_instance_from_image_unpack
  resources:
    containers:
    - /1.0/containers/fred-vm
    instances:
    - /1.0/instances/fred-vm
  status: Success
  status_code: 200
  updated_at: "2021-02-02T11:27:26.277098213+11:00"
timestamp: "2021-02-02T11:28:03.50023567+11:00"
type: operation

location: none
metadata:
  context:
    ip: '@'
    method: GET
    protocol: unix
    url: /1.0/instances/fred-vm
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:28:03.5031272+11:00"
type: logging

location: none
metadata:
  context:
    ip: '@'
    method: PUT
    protocol: unix
    url: /1.0/instances/fred-vm/state
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:28:03.512238373+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'New task Operation: a09586b3-f5dd-4134-95c5-d8959e25ca30'
timestamp: "2021-02-02T11:28:03.523415697+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Started task operation: a09586b3-f5dd-4134-95c5-d8959e25ca30'
timestamp: "2021-02-02T11:28:03.524159976+11:00"
type: logging

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:28:03.517789371+11:00"
  description: Starting instance
  err: ""
  id: a09586b3-f5dd-4134-95c5-d8959e25ca30
  location: none
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/fred-vm
  status: Running
  status_code: 103
  updated_at: "2021-02-02T11:28:03.517789371+11:00"
timestamp: "2021-02-02T11:28:03.524757241+11:00"
type: operation

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:28:03.517789371+11:00"
  description: Starting instance
  err: ""
  id: a09586b3-f5dd-4134-95c5-d8959e25ca30
  location: none
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/fred-vm
  status: Pending
  status_code: 105
  updated_at: "2021-02-02T11:28:03.517789371+11:00"
timestamp: "2021-02-02T11:28:03.524122546+11:00"
type: operation

location: none
metadata:
  context:
    ip: '@'
    method: GET
    protocol: unix
    url: /1.0/operations/a09586b3-f5dd-4134-95c5-d8959e25ca30
    username: cyphar
  level: dbug
  message: Handling
timestamp: "2021-02-02T11:28:03.528037732+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance started
timestamp: "2021-02-02T11:28:03.528637597+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance finished
timestamp: "2021-02-02T11:28:03.531502179+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UpdateInstanceBackupFile started
timestamp: "2021-02-02T11:28:03.531532424+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UpdateInstanceBackupFile finished
timestamp: "2021-02-02T11:28:03.534666281+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance started
timestamp: "2021-02-02T11:28:03.550505523+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance finished
timestamp: "2021-02-02T11:28:03.552047188+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance started
timestamp: "2021-02-02T11:28:03.581335367+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance finished
timestamp: "2021-02-02T11:28:03.582532372+11:00"
type: logging

location: none
metadata:
  context:
    instance: fred-vm
    instanceType: virtual-machine
    project: default
  level: warn
  message: 'Unable to use virtio-fs for config drive, using 9p as a fallback: virtiofsd
    missing'
timestamp: "2021-02-02T11:28:03.587568801+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance started
timestamp: "2021-02-02T11:28:03.594364779+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: MountInstance finished
timestamp: "2021-02-02T11:28:03.595734199+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance started
timestamp: "2021-02-02T11:28:03.595960204+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance finished
timestamp: "2021-02-02T11:28:03.597076476+11:00"
type: logging

location: none
metadata:
  context:
    device: eth0
    instance: fred-vm
    instanceType: virtual-machine
    project: default
    type: nic
  level: dbug
  message: Starting device
timestamp: "2021-02-02T11:28:03.59709998+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Scheduler: network: tap7b787d5c has been added: updating network priorities'
timestamp: "2021-02-02T11:28:03.598924305+11:00"
type: logging

location: none
metadata:
  context:
    device: root
    instance: fred-vm
    instanceType: virtual-machine
    project: default
    type: disk
  level: dbug
  message: Starting device
timestamp: "2021-02-02T11:28:03.612927711+11:00"
type: logging

location: none
metadata:
  context:
    DevPath: /var/lib/lxd/storage-pools/default/virtual-machines/fred-vm/root.img
    fsType: btrfs
    instance: fred-vm
    instanceType: virtual-machine
    project: default
  level: warn
  message: Using writeback cache I/O
timestamp: "2021-02-02T11:28:03.613465624+11:00"
type: logging

location: none
metadata:
  context:
    device: root
    instance: fred-vm
    instanceType: virtual-machine
    project: default
    type: disk
  level: dbug
  message: Stopping device
timestamp: "2021-02-02T11:28:03.808359963+11:00"
type: logging

location: none
metadata:
  context:
    device: eth0
    instance: fred-vm
    instanceType: virtual-machine
    project: default
    type: nic
  level: dbug
  message: Stopping device
timestamp: "2021-02-02T11:28:03.808431141+11:00"
type: logging

location: none
metadata:
  context:
    dev: eth0
    host_name: tap7b787d5c
    hwaddr: 00:16:3e:58:27:54
    instance: fred-vm
    ipv4: <IP_ADDRESS>
    ipv6: '::'
    parent: lxdbr0
    project: default
  level: dbug
  message: Clearing instance firewall static filters
timestamp: "2021-02-02T11:28:03.870580195+11:00"
type: logging

location: none
metadata:
  context:
    dev: eth0
    host_name: tap7b787d5c
    hwaddr: 00:16:3e:58:27:54
    instance: fred-vm
    ipv4: <nil>
    ipv6: <nil>
    parent: lxdbr0
    project: default
  level: dbug
  message: Clearing instance firewall dynamic filters
timestamp: "2021-02-02T11:28:03.877962839+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance started
timestamp: "2021-02-02T11:28:03.891496775+11:00"
type: logging

location: none
metadata:
  context:
    driver: dir
    instance: fred-vm
    pool: default
    project: default
  level: dbug
  message: UnmountInstance finished
timestamp: "2021-02-02T11:28:03.892626161+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: |-
    Failure for task operation: a09586b3-f5dd-4134-95c5-d8959e25ca30: Failed to run: forklimits limit=memlock:unlimited:unlimited -- /usr/bin/qemu-system-x86_64 -S -name fred-vm -uuid a46a0e8c-6000-4eda-b9af-9c422bcde128 -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-reboot -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=deny,resourcecontrol=deny -readconfig /var/log/lxd/fred-vm/qemu.conf -pidfile /var/log/lxd/fred-vm/qemu.pid -D /var/log/lxd/fred-vm/qemu.log -chroot /var/lib/lxd/virtual-machines/fred-vm -smbios type=2,manufacturer=Canonical Ltd.,product=LXD -runas nobody: qemu-system-x86_64:/var/log/lxd/fred-vm/qemu.conf:27: There is no option group 'spice'
    qemu-system-x86_64: -readconfig /var/log/lxd/fred-vm/qemu.conf: read config /var/log/lxd/fred-vm/qemu.conf: Invalid argument
    : Process exited with a non-zero value
timestamp: "2021-02-02T11:28:03.892645802+11:00"
type: logging

location: none
metadata:
  class: task
  created_at: "2021-02-02T11:28:03.517789371+11:00"
  description: Starting instance
  err: |-
    Failed to run: forklimits limit=memlock:unlimited:unlimited -- /usr/bin/qemu-system-x86_64 -S -name fred-vm -uuid a46a0e8c-6000-4eda-b9af-9c422bcde128 -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-reboot -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=deny,resourcecontrol=deny -readconfig /var/log/lxd/fred-vm/qemu.conf -pidfile /var/log/lxd/fred-vm/qemu.pid -D /var/log/lxd/fred-vm/qemu.log -chroot /var/lib/lxd/virtual-machines/fred-vm -smbios type=2,manufacturer=Canonical Ltd.,product=LXD -runas nobody: qemu-system-x86_64:/var/log/lxd/fred-vm/qemu.conf:27: There is no option group 'spice'
    qemu-system-x86_64: -readconfig /var/log/lxd/fred-vm/qemu.conf: read config /var/log/lxd/fred-vm/qemu.conf: Invalid argument
    : Process exited with a non-zero value
  id: a09586b3-f5dd-4134-95c5-d8959e25ca30
  location: none
  may_cancel: false
  metadata: null
  resources:
    containers:
    - /1.0/containers/fred-vm
  status: Failure
  status_code: 400
  updated_at: "2021-02-02T11:28:03.517789371+11:00"
timestamp: "2021-02-02T11:28:03.892845978+11:00"
type: operation

location: none
metadata:
  context: {}
  level: dbug
  message: 'Event listener finished: c1198efa-1c6f-4930-89ea-5718101d5516'
timestamp: "2021-02-02T11:28:03.894431747+11:00"
type: logging

location: none
metadata:
  context: {}
  level: dbug
  message: 'Disconnected event listener: c1198efa-1c6f-4930-89ea-5718101d5516'
timestamp: "2021-02-02T11:28:03.894598377+11:00"
type: logging

I can cook up a patch for this, just thought I'd submit it to check if you were already aware of this problem.

I don't think we ever want to turn into libvirt and generate a qemu command a mile long.
The mailing list thread doesn't actually confirm deprecation at this point and also hints at an alternative text config file which would replace it prior to its full deprecation, so I'm unsure that there is anything for us to do at this point.
As for qemu 5.2, I'm very confused by those reports considering that the LXD snap has been shipping qemu 5.2.0 with spice support for over a month now and we've never hit this issue.

If qemu ends up deprecating -readconfig without a replacement first being put in place, we'd probably fallback to an all QMP implementation but that would require a good chunk of work and would make it rather difficult for anyone to debug what's going on...
The config files have the advantage of keeping ps output readable, not risking reaching the process argument limit every time we generate a very complex VM and can easily be diffed to debug issues, so I'd rather not have us lose that.

Ah, the use of --enable-modules is apparently the trigger, we don't directly specify that to our qemu build so presumably it's being disabled and avoids this issue.

Just inspected a build log and sure enough module support: NO

Moving just the -spice bits should indeed be easy enough, though I'd still prefer this be handled at the qemu layer.
There is no mention of readconfig being deprecated or features being removed from it in documentation or release notes for this qemu release, so I think it's fair to treat something that used to work and doesn't work anymore as a regression and have this be resolved in qemu itself.

Actually, thinking about it a bit more, if qemu upstream can't be convinced to fix this regression, then the preferred way around it would be to add QMP config support to LXD and transition the bits that currently need command line arguments (including this one) to QMP.

Yeah openSUSE uses modules which is what's triggering this. Unfortunately for distributions, statically linking things is usually not acceptable.

The problematic SPICE section is:
# Graphical console
[spice]
unix = "on"
addr = "{{.spicePath}}"
disable-ticketing = "on"

So moving just that part over to QMP shouldn't be too bad. LXD already has pretty reasonable QMP interaction support and we already use QMP to perform the actual VM startup, so adding an additional command call just prior to that should do the trick.

Not sure what you mean about static linking though, the qemu binary we ship in the snap gets:
root@castiana:~# ldd /snap/lxd/current/bin/qemu-system-x86_64
	linux-vdso.so.1 (0x00007ffeceb66000)
	libpixman-1.so.0 => /snap/lxd/current/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007fcf9e47e000)
	libspice-server.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/libspice-server.so.1 (0x00007fcf9e100000)
	libusb-1.0.so.0 => /snap/lxd/current/lib/libusb-1.0.so.0 (0x00007fcf9dee0000)
	libseccomp.so.2 => /snap/lxd/current/lib/libseccomp.so.2 (0x00007fcf9dcbd000)
	libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007fcf9d91e000)
	libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fcf9d6ca000)
	libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fcf9d3b3000)
	libusbredirparser.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/libusbredirparser.so.1 (0x00007fcf9d1ab000)
	libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007fcf9cf8d000)
	libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcf9cd70000)
	libnuma.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/libnuma.so.1 (0x00007fcf9cb65000)
	libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007fcf9c7ff000)
	libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007fcf9c5fc000)
	libnettle.so.6 => /usr/lib/x86_64-linux-gnu/libnettle.so.6 (0x00007fcf9c3c6000)
	libpam.so.0 => /lib/x86_64-linux-gnu/libpam.so.0 (0x00007fcf9c1b8000)
	librbd.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/librbd.so.1 (0x00007fcf9bca6000)
	librados.so.2 => /snap/lxd/current/lib/x86_64-linux-gnu/librados.so.2 (0x00007fcf9b980000)
	libaio.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/libaio.so.1 (0x00007fcf9b77e000)
	libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcf9b3e0000)
	libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcf9b1c8000)
	libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcf9afa9000)
	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcf9abb8000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fcf9f776000)
	libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007fcf9a92b000)
	libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007fcf9a460000)
	libjpeg.so.8 => /snap/lxd/current/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fcf9a1f8000)
	librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcf99ff0000)
	libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007fcf99dec000)
	libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007fcf99bc4000)
	libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fcf999aa000)
	libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007fcf99756000)
	libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fcf9954e000)
	libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fcf992dc000)
	libp11-kit.so.0 => /usr/lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007fcf98fad000)
	libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007fcf98d90000)
	libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007fcf98a12000)
	libtasn1.so.6 => /usr/lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007fcf987ff000)
	libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007fcf985cb000)
	libgmp.so.10 => /usr/lib/x86_64-linux-gnu/libgmp.so.10 (0x00007fcf9834a000)
	libaudit.so.1 => /lib/x86_64-linux-gnu/libaudit.so.1 (0x00007fcf98121000)
	libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcf97f1d000)
	libceph-common.so.0 => /snap/lxd/current/lib/x86_64-linux-gnu/ceph/libceph-common.so.0 (0x00007fcf8f20e000)
	libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcf8ee85000)
	libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007fcf8ec38000)
	libcap-ng.so.0 => /lib/x86_64-linux-gnu/libcap-ng.so.0 (0x00007fcf8ea33000)
	libsmime3.so => /snap/lxd/current/lib/x86_64-linux-gnu/libsmime3.so (0x00007fcf8e807000)
	libnss3.so => /snap/lxd/current/lib/x86_64-linux-gnu/libnss3.so (0x00007fcf8e4c3000)
	libnspr4.so => /snap/lxd/current/lib/x86_64-linux-gnu/libnspr4.so (0x00007fcf8e286000)
	libibverbs.so.1 => /snap/lxd/current/lib/x86_64-linux-gnu/libibverbs.so.1 (0x00007fcf8e070000)
	libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007fcf8de69000)
	libnssutil3.so => /snap/lxd/current/lib/x86_64-linux-gnu/libnssutil3.so (0x00007fcf8dc3a000)
	libplc4.so => /snap/lxd/current/lib/x86_64-linux-gnu/libplc4.so (0x00007fcf8da35000)
	libplds4.so => /snap/lxd/current/lib/x86_64-linux-gnu/libplds4.so (0x00007fcf8d831000)
	libnl-route-3.so.200 => /usr/lib/x86_64-linux-gnu/libnl-route-3.so.200 (0x00007fcf8d5bc000)
	libnl-3.so.200 => /lib/x86_64-linux-gnu/libnl-3.so.200 (0x00007fcf8d39c000)

So clearly dynamically linking against a ton of stuff, including libspice-server.

The way QEMU modules work is that they're shared libraries which get dlopen(2)'d -- so while qemu itself might be dynamically linked, in openSUSE the modules are also separate and it appears that is causing issues with registering the spice configuration hooks. I guess a better analogy would be module vs built-in (in Kconfig) rather than shared vs static.

@stgraber

So moving just that part over to QMP shouldn't be too bad. LXD already has pretty reasonable QMP interaction support and we already use QMP to perform the actual VM startup, so adding an additional command call just prior to that should do the trick.

Sounds good, I'll cook something up then. :D

If this works well, we'll probably follow it up with the other command line arguments we have today, ideally moving from:
/snap/lxd/19222/bin/qemu-system-x86_64 -S -name cgroup2 -uuid ec1ab1f6-3efa-4ba5-b688-a010e66ec89e -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-reboot -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=deny,resourcecontrol=deny -readconfig /var/snap/lxd/common/lxd/logs/cgroup2/qemu.conf -pidfile /var/snap/lxd/common/lxd/logs/cgroup2/qemu.pid -D /var/snap/lxd/common/lxd/logs/cgroup2/qemu.log -chroot /var/snap/lxd/common/lxd/virtual-machines/cgroup2 -smbios type=2,manufacturer=Canonical Ltd.,product=LXD -runas lxd

To just:
/snap/lxd/19222/bin/qemu-system-x86_64 -S -name cgroup2 -uuid ec1ab1f6-3efa-4ba5-b688-a010e66ec89e -daemonize -nographic -nodefaults -no-reboot -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=deny,resourcecontrol=deny -readconfig /var/snap/lxd/common/lxd/logs/cgroup2/qemu.conf -pidfile /var/snap/lxd/common/lxd/logs/cgroup2/qemu.pid -D /var/snap/lxd/common/lxd/logs/cgroup2/qemu.log -chroot /var/snap/lxd/common/lxd/virtual-machines/cgroup2 -runas lxd```

I'd love it if we could have something even shorter but I doubt that those remaining ones up there can be made optional as they're pretty much needed to get QMP going. So looks like we're still nowhere near having a nice process cmdline that fits on one line in most terminals, well, unless we start using process title rewriting ;)

Why not support setproctitle() like we do in liblxc? I can add that easy enough...

The downside to setproctitle is that you don't know what the command is anymore so it makes it harder to run it again by hand.
Not really an issue for LXC as we spawn it through library calls anyway so not something someone can trivially do by hand but for qemu I frequently copy/paste the command for debugging.

The downside to setproctitle is that you don't know what the command is anymore so it makes it harder to run it again by hand.
Not really an issue for LXC as we spawn it through library calls anyway so not something someone can trivially do by hand but for qemu I frequently copy/paste the command for debugging.

It feels like the command line should be logged in the vm's log file...

@cyphar do you know if this is still a problem with current qemu or if they sorted out the module build to not screw up spice?

@cyphar do you know if this is still a problem with current qemu or if they sorted out the module build to not screw up spice?

Just checked against freshly compiled qemu 6.0.0-rc4, bug still in place.

Yeah this is still an issue. I tried to write up a patch when we first discussed this but I figured out that either the QMP documentation is incomplete, or QMP cannot be used to configure SPICE and we would need to add the spice parameters to the commandline as the original bug report I linked suggested.

The patch required to switch to the -spice command-line is pretty trivial so I'll just post that.

Yeah, so that's not a great look for qemu upstream... wanting to deprecate readconfig pointing to QMP as the way to populate config objects instead, then both making significant QMP API changes in 6.0 and also not actually having feature parity with what it's supposed to replace...

The thing I've always hated with libvirt is just how impossibly long and unreadable the qemu command lines would become... With readconfig we had a good solution to get a nice diff-able config file and keeping the length of the qemu command line somewhat under control so admins have a chance to read a ps output on their system. In theory moving to QMP could do the same minus the ability to easily read and diff the config but that depends on qemu upstream actually making it work.

@cyphar was it the qom-* and object-* QMP commands that you tried and couldn't get to work?

was it the qom-* and object-* QMP commands that you tried and couldn't get to work?

Oh, are those how you specify arbitrary changes to the configuration? I didn't mange to figure that out tbh (so maybe this is PEBKAC), I was mostly confused by the lack of a set-spice (given query-spice) and looking for CONFIG_SPICE didn't really get me anywhere. One other thing I wasn't sure about was whether we need to configure the spice server before the VM starts (in which case, I think we'd need to modify how we use QMP because right now QMP is only used after the VM has already been started).
I didn't spend a lot of time trying to get the QMP solution to work to be honest.

I played a bit and there's no QOM object type for spice so that's currently a bit of an issue...
LXD doesn't actually start the VM immediately, we do it through QMP, so it'd be easy to complete the config setup through QMP.

Anyway, in this case, even in 6.0 it doesn't appear to be possible yet. There seems to be good support for most normal devices but not so much for the bits we'd like to get rid from the command line (spice and smbios mostly).

Patch posted upstream<EMAIL_ADDRESS>

... and another one<EMAIL_ADDRESS>

Thank you @bonzini !

Tracking these sets here https://github.com/lxc/lxd/issues/8854


MTDEV and MTPROD- node colors change when network re-renders after distance threshold is modified

Used a session file. setting was initially 0.015, nodes colored by subtype, then threshold was changed to 0.025, network re-rendered and now the colors were different. Not all, only some. See video emailed to you with Issue number in subject line

Took me a bit to figure out why this was having issues.  At first I thought it was because it's a session file, but it seems its the fact that the minimum cluster size is 2.  I remember a while back that I think filtering wasn't allowed when the minimum cluster size was not equal to 1.  It would result in a number of issues after filtering as it affects all the calculations. This may take some time, but its more than just the colors being diffrent that will be an issue.
I believe the most efficient way would be to return to the previous state where you couldn't filter when min cluster size wasn't 1.  Filter whatever threshold you want, and then change hte min cluster size.  You can change cluster size back to filter more and then repeat when you have the threshold you want an want to hide the smaller cluster sizes.


what is the result of SiamDW in VOT2018?

what is the result of SiamDW in VOT2018?
thanks.

what is the EAO、 accuracy、 robustness of SiamDW in VOT2018?
thanks.

what is the EAO、 accuracy、 robustness of SiamDW in VOT2018?
thanks.

Hi, we have provided the corresponding result in Readme.md. As for the accuracy and robustness, you could download the raw result and test it with vot-toolkit/pysot-toolkit. Does this help you?

thanks,but I want the tested result of EAO、 accuracy、 robustness of SiamDW in VOT2018.

can you retest it ? thanks very much.

can you retest it ? thanks very much.

I plan to publish a paper recently and cite your paper,I donot have time to test it .thanks

thanks ,I also need the  accuracy and robustness,thanks.

I plan to publish a paper recently and cite your paper,I donot have time to test it .

thanks ,I also need the accuracy and robustness,thanks.

Accuracy: 0.538
Robustness: 0.398
Glad to help you.

thanks. do you have the raw result of VOT2016?

thanks. do you have the raw result of VOT2016?

All raw results can be downloaded from train.md

thanks. do you have the raw result of VOT2016?

thanks. do you have the raw result of VOT2016?

All raw results can be downloaded from `train

thanks. do you have the raw result of VOT2016?

All raw results can be downloaded from readme.md

ok,why the result of  SiamDW(SiamRPN+) if poorer than the SiamRPN in VOT2018?

EAO | Accuracy | Robustness

The original SiamRPN (cvpr published) is 0.244 on VOT2018. Please don't
confuse it with the VOT2018 challenge version.
good<EMAIL_ADDRESS>于2020年2月6日周四 上午2:42写道：

ok,why the result of SiamDW(SiamRPN+) if poorer than the SiamRPN in
VOT2018?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/researchmm/SiamDW/issues/74?email_source=notifications&email_token=AF6U2PETIGDHG62YX3ZWUQ3RBPSSPA5CNFSM4KQZFTF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK6XXWI#issuecomment-582843353,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6U2PC42NLRUMODBDW6WLTRBPSSPANCNFSM4KQZFTFQ
.

--
From: Zhang Zhipeng
Institution: National Laboratory of Pattern Recognition
Address: 95 Zhongguancun East Road, 100190, BEIJING, CHINA
Email<EMAIL_ADDRESS>Best Wishes

what is the difference  between VOT2018 and  VOT2018 challenge version？
original SiamRPN (cvpr published) is 0.244 on VOT2018.
why in the SiamRPN++ paper,it  say SiamRPN  is 0.383?

They give the modification result of VOT2018 challenge.
good<EMAIL_ADDRESS>于2020年2月6日周四 上午2:58写道：

what is the difference between VOT2018 and VOT2018 challenge version？
original SiamRPN (cvpr published) is 0.244 on VOT2018.
why in the SiamRPN++ paper,it say SiamRPN is 0.383?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/researchmm/SiamDW/issues/74?email_source=notifications&email_token=AF6U2PDX7PW6ROAV7JX4RWLRBPUOZA5CNFSM4KQZFTF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK6ZMKI#issuecomment-582850089,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF6U2PETNN4KXLIEIMJP5HTRBPUOZANCNFSM4KQZFTFQ
.

--
From: Zhang Zhipeng
Institution: National Laboratory of Pattern Recognition
Address: 95 Zhongguancun East Road, 100190, BEIJING, CHINA
Email<EMAIL_ADDRESS>Best Wishes

in  VOT2016 ， the Robustness of SiamRPN is  1.08 or   0.26(your paper)?

in VOT2016 ， the Robustness of SiamRPN is 1.08 or 0.26(your paper)?
some paper say it is 1.08 .why?

can you tell me the EAO, acc and robustness of SiamDW in VOT2019 VOT2018 and VOT2016 (trained by COCO, ImageNet DET , ImageNet VID, and YouTube-BoundingBoxes Dataset)?
thanks
------------------ 原始邮件 ------------------
发件人: "ZP<EMAIL_ADDRESS>发送时间: 2020年2月6日(星期四) 晚上7:18
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [researchmm/SiamDW] what is the result of SiamDW in VOT2018? (#74)
They give the modification result of VOT2018 challenge.
good<EMAIL_ADDRESS>于2020年2月6日周四 上午2:58写道：
> what is the difference between VOT2018 and VOT2018 challenge version？
> original SiamRPN (cvpr published) is 0.244 on VOT2018.
> why in the SiamRPN++ paper,it say SiamRPN is 0.383?
>
> —
> You are receiving this because you modified the open/close state.
> Reply to this email directly, view it on GitHub
> <" rel="noopener" target="_blank">https://github.com/researchmm/SiamDW/issues/74?email_source=notifications&email_token=AF6U2PDX7PW6ROAV7JX4RWLRBPUOZA5CNFSM4KQZFTF2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEK6ZMKI#issuecomment-582850089>;,
> or unsubscribe
> <" rel="noopener" target="_blank">https://github.com/notifications/unsubscribe-auth/AF6U2PETNN4KXLIEIMJP5HTRBPUOZANCNFSM4KQZFTFQ>
> .
>
--
From: Zhang Zhipeng
Institution: National Laboratory of Pattern Recognition
Address: 95 Zhongguancun East Road, 100190, BEIJING, CHINA
Email<EMAIL_ADDRESS>Best Wishes
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


Upgrade flask and flask-wtf

Change description
Upgrade app to flask 3.0.* and flask-wtf to 1.2.1.
How to test
Are tests passing?

A bit of a brain dump looking into FLASK_ENV.
We will still need some kind of variable name to store the environment string: test, dev or prod.. for situations like this:
match FLASK_ENV:
    case "unit_test":
        from config.envs.unit_test import UnitTestConfig as Config
    case "development":
        from config.envs.development import DevelopmentConfig as Config  # type: ignore # TODO: fixme
    case "dev" | "test" | "prod":
        from config.envs.aws import AwsConfig as Config  # type: ignore # TODO: fixme
    case _:
        from config.envs.default import DefaultConfig as Config  # type: ignore # TODO: fixme

We can rename it to APP_ENV. But not sure how productive that is.
What newer version of flask only broke the connection between FLASK_ENV=='development' enabling debug mode. Now we would have to set `FLASK_DEBUG1 to 1 or 0.
I still have to look a bit more into fsd-utils and account-store.
account-store is already on latest version of flask with an fsd-utils dependency.
At first glance I don't see FLASK_DEBUG set at all on account-store and not mentioned enough on fsd-utils.
So I wonder if debug mode even works on account-store currently. :thinking:
TBD.

Conclusion on FLASK_ENV:

FLASK_ENV=development used to enable debugging, newer Flask versions no longer user FLASK_ENV, so we have to manually set FLASK_DEBUG=1
We could rename FLASK_ENV, but I think it would cause more harm than good, as for example: funding-service-design-utils still uses it. We use it too for conditioning which config we're using.
We don't use debug mode on any other environment than development, which is our local. So we can get away with a line in our .flaskenv

Happy to discuss these..

Should we do an update/fix on fsd-utils CommonConfig that sets FLASK_DEBUG when FLASK_ENV is development? Is that a thing we should have done when adding Flask 3 support to fsd-utils?
Then we could probably pull that in and it would "just work" for all FS apps?

I tried it, kind of... I defined it in our DefaultConfig :
class DefaultConfig(object):
    FLASK_ROOT = Path(__file__).parent.parent.parent
    FLASK_ENV = CommonConfig.FLASK_ENV
    DEBUG = True

It would not enable debug more, reading the docs:
While it is possible to set DEBUG in your config or code, this is strongly discouraged. It can’t be read early by the flask run command, and some systems or extensions may have already configured themselves based on a previous value.
Is what I suspect is happening..

Goodness 🙃 Ok. So we shouldn't have a FLASK_DEBUG/DEBUG config variable and should instead rely on passing in the --debug flag to flask run commands? So we would need to update our docker-compose file basically?

FLASK_DEBUG env does the job. I did not add it in the docker-compose as .flaskenv is enough. (we can add it, if needed)
I see that we have FLASK_ENV on all fronts: docker-runner, .flaskenv and CommonConfig. I have not tested, but it's likely that CommonConfig.FLASK_ENV is not the one enabling debug for us atm, but rather the ENV variable.

Added How to test info.


Update overview.md

Updated Central India

#sign-off

@sunilagarwal,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

I am part of Azure PM team and own capacity and Sunil is my manager .
Please accept it as my sign off and merge this
Get Outlook for iOShttps://aka.ms/o0ukef

From: Jeff Borsecnik @.>
Sent: Wednesday, September 7, 2022 4:23:02 PM
To: MicrosoftDocs/azure-docs @.>
Cc: Kanchan Bharati @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Update overview.md (PR #98122)
@sunilagarwalhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsunilagarwal&data=05|01|kabharati%40microsoft.com|e4b1c0e8854b444cce0b08da910ec45c|72f988bf86f141af91ab2d7cd011db47|1|0|637981789854089789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=IcLO3G1Wo%2FGFPYcwXSabTXyTskowOEIzthj7bRSOP04%3D&reserved=0,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-teamhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Forgs%2FMicrosoftDocs%2Fteams%2Fpublic-repo-pr-review-team&data=05|01|kabharati%40microsoft.com|e4b1c0e8854b444cce0b08da910ec45c|72f988bf86f141af91ab2d7cd011db47|1|0|637981789854089789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=DB2bL7%2FDeWB8CoPQMBclMKPJwhbBAEZ2FlFvWW%2BzASY%3D&reserved=0
—
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F98122%23issuecomment-1239833529&data=05|01|kabharati%40microsoft.com|e4b1c0e8854b444cce0b08da910ec45c|72f988bf86f141af91ab2d7cd011db47|1|0|637981789854089789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=NlpThhPb9kpDxIXuRdA8nYjKfl3J5IKRKNoO4XHUEGE%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWEFYP6OVYJ4PK2UEXTKGGTV5D2SNANCNFSM6AAAAAAQG7GC5U&data=05|01|kabharati%40microsoft.com|e4b1c0e8854b444cce0b08da910ec45c|72f988bf86f141af91ab2d7cd011db47|1|0|637981789854089789|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=JQ4u885GtLxaIUQP5L7bhKoXiBWm%2BhnjZLMwIs%2FFItQ%3D&reserved=0.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks Kanchan
Thanks
Sunil Agarwal
PM Manager, Azure Database for PostgreSQL
Redmond, USA
Linked Inhttps://www.linkedin.com/in/sunil-agarwal-661203/ , Twitterhttps://twitter.com/S_u_n_e_e_l
From: Kanchan Bharati @.>
Sent: Wednesday, September 7, 2022 2:14 PM
To: MicrosoftDocs/azure-docs @.>; MicrosoftDocs/azure-docs @.>; Sunil Agarwal @.>
Cc: Mention @.***>
Subject: Re: [MicrosoftDocs/azure-docs] Update overview.md (PR #98122)
I am part of Azure PM team and own capacity and Sunil is my manager .
Please accept it as my sign off and merge this
Get Outlook for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Faka.ms%2Fo0ukef&data=05|01|Sunil.Agarwal%40microsoft.com|d9f36a0f0e61481b7fee08da9115de31|72f988bf86f141af91ab2d7cd011db47|1|0|637981820347372882|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=KHwQ13FALDGJBhn2E%2F2xjLcEQ9gdgTO4XjkMg%2FZpOuk%3D&reserved=0

From: Jeff Borsecnik<EMAIL_ADDRESS>Sent: Wednesday, September 7, 2022 4:23:02 PM
To: MicrosoftDocs/azure-docs<EMAIL_ADDRESS>Cc: Kanchan Bharati<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/azure-docs] Update overview.md (PR #98122)
@sunilagarwalhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fsunilagarwal&data=05|01|Sunil.Agarwal%40microsoft.com|d9f36a0f0e61481b7fee08da9115de31|72f988bf86f141af91ab2d7cd011db47|1|0|637981820347372882|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=v7bOpLAneDnuC8xdolU7nRyWmWhq9lqdb%2BlxEMdAsGI%3D&reserved=0,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-teamhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Forgs%2FMicrosoftDocs%2Fteams%2Fpublic-repo-pr-review-team&data=05|01|Sunil.Agarwal%40microsoft.com|d9f36a0f0e61481b7fee08da9115de31|72f988bf86f141af91ab2d7cd011db47|1|0|637981820347372882|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=SndrgbLLyXvw%2F2pfHm5oLXBUR7mdbVVAwYoaF0fnxhk%3D&reserved=0

Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F98122%23issuecomment-1239833529&data=05|01|Sunil.Agarwal%40microsoft.com|d9f36a0f0e61481b7fee08da9115de31|72f988bf86f141af91ab2d7cd011db47|1|0|637981820347372882|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=qrRMrySejWmPF033UdU5AyFHzGJLbGaBtqaRNtz8keg%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWEFYP6OVYJ4PK2UEXTKGGTV5D2SNANCNFSM6AAAAAAQG7GC5U&data=05|01|Sunil.Agarwal%40microsoft.com|d9f36a0f0e61481b7fee08da9115de31|72f988bf86f141af91ab2d7cd011db47|1|0|637981820347372882|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Qgmjj9gQhwdYoQKMRuf3war6AEyizH3KicVzMobjg8c%3D&reserved=0.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


local cannot connect remote redis server？

ioredis: 4.27.3

I config remote aliyun redis server address in config.local.ts, but it's not work.
// /src/config/config.local.ts
  config.redis = {
    port: 6379, // Redis port
    host: 'xxx.redis.rds.aliyuncs.com', // Redis host
    family: 4, // 4 (IPv4) or 6 (IPv6)
    db: 0,
  }

Terminal get a lot of connect <IP_ADDRESS>:6379 error, how can i connent remote address in local?
[ioredis] Unhandled error event: Error: connect ECONNREFUSED <IP_ADDRESS>:6379
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16)

same problem here

I think a common issue is that you may not pass the options to ioredis. Maybe the options were in a deeper level or something. It's hard to say without a reproducible example.

Any time I run ioredis I log the parameters and they are correct, but my application works despite this error message so I am not super personally invested in a fix. Maybe it is related to retryStrategy not certain.

I think a common issue is that you may not pass the options to ioredis. Maybe the options were in a deeper level or something. It's hard to say without a reproducible example.

Any time I run ioredis I log the parameters and they are correct, but my application works despite this error message so I am not super personally invested in a fix. Maybe it is related to retryStrategy not certain.

From my experience, a possibility is there are multiple ioredis instances in your app and one was set up correctly whereas others were not.

I think a common issue is that you may not pass the options to ioredis. Maybe the options were in a deeper level or something. It's hard to say without a reproducible example.

Any time I run ioredis I log the parameters and they are correct, but my application works despite this error message so I am not super personally invested in a fix. Maybe it is related to retryStrategy not certain.

From my experience, a possibility is there are multiple ioredis instances in your app and one was set up correctly whereas others were not.

I am running a cluster, so there are 5 connected as publishers and 1 as publisher and subscriber - they are all loaded with the right parameters though.

I think a common issue is that you may not pass the options to ioredis. Maybe the options were in a deeper level or something. It's hard to say without a reproducible example.

Any time I run ioredis I log the parameters and they are correct, but my application works despite this error message so I am not super personally invested in a fix. Maybe it is related to retryStrategy not certain.

From my experience, a possibility is there are multiple ioredis instances in your app and one was set up correctly whereas others were not.

I am running a cluster, so there are 5 connected as publishers and 1 as publisher and subscriber - they are all loaded with the right parameters though.

Yeah when i remove that code it works. I am moving to a diff solution soon so its not too big of a deal, but heads up for anyone using node cluster in the future


Editing the Project file and Item templates

Added sections Editing the Project file and Item templates.
Resolves #87

@brettrowberry Thanks for your contribution!


[BUG] When dragging a container-type component from the canvas body to the left panel, the internal components within the container are not properly adjusted, resulting in incomplete display.

Description
When dragging a container-type component from the canvas body to the left panel, the internal components within the container are not properly adjusted, resulting in incomplete display.
Steps to reproduce
When dragging a container-type component from the canvas body to the left panel, the internal components within the container are not properly adjusted, resulting in an incomplete display.
Expect：Convert component size based on column number, round up
Version
self-host
ILLA Builder Version
latest
Browser
No response
Operating System

[ ] macOS
[ ] Windows
[ ] Linux

Additional Information
No response

@wenzhuo2022 could you please assign this issue to me

fixed


Infix to Postfix Convertor in cpp

#1

@pranavgoel29 Could you please label it as hacktoberfest and assign it to me. Thanks!

If you can then please add something beginner friendly.


Max Over Time in imdb_cnn.py

Following this issue https://github.com/fchollet/keras/issues/2296 i propose this PR.
The mayor optimisation a part of the Max over time are:

Dropout in the Embedding layer.
Longer input sequences (400 instead of 100), made possible from the speedup of the Max Over Time.
Adam optimizer.

Overall it takes 90 to 100 sec per epoch on my laptop CPU and in two epochs it reaches 0.885 accuracy that is a 5 points improvement over the previous implementation. Moreover it requires less memory (300k parameters vs 3M+) since the number of parameters do not depend  by the length of the input sequence anymore.

The benchmark are all done using theano, it works even on tf by the way (with similar results) but it requires much more time and memory due to some "Embedding layer" related issue.
(Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.)
However, this warning is not related with the pull request i get it every time.

You have not tried with a GPU?

I don't have Tensorflow on the server however with Theano on a Tesla K40:
Epoch 1/2
20000/20000 [==============================] - 10s - loss: 0.4580 - acc: 0.7641 - val_loss: 0.3159 - val_acc: 0.8638
Epoch 2/2
20000/20000 [==============================] - 10s - loss: 0.2937 - acc: 0.8773 - val_loss: 0.2929 - val_acc: 0.8778

10s per iteration is great!  You should probably report that in the header of imdb_cnn.py.

Actually, when working on GPU you can do even better both in terms of time and performances (More epochs, greater batches, highest dropout, convolutional filter of size 5, optionally zero padding for the borders of the sequence and even longer sequences likes don't cut any sequence -> size 2821).
But i think this is out of the scope of a CNN tutorial example.
Epoch 1/10
20000/20000 [==============================] - 46s - loss: 0.5322 - acc: 0.7043 - val_loss: 0.3307 - val_acc: 0.8732
Epoch 2/10
20000/20000 [==============================] - 46s - loss: 0.3146 - acc: 0.8649 - val_loss: 0.2710 - val_acc: 0.9008
Epoch 3/10
20000/20000 [==============================] - 46s - loss: 0.2325 - acc: 0.9076 - val_loss: 0.2531 - val_acc: 0.8972
Epoch 4/10
20000/20000 [==============================] - 46s - loss: 0.1733 - acc: 0.9337 - val_loss: 0.2440 - val_acc: 0.9004
Epoch 5/10
20000/20000 [==============================] - 46s - loss: 0.1395 - acc: 0.9475 - val_loss: 0.2408 - val_acc: 0.9010

Actually, when working on GPU you can do even better both in terms of time and performances (More epochs, greater batches, highest dropout, convolutional filter of size 5, optionally zero padding for the borders of the sequence and even longer sequences likes don't cut any sequence -> size 2821).

Neat!

But i think this is out of the scope of a CNN tutorial example.

You are probably right about this. Still, some people can be interested in convolutional models that are better than using a svm with a bow (as well as some hand-crafted features), so i'm saving this discussion as a reference :smile:

On a GTX980ti, with TensorFlow:
Train on 20000 samples, validate on 5000 samples
Epoch 1/2
20000/20000 [==============================] - 17s - loss: 0.4585 - acc: 0.7630 - val_loss: 0.3045 - val_acc: 0.8754
Epoch 2/2
20000/20000 [==============================] - 16s - loss: 0.2896 - acc: 0.8783 - val_loss: 0.3048 - val_acc: 0.8702

Sounds good. Your max function is just an extreme version of MaxPooling1D though (which also works over time). Do you have a justification as to why it would work better? Intuitively I would think the main change here and the reason you're seeing better performance is because you're using much longer sequences, carrying much more information.

I agree with you the main reason to add the Lambda is that the same version with MaxPooling1D is the following.
MaxPooling1D(pool_lenght=model.layers[-1 ].output_shape[1])
That looks a bit uglier.
Using a standard Max is nicer since it allows to remove the Flatten Layer too.
However i agree the mayor reason is that you can process longer sequences (and theoretically of variable size) without affecting the number of parameter.

Looks good to me.
Why are you using Adam? Does it work better than RMSProp? Note that Adam will run somewhat slower than RMSProp.
Please add runtime on GPU in the docstring, since you have it.

Adam gives 1 point improvement there, probably task related with the default parameter, i will add this value soon, thanks.

@fchollet Maybe a comment should be added in the code indicating that one may use K.mean or K.sum without changing anything else to experiment with other types Pooling. It results in similar results.

@dbonadiman
Using the Lambda layer instead of MaxPooling1D doesn't work anymore since keras 1.0.5. The example is now broken.


Missing documentation on how to train a model

Is there any documentation or examples that I can refer to train a transformer model from scratch using fairseq2? The examples folder in the repository seems empty.

@gwenzek any update on the documentation

Hi, thanks for your interest. I'm working on that. It should arrive in a week or two.

Any update?

@VarunGumma @abdr17 We are working on our first open-source training recipe right now and plan to release it in early January. I will keep you posted once it is released.

Hi @cbalioglu ,  I know generative models are on hype at the moment, but I am curious if fairseq2 would also support e.g. RoBERTa/XLM-R/data2vec pretraining :thinking: Would be awesome to have!

@cbalioglu Could you please tell what kind of model training you are going to release? (e.g., BERT, GPT, etc.)

Hey @netw0rkf10w, @stefan-it , the plan is to have training recipes for NLLB (encoder/decoder machine translation), wav2vec2/w2v-BERT (encoder-based speech embedding SSL), and fine-tuning recipe for LLaMA 7B/70B (in this order) in January/February. My goal is to cover the major architectures available in fairseq, so I can certainly try to prioritize other models depending on the interest/demand. Please let me know if you have some particular models in mind.

I'm definitely keen to see a recipe for NLLB!

Hi @cbalioglu , I would definitely vote for XLM-RoBERTa (there's still a lot of interest in, see EMNLP 2023 paper of XLM-V) and data2vec (1 and 2), because it has very promising and fresh new training objectives :)
Many thanks in advance!

Thanks for the reply @cbalioglu ! I would like to vote for RoBERTa and data2vec as well!

@cbalioglu Along these lines, I was wondering if fairseq2 is ready for multi-node pre-training and fine-tuning of wav2vec2? I currently use fairseq which has great support for efficiently doing distributed training. Will I lose any of that by switching to fairseq2?

Hey @Pchatain, the recipe for encoder-decoder based machine translation is pretty much ready and I expect to merge it this week. I have started working on wav2vec2 and w2v-bert pretraining recipes (since we require them for our ongoing projects) and they will be ready in the next few weeks (definitely in March). Using those recipes will give you the same functionality as in fairseq.

@cbalioglu any updates?

@cbalioglu  Hi, thanks for your work. I would like to vote for data2vec(1,2) too!

Any news on this?

Are there any updates regarding w2v-bert?

Are there any timelines for when will we have documentation and training recipes for fariseq2 models specifically w2v-bert?

Hi all, if you look at the github commits https://github.com/facebookresearch/fairseq2/commits/main/ you can see that they are working on it, I am not sure constant question about it is useful (@cbalioglu  correct me if I am wrong).
I assume a +1 to their posts will be enough. On the other side @cbalioglu if possible, maybe stating training which models will be implemented will already give ppl some assurance that they should wait and not try to move to https://github.com/NVIDIA/NeMo or https://github.com/espnet/espnet ;-)

Hey folks, sorry for the delays. As @orena1 mentioned, we are actively working on the training recipes including more conventional ones like wav2vec2 and BERT originating from fairseq, as well as LLM pretraining and finetuning. We do use/develop these recipes internally in FAIR for various projects, so we want to make sure that they have full parity and expected runtime/model performance. We are very close to release the recipes for wav2vec2 pretraining, wav2vec2 ASR finetuning, and LLM instruction finetuning in the next few weeks.

@cbalioglu Thank you for your work! Looking forward to the wav2vec2 pretraining recipe!

https://github.com/facebookresearch/fairseq2/tree/main/src/fairseq2/recipes


[production] Presentation service unexpectedly added submission to another project of same name

What you did (step by step)

I posted my talk for RMPA on their presentation page. I used the same
title as a previous talk at APS. Instead of creating a new project, the
system added the file to the existing project of the same name. If
accidental, that seems like a reasonable behavior. However, I also receive
a message that the email had been marked as spam even though the project
does appear in the list.

Where does this happen on the OSF?

Submitting to presentation service

What you expected

a new project for that submission, not being marked as spam

What actually happened

combined with an existing project, marked as spam (though apparently without consequence), and a "presentation service" contributor added to the project

Additional notes from Sara:
The project also lists "presentation service" as a contributor on the
project. Presentation Service is the account associated with the 'admin'
contributor we've discussed before - Josh wrote a migration script to
replace personal accounts as invisible contributors with a generic OSF
account. Here is the pull request for that script:
https://github.com/CenterForOpenScience/osf.io/pull/2188
Issues:
*Script replaces emails with the staff email<EMAIL_ADDRESS>but
should have been<EMAIL_ADDRESS>*New admin account should be non-bibliographic contributor but is not
*Script added "Presentation Service" as a contributor even to conferences
that did not have an "admin" account listed
Last item (I should have thought about this before, but didn't) is that we
never modified the populate_conferences.py script to remove those personal
email accounts -- so projects created after the migration script ran have
the personal accounts as admins. Likely does not affect many projects, but
I will modify the populate_conferences.py script now so it does not affect
any more submissions.
Spam message received (and osf id of project):

Hello Brian Nosek,
Congratulations! You have successfully added your Rocky Mountain
Psychological Association 2015 talk to the Open Science Framework (OSF).
Your Rocky Mountain Psychological Association 2015 submission has been
added to the Open Science Framework. You now have a permanent, citable URL,
that you can share: [ https://osf.io/86g2i/ ]. All submissions Rocky
Mountain Psychological Association 2015 may be viewed at the following
link: [ https://osf.io/view/rmpa2015/ ].
Your email was flagged as spam by our mail processing service. To prevent
potential spam, we have made your project private. If this is a real
project, please log in to your account, browse to your project, and click
the "Make Public" button so that other users can view it.
Get more from the OSF by enhancing your page with the following:

Collaborators/contributors to the submission
Charts, graphs, and data that didn't make it onto the submission
Links to related publications or reference lists
Connecting your GitHub account via add-on integration

To learn more about the OSF, visit [ http://osf.io/getting-started ]!
Follow the COS at @OSFramework https://github.com/OSFramework on
Twitter [ https://twitter.com/OSFramework ]
Like us on Facebook [ https://www.facebook.com/OpenScienceFramework ]
Sincerely yours,
The OSF Robot

This is a good catch -- I think some discussion is needed on resolution. The 'flagged as spam' is standard response, as I have understood it, for presentation services and generally does not coincide with reality, even if a named project or conference already exists -- that is in addition to any Admin migration issues that remain I'd like to suggest that Community take lead as a Product Owner in proposing approach/solutions (?) -- Happy the help.

@nanchen47 is this covered in your recent Presentation Service fixes?

@JeffSpies The email<EMAIL_ADDRESS>is not managed by anyone and is shown up on some project as visible contributor and the email<EMAIL_ADDRESS>is managed by @saradbowman. One possible solution is writing a script to merge these two user and make it to be non-visible user over all its projects contributed. Thoughts?

This pr has been merged and deployed on production and I verified that the user "Presentation Service" no longer show up in production search.

Thank you!
On Wed, May 20, 2015 at 3:08 PM, nanchen47<EMAIL_ADDRESS>wrote:

Closed #2447 https://github.com/CenterForOpenScience/osf.io/issues/2447.
—
Reply to this email directly or view it on GitHub
https://github.com/CenterForOpenScience/osf.io/issues/2447#event-309873980
.


library does not recognise folder with '.png' images

Is there a way to set image extension for db folder? only a folder with .jpg images is recognised as a valid image folder for now

Hey @onuh, @serengil , I'd like to chime in on that.
If I'm not mistaken, this behavior comes from here:
https://github.com/serengil/deepface/blob/13a21fe306ee39567f7f0b15422f8a3c1ce656de/deepface/commons/realtime.py#L32-L39
A simple fix would be changing that:
https://github.com/serengil/deepface/blob/13a21fe306ee39567f7f0b15422f8a3c1ce656de/deepface/commons/realtime.py#L35
to something like this:
if ('.jpg' in file) or ('.png' in file):

And additionally, this line must be changed accordingly to replace .png extensions too
https://github.com/serengil/deepface/blob/13a21fe306ee39567f7f0b15422f8a3c1ce656de/deepface/commons/realtime.py#L379
@serengil in case you don't mind, I would create a PR to to fix this

yes please


WW-5379 Implement alternative mechanism for Velocity directives to obtain ValueStack

WW-5379
This affords applications the ability to not include the ValueStack as $stack in the Velocity context and reduce risk of SSTI escalation.

(Again, SonarCloud is using the wrong base)


MM-46470: Add copy content button for text / code file preview

Summary
This PR adds a copy button to copy the content of the text / code file in preview
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/20887
JIRA: https://mattermost.atlassian.net/browse/MM-46470
Screenshots
Before

After
https://user-images.githubusercontent.com/37421564/186886912-34b9475f-e155-44cd-8626-385542a89dab.mov
Release Note
A button is added to easily copy the content of text or code files in file preview.

Hello @sinansonmez,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

E2E tests not automatically triggered, because PR has no approval yet. Please ask a developer to review and then try again to attach the QA label.

/update-branch

/update-branch

This is great @sinansonmez. One minor change:
Can we adjust the tooltip on the icon button so that it reads "Copy text" for text files and "Copy code" for code files?

@sinansonmez thanks for making the tooltip update. I just realized this button needs to have a background color change on hover as well - to match the other buttons in the header (like the download button here). Could you update that as well?

@matthewbirtch yes, you are right. It should be fixed now.

@AshishDhama kindly pinging for review

/update-branch

/e2e-test

Successfully triggered e2e testing!
https://git.internal.mattermost.com/qa/cypress-ui-automation/-/pipelines/240243

This PR has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!


fit stops after Iteration 0 when metric is r2

I am using FLAML in Django views:
           X_train, X_test, y_train, y_test = train_test_split(df.copy(), train_size=selectedTrainingPercentage)

           automl = AutoML()

            settings = {
                "time_budget": 60,      # total running time in seconds
                "metric": 'r2',         # primary metrics for regression can be chosen from: ['mae','mse','r2']
                                        # list of ML learners; we tune xgboost in this example
                "task": 'regression',   # task type
            }
            print('fitting')

            automl.fit(X_train=X_train, y_train=y_train, **settings)
            print('fit complete')`

And the fitting stops at iteration 0:

However it works completely fine if I change the metric to nae or mse rather than r2.

There is no error message. Above screenshot is the complete output from flaml.

That means the first training doesn't finish. Does the basic regression example work for you?
from flaml import AutoML
from sklearn.datasets import load_boston
# Initialize an AutoML instance
automl = AutoML()
# Specify automl goal and constraint
automl_settings = {
    "time_budget": 10,  # in seconds
    "metric": 'r2',
    "task": 'regression',
    "log_file_name": "test/boston.log",
}
X_train, y_train = load_boston(return_X_y=True)
# Train with labeled input data
automl.fit(X_train=X_train, y_train=y_train,
                        **automl_settings)

@sonichi  Yes, successfully.

How can we reproduce this problem? We can chat in gitter if you'd like to.

closing as unable to reproduce.


linux-yocto: enable display on QCM6490 IDP board

Add support for PM7250B PMIC, Novatek NT36672E DSI panel and enable display subsystem on QCM6490 IDP board.

Please also pick up the DP changes from the list.

DP is currently not planned and hence not enabled.

@TanguduSrihitha

Please also pick up the DP changes from the list.

DP is currently not planned and hence not enabled.

DP is present on the board. The patches are available for the feature. Please pick them or provide a good reason to ignore them ('not planned' is not a good reason to leave users with the disabled feature for which the support has been implemented already).

@TanguduSrihitha Please excuse me, I got confused between IDP and RB3g2. There were no DisplayPort patches, so this is fine. Please fix the remaining issues:

GPU node disablement
missing panel driver fixes
explanation for config changes

@adhudase @TanguduSrihitha another ping.

Hi @lumag, sorry for the delay in response.
1) Compiling panel and PWM as modules: We have worked with the internal stability team and got forced crash dumps when the device is stuck. Many debug configs are not enabled by default and it took multiple iterations for us to get a parsable dump. From the tasks list and stack traces of the parsed dump, we found that the device is going into a deadlock due to clk prepare_lock MUTEX. We are working with the internal clock team to identify the root cause.
2) Missing panel driver fixes: I'll update in the next patch once we conclude on the panel and PWM configs setting.
3) Backporting of Conrad's fixes and Adreno firmware loading enablement: The GPU team is currently busy with Lemans and they'll consider support on 0.0/meta-qcom post that, probably after 7/15.

@TanguduSrihitha any updates? We are past 15th of August.

This becomes outdated, closing for now. Please reopen if there is an update.


README needs to be updated

We've been adding some really nice functionality to the extension, but haven't maintained the README.md as we should. We need to update the README.md to include the latest settings & capabilities. I don't have an exhaustive list, but I know it includes:

[x] Additional Access States for VIPs, Moderators & Broadcaster
[ ] New settings / capability for holding the theme for X minutes based on channel points.

In relation to the channel point feature, we should probably describe how best to retrieve the channel point id. Also, in that vein, we should probably log to the output any channel point redemptions with their channel point id so people can grab it easier.

@MichaelJolley I actually had that question about the channel point id when I was setting this up this morning. What is the process for that. I can add it to the docs.

Right now there isn't a good process. You need the unique id that Twitch passes when you use a channel redemption. That's why I mentioned we need to log that channel reward id to the console so we can tell people "turn on twitch themer, redeem the reward in chat, find the id in the console of VS Code, add that Id to the settings."

I'll take a look and see if I can't figure it out.

Looking at the documentation for the pubsub event, the payload should include the reward title. It may be a better user experience to use that instead of the redemption ID. See https://dev.twitch.tv/docs/pubsub#example-channel-points-event-message
data.redemption.reward.title

I updated the README to call out the new Access States, but details on how to use the channel point redemption still needs to get in there.


feat(combine-api): updated simulators

[x] BioNetGen 2.8.0
[x] BioSimulators-utils 0.1.166
[x] BioSimulators-XPP 0.0.12

:tada: This PR is included in version 9.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Use pipelineRun instead of taskRun in metrics_test…

Changes

… copy/pasta I think, it needs to be name pipelineRun as it refers to
pipelineRun 😛
Signed-off-by: Vincent Demeester<EMAIL_ADDRESS>Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[x] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[x] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.

/test pull-tekton-pipeline-integration-tests

/approve

/test pull-tekton-pipeline-integration-tests

/lgtm

/test pull-tekton-pipeline-integration-tests


Update readme compatibility

Node.js minimum up to v16
Ember minimum up to v4.12
I focused on package.json, if Ember enhancement is not required, I will fix it

Thank you!!!!


Repo sync for protected CLA branch

The pull request is created from main637747778693399533 to main to fix git push error for protected CLA branch

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


feat: Create Tidy Sheet for Tasha's Cauldron Magical Tattoos

The premium module Tasha's Cauldron of Everything provides the custom Tattoo item type. This item features its own item sheet.
Create a Tidy 5e Sheets version of the Tattoo item sheet.

and about the summons section maybe. Thanks

@dsakura can you show me what you're talking about with a screenshot and give me some more details?

Sorry! I decided to write here in the early hours of the morning, almost asleep. It's actually a doubt, that I took advantage of the topic. If the summoning feature of the original sheet, connected to tasha's module, also works on tidy5e's

Thanks

Summoning should work as intended. Tidy added support for summoning as part of adding support for dnd5e 3.1.0.
I don't currently have plans to create a sheet for the Summoning Configuration window, though.


add conda packaging and rever

can you add some rever basics to the readme so the rest of us know how to get setup and to use it for releasing etc...

@dharhas rever usage has been added


Update deye_4mppt.yaml

In regarding to this PR: https://github.com/StephanJoubert/home_assistant_solarman/pull/149

Thanks @Kolbi . I have modified the invalid implementation a bit to make it more flexible and will update with the change here before making a release.


Duplicate export with separate declare module

Flow version: 0.100.0
declare module 'module/scope/element' {
	declare export default () => number;
}

declare module 'module/scope' {
	declare export {default as element} from 'module/scope/element';
}

declare module 'module' {
	declare export {element} from 'module/scope';
}

Expected behavior
No errors
Actual behavior
13: 	declare export {element} from 'module/scope';
                     ^ Duplicate export for `element`

Link to Try-Flow or Github repo:

https://flow.org/try/#0FAgmFMGMBsEMCdwAIC2B7UBXayDk6scB6AZ0jQAdwjwcVwA7AF1wG9gBICGBZcADwpp4TJBABmsbKIAUASiQBeAHxIGmFACNw8ANzAAvmChxEqDNjwFLpclTadupvoOGjWEqdFGwSSWuD0zAZI4vBoKEj4FsRklNQBQSz6Rkhp6RmZmcBOvOaEVjHgDlwmeQJCIkisiYxMIWERUdaxdsUpQA

@samwgoldman I see commits about rewriting modules, can you help with this one?

/cc @mroch

@mroch this blocks many modules on flow-typed

This is still very much an issue. It doesn't make any sense why this is seen as a duplicate export.

This issue seems to be fixed a long time ago


[Go Live][Sept 29]

Push to live

Learn Build status updates of commit b79b8be:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: CannotMergeCommit] Cannot merge commit b79b8be74bf348c21cebd9e47f25b042c2a47446 in branch main of repository https://github.com/MicrosoftDocs/msteams-docs into branch live (commit 75d0072c021609af33ce584d671f610d78b3aaef). Please follow this documentation: https://help.github.com/articles/resolving-a-merge-conflict-using-the-command-line/ to use git.exe to resolve you content conflicts locally and then push to remote.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit b4bf02f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

.openpublishing.redirection.json
:x:Error

Details

.openpublishing.redirection.json

Line 801, Column 76: [Error: redirection-conflict] The 'toolkit/teams-toolkit-overview-visual-studio.md' appears twice or more in the redirection mappings.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Learn Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 899ee9f:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/toolkit/teams-toolkit-fundamentals.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


The visual diagrams not relate to actual timeline

I am not able to relate the 2nd visual diagram's timeline and its program. I am in confusion why the toast task has so much empty space in diagram(in program it has to complete 1/2 of time than egg or bacon).

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

ID: 17d27a0d-c072-8c9f-7e31-3de60bee9ae8
Version Independent ID: e0c09794-e712-19ff-cb9f-12648d60d4f6
Content: Asynchronous programming in C#
Content Source: docs/csharp/programming-guide/concepts/async/index.md
Product: dotnet-csharp
Technology: csharp-async
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Hi @harpalsingh1993 - that is a good observation. I can see how that is confusing, I will update this image. Thank you.

The code calls a method ApplyButter(toast); but the diagram does not show it. The diagram only shows a call to ApplyJam(toast);


Seems like this video isn't available... cannot use a string pattern on a bytes-like object

Command Line Arguments You Gave : python3.6 main.py -i "http://www.crunchyroll.com/dragon-ball-super/episode-1-the-peace-reward-who-will-get-the-100-million-zeni-723163" -u "xxxxx" -p "xxxxx" -r "1080p" -l "sub" -v
Verbose Log Link : https://pastebin.com/iS9tK27k
Long Explanation : Been trying this with multiple anime and with/without the language argument. Can't seem to get it to work at all with any anime on the site. Read the debugging log, seems like it isn't able to grab the video file for some reason.

Hey! If you're using Python 3.6, this won't work. It has some internal problems while working with 3.6.
I've tried with python 3.5, it works on that. Plus, it should be "main.py" and not just "main.py".
And, you don't have to specify the "-l"  option, specially for a single video. Get Python 3.5 or 2.7 and run :

python3.5 main.py -i "http://www.crunchyroll.com/dragon-ball-super/episode-1-the-peace-reward-who-will-get-the-100-million-zeni-723163" -u "xxxxx" -p "xxxxx" -r "1080p


Update timestamping checks using ethtool

New ethtool versions don't print the upper-case timestamping constants
anymore. Match the lower-case strings instead.

[citest bad]

[citest bad]

[citest bad]

[citest bad]

[citest]

[citest pending]

[citest]

[citest pending]

@mlichvar please rebase on top of latest master branch

[citest]

@mlichvar please rebase on top of the latest master branch - that should fix the test failures

[citest]

@mlichvar has something changed in centos9/el9?
TASK [Run pmc] *****************************************************************
task path: /WORKDIR/dist-git-timesync-ethtool-Dlv6G_/tests/tests_ptp_multi.yml:44
Thursday 29 September 2022  20:13:07 +0000 (0:00:00.072)       0:00:18.160 ****
changed: [sut] => {
    "changed": true,
    "cmd": [
        "pmc",
        "-u",
        "-b",
        "0",
        "-d",
        "0",
        "-s",
        "/var/run/timemaster/ptp4l.0.socket",
        "GET DOMAIN",
        "GET PORT_DATA_SET"
    ],
    "delta": "0:00:00.104403",
    "end": "2022-09-29 20:13:07.640494",
    "rc": 0,
    "start": "2022-09-29 20:13:07.536091"
}

STDOUT:

sending: GET DOMAIN
sending: GET PORT_DATA_SET

TASK [Check PTP domain] ********************************************************
task path: /WORKDIR/dist-git-timesync-ethtool-Dlv6G_/tests/tests_ptp_multi.yml:49
Thursday 29 September 2022  20:13:07 +0000 (0:00:00.388)       0:00:18.548 ****
fatal: [sut]: FAILED! => {
    "assertion": "'domainNumber 0' in pmc.stdout",
    "changed": false,
    "evaluated_to": false
}

MSG:

Assertion failed

It seems there are two issues with the SELinux policy:
https://bugzilla.redhat.com/show_bug.cgi?id=2130170
https://bugzilla.redhat.com/show_bug.cgi?id=2131689
One of them impacts also el8.

It seems there are two issues with the SELinux policy: https://bugzilla.redhat.com/show_bug.cgi?id=2130170 https://bugzilla.redhat.com/show_bug.cgi?id=2131689
One of them impacts also el8.

Ok - then do you want to merge this PR now?  or do we need to wait?

The failure is not related to this PR, the test passes for me with disabled selinux, so I think it's ok to merge. Thanks.