IO Engine Cannot set affinity

Describe the bug
First install of mayastor, I'm getting a "Cannot set affinity" error
To Reproduce
Steps to reproduce the behavior:

Install mayastor with values below

USER-SUPPLIED VALUES:
agents:
  core:
    capacity:
      thin:
        poolCommitment: 250%
        snapshotCommitment: 40%
        volumeCommitment: 40%
        volumeCommitmentInitial: 40%
    logLevel: info
    partialRebuildWaitPeriod: ""
    priorityClassName: ""
    resources:
      limits:
        cpu: 1000m
        memory: 128Mi
      requests:
        cpu: 500m
        memory: 32Mi
    tolerations: []
  ha:
    cluster:
      logLevel: info
      resources:
        limits:
          cpu: 100m
          memory: 64Mi
        requests:
          cpu: 100m
          memory: 16Mi
    enabled: true
    node:
      logLevel: info
      priorityClassName: ""
      resources:
        limits:
          cpu: 100m
          memory: 64Mi
        requests:
          cpu: 100m
          memory: 64Mi
      tolerations: []
apis:
  rest:
    logLevel: info
    priorityClassName: ""
    replicaCount: 1
    resources:
      limits:
        cpu: 100m
        memory: 64Mi
      requests:
        cpu: 50m
        memory: 32Mi
    service:
      nodePorts:
        http: 30011
        https: 30010
      type: ClusterIP
    tolerations: []
base:
  cache_poll_period: 30s
  default_req_timeout: 5s
  imagePullSecrets:
    enabled: false
    secrets:
    - name: login
  initContainers:
    containers:
    - command:
      - sh
      - -c
      - trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-agent-core 50051;
        do date; echo "Waiting for agent-core-grpc services..."; sleep 1; done;
      image: busybox:latest
      name: agent-core-grpc-probe
    - command:
      - sh
      - -c
      - trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}};
        do date; echo "Waiting for etcd..."; sleep 1; done;
      image: busybox:latest
      name: etcd-probe
    enabled: true
  initCoreContainers:
    containers:
    - command:
      - sh
      - -c
      - trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-etcd {{.Values.etcd.service.port}};
        do date; echo "Waiting for etcd..."; sleep 1; done;
      image: busybox:latest
      name: etcd-probe
    enabled: true
  initHaNodeContainers:
    containers:
    - command:
      - sh
      - -c
      - trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-agent-core 50052;
        do date; echo "Waiting for agent-cluster-grpc services..."; sleep 1; done;
      image: busybox:latest
      name: agent-cluster-grpc-probe
    enabled: true
  initRestContainer:
    enabled: true
    initContainer:
    - command:
      - sh
      - -c
      - trap "exit 1" TERM; until nc -vzw 5 {{ .Release.Name }}-api-rest 8081; do
        date; echo "Waiting for REST API endpoint to become available"; sleep 1; done;
      image: busybox:latest
      name: api-rest-probe
  jaeger:
    agent:
      initContainer:
      - command:
        - sh
        - -c
        - trap "exit 1" TERM; until nc -vzw 5 -u {{.Values.base.jaeger.agent.name}}
          {{.Values.base.jaeger.agent.port}}; do date; echo "Waiting for jaeger...";
          sleep 1; done;
        image: busybox:latest
        name: jaeger-probe
      name: jaeger-agent
      port: 6831
    enabled: false
    initContainer: true
  logSilenceLevel: null
  metrics:
    enabled: true
    pollingInterval: 5m
csi:
  controller:
    logLevel: info
    priorityClassName: ""
    resources:
      limits:
        cpu: 32m
        memory: 128Mi
      requests:
        cpu: 16m
        memory: 64Mi
    tolerations: []
  image:
    attacherTag: v4.3.0
    provisionerTag: v3.5.0
    pullPolicy: IfNotPresent
    registrarTag: v2.8.0
    registry: registry.k8s.io
    repo: sig-storage
    snapshotControllerTag: v6.2.1
    snapshotterTag: v6.2.1
  node:
    kubeletDir: /var/lib/kubelet
    logLevel: info
    nvme:
      ctrl_loss_tmo: "1980"
      io_timeout: "30"
      keep_alive_tmo: ""
    pluginMounthPath: /csi
    priorityClassName: ""
    resources:
      limits:
        cpu: 100m
        memory: 128Mi
      requests:
        cpu: 100m
        memory: 64Mi
    socketPath: csi.sock
    tolerations: []
    topology:
      nodeSelector: false
      segments:
        openebs.io/csi-node: mayastor
earlyEvictionTolerations:
- effect: NoExecute
  key: node.kubernetes.io/unreachable
  operator: Exists
  tolerationSeconds: 5
- effect: NoExecute
  key: node.kubernetes.io/not-ready
  operator: Exists
  tolerationSeconds: 5
etcd:
  auth:
    rbac:
      allowNoneAuthentication: true
      create: false
      enabled: false
  autoCompactionMode: revision
  autoCompactionRetention: 100
  client:
    secureTransport: false
  clusterDomain: k8s.sfxworks
  debug: false
  extraEnvVars:
  - name: ETCD_QUOTA_BACKEND_BYTES
    value: "8589934592"
  initialClusterState: new
  nodeSelector: {}
  peer:
    secureTransport: false
  persistence:
    enabled: true
    reclaimPolicy: Delete
    size: 2Gi
    storageClass: nvme-replicated
  podAntiAffinityPreset: hard
  podLabels:
    app: etcd
    openebs.io/logging: "true"
  priorityClassName: ""
  removeMemberOnContainerTermination: true
  replicaCount: 3
  service:
    nodePorts:
      clientPort: 31379
      peerPort: ""
    port: 2379
    type: ClusterIP
  tolerations: []
  volumePermissions:
    enabled: true
eventing:
  enabled: true
image:
  pullPolicy: Always
  registry: harbor.home.sfxworks.net/docker
  repo: openebs
  repoTags:
    controlPlane: ""
    dataPlane: ""
    extensions: ""
  tag: release-2.2
io_engine:
  api: v1
  coreList: []
  cpuCount: "2"
  envcontext: ""
  logLevel: info
  nodeSelector:
    kubernetes.io/arch: amd64
    openebs.io/engine: mayastor
  priorityClassName: ""
  reactorFreezeDetection:
    enabled: false
  resources:
    limits:
      cpu: "2"
      hugepages2Mi: 2Gi
      memory: 1Gi
    requests:
      cpu: "2"
      hugepages2Mi: 2Gi
      memory: 1Gi
  target:
    nvmf:
      iface: ""
      ptpl: true
  tolerations: []
jaeger-operator:
  crd:
    install: false
  jaeger:
    create: false
  name: '{{ .Release.Name }}'
  priorityClassName: ""
  rbac:
    clusterRole: true
  tolerations: []
loki-stack:
  enabled: true
  loki:
    config:
      compactor:
        compaction_interval: 20m
        retention_delete_delay: 1h
        retention_delete_worker_count: 50
        retention_enabled: true
      limits_config:
        retention_period: 168h
    enabled: true
    initContainers:
    - command:
      - /bin/bash
      - -ec
      - chown -R 1001:1001 /data
      image: docker.io/bitnami/bitnami-shell:10
      imagePullPolicy: IfNotPresent
      name: volume-permissions
      securityContext:
        runAsUser: 0
      terminationMessagePath: /dev/termination-log
      terminationMessagePolicy: File
      volumeMounts:
      - mountPath: /data
        name: storage
    persistence:
      enabled: true
      reclaimPolicy: Delete
      size: 10Gi
      storageClassName: ""
    priorityClassName: ""
    rbac:
      create: true
      pspEnabled: false
    securityContext:
      fsGroup: 1001
      runAsGroup: 1001
      runAsNonRoot: false
      runAsUser: 1001
    service:
      nodePort: 31001
      port: 3100
      type: ClusterIP
    tolerations: []
  promtail:
    config:
      lokiAddress: http://{{ .Release.Name }}-loki:3100/loki/api/v1/push
      snippets:
        scrapeConfigs: |
          - job_name: {{ .Release.Name }}-pods-name
            pipeline_stages:
              - docker: {}
            kubernetes_sd_configs:
            - role: pod
            relabel_configs:
            - source_labels:
              - __meta_kubernetes_pod_node_name
              target_label: hostname
              action: replace
            - action: labelmap
              regex: __meta_kubernetes_pod_label_(.+)
            - action: keep
              source_labels:
              - __meta_kubernetes_pod_label_openebs_io_logging
              regex: true
              target_label: {{ .Release.Name }}_component
            - action: replace
              replacement: $1
              separator: /
              source_labels:
              - __meta_kubernetes_namespace
              target_label: job
            - action: replace
              source_labels:
              - __meta_kubernetes_pod_name
              target_label: pod
            - action: replace
              source_labels:
              - __meta_kubernetes_pod_container_name
              target_label: container
            - replacement: /var/log/pods/*$1/*.log
              separator: /
              source_labels:
              - __meta_kubernetes_pod_uid
              - __meta_kubernetes_pod_container_name
              target_label: __path__
    enabled: true
    priorityClassName: ""
    rbac:
      create: true
      pspEnabled: false
    tolerations: []
nats:
  cluster:
    enabled: true
    replicas: 3
  nats:
    image:
      pullPolicy: IfNotPresent
      registry: ""
    jetstream:
      enabled: true
      fileStorage:
        enabled: false
      memStorage:
        enabled: true
        size: 5Mi
  natsbox:
    enabled: false
nodeSelector:
  kubernetes.io/arch: amd64
obs:
  callhome:
    enabled: true
    logLevel: info
    priorityClassName: ""
    resources:
      limits:
        cpu: 100m
        memory: 32Mi
      requests:
        cpu: 50m
        memory: 16Mi
    sendReport: true
    tolerations: []
  stats:
    logLevel: info
    resources:
      limits:
        cpu: 100m
        memory: 32Mi
      requests:
        cpu: 50m
        memory: 16Mi
    service:
      nodePorts:
        http: 90011
        https: 90010
      type: ClusterIP
operators:
  pool:
    logLevel: info
    priorityClassName: ""
    resources:
      limits:
        cpu: 100m
        memory: 32Mi
      requests:
        cpu: 50m
        memory: 16Mi
    tolerations: []
priorityClassName: ""
tolerations: []

Expected behavior

Mayastor installs, ioengine runs

** OS info (please complete the following information):**

Distro: Arch
Kernel version: 6.3.9-arch1-1
MayaStor revision or container image: release-2.2

Additional context
One is fine.
I also tried giving mayastor dedicated cpus and running helm upgrade. This lead to an etcd issue though.
NAME                                          READY   STATUS             RESTARTS       AGE     IP              NODE                NOMINATED NODE   READINESS GATES
mayastor-agent-core-cdd744cf7-b2skc           2/2     Running            0              10h     <IP_ADDRESS>      epyc7713            <none>           <none>
mayastor-agent-ha-node-cs7qf                  1/1     Running            0              10h     <IP_ADDRESS>   home-2cf05d8a44a0   <none>           <none>
mayastor-agent-ha-node-hhq9k                  1/1     Running            0              10h     <IP_ADDRESS>   home-2cf05d8a449c   <none>           <none>
mayastor-agent-ha-node-v468b                  1/1     Running            1              10h     <IP_ADDRESS>   epyc-gigabyte       <none>           <none>
mayastor-agent-ha-node-xl25j                  1/1     Running            0              10h     <IP_ADDRESS>   epyc7713            <none>           <none>
mayastor-api-rest-69d59fcd7d-j5p5t            1/1     Running            0              10h     <IP_ADDRESS>      epyc7713            <none>           <none>
mayastor-csi-controller-884d9f8d8-x7hsc       3/3     Running            0              10h     <IP_ADDRESS>   epyc7713            <none>           <none>
mayastor-csi-node-dn5gp                       2/2     Running            0              10h     <IP_ADDRESS>   home-2cf05d8a449c   <none>           <none>
mayastor-csi-node-sr7rd                       2/2     Running            0              10h     <IP_ADDRESS>   epyc7713            <none>           <none>
mayastor-csi-node-x2pvp                       2/2     Running            0              10h     <IP_ADDRESS>   home-2cf05d8a44a0   <none>           <none>
mayastor-csi-node-x95dn                       2/2     Running            2              10h     <IP_ADDRESS>   epyc-gigabyte       <none>           <none>
mayastor-etcd-0                               1/1     Running            0              10h     <IP_ADDRESS>      epyc7713            <none>           <none>
mayastor-etcd-1                               1/1     Running            0              10h     <IP_ADDRESS>       home-2cf05d8a449c   <none>           <none>
mayastor-etcd-2                               0/1     CrashLoopBackOff   6 (81s ago)    8m26s   <IP_ADDRESS>      epyc-gigabyte       <none>           <none>
mayastor-io-engine-64ktf                      1/2     Error              5 (89s ago)    3m10s   <IP_ADDRESS>   epyc7713            <none>           <none>
mayastor-io-engine-ptt7w                      2/2     Running            0              10h     <IP_ADDRESS>   home-2cf05d8a449c   <none>           <none>
mayastor-io-engine-r4skq                      1/2     Error              5 (94s ago)    3m10s   <IP_ADDRESS>   home-2cf05d8a44a0   <none>           <none>
mayastor-io-engine-t274w                      1/2     Error              5 (110s ago)   3m10s   <IP_ADDRESS>   epyc-gigabyte       <none>           <none>
mayastor-loki-0                               1/1     Running            0              10h     <IP_ADDRESS>       epyc7713            <none>           <none>
mayastor-obs-callhome-6b66c87b45-tqzvj        1/1     Running            0              10h     <IP_ADDRESS>       epyc7713            <none>           <none>
mayastor-operator-diskpool-7cd4c6594f-2glmz   1/1     Running            0              10h     <IP_ADDRESS>       epyc7713            <none>           <none>
mayastor-promtail-24zg7                       1/1     Running            0              10h     <IP_ADDRESS>      home-2cf05d8a44a0   <none>           <none>
mayastor-promtail-gwngd                       0/1     Running            0              10h     <IP_ADDRESS>        soquartz-1          <none>           <none>
mayastor-promtail-mr52b                       0/1     Running            0              10h     <IP_ADDRESS>        soquartz-4          <none>           <none>
mayastor-promtail-nwcf5                       0/1     Running            0              10h     <IP_ADDRESS>      soquartz-2          <none>           <none>
mayastor-promtail-rmgdf                       0/1     Running            0              10h     <IP_ADDRESS>       soquartz-3          <none>           <none>
mayastor-promtail-wpn7z                       1/1     Running            0              10h     <IP_ADDRESS>      home-2cf05d8a449c   <none>           <none>
mayastor-promtail-xjpfc                       1/1     Running            1              10h     <IP_ADDRESS>      epyc-gigabyte       <none>           <none>
mayastor-promtail-zx7h9                       1/1     Running            0              10h     <IP_ADDRESS>      epyc7713            <none>           <none>

[2023-07-19T10:33:53.528339830+00:00  INFO io_engine:io-engine.rs:200] Engine responsible for managing I/Os version 1.0.0, revision 36b73467bd2a (v2.2.0)
[2023-07-19T10:33:53.528420989+00:00  INFO io_engine:io-engine.rs:179] free_pages 2MB: 2048 nr_pages 2MB: 2048
[2023-07-19T10:33:53.528425619+00:00  INFO io_engine:io-engine.rs:180] free_pages 1GB: 0 nr_pages 1GB: 0
[2023-07-19T10:33:53.528495798+00:00  INFO io_engine:io-engine.rs:232] kernel io_uring support: yes
[2023-07-19T10:33:53.528500798+00:00  INFO io_engine:io-engine.rs:236] kernel nvme initiator multipath support: yes
[2023-07-19T10:33:53.528519138+00:00  INFO io_engine::core::env:env.rs:786] loading mayastor config YAML file /var/local/io-engine/config.yaml
[2023-07-19T10:33:53.528526938+00:00  INFO io_engine::subsys::config:mod.rs:168] Config file /var/local/io-engine/config.yaml is empty, reverting to default config
[2023-07-19T10:33:53.528532698+00:00  INFO io_engine::subsys::config::opts:opts.rs:151] Overriding NVMF_TCP_MAX_QUEUE_DEPTH value to '32'
[2023-07-19T10:33:53.528539548+00:00  INFO io_engine::subsys::config::opts:opts.rs:151] Overriding NVME_QPAIR_CONNECT_ASYNC value to 'true'
[2023-07-19T10:33:53.528543038+00:00  INFO io_engine::subsys::config:mod.rs:216] Applying Mayastor configuration settings
EAL: FATAL: Cannot set affinity
EAL: Cannot set affinity
thread 'main' panicked at 'Failed to init EAL', io-engine/src/core/env.rs:627:13
stack backtrace:
   0: std::panicking::begin_panic
   1: io_engine::core::env::MayastorEnvironment::init
   2: io_engine::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

hmm I'm not too falimiar with cpu policies but seems this may be true. @Abhinandan-Purkait ?
The io-engine tries to affinitize to the specified core list configure in the helm chart (default from your chart would be taken from core-count, so 1,2 I think).
Did you isolate cores 1 and 2? I wonder if that would sidestep the policy.

Hi, I am getting the same error on 2 servers, while the third one managed to start the pod:
[2023-08-10T02:11:01.133568146+00:00  INFO io_engine:io-engine.rs:179] Engine responsible for managing I/Os version 1.0.0, revision b0734db654d8 (v2.0.0)
[2023-08-10T02:11:01.133812452+00:00  INFO io_engine:io-engine.rs:158] free_pages 2MB: 1024 nr_pages 2MB: 1024
[2023-08-10T02:11:01.133829859+00:00  INFO io_engine:io-engine.rs:159] free_pages 1GB: 0 nr_pages 1GB: 0
[2023-08-10T02:11:01.134049851+00:00  INFO io_engine:io-engine.rs:211] kernel io_uring support: yes
[2023-08-10T02:11:01.134079945+00:00  INFO io_engine:io-engine.rs:215] kernel nvme initiator multipath support: yes
[2023-08-10T02:11:01.134165623+00:00  INFO io_engine::core::env:env.rs:791] loading mayastor config YAML file /var/local/io-engine/config.yaml
[2023-08-10T02:11:01.134191763+00:00  INFO io_engine::subsys::config:mod.rs:168] Config file /var/local/io-engine/config.yaml is empty, reverting to default config
[2023-08-10T02:11:01.134213488+00:00  INFO io_engine::subsys::config::opts:opts.rs:151] Overriding NVMF_TCP_MAX_QUEUE_DEPTH value to '32'
[2023-08-10T02:11:01.134239781+00:00  INFO io_engine::subsys::config::opts:opts.rs:151] Overriding NVME_QPAIR_CONNECT_ASYNC value to 'true'
[2023-08-10T02:11:01.134251732+00:00  INFO io_engine::subsys::config:mod.rs:216] Applying Mayastor configuration settings
EAL: FATAL: Cannot set affinity
EAL: Cannot set affinity
thread 'main' panicked at 'Failed to init EAL', io-engine/src/core/env.rs:628:13
stack backtrace:
   0: std::panicking::begin_panic
   1: io_engine::core::env::MayastorEnvironment::init
   2: io_engine::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

I'm using microk8s and installed mayastor via add-on. Kubernetes version is 1.27 with mayastor 2.0.0.
The resources after creation:
~ ❯ kubectl get pod -n mayastor
NAME                                          READY   STATUS             RESTARTS      AGE
mayastor-csi-node-qwt5m                       2/2     Running            0             59m
mayastor-csi-node-l64bd                       2/2     Running            0             59m
etcd-wcckw7dkcs                               1/1     Running            0             58m
etcd-pcf79w5kxn                               1/1     Running            0             58m
mayastor-agent-core-f7ccf485-tzszv            1/1     Running            2 (57m ago)   59m
mayastor-operator-diskpool-5b4cfb555b-pht6l   1/1     Running            0             59m
mayastor-api-rest-bcb58d479-v7jm9             1/1     Running            0             59m
etcd-operator-mayastor-8574f998bc-q2z8z       1/1     Running            1 (55m ago)   59m
mayastor-csi-controller-6b867dd474-grwcw      3/3     Running            0             59m
mayastor-csi-node-m6ksd                       2/2     Running            4 (19m ago)   59m
etcd-s86jdxw5v8                               1/1     Running            2 (19m ago)   57m
mayastor-io-engine-9h6bg                      1/1     Running            2 (19m ago)   59m
mayastor-io-engine-bd8zz                      0/1     CrashLoopBackOff   5 (73s ago)   4m19s
mayastor-io-engine-szvcv                      0/1     CrashLoopBackOff   5 (50s ago)   4m6s

As you can see 2 mayastor-io-engine failing.
If not the core count, could that be the CPU frequency too low? The server that managed to start mayastor-io-engine runs at 3.0 Ghz, while the 2 servers that failed have a lower spec CPU running at 1.7 Ghz. I would not want to change the CPUs right now, so is there another way?

How many cpu cores on these 2 servers?

I have allocated 8 cores, 16 GB of RAM, and 64 GB of space, on all 3 servers. I will try to add more cores - 32, and will get back with the results.

@tiagolobocastro Any ideas?

Is there some kind of limit to your lxc container to run on a subset of your cpus?
Also I noticed you're running on v2.0.0, could could move to 2.3.0, though I suspect that won't help in this case.

I tried to install v2.3.0 from a chart and it did not help. There are no limits for LXC container. I decided to upgrade CPUs, and if it helps I will post an update.

If it doesn't help, would you be able to change io-engine container image to something else that would allow you to run this from the container:

grep Cpus_allowed_list /proc/self/status

I've tested this with lxd, and when we limit lxc containers to cpu, indeed I start to see the cpu allowed list being setup by lxc, example:

root@ksnode-2:~# grep Cpus_allowed_list /proc/self/status
Cpus_allowed_list:	2,9,12

In this case to get io-engine to run I had to change the cpu-list to those...
I think we may need to tweak the io-engine dataplane cpu affinity for it to be more compatible with lxd and similar configurations.

In this case to get io-engine to run I had to change the cpu-list to those...

Would you mind sharing where you set that? I just got hit with this "cannot set affinity" issue as well on a fresh install. I happen to be running my cluster on some lxc containers backed via Proxmox so I really haven't done anything in particular as far as lxc is concerned. I'm just specifying the number of cores a container can use and the random assignment is then seen in the output of a pct cpusets (on the Proxmox host) or the grep query (from within the container) you shared.
That of course means each of these io-engine pods is running on a node that is allowed to use a totally different set of cores. Where and how did you go about mapping the cpu-list thing  you mentioned as I don't see anything in any documentation or the Helm chart values?
Thanks in advance.

Making a bit of progress after realizing the above is too ridiculous to run with. I've moved to ensuring all containers running as nodes used by mayastor are able to use all cores. This is accomplished in the container's /etc/pve/lxc/.conf by setting the value of cores: to the number available on the proxmox host itself. All said, I managed to see 2 of 3 io-engine pods start successfully. The 3rd was complaining about HugePages despite the min being set as on the other workers. Rebuilding the cluster quickly and will report back on any worthwhile progress.

all 3 io-engine pods are now running after I set HugePages to 1024-n on the proxmox host itself where n is the number of nodes labeled with openebs.io/engine=mayastor. Curious to hear any POV on this as it was just a random guess/thought on my end as opposed to any guidance I've read or heard discussed.

Did you mean 1024*n rather than 1024-n ?
The first seems the right thing to do here.
As for the cpu usage as I mentioned previously we need to support this properly somehow, maybe using some helm variable which allows data-plane to bind to a list from allowed cpus for example.
For now there's a hacky WA where you can overwrite the specific core list for each node using /var/local/mayastor/io-engine/config.yaml, see this file for an example.

oh yes, meant 1024*n. I'll check out that .yaml file in the meantime. Maybe we should close this in favor of #1541

So, if I recall my issue correctly, the The CPU manager in k8s assigns from it's pool of cores, and then starts the pod. Is there a way to not change the whole node's policy by having ebs detect what cores it's given? Can even optimize the assignment from the pool further now with https://kubernetes.io/blog/2024/08/22/cpumanager-static-policy-distributed-cpu-across-cores/


Asynchronous code inside the "process" method

The task I want to accomplish: When a suitable event occurs in the process, I want to send an asynchronous HTTP request for my requirements. At the moment, I am unable to make an asynchronous call. Instead, I have to make a synchronous call to the main thread. However, in this case, the request will hang if there is nobody to accept it. Also, it occupies the time of the main thread in any case.
// TODO: I want to make this function completely asynchronous.
fn send() {
    let handle = thread::spawn(|| {
        let runtime = tokio::runtime::Builder::new_current_thread()
            .enable_all()
            .build()
            .unwrap();

        runtime.block_on(async {
            // TODO: More specifically, I need to call this function in an asynchronous manner.
            send_http_request().await;
        });
    });

    handle.join().unwrap();
}

 fn process(
        &mut self,
        _buffer: &mut Buffer,
        _aux: &mut AuxiliaryBuffers,
        context: &mut impl ProcessContext<Self>,
    ) -> ProcessStatus {

// ...

context.send_event(NoteEvent::NoteOn {
    timing: 1,
    voice_id: None,
    channel: 1,
    note: generator::generate_random_note(),
    velocity: 1.0,
});

send();

I have read about the "execute_background" function, but I am still not sure how to use it or if it is even suitable for my needs. I have tried using "tokio::spawn(async)" separately, but it immediately crashes with an error, so there is no way for me to debug the program. Can you please recommend a way to work with asynchronous code, such as calling it in the "process" function?

Forgive me if I'm overstepping by making this comment because I'm not a maintainer or a true expert. But you are trying to do problematic stuff.
You can't use tokio or any other async runtime inside nih-plug, as it cannot subordinate it's runtime to the needs of nih-plug. We have to run process() on the hosts say so, not according to an internal schedule.
Secondly you absolutely can't spawn a thread inside process() because it's not real time safe. You can not allocate memory here at all. Whatever method of communication you use between threads, it must be fully set up and ready to use at the end of init()

Forgive me if I'm overstepping by making this comment because I'm not a maintainer or a true expert. But you are trying to do problematic stuff.
You can't use tokio or any other async runtime inside nih-plug, as it cannot subordinate it's runtime to the needs of nih-plug. We have to run process() on the hosts say so, not according to an internal schedule.
Secondly you absolutely can't spawn a thread inside process() because it's not real time safe. You can not allocate memory here at all. Whatever method of communication you use between threads, it must be fully set up and ready to use at the end of init()

That's what I understood after asking the question here. In general, I think I have enough performance, even considering the lock. Maybe it will be possible to call the code via the GUI thread, but I'm not sure. I don't have enough experience with Rust and this library. Anyway, thanks for your comment.

I created a monster, but it works!
Rust + nih-plug = VST3.
Flutter + serverpod = UI.
Rust sends data to Flutter via HTTP. I understand that there may be simpler ways (for example, using the same sockets), but I wanted to try it this way.
It turned out to be a rough draft, but now I can work on it further and create some cool effects. Now, I have no limitations on visualization.
I also attempted to use flutter_rust_bridge, but was unable to figure out how to get the GUI to work from Flutter. It is likely that this is currently impossible and very difficult to debug. Therefore, I have split the program into two parts. At least one of these parts can be developed using hot reload and debugging.


fix: get_virtual_machine_error() message extract

What I did
Correct the check of the exception message so that None and "" are handled by the conditional.
In its current state the logic of str(err_data.get("message")) means if message isn't in the dictionary, the message will become "None".
How to verify it
Converting an error with a dictionary but no message means that the message becomes "None" rather than the contents of the originating exception:
with ape.reverts():
    raise ape.project.provider.get_virtual_machine_error(Exception({"testing": "stuff"}))

# E       AssertionError: Transaction did not revert.
# E       However, an exception of type <class 'ape.exceptions.VirtualMachineError'> occurred: None

With the change:
with ape.reverts():
    raise ape.project.provider.get_virtual_machine_error(Exception({"testing": "stuff"}))

# E       AssertionError: Transaction did not revert.
# E       However, an exception of type <class 'ape.exceptions.VirtualMachineError'> occurred: {'testing': 'stuff'}

Checklist

[x] All changes are completed
[x] New test cases have been added
[x] Documentation has been updated

Tests may fail due to this being a fork, I haven't set up the secrets/environment yet if needed
But I also ran into some issues around EMFILE: Too many open files when trying to run tests locally, I made a post in the engineering channel regarding it

Tests may fail due to this being a fork, I haven't set up the secrets/environment yet if needed

When you open a PR, the tests run in the context of our actions here

@fubuloubu when you create PRs via forks, Github actually doesn't provide secrets from either the upstream env or the fork
If any tests/setup/etc utilize those environment variables or secrets then they end up failing, we encountered it recently on ape-hardhat where my PR removing the changelog couldn't pass tests https://github.com/ApeWorX/ape-hardhat/pull/72
Looks like ape doesn't use them so we're all good - Jules and I talked about maybe skipping tests or providing fallback values for repos that do rely on secrets


Fix reinstall on Windows

Make nsis overwrite existing files or delete them beforehand.

Fixed in https://github.com/Aluxian/Facebook-Messenger-Desktop/commit/e262d035ebf362d5557f49552cc098e8b863a6a5


Remove rustic-top-item-beg-re

Use rust-top-item-beg-re instead when hitting C-M-a
I found C-M-a not working with unsafe fn and figured out rust-top-item-beg-re is overridden by rustic-top-item-beg-re

So the rust-mode version works fine ? Thanks for the contribution.

Yes, currently I am using emacs 28 and the latest rustic is working fine with emacs 28.


Fix enqueue_flags test to use correct barrier type.

Fix enqueue_flags test to use correct barrier type.
Currently, enqueue_flags test uses CLK_LOCAL_MEM_FENCE.
Use CLK_GLOBAL_MEM_FENCE instead as all threads across work-groups
need to wait here.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hi Nikhil, although your immediate commit (https://github.com/KhronosGroup/OpenCL-CTS/commit/62232ae47b81c2a2a45e4818f7f22314b6f5e6d4) matched the PR description, you then force pushed a change that overrode that.

Hi Nikhil, although your immediate commit (62232ae) matched the PR description, you then force pushed a change that overrode that.

Fixed the message to reflect forced update.
Will create separate pull request for the original change.

@nikhiljnv Ping :). Could you open PRs against cl20_trunk and cl21_trunk as well please?

Created https://github.com/KhronosGroup/OpenCL-CTS/pull/348 and https://github.com/KhronosGroup/OpenCL-CTS/pull/349 for cl20_trunk and cl21_trunk.


Add Validation against known mime types when creating a page

Is your feature request related to a problem? Please describe.
Invalid file names can be published, but can not be served by the webserver (for example "filename.-24").  This leads to some confusion about whether or not a page was published.
Describe the solution you'd like
With this improvement, we would like to prevent invalid file extensions in page file names.  For example, the page "filename-.24" should not get created with this validation, as .24 is not a known mime type.  Known mime types will be listed in the mimemap.properties

@rgarg24 Didn't you work on a fix for this one?

Fixed by https://github.com/percussion/percussioncms/pull/1206


Disable webkit specific look on submit buttons on iOS (fixes #825)

This looks much better than how it was rendering before. Testing now.

Manually verified the before/after on iOS with Safari. LGTM for a merge.


awake not showing in taskbar

Microsoft PowerToys version
0.83.0
Installation method
GitHub, PowerToys auto-update
Running as admin
Yes
Area(s) with issue?
Awake
Steps to reproduce
awake function not showing in task bar in laptop is on...o
when i onn or off is finction than its working
✔ Expected Behavior
No response
❌ Actual Behavior
No response
Other Software
No response

Duplicate of #34148


The segmentation of the first few images does not seem to be ideal.

Hi, I found that the segmentation of the first few images does not seem to be ideal, but the middle images are ok. Also, it happened in the demo file. Is it the expected result?
demo↓
https://user-images.githubusercontent.com/102251588/159776296-1c83aaac-d6f2-4389-8217-e13444c0b08c.mp4
my input↓
https://user-images.githubusercontent.com/102251588/159777020-b9b51226-a03c-4494-8b9d-e27c9a9e8562.mp4

Hey HebeW, was wondering but did you manage to get vesSAP to fully work with your vasculature data? Especially the feature extraction part

Hi HebeW,
Yes, this is expected result on the demo data and is caused by edge-effects of the algorithm. The solution is to pad/mirror the data and then clip/crop to the original volume.
For the whole brain scans this was no problem, as there are "enough" empty scan slices surrounding the vascular structures. The patches in the CUDA implementation have a 7 vx padding in all directions and are then cropped to the original extent.


Using useSuspenseQuery is client side supposed to send a request on the first render?

I'm using useSuspenseQuery and it's working fine I get the result from the server, I don't understand why it again send a query on the same initial render from the client side, is that supposed to happen or did I miss something?

Are you using useSuspenseQuery from @apollo/client or @apollo/experimental-nextjs-app-support?
That's the most common cause for this behaviour - you need to use the latter, as we need to wrap the first in some additional logic to make everything work.

Are you using useSuspenseQuery from @apollo/client or @apollo/experimental-nextjs-app-support? That's the most common cause for this behaviour - you need to use the latter, as we need to wrap the first in some additional logic to make everything work.

Thanks for the reply I am using @apollo/experimental-nextjs-app-support first request is running on both server and client, using:
"next": "13.5.3"
"@apollo/client": "^3.8.0-rc.2",
"@apollo/experimental-nextjs-app-support": "^0.4.1",

Using @apollo/client although it still runs on both client and server, server shows undefined as data, using @apollo/experimental-nextjs-app-support I get the response on both client and server, but don't understand why client needs to get it again.

Thanks for the reply I am using @apollo/experimental-nextjs-app-support first request is running on both server and client, using:

No, how are you importing useSuspenseQuery in your source code?
Please give a code example on how you use this, including the imports.

Thanks for the reply I am using @apollo/experimental-nextjs-app-support first request is running on both server and client, using:

No, how are you importing useSuspenseQuery in your source code?
Please give a code example on how you use this, including the imports.

Sure! Thanks.
"use client";

import {gql} from "@apollo/client";
import {useSuspenseQuery} from "@apollo/experimental-nextjs-app-support/ssr";
import SpinnerBase from "@src/app/components/Spinner/SpinnerBase";
import {Suspense} from "react";

type Props = {
    data: GQLQuery["boxes"]["data"];
};

export function Shop(props: Props) {
    const {data, error} = useSuspenseQuery(
        gql`
            query ($page: Int, $search: String) {
                boxes(
                    first: 1
                    page: $page
                    filters: {search: $search}
                    orderBy: [
                        {
                            freeSlots: {aggregate: COUNT, column: REGULAR_PRICE}
                            order: ASC
                        }
                    ]
                ) {
                    data {
                        id
                    }
                }
            }
        `,
        {
            variables: {
                page: 1,
                search: "U",
            },
            fetchPolicy: "no-cache",
        },
    );
    if (error) {
        // we want not only the initial error to throw towards a suspense boundary,
        // but also errors coming in later to trigger the same boundary
        throw error;
    }
    console.log(data);

    return null;
}

export default function Component(props: Props) {
    return (
        <Suspense fallback={<SpinnerBase />}>
            <Shop {...props} />
        </Suspense>
    );
}

It's the fetchPolicy: "no-cache".
While it does render on the server and also transports the result of that over to the client cache, you explicitly tell it that it shouldn't be using that transported value - so it has to do another request.

It's the fetchPolicy: "no-cache". While it does render on the server and also transports the result of that over to the client cache, you explicitly tell it that it shouldn't be using that transported value - so it has to do another request.

Thanks a lot! Couldn't figure this out without your help!


Wrong previous stub implementation overriding warning emission

Ruby 2.1.2, RSpec 3.0.0, RSpec Mocks 3.0.4
I get a WARNING: You're overriding a previous stub implementation of 'call' that I think shouldn't be emitted. I guess it is wrong because it's the only .and_call_original I have.
This is the output of rspec spec.rb:
WARNING: You're overriding a previous stub implementation of `call`. Called from /home/izietto/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/config.rb:17:in `call'.. Called from /home/izietto/.rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/rack-1.5.2/lib/rack/config.rb:17:in `call'.
.

Finished in 0.01976 seconds (files took 6.25 seconds to load)
1 example, 0 failures

This is the spec.rb (you can jump straight to the .and_call_original call I guess, the rest is just for make the test pass):
unless File.exist?('Gemfile')
  File.write('Gemfile', <<-GEMFILE)
    source 'https://rubygems.org'

    gem 'rack'
    gem 'rack-test'
    gem 'rspec'
  GEMFILE

  system 'bundle'
end

require 'bundler'
Bundler.setup(:default)

require 'rack/test'
require 'rack'
require 'forwardable'

module TestHelpers
  extend Forwardable
  def_delegators :last_response, :body, :headers, :status, :errors
  def_delegators :current_session, :env_for
  attr_writer :app

  def app
    @app ||= nil
    @app || mock_app(DummyApp)
  end

  def mock_app(app = nil, &block)
    app = block if app.nil? and block.arity == 1
    if app
      klass = described_class
      mock_app do
        use Rack::Head
        use(Rack::Config) { |e| e['rack.session'] ||= {}}
        use klass
        run app
      end
    else
      @app = Rack::Lint.new Rack::Builder.new(&block).to_app
    end
  end
end

module DummyApp
  def self.call(env)
    Thread.current[:last_env] = env
    body = (env['REQUEST_METHOD'] == 'HEAD' ? '' : 'ok')
    [200, {'Content-Type' => env['wants'] || 'text/plain'}, [body]]
  end
end

RSpec.configure do |config|
  config.include Rack::Test::Methods
  config.include TestHelpers
end

a_rack_application = Struct.new(:app) do
  def call(env)
    app.call(env)
  end
end

RSpec.describe a_rack_application do
  it 'example' do
    klass    = described_class
    detector = Struct.new(:app) do
      def call(env)
        app.call(env)
      end
    end
    changer  = Struct.new(:app) do
      def call(env)
        env['foo.bar'] = 42
        app.call(env)
      end
    end

    expect_any_instance_of(detector).to receive(:call) { |env|
      expect(env['foo.bar']).to eq 42
    }.and_call_original

    mock_app do
      use Rack::Head
      use(Rack::Config) { |e| e['rack.session'] ||= {}}
      use detector
      use klass
      use changer
      run DummyApp
    end

    expect(get('/')).to be_ok
  end
end

@mdesantis, my solution to this was to use and_wrap_original so your example could be written
expect_any_instance_of(detector).to receive(:call).and_wrap_original do |original, *args|
  expect(args.first['foo.bar']).to eq 42
  original.call(*args)
end


Project description is misleading.

Repository description, beginning of README, post on URLO, etc. describe peapod as a compact storage for enums, while in fact it is a compact storage for sequences of enums.
Initially I assumed it would store single instances of complicated, deeply nested enums efficiently (and that storage form can be used e.g. as keys for hash maps).
But in fact is seems to support only one data structure: vector. And nested enums are not mentioned in the docs, so I assume they are not supported (or not compacted).
I think it would be better to style project as "compact storage for Vec<enums>" (or something like that) and edit all those mentions.

Hi, when I wrote everything I didn't realize my wording could be interpreted differently - thanks for pointing that out! I'll try to come up with less ambiguous wording; I think your "compact storage for Vec" is a good start.


Javascript bundles optimization

Questions
Answers

Description?
Vendors are split into two vendors chunks: graphql and other apollo, vue. Bundles file size has been reduced. Bundle analyzer has been added for prod build.

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes https://github.com/PrestaShop/PrestaShop/issues/24255.

How to test?
Try tu run npm run watch or npm run build and check if bundles are loading correctlly.

@NeOMakinG

Hey @Oksydan
Thank you for your contribution 🔥
could you give us quick comparison before and after these changes?

@kpodemski Yes of course. Around 80% size reduction.
Before

After

Thanks for this contribution, this looks really good to me, only one question left :)

Guys this needs to be really optimized. I just tried to install the current version of the module and my website javascript bundle went from 86 kB to 246 kB???

@Hlavtox
Currently there is no way to go lower w/o making a lot of changes.
Just technology stack that was selected for this module contains big libraries.
There is possibility to go lower with dynamic import for some libraries but it will require a lot of work and I am not sure if it is possible w/o removing graphql completely.
I am not that into module structure  and I am not sure if it is making first request on page load thru graphql.
If it does lazy loading it will only make request like 1s later, so there is no point of doing it.
@NeOMakinG correct me if I am wrong.

@NeOMakinG
I did quick check and removing graphql and apollo will reduce size by 90 kB. Vendor chunk contains apollo and vue-apollo libraries.
Btw we can provide fetch polyfill or just use jQuery ajax method.

@Oksydan @NeOMakinG After Oksydan's fix it's much better! :-)
I initially thought we could load the full bundle only on my-account pages and keep only "adding" functionality for the rest of the pages, loading only single kBs of resources, but I see I can do everything from everywhere.

I removed the bundle analyzer, the CI was broken by it

Hello @Oksydan
Thanks for this contribution.
Could you fix the conflicting files please ?
Thank you :)

@sarahdib done
I think we should consider include .nvmrc to every webpack config modules/themes(BO, FO). It took me some time to grab right node version to make sure that assets are build correctly. @NeOMakinG what you think?

Hey @Oksydan
Could you rebase your PR once again? We'll try to find a way to stop versioning bundled files to avoid this issue in the future, for now, please fix conflicts once again so QA can validate your PR 👍
Much thanks!

@kpodemski done

Thank you @Oksydan @sarahdib


Allow react 15

Re #444, #464

Depends on react-redbox. Opened a PR to support React 15: https://github.com/KeywordBrain/redbox-react/pull/52
Let see how long this takes. It this takes more than a few days, we should remove this dependency.

Need to remove react-transform-catch-errors as well...

This is finally ready to go!

Awesome! Great work!
On vr 29 apr. 2016 at 22:03 Rafee Memon<EMAIL_ADDRESS>wrote:

Merged #451 https://github.com/Hacker0x01/react-datepicker/pull/451.
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Hacker0x01/react-datepicker/pull/451#event-646154369


running generator overwrites application.js incorrectly.

In my existing application.js, I have something like //= require_tree ./lh/utility/, when running generator, it seems all //= require_tree . will be removed and messy up all my existing required js, which should not be the original purpose.

@yorzi I totally agree! thanks for finding this. We should

ONLY comment out, not remove any lines that we need to remove.
not touch require_tree for below the top level, as your example suggests.

@justin808 I will fix this later.


Copy and paste umlauts does not work

When I copy a text which includes umlauts from Preview to MacVim all umlauts
are broken.

I can't reproduce this with the Vim version included in OSX Yosemite (which is
Vim 7.3), using the default Terminal.app

MacVim 7.4 (73) with 7.4.540
OSX Yosemite 10.10.2

Original issue reported on code.google.com by thbohn on 2 Feb 2015 at 4:52
Attachments:

[Screen Shot 2015-02-02 at 05.49.29.png](https://storage.googleapis.com/google-code-attachments/macvim/issue-527/comment-0/Screen Shot 2015-02-02 at 05.49.29.png)

This issue was moved to macvim-dev/macvim#27


Fleet producing 500 Error

What version of fleet are you using (fleet version --full)?
v3.1.0
What operating system are you using?
CentOS
What did you do?
Deployed V3.1.0 for testing. after 2 days of working fine. i added KOLIDE_LOGGING_DEBUG and after i deployed fleet i got 500 error and still.
What did you expect to see?
i was expecting to get more logging. my objective was to enable access logging and if there is logging around running any osquery logs.
What did you see instead?
Uh oh! Error 500
{"component":"service","err":"list hosts: missing destination name primary_ip in *[]*kolide.Host","method":"ListHosts","took":"577.005µs","ts":"2020-09-02T11:19:04.701414231Z"}
{"component":"service","err":"selecting labels: missing destination name label_membership_type in *[]*kolide.Label","method":"ListLabels","took":"445.206µs","ts":"2020-09-02T11:19:04.702462612Z"}
{"component":"service","err":"getting enroll secret: selecting app config: missing destination name additional_queries in *kolide.AppConfig","ip_addr":"<IP_ADDRESS>:54638","method":"EnrollAgent","took":"786.318µs","ts":"2020-09-02T11:20:37.334139037Z","x_for_ip_addr":""}

It looks like you may have unintentionally redeployed the older version of Fleet here? That's what these missing destination name errors suggest to me.

i'm not getting the 500 error now after redeploying. but i not seeing any kind of logs for different resources being accessed. or admin modification, query ran. does fleet have this kind of logs or it should be created as a feature request??.
thanks a lot Zwass.

Glad it worked for you!
Yes, those logs go to the Fleet server's stderr.

Is there a way we can get those logs to monitor who access fleet and who
run any query or do admin changes??
On Fri 25. Sep 2020 at 7:14 PM, Zachary Wasserman<EMAIL_ADDRESS>wrote:

Closed #2295 https://github.com/kolide/fleet/issues/2295.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/kolide/fleet/issues/2295#event-3808658093, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA7F5JNPXVSFTRKPXG5MDKLSHTFZDANCNFSM4QS4PK4Q
.


Module Injection

I really like your control, but I am having a module injection issue, so I can't started with using it.  What should I use for module injection?  Is it 'ntt.TreeDnD'?  See my code below.  It is causing me to get [$injector:modulerr].

var App = angular.module('myApp', [
'ui.router',
'ui.bootstrap',
'ntt.TreeDnD'
])
Am I missing something here?

You


LCD_CAM collect DOUT_MODE

Non-breaking change
Maybe need labels for breaking/non-breaking changes and chip series?

Maybe need labels for breaking/non-breaking changes and chip series?

Currently, we are not using such labels in our projects but it's nice idea for future, thanks!
And big thank you for all your work ❤


[Folder-Search] Fix for issues 4391, 6333, 6333

Description
Fixing Three Issues / Two bugs

Extension only worked in English. Fixed up code to be language agnostic
Sometimes the fallback invocation resulted in the search query being duplicated so "Query" would appear "QueryQuery". This is not consistent, but I added some code to deal with this issue.

https://github.com/raycast/extensions/issues/6333
https://github.com/raycast/extensions/issues/6559
https://github.com/raycast/extensions/issues/4391
Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@raycastbot I think @GastroGeek is no longer active. He has not piped up for many months.

Should we just release as is and see later if we can track down the bug, are you two okay with that @fengtianze @omarshahine

Published to the Raycast Store:
https://raycast.com/GastroGeek/folder-search

Thanks. I’ll keep an eye out and see if there is an opportunity to improve this down the road. I don’t quite know how to go about addressing the issue but at least it has fewer bugs now.


Import TensorFlow fails

Swift for TensorFlow toolchain is already selected in xcode pref. but still the import tensorFlow fails with message "No such module 'TensorFlow' "

a restart is required for Xcode to fix problem after changes in toolChain


How to use ground truth durations to train vits?

I have a ground truth duration and would like to use it for training vits. How can I modify the code?

convert these seconds to spectrogram frame timing (integers; by ceiling). I think it is frame numbers = ((total number of samples - win_size) / hop_size) + 1.
total number of samples = seconds * sample_rate

convert these seconds to spectrogram frame timing (integers; by ceiling). I think it is frame numbers = ((total number of samples - win_size) / hop_size) + 1. total number of samples = seconds * sample_rate
Thank you for your reply. In fact, I have the duration of each phoneme, but I don't know how to use it to modify the duration predictor section.

Thank you for your reply. In fact, I have the duration of each phoneme, but I don't know how to use it to modify the duration predictor section.

This might help https://github.com/heatz123/naturalspeech/blob/main/models/models.py#L586

This might help https://github.com/heatz123/naturalspeech/blob/main/models/models.py#L586

This really helped me a lot, thank you very much！！！

I have a ground truth duration and would like to use it for training vits. How can I modify the code?
Hi @16dian11
what is the ground truth duration? It means that it a time interval for each phone, it is right?
if I am wrong, I am very happy whether you give me more detail info.

Thank you


Low VRAM or CUDA out of memory for BARK INFINITY

python bark_perform.py --use_smaller_models --text_prompt "It is a mistake to think you can solve any major problems just with potatoes... or can you? (and the next page, and the next page...)" --split_by_words 35
use --use_smaller_models as args to use the smaller models to overcome the problem of CUDA out of memory
since we can just simply do ["SUNO_USE_SMALL_MODELS"] = "True" in web-ui version and normal version of suno-ai/bark
but can't in this INFINITY version

I think this pr is meant for another repo


Deserializing issue with the classes that have migrated to the builder pattern

hi all,
I am getting the below error:
org.springframework.http.converter.HttpMessageConversionException: Type definition error: [simple type, class org.springframework.cloud.servicebroker.model.catalog.Catalog]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of org.springframework.cloud.servicebroker.model.catalog.Catalog (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
at [Source: (PushbackInputStream); line: 1, column: 2]
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.readJavaType(AbstractJackson2HttpMessageConverter.java:238)
at org.springframework.http.converter.json.AbstractJackson2HttpMessageConverter.read(AbstractJackson2HttpMessageConverter.java:223)
at org.springframework.web.client.HttpMessageConverterExtractor.extractData(HttpMessageConverterExtractor.java:100)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:991)
at org.springframework.web.client.RestTemplate$ResponseEntityResponseExtractor.extractData(RestTemplate.java:974)
....
....
..
    ResponseEntity<Catalog> response = basicAuthRestTemplate.exchange(getUrl(XBEPaths.SB_CATALOG_PATH), HttpMethod.GET, null,
    		Catalog.class);

AND
    ResponseEntity<CreateServiceInstanceResponse> response = basicAuthRestTemplate.exchange(url, HttpMethod.PUT, entity,
            CreateServiceInstanceResponse.class);

for the above call in my test, the call is successful and the reponse is obtained, then this response is deserialized from json to java. that is where the error is thrown
private Object readJavaType(JavaType javaType, HttpInputMessage inputMessage) throws IOException {
	try {
		if (inputMessage instanceof MappingJacksonInputMessage) {
			Class<?> deserializationView = ((MappingJacksonInputMessage) inputMessage).getDeserializationView();
			if (deserializationView != null) {
				return this.objectMapper.readerWithView(deserializationView).forType(javaType).
						readValue(inputMessage.getBody());
			}
		}
		return this.objectMapper.readValue(inputMessage.getBody(), javaType);
	}
	catch (InvalidDefinitionException ex) {
		throw new HttpMessageConversionException("Type definition error: " + ex.getType(), ex);
	}
	catch (JsonProcessingException ex) {
		throw new HttpMessageNotReadableException("JSON parse error: " + ex.getOriginalMessage(), ex);
	}
}

Previously this used to work because the classes given in the expected response type(Catalog - package org.springframework.cloud.servicebroker.model.catalog;
, CreateServiceInstanceResponse - package org.springframework.cloud.servicebroker.model.instance;
etc) had default constructors, however after the migration to the builder pattern the rest call throws a type definition error, due to the lack of a default constructor which it is looking for.
I tried migrating to the latest jackson version, to see if that could resolve the issue , but it dint help. This problem is specific to the classes that have migrated to the builder pattern.
Please do let me know if anyone has come across this , or atleast has a workaround for this problem.
Thanks in advance.
Vivin.

This issue seems to have been opened against the wrong project perhaps?

Agreed.  @vivinjoseph9 can you please open this issue up against the project that owns that code? I'm assuming its some Spring project. This repo is just for OSB API "specification" issues, not implementation issues.


module.vpc.aws_route_table_association.public: 3 error(s) occurred

Error: Error running plan: 3 error(s) occurred:

module.vpc.aws_route_table_association.public: 3 error(s) occurred:

module.vpc.aws_route_table_association.public[0]: element: element() may not be used with an empty list in:

${element(aws_subnet.public.*.id, count.index)}

module.vpc.aws_route_table_association.public[1]: element: element() may not be used with an empty list in:

${element(aws_subnet.public.*.id, count.index)}

module.vpc.aws_route_table_association.public[2]: element: element() may not be used with an empty list in:

${element(aws_subnet.public.*.id, count.index)}

module.vpc.aws_nat_gateway.this: 1 error(s) occurred:

module.vpc.aws_nat_gateway.this: element: element() may not be used with an empty list in:

${element(aws_subnet.public.*.id, (var.single_nat_gateway ? 0 : count.index))}

aws_instance.bastion: 1 error(s) occurred:

aws_instance.bastion: At column 28, line 1: list "module.vpc.public_subnets" does not have any elements so cannot determine type. in:

${module.vpc.public_subnets[0]}
--------------------My file configuration ----
VPC
module "vpc" {
source                    = "modules/vpc"
name                      = "${var.app_name} VPC"
cidr                      = "<IP_ADDRESS>/16"
map_public_ip_on_launch   = false
azs                       = "${data.aws_availability_zones.available.names}"
private_subnets           = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
public_subnets            = ["<IP_ADDRESS>/24", "<IP_ADDRESS>/24", "<IP_ADDRESS>/24"]
enable_nat_gateway        = true
single_nat_gateway        = false
one_nat_gateway_per_az    = true
enable_vpn_gateway        = false
enable_dns_support        = true
enable_dns_hostnames      = true
tags = {
Terraform = "true"
Environment = "dev"
}
}

@antonbabenko pls i need your help

I am not sure I understand the whole picture. You wrap this module and put it in "modules/vpc" which has some issues (eg, aws_instance.bastion)
I don't have a possibility to help in details, but I recommend to try to call this module first to create all required resources before you can use them in other modules (eg, to launch bastion hosts).

closing this for now but please feel free to respond or open a new issue with more information so we can help @carlosafpcapital


Update page-2.js

adding navbar to page2

Please do validate issues before opening PRs @saibhaskar24
It doesn't make sense to have a navbar in page 2 as it's a placeholder page and doesn't have any of the content the navbar mentions.


NME v4

[ ] New features
https://github.com/BabylonJS/Babylon.js/issues/12549
https://github.com/BabylonJS/Babylon.js/issues/12151
https://github.com/BabylonJS/Babylon.js/issues/12150
https://github.com/BabylonJS/Babylon.js/issues/12148
https://github.com/BabylonJS/Babylon.js/issues/11818 (related to VSM?)
https://github.com/BabylonJS/Babylon.js/issues/11319

Based on Babylon.js and CocosCreator, I made a node preview feature. This has been posted at http://store.cocos.com/app/en/detail/3369.

Closing this one as we actually have the other active


seed from crypto/rand, not timestamp

(Nice library!)
Re
https://github.com/nats-io/nuid/blob/master/nuid.go#L49
I've had code reviews from ex-NSA guys who pointed out seeding with the current timestamp is actually pretty non-random, and is not too difficult to reverse engineer.
The alternative: it is simpler and more random to seed from crypto/rand instelf.

@glycerine Hi Jason. I think what you're raising is a valid point for a general-purpose UUID generator that might be used e.g. to generate a one-time password or key pair. That being said, I don't believe any so-called UUID generator should be considered secure without some other layer of security on top of it.
In our case, NUID is designed to be an entropy-pool-friendly way to generate large volumes of random subject names and minimize the risk of name collision. I believe NUID meets that goal. Although the risk of a successful directed attack against an individual user (i.e. trying to crack an individual ephemeral INBOX name) is infinitesimally small, I would always apply some type of access and/or authorization control on top of NATS in general and the segment of the namespace in particular before worrying about inbox subject name cracking.
@derekcollison - any additional thoughts?

They better be totally unique.. ;)
We could seed with crypto data versus time, for the sequence seed and the sequence increment amount.


Add tabular data tutorial initial draft

Please feel free to put comments/feedback on the tutorial in the comments. Note I have not yet adapted this to have the "student exercises" embedded within the notebook. I'm going to get to that.

Going to merge this for organizational reasons. We can revisit this as we review the content!


We need MetaGame Scripture/Lore, for fun and facts.

MetaGame Genesis Scripture 0x :
In the beginning MetaGame manifested a notion of a new medium. Now the game was formless and empty, darkness was over the surface of the deep, and the Spirit of Cthulhu was hovering over the Game. And MetaLord said, "Let there be Value," and there was value.
MetaLord saw that the value was good, and they separated the Value from the Valuable.

Hi, I enjoy writing and would love to help out with this :rocket: What's the best way to get in touch regarding more details about what you have in mind?

Hey @danforbes it all goes down on Discord, recommend starting out by diving through all the articles then heading to a Interscope meeting. Bi-weekly on Friday, DM me and I'll add you to the calendar invite !


Modified UserGuide of some language errors and PPP

Pull Request Test Coverage Report for Build 324

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 54.121%

Totals

Change from base Build 323:
0.0%

Covered Lines:
1497

Relevant Lines:
2766

💛  - Coveralls


Call to Node module failed with error: ReferenceError: document is not defined

In your dragula.js there is a windows object defined if it does not exist. Could you also define the document object?
Otherwise, we are getting the error:

Call to Node module failed with error: ReferenceError: document is not defined

I was also trying to use (at least just require) dragula under a nodejs context. To fix this issue there are 2 appearances of document, which is not defined:

Inside the crossvent dependency: they fixed this internally in latest version 1.5.5. dragula is using version 1.5.4.
Inside the dragula.js file. Here the usage is much more coupled to fix easily.

While the first issue can be fixed easily, the second can't. I'm going to try defining a fake document global before requiring dragula and will comment back how it turns out.


rename App.PageError to App.Error

closes #6905. This is a breaking change, but I expect it to be very limited in impact.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Do you want to implement the "try to rename that inside src/app.d.ts during sync" thing I proposed in the issue, or did you decide against it?

I agree with Dominik that it's probably a slippery slope. I think throwing an error telling the user to change it could be good, it just felt like a lot of effort when considering that we don't enforce a specific location for the user to declare those namespaces

We don't but I guess that 90% of the 5% of people that use this have it inside src/app.d.ts, which is where the starter templates put this.

Not sure if it matters much, but even if PageError is commented in app.d.ts/js, the error will be produced:
error when starting dev server:
Error: App.PageError has been renamed to App.Error — please update your src/app.d.ts
 // app.d.ts // interface PageError {}


Support Auto-Discovery

https://medium.com/@taylorotwell/package-auto-discovery-in-laravel-5-5-ea9e3ab20518

Thank you!  I ended up merging the the other PR, but that you both for the contribution!


Disable sudo on travis linux builds

Fixes https://github.com/invenia/FTPClient.jl/issues/70

I think the travis examples test will fail with a key error like it did here: https://travis-ci.org/nicoleepp/BioMedQuery.jl/jobs/453098572
Any input on that?

@nicoleepp The key error is expected since I'm guessing you didn't add UMLS credentials to the set up, however on the PR that should have skipped that section - I'll look into that.


Add tmap for terminal-job mode

This changeset adds terminal-job mode key mapping using commands tmap, tnoremap, tunmap, etc. Docs are updated and a test is added.

jakalope wrote:

This changeset adds terminal-job mode key mapping using commands
tmap, tnoremap, tunmap, etc. Docs are updated and a test is
added.

Thanks for working on this.  Can you please put your full name on your
github account?
--
I AM THANKFUL...
...for a lawn that needs mowing, windows that need cleaning
and gutters that need fixing because it means I have a home.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

@brammool Done!

Several of the build configurations are failing because the systems they're running on don't recognize the read system command:
From test_terminal.vim:
Found errors in Test_terminal_wipe_buffer():
function RunTheTest[24]..Test_terminal_wipe_buffer[4]..WaitFor[21]..<SNR>5_OutCB line 3: Expected process 15540 run but got channel 32 open
function RunTheTest[24]..Test_terminal_wipe_buffer[4]..WaitFor[21]..<SNR>5_OutCB line 4: Expected 'abcde' but got 'executing job failed: No such file or directory\r\n'

I'm open to suggestions on other ways to test this feature.

I'm not sure but can you try it with "bash -c 'read -n 4'" ?

Codecov Report

Merging #2073 into master will decrease coverage by <.01%.
The diff coverage is 44.44%.

@@            Coverage Diff             @@
##           master    #2073      +/-   ##
==========================================
- Coverage   73.76%   73.76%   -0.01%
==========================================
  Files          90       90
  Lines      130039   130044       +5
  Branches    28922    28921       -1
==========================================
- Hits        95928    95925       -3
+ Misses      34111    34099      -12
- Partials        0       20      +20

Impacted Files
Coverage Δ

src/ex_docmd.c
74.87% <ø> (ø)
:arrow_up:

src/normal.c
72.03% <ø> (ø)
:arrow_up:

src/gui.c
45.69% <100%> (ø)
:arrow_up:

src/terminal.c
55.88% <25%> (-0.05%)
:arrow_down:

src/getchar.c
73.86% <50%> (+0.29%)
:arrow_up:

src/libvterm/src/screen.c
71.55% <0%> (-0.42%)
:arrow_down:

src/os_unix.c
53.04% <0%> (-0.05%)
:arrow_down:

src/gui_gtk_x11.c
47.47% <0%> (+0.1%)
:arrow_up:

src/if_xcmdsrv.c
85.39% <0%> (+1.29%)
:arrow_up:

Continue to review full report at Codecov.

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

@mattn That seems to have worked, thanks!

@brammool I don't see any clear way to add tests that would (a) make sense in the context of this PR and (b) improve the test coverage. Please advise.


[modify] gws/presence: member criteria

Coverage decreased (-17.9%) to 56.334% when pulling<PHONE_NUMBER>894171f0a3121bf3f68d700e8d0d77 on tany:pr into eba7a46a2c6aa4eceec9af55002fbfb60ebb1087 on shirasagi:master.


Some disabled rules aren't ignored

Hi,
I have a form without textarea, and just some text :

2 'text' fields: 'nom' and 'prenom' (first name and last name)
1 'email' field: 'email'
1 'tel' field: 'tel'
2 'number' fields: 'cp' (zip code) and 'effectif' (number of persons)

I configured Altcha to disable the following rules: text.CAPITALIZATION, text.CURRENCY, email.FREE_PROVIDER, ipAddress.HOSTING, text.UNKNOWN_LANGUAGE, text.UNEXPECTED_LANGUAGE, text.SHORT_TEXT, text.NUMBERS_ONLY

The list of rules to ignore is sent by the Altcha widget when you check the box:

But here is the response of the Alcha server:

Rules text.CAPITALIZATION, text.SHORT_TEXT, and email.FREE_PROVIDER are indeed ignored, but text.UNKNOWN_LANGUAGE rule isn't ignored (and an other test shows that text.UNEXPECTED_LANGUAGE isn't ignored either).
Is it because the expectedLangages option is automatically configured according to the browser language?

Even setting the expectedLangages option to an empty array, the problem is still the same

Hi, thanks for reporting. It was bug a in the Spam Filter, fixed in both regions.


Adding Video Capability to image_picker

I have added the ability to select and capture photos and videos using the stock UI on Android and iOS.

For Some Reason, iOS aspect ratio looks weird on the video player if it is in the portrait orientation but Android looks great

Ready for Review.

I get an exception when picking an image:
D/AndroidRuntime(12078): Shutting down VM
E/AndroidRuntime(12078): FATAL EXCEPTION: main
E/AndroidRuntime(12078): Process: io.flutter.plugins.imagepicker.example, PID: 12078
E/AndroidRuntime(12078): java.lang.RuntimeException: Unable to resume activity {io.flutter.plugins.imagepicker.example/io.flutter.plugins.imagepickerexample.MainActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2342, result=-1, data=Intent { dat=content://com.android.providers.media.documents/document/image:11165 flg=0x1 }} to activity {io.flutter.plugins.imagepicker.example/io.flutter.plugins.imagepickerexample.MainActivity}: java.lang.IllegalStateException: Received images from picker that were not requested
E/AndroidRuntime(12078): 	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3581)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3621)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2862)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.-wrap11(Unknown Source:0)
E/AndroidRuntime(12078): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1589)
E/AndroidRuntime(12078): 	at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(12078): 	at android.os.Looper.loop(Looper.java:164)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.main(ActivityThread.java:6494)
E/AndroidRuntime(12078): 	at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(12078): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
E/AndroidRuntime(12078): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)
E/AndroidRuntime(12078): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2342, result=-1, data=Intent { dat=content://com.android.providers.media.documents/document/image:11165 flg=0x1 }} to activity {io.flutter.plugins.imagepicker.example/io.flutter.plugins.imagepickerexample.MainActivity}: java.lang.IllegalStateException: Received images from picker that were not requested
E/AndroidRuntime(12078): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4268)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3553)
E/AndroidRuntime(12078): 	... 10 more
E/AndroidRuntime(12078): Caused by: java.lang.IllegalStateException: Received images from picker that were not requested
E/AndroidRuntime(12078): 	at io.flutter.plugins.imagepicker.ImagePickerDelegate.handleResult(ImagePickerDelegate.java:392)
E/AndroidRuntime(12078): 	at io.flutter.plugins.imagepicker.ImagePickerDelegate.handleChoosePictureResult(ImagePickerDelegate.java:359)
E/AndroidRuntime(12078): 	at io.flutter.plugins.imagepicker.ImagePickerDelegate.onActivityResult(ImagePickerDelegate.java:346)
E/AndroidRuntime(12078): 	at io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:194)
E/AndroidRuntime(12078): 	at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:146)
E/AndroidRuntime(12078): 	at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:139)
E/AndroidRuntime(12078): 	at android.app.Activity.dispatchActivityResult(Activity.java:7276)
E/AndroidRuntime(12078): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:4264)
E/AndroidRuntime(12078): 	... 11 more
Lost connection to device.

Go into the app settings to enable all permissions, I will double check it’s request the permissions correctly and update as necessary. It is working for me on the Google Pixel which android phone are you testing on?

@AppleEducate Turns out I had the Don't keep activities option enabled, so the Flutter activity was killed as soon as I launched the native counterpart. The plugin isn't working in this situation on master either, cf. https://github.com/flutter/flutter/issues/17950.

Gotcha! Good to know 👍🏻

Hi @AppleEducate , do you know if the issue that you mentioned was fixed?

For Some Reason, iOS aspect ratio looks weird on the video player if it is in the portrait orientation but Android looks great


Make the user pool email mutable

Basically if you log in with one social provider, and then log in with the same email address with another social provider, AWS for some reason tries to update your email address in the user pool, and gets an error if the email address is immutable.
Discussed here:
https://forums.aws.amazon.com/thread.jspa?threadID=256704
I would need to delete the user pool and re-create it to fix this. I'm deciding to not fix this for Passover 2021, because this is too risky of a change for the day of the seder. I did, however, already delete the user pool domain and user pool in the madliberation-test and madliberation accounts, which was probably a mistake, because the warning message when I deleted the domain said something like "it may take up to an hour to re-create this domain." Oh, well. I didn't delete anything from the prod account.

<EMAIL_ADDRESS>

I'm disabling all social providers for 2021 because of this issue. I'll do so by deleting the params in param store that configure the social providers. People will still be able to log in using a username and password.

Social login is working now as far as we can tell after the tense redeployments.

One user was able to log in with Facebook and resume with Google, as a seder leader. Another was able to log in with Google and resume with Amazon, as a participant.

I'm disabling all social providers for 2021 because of this issue. I'll do so by deleting the params in param store that configure the social providers. People will still be able to log in using a username and password.

After some reconsideration of the above, I went ahead with https://github.com/douglasnaphas/madliberation/commit/a35bd72b561127273a48c40027f2cbdacb33003d, in which I deleted the user pool. Then, with the commits in the vicinity of that commit, following it, I re-deployed with mutable: true. It worked fine, and the whole process took like 25 minutes.


Create the two case study repositories

Create our initial case study data for Chromium and for Apache HTTPD. Use some actual data, but it doesn't have to be the whole thing just yet.

https://github.com/andymeneely/chromium-vulnerabilities
https://github.com/andymeneely/httpd-vulnerabilities


custom project stops working after preparing for DFU (IDFGH-7431)

@dobairoland
Environment
ESP32 on custom board

IDF version (run git describe --tags to find it):
// 4.4.1

Build System:         Elipse plugin latest

Compiler version (run xtensa-esp32-elf-gcc --version to find it):
(crosstool-NG esp-2021r2-patch3) 8.4.0

Operating System:    win10

(Windows only) environment type: ESP Command Prompt and Plain Command Prompt and PowerShell].

Using an IDE?: Eclipse 2021-09

Power Supply:         custom board 3.3V

Problem Description
after performing required steps for creating the DFU as described here []https://github.com/espressif/esp-idf/issues/9003
our https server based project does not run at all any more.
It hits a break point right after start up.
cpu_ll_get_cycle_count()
Looking into that, we assume that this may indicate that the ESP goes directly to sleep?
Again, our code was running before without any error or messages. As well this issue appears before any debug or even main() is hit. How to nail this dead end down?
Are we still having version mismatch issues? if so, how can we locate the issue?
We have tried to change a view things in sdkconfig like RTC watchdog etc. but no success
We flash and debug using esp-prog
sdkconfig.zip

DFU is not supported on ESP32 because it requires native USB support and ESP32 doesn't have it.

we talking about ESP32-S2 on ESP32-WROVER II

I was mislead by

ESP32 on custom board

I've updated the title to attract the right developers for this issue.

Are you getting the same result after flashing with idf.py flash and idf.py dfu-flash?
Could you share the full output? Maybe share the coredump as well if possible?
Can you try one of the https server examples included in ESP-IDF? Are you getting the same issue? Or can you share a minimal not-working example?
Do you own a publicly available board with ESP32-S2? Are you able to run your project on it?

@dobairoland

Are you getting the same result after flashing with idf.py flash and idf.py dfu-flash?

We flash via Eclipse Plugin and Jtag only, dfu is not of interest and in any involved in this issue.

Can you try one of the https server examples included in ESP-IDF? Are you getting the same issue? Or can you share a minimal not-working example?

All sample projects work seamlessly on our custom board. Even the original simple https server sample works on our board. Even if we roll back in our GIT before this ominous incident with the tool chain the project works.

Do you own a publicly available board with ESP32-S2? Are you able to run your project on it?

Same on Kaluga, the below output is generated on a Kaluga-1 board

Could you share the full output? Maybe share the coredump as well if possible?

will prepare the coredump, but need to be done using idf.py if I understand correctly. I need some time for this. so far never used idf.py. Finally causing the issue using it.
here the output
`Executing action: monitor
Running idf_monitor in directory c:\esp-ws-202109-17-ii\maxill-https
Executing "C:\Users\ralph.espressif\python_env\idf4.4_py3.10_env\Scripts\python.exe C:_esp-idf-v4.4\tools/idf_monitor.py -p \.\COM18 -b 115200 --toolchain-prefix xtensa-esp32s2-elf- --target esp32s2 --print_filter  c:\esp-ws-202109-17-ii\maxill-https\build\maxill-https.elf -m 'C:\Users\ralph.espressif\python_env\idf4.4_py3.10_env\Scripts\python.exe' 'C:_esp-idf-v4.4\tools\idf.py'"...
â†�[0;33m--- idf_monitor on \.\COM18 115200 ---â†�[0m
--- Quit: Ctrl+] | Menu: Ctrl+T | Help: Ctrl+T followed by Ctrl+H ---
ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3ffe6100,len:0x22e0
load:0x4004c000,len:0xc94
load:0x40050000,len:0x344c
entry 0x4004c280
I (23) boot: ESP-IDF v4.4.1 2nd stage bootloader
I (24) boot: compile time 11:30:47
D (24) bootloader_flash: XMC chip detected by RDID (00204016), skip.
D (29) bootloader_flash: mmu set block paddr=0x00000000 (was 0xffffffff)
I (36) boot: chip revision: 0
D (39) boot.esp32s2: magic e9
D (42) boot.esp32s2: segments 03
D (46) boot.esp32s2: spi_mode 02
D (49) boot.esp32s2: spi_speed 0f
D (52) boot.esp32s2: spi_size 01
I (55) boot.esp32s2: SPI Speed      : 80MHz
I (60) boot.esp32s2: SPI Mode       : DIO
I (65) boot.esp32s2: SPI Flash Size : 2MB
I (70) boot: Enabling RNG early entropy source...
D (75) bootloader_flash: mmu set paddr=00000000 count=1 size=c00 src_addr=8000 src_addr_aligned=0
D (84) boot: mapped partition table 0x8000 at 0x3f008000
D (89) flash_parts: partition table verified, 4 entries
I (95) boot: Partition Table:
I (98) boot: ## Label            Usage          Type ST Offset   Length
D (106) boot: load partition table entry 0x3f008000
D (111) boot: type=1 subtype=2
I (114) boot:  0 nvs              WiFi data        01 02 00009000 00006000
D (121) boot: load partition table entry 0x3f008020
D (126) boot: type=1 subtype=1
I (129) boot:  1 phy_init         RF data          01 01 0000f000 00001000
D (137) boot: load partition table entry 0x3f008040
D (142) boot: type=0 subtype=0
I (145) boot:  2 factory          factory app      00 00 00010000 00177000
I (153) boot: End of partition table
D (157) boot: Trying partition index -1 offs 0x10000 size 0x177000
D (163) esp_image: reading image header @ 0x10000
D (168) bootloader_flash: mmu set block paddr=0x00010000 (was 0xffffffff)
D (175) esp_image: image header: 0xe9 0x06 0x02 0x01 40023348
V (180) esp_image: loading segment header 0 at offset 0x10018
V (186) esp_image: segment data length 0x2a0bc data starts 0x10020
V (193) esp_image: segment 0 map_segment 1 segment_data_offs 0x10020 load_addr 0x3f000020
I (201) esp_image: segment 0: paddr=00010020 vaddr=3f000020 size=2a0bch (172220) map
D (209) esp_image: free data page_count 0x0000003f
D (214) bootloader_flash: mmu set paddr=00010000 count=3 size=2a0bc src_addr=10020 src_addr_aligned=10000
V (258) esp_image: loading segment header 1 at offset 0x3a0dc
D (258) bootloader_flash: mmu set block paddr=0x00030000 (was 0xffffffff)
V (259) esp_image: segment data length 0x3cc4 data starts 0x3a0e4
V (265) esp_image: segment 1 map_segment 0 segment_data_offs 0x3a0e4 load_addr 0x3ffcecb0
I (274) esp_image: segment 1: paddr=0003a0e4 vaddr=3ffcecb0 size=03cc4h ( 15556) load
D (282) esp_image: free data page_count 0x0000003f
D (287) bootloader_flash: mmu set paddr=00030000 count=1 size=3cc4 src_addr=3a0e4 src_addr_aligned=30000
V (300) esp_image: loading segment header 2 at offset 0x3dda8
D (302) bootloader_flash: mmu set block paddr=0x00030000 (was 0xffffffff)
V (309) esp_image: segment data length 0x2268 data starts 0x3ddb0
V (315) esp_image: segment 2 map_segment 0 segment_data_offs 0x3ddb0 load_addr 0x40022000
0x40022000: _WindowOverflow4 at C:/_esp-idf-v4.4/components/freertos/port/xtensa/xtensa_vectors.S:1736
I (324) esp_image: segment 2: paddr=0003ddb0 vaddr=40022000 size=02268h (  8808) load
D (332) esp_image: free data page_count 0x0000003f
D (337) bootloader_flash: mmu set paddr=00030000 count=2 size=2268 src_addr=3ddb0 src_addr_aligned=30000
V (349) esp_image: loading segment header 3 at offset 0x40018
D (352) bootloader_flash: mmu set block paddr=0x00040000 (was 0xffffffff)
V (359) esp_image: segment data length 0xc6760 data starts 0x40020
V (365) esp_image: segment 3 map_segment 1 segment_data_offs 0x40020 load_addr 0x40080020
0x40080020: _stext at ??:?
I (374) esp_image: segment 3: paddr=00040020 vaddr=40080020 size=c6760h (812896) map
D (382) esp_image: free data page_count 0x0000003f
D (387) bootloader_flash: mmu set paddr=00040000 count=13 size=c6760 src_addr=40020 src_addr_aligned=40000
V (556) esp_image: loading segment header 4 at offset 0x106780
D (556) bootloader_flash: mmu set block paddr=0x00100000 (was 0xffffffff)
V (558) esp_image: segment data length 0x1aa44 data starts 0x106788
V (564) esp_image: segment 4 map_segment 0 segment_data_offs 0x106788 load_addr 0x40024268
0x40024268: heap_caps_calloc at C:/_esp-idf-v4.4/components/heap/heap_caps.c:443
I (572) esp_image: segment 4: paddr=00106788 vaddr=40024268 size=1aa44h (109124) load
D (581) esp_image: free data page_count 0x0000003f
D (586) bootloader_flash: mmu set paddr=00100000 count=3 size=1aa44 src_addr=106788 src_addr_aligned=100000
V (623) esp_image: loading segment header 5 at offset 0x1211cc
D (624) bootloader_flash: mmu set block paddr=0x00120000 (was 0xffffffff)
V (625) esp_image: segment data length 0x10 data starts 0x1211d4
V (631) esp_image: segment 5 map_segment 0 segment_data_offs 0x1211d4 load_addr 0x50000000
I (639) esp_image: segment 5: paddr=001211d4 vaddr=50000000 size=00010h (    16) load
D (648) esp_image: free data page_count 0x0000003f
D (653) bootloader_flash: mmu set paddr=00120000 count=1 size=10 src_addr=1211d4 src_addr_aligned=120000
V (662) esp_image: image start 0x00010000 end of last section 0x001211e4
D (669) bootloader_flash: mmu set block paddr=0x00120000 (was 0xffffffff)
I (693) boot: Loaded app from partition at offset 0x10000
I (693) boot: Disabling RNG early entropy source...
D (694) boot: Mapping segment 0 as DROM
D (698) boot: Mapping segment 3 as IROM
D (701) boot: calling set_cache_and_start_app
D (706) boot: configure drom and irom and start
V (710) boot: d mmu set paddr=00010000 vaddr=3f000000 size=172220 n=3
V (717) boot: rc=0
V (719) boot: i mmu set paddr=00040000 vaddr=40080000 size=812896 n=13
V (726) boot: rc=0
D (728) boot: start: 0x40023348
0x40023348: call_start_cpu0 at C:/_esp-idf-v4.4/components/esp_system/port/cpu_start.c:267
I (742) cache: Instruction cache        : size 8KB, 4Ways, cache line size 32Byte
I0ï¿½â•šï¿½<ffï¿½ï¿½ï¿½â•�pu_start: Pro cpu up.
D (745) efuse: In EFUSE_BLK2__DATA4_REG is used 3 bits starting with 4 bit
D (760) clk: RTC_SLOW_CLK calibration value: 6081855
I (768) cpu_start: Pro cpu start user code
I (768) cpu_start: cpu freq: 160000000
I (768) cpu_start: Application information:
I (773) cpu_start: Project name:     maxill-https
I (778) cpu_start: App version:      459a847-dirty
I (784) cpu_start: Compile time:     May 25 2022 11:30:31
I (790) cpu_start: ELF file SHA256:  deab5843036eb395...
I (796) cpu_start: ESP-IDF:          v4.4.1
V (801) memory_layout: reserved range is 0x3f02a0bc - 0x3f02a0dc
D (807) memory_layout: Checking 4 reserved memory ranges:
D (812) memory_layout: Reserved memory range 0x3ff9e000 - 0x3ff9e000
D (819) memory_layout: Reserved memory range 0x3ffb2000 - 0x3ffcecac
D (825) memory_layout: Reserved memory range 0x3ffcecb0 - 0x3ffd7bf8
D (831) memory_layout: Reserved memory range 0x3ffffa10 - 0x40000000
D (838) memory_layout: Building list of available memory regions:
V (844) memory_layout: Examining memory region 0x3ffb2000 - 0x3ffb4000
V (851) memory_layout: Region 0x3ffb2000 - 0x3ffb4000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (859) memory_layout: Examining memory region 0x3ffb4000 - 0x3ffb6000
V (866) memory_layout: Region 0x3ffb4000 - 0x3ffb6000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (875) memory_layout: Examining memory region 0x3ffb6000 - 0x3ffb8000
V (881) memory_layout: Region 0x3ffb6000 - 0x3ffb8000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (890) memory_layout: Examining memory region 0x3ffb8000 - 0x3ffbc000
V (897) memory_layout: Region 0x3ffb8000 - 0x3ffbc000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (906) memory_layout: Examining memory region 0x3ffbc000 - 0x3ffc0000
V (912) memory_layout: Region 0x3ffbc000 - 0x3ffc0000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (921) memory_layout: Examining memory region 0x3ffc0000 - 0x3ffc4000
V (928) memory_layout: Region 0x3ffc0000 - 0x3ffc4000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (937) memory_layout: Examining memory region 0x3ffc4000 - 0x3ffc8000
V (943) memory_layout: Region 0x3ffc4000 - 0x3ffc8000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (952) memory_layout: Examining memory region 0x3ffc8000 - 0x3ffcc000
V (959) memory_layout: Region 0x3ffc8000 - 0x3ffcc000 inside of reserved 0x3ffb2000 - 0x3ffcecac
V (968) memory_layout: Examining memory region 0x3ffcc000 - 0x3ffd0000
V (974) memory_layout: Start of region 0x3ffcc000 - 0x3ffd0000 overlaps reserved 0x3ffb2000 - 0x3ffcecac
V (984) memory_layout: End of region 0x3ffcecac - 0x3ffd0000 overlaps reserved 0x3ffcecb0 - 0x3ffd7bf8
V (993) memory_layout: Examining memory region 0x3ffd0000 - 0x3ffd4000
V (1000) memory_layout: Region 0x3ffd0000 - 0x3ffd4000 inside of reserved 0x3ffcecb0 - 0x3ffd7bf8
V (1009) memory_layout: Examining memory region 0x3ffd4000 - 0x3ffd8000
V (1015) memory_layout: Start of region 0x3ffd4000 - 0x3ffd8000 overlaps reserved 0x3ffcecb0 - 0x3ffd7bf8
D (1025) memory_layout: Available memory region 0x3ffd7bf8 - 0x3ffd8000
V (1032) memory_layout: Examining memory region 0x3ffd8000 - 0x3ffdc000
D (1038) memory_layout: Available memory region 0x3ffd8000 - 0x3ffdc000
V (1045) memory_layout: Examining memory region 0x3ffdc000 - 0x3ffe0000
D (1052) memory_layout: Available memory region 0x3ffdc000 - 0x3ffe0000
V (1058) memory_layout: Examining memory region 0x3ffe0000 - 0x3ffe4000
D (1065) memory_layout: Available memory region 0x3ffe0000 - 0x3ffe4000
V (1072) memory_layout: Examining memory region 0x3ffe4000 - 0x3ffe8000
D (1078) memory_layout: Available memory region 0x3ffe4000 - 0x3ffe8000
V (1085) memory_layout: Examining memory region 0x3ffe8000 - 0x3ffec000
D (1092) memory_layout: Available memory region 0x3ffe8000 - 0x3ffec000
V (1098) memory_layout: Examining memory region 0x3ffec000 - 0x3fff0000
D (1105) memory_layout: Available memory region 0x3ffec000 - 0x3fff0000
V (1112) memory_layout: Examining memory region 0x3fff0000 - 0x3fff4000
D (1119) memory_layout: Available memory region 0x3fff0000 - 0x3fff4000
V (1125) memory_layout: Examining memory region 0x3fff4000 - 0x3fff8000
D (1132) memory_layout: Available memory region 0x3fff4000 - 0x3fff8000
V (1139) memory_layout: Examining memory region 0x3fff8000 - 0x3fffc000
D (1145) memory_layout: Available memory region 0x3fff8000 - 0x3fffc000
V (1152) memory_layout: Examining memory region 0x3fffc000 - 0x40000000
V (1159) memory_layout: End of region 0x3fffc000 - 0x40000000 overlaps reserved 0x3ffffa10 - 0x40000000
D (1168) memory_layout: Available memory region 0x3fffc000 - 0x3ffffa10
V (1175) memory_layout: Examining memory region 0x3ff9e000 - 0x3ffa0000
D (1181) memory_layout: Available memory region 0x3ff9e000 - 0x3ffa0000
I (1188) heap_init: Initializing. RAM available for dynamic allocation:
D (1196) heap_init: New heap initialised at 0x3ffd7bf8
I (1201) heap_init: At 3FFD7BF8 len 00024408 (145 KiB): DRAM
I (1207) heap_init: At 3FFFC000 len 00003A10 (14 KiB): DRAM
D (1213) heap_init: New heap initialised at 0x3ff9e000
I (1218) heap_init: At 3FF9E000 len 00002000 (8 KiB): RTCRAM
D (1225) FLASH_HAL: extra_dummy: 0
Guru Meditation Error: Core  0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40146758: 000000f0 7d006136 03ea2001
0x40146758: should_output at C:/_esp-idf-v4.4/components/log/log.c:289
Setting breakpoint at 0x4014675e and returning...
0x4014675e: cpu_ll_get_cycle_count at C:/_esp-idf-v4.4/components/hal/esp32s2/include/hal/cpu_ll.h:37
`

@ralphde  I think I see what's happening here.
In memspi_host_read_id_hs it tries to print some status due to you having specified  verbose logging and while logging it tries to use  cpu_ll_get_cycle_count to timestamp the message.
The issue is that during memspi_host_read_id_hs the cache is disabled, so flash cannot be accessed. Normally this wouldnt be an issue since cpu_ll_get_cycle_count gets inlined, but since we are compiling with -O0 this optimization is not done and the function ends up in flash, therefor causing a crash when accessed.
You can try to change static inline uint32_t cpu_ll_get_cycle_count(void) to static inline uint32_t IRAM_ATTR cpu_ll_get_cycle_count(void) in components/hal/esp32s2/include/hal/cpu_ll.h (or apply the patch I attached). This seemed to have solved the issue on my end at least.
I'll submit a bugfix for this.

@ESP-Marius it worked for me. However, if I understand right it should work as well when I change compiler optimization level back to -Os or -Og and log level to 'info'. But that does not work and has the same effect. So this I don't understand.
And can you confirm that this will be notified as a bug and will be fixed in future releases?
I also don't understand why there are not more users affected by this bug.

Yes, changing to -Og should fix it if my analysis is correct. Just tested it again myself, and as far as I could tell compiling with -Og does fix it. Maybe the new setting wasn't applied properly when you tested it?
The fix has already been merged to our internal master branch (9177e9fb37aecce8f7a9c84fa5e4f9d8700d3867) and it will be backported to v4.4 and v4.3. This topic should be automatically update and closed as soon as this commit is synced to Github (happens when our internal CI passes all tests)
As for why nobody else noticed this: my guess is that the combination of of verbose logging (too noisy for most people) and -O0  is pretty rare.


Cannot open source file when using toolset v140 in VS2017

I have installed rapidjson with vcpkg.  In my vs2017, I add a C++ project, and include rapidjson library
#include "rapidjson/document.h
Everything works fine for now. However, if I change the project platform toolset into v140, the editor shows that it cannot open source file "rapidjson/document.h".

I tried to fix this problem. In folder triplets, I made a new file x64-windows-v140.cmake, the content is
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_PLATFORM_TOOLSET v140)

Then I install vcpkg by typing vcpkg.exe install rapidjson:x64-windows-v140
However, I found this method still did not work. Did I miss something?

Do not confuse vcpkg and Visual Studio
vcpkg.exe install rapidjson:x64-windows
triplets x64-windows\MD and x64-windows-static\MT

@Voskrese Thanks for your help! But I don't get the point. What does triplets x64-windows\MD\ and x64-windows-static\MT\ and how to use it? Could you please be more specific?

vcpkg integrate install
compile in Visual Studio
ok ))

@Voskrese I have used command vcpkg integrate install when I installed vcpkg. It works well in my Visual C++ project. But this only works if my Visual C++ project uses toolset v141. If I changed it to v140, it cannot find rapidjson source file.

Strangely, overriding toolchain should not affect the integration of vkpkg. It is necessary to look through log files, their output

Open up the vcproj file and with a text editor.  You will need to modify it so that it recognizes your new triplet.  vcpkg integrate install only adds the x86-windows and x64-windows integration.  Anything else must be done manually.

@Voskrese This is output when I build the project.
1>------ Build started: Project: Project2, Configuration: Debug x64 ------
1>Source.cpp
1>c:\users\mfeng\desktop\project2\project2\source.cpp(1): fatal error C1083: Cannot open include file: 'rapidjson/document.h': No such file or directory
1>Done building project "Project2.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

The code is
#include "rapidjson/document.h"

#include <iostream>

int main()
{
	std::cout << "test" << std::endl;

	getchar();
	return 0;
}

Open up the .vcprojx file with notepad.  Look for "x86-windows" and replace it with your custom triplet.  vcpkg integrate install only adds support for x86-windows and x64-windows so you will need to manually modify the proj file for anything else.  That's all there is to it.  vcpkg team should make it so that integration works better.

@ustcfdm, does the issue persist? I tried an example, it looks everything works well. Is the steps you tried?

PS F:\vcpkg\src> .\vcpkg install rapidjson:x64-windows
PS F:\vcpkg\src> .\vcpkg integrate install
Create example folder and put example.cpp and CMakeLists.txt under it.
// example.cpp:
#include
#include "rapidjson/document.h"

int main(int argc, char *argv[])
{
return 0;
}
//CMakeLists.txt
cmake_minimum_required(VERSION 3.0)
project(example)
find_package(RapidJSON CONFIG REQUIRED)
add_executable(example example.cpp)
target_include_directories(example PRIVATE ${RAPIDJSON_INCLUDE_DIRS})

Create build folder and execute
cmake.exe -DCMAKE_TOOLCHAIN_FILE=F:/vcpkg/src/scripts/buildsystems/vcpkg.cmake   -G "Visual Studio 15 2017 Win64" ..\example
Open generated example.sln, and build it, it build successfully, then change Visual Studio 2017 (v141)
to Visual Studio 2015 (v140), and rebuild it, it also build successfully.

Thanks for posting this issue. Please open a new issue if this is still a problem for you.


[[FIX]] Skip undefined env in getHomeDir()

Skip calling fs.existsSync() on an environment variable when it is undefined.
Discovered during the CITGM run of https://github.com/nodejs/node/pull/18308
https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1229/nodes=fedora-latest-x64/testReport/junit/(root)/citgm/bluebird_v3_5_1/
Before this patch, if fs.existsSync(undefined) throws, the test would fail like this:
▶ PATH=/Users/joyee/projects/node:$PATH ../node/deps/npm/bin/npm-cli.js run test

><EMAIL_ADDRESS>pretest /Users/joyee/projects/jshint
> node ./bin/jshint src && jscs src

fs.js:251
    throw err;
    ^

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be one of type string, Buffer, or URL
    at Object.fs.existsSync (fs.js:434:3)
    at getHomeDir (/Users/joyee/projects/jshint/src/cli.js:112:12)
    at findConfig (/Users/joyee/projects/jshint/src/cli.js:83:14)
    at Object.getConfig (/Users/joyee/projects/jshint/src/cli.js:519:52)
    at /Users/joyee/projects/jshint/src/cli.js:643:43
    at Array.forEach (<anonymous>)
    at Object.run (/Users/joyee/projects/jshint/src/cli.js:642:11)
    at Object.interpret (/Users/joyee/projects/jshint/src/cli.js:756:18)
    at Object.<anonymous> (/Users/joyee/projects/jshint/bin/jshint:3:26)
    at Module._compile (module.js:661:30)

@jugglinmike I believe this test
https://github.com/jshint/jshint/blob/157a508e8f90b605ed5e8bb7c7feb06abe130f78/tests/cli.js#L526-L533
already severs as a regression test, since it makes all the home env variables undefined. Without this patch, if node throws on fs.existsSync(), this test would fail. With this patch the test passes. What do you think?


package:vm_service use of late final for optional constructor arguments problematic

package:vm_service version 6.0.0-nullsafety-dev makes heavy use of the late field pattern for optional constructor arguments. This is problematic as users of the package like package:dwds actually set these late fields outside of the constructor.
For example.

Resolved in this CL.