Updating EDPM variables

Cacthing up with dataplane-operator updates + new dev environment

I got past the os-net-config error, but now I'm facing an error with nova-deploy-libvirt
oc get pod -l app=openstackansibleee -w
NAME                                                        READY   STATUS    RESTARTS   AGE
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Pending   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Pending   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     ContainerCreating   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     ContainerCreating   0          11s
dataplane-deployment-configure-network-edpmadoption-j6r4l   1/1     Running             0          37s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m23s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m35s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m36s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Pending             0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Pending             0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     ContainerCreating   0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     ContainerCreating   0          11s
dataplane-deployment-validate-network-edpmadoption-6g7n9    1/1     Running             0          13s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          22s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          33s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          34s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Pending             0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Pending             0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     ContainerCreating   0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     ContainerCreating   0          11s
dataplane-deployment-install-os-edpmadoption-7vz4d          1/1     Running             0          14s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m28s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m39s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m40s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Pending             0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Pending             0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     ContainerCreating   0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     ContainerCreating   0          11s
dataplane-deployment-configure-os-edpmadoption-crmgn        1/1     Running             0          14s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m35s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m46s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m47s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Pending             0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Pending             0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     ContainerCreating   0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     ContainerCreating   0          11s
dataplane-deployment-run-os-edpmadoption-4nxgx              1/1     Running             0          13s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m17s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m28s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m29s
nova-standalone-deploy-libvirt-bhbs8                        0/1     Pending             0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     Pending             0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     Pending             0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     Pending             0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     ContainerCreating   0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     ContainerCreating   0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     ContainerCreating   0          2s
nova-standalone-deploy-nova-fxlrf                           0/1     ContainerCreating   0          2s
nova-standalone-deploy-libvirt-bhbs8                        1/1     Running             0          4s
nova-standalone-deploy-nova-fxlrf                           1/1     Running             0          5s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Terminating         0          13m
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Terminating         0          13m
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Terminating         0          10m
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Terminating         0          10m
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          66s
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          68s
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          69s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Terminating         0          12m
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Terminating         0          12m
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Terminating         0          12m
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Terminating         0          12m
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Terminating         0          13m
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Terminating         0          13m
nova-standalone-deploy-nova-fxlrf                           0/1     Terminating         0          11m
nova-standalone-deploy-nova-fxlrf                           0/1     Terminating         0          11m
nova-standalone-deploy-libvirt-bhbs8                        0/1     Error               0          11m
nova-standalone-deploy-libvirt-bhbs8                        0/1     Error               0          11m

oc logs -l app=openstackansibleee -f
...

TASK [update ceph libvirt secret] **********************************************
fatal: [standalone]: FAILED! => {"changed": true, "cmd": "CLUSTERS=( $(ls /etc/ceph/*.conf | xargs -I {} basename  -s .conf {} ) )\ndeclare -A CLUSTER_USER_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_USER_MAP[${cluster}]=$(ls /etc/ceph/${cluster}.client.*.keyring | grep -v admin | awk -F . '{print $3}'); done\ndeclare -A CLUSTER_FSID_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_FSID_MAP[${cluster}]=$(awk -F '=' '/fsid/ {print $2}' /etc/ceph/${cluster}.conf| xargs); done\nfor cluster in ${CLUSTERS[@]}; do\ncat <<EOF | tee secret.xml>/dev/null\n<secret ephemeral='no' private='no'>\n<uuid>${CLUSTER_FSID_MAP[${cluster}]}</uuid>\n<usage type='ceph'>\n    <name>${cluster}.client.${CLUSTER_USER_MAP[$cluster]} secret</name>\n</usage>\n</secret>\nEOF\npodman cp secret.xml libvirt_virtqemud:/tmp/secret.xml\nrm -f secret.xml\npodman exec libvirt_virtqemud bash -c \"virsh secret-undefine ${CLUSTER_FSID_MAP[${cluster}]}\"\npodman exec libvirt_virtqemud bash -c \"virsh secret-define --file /tmp/secret.xml; rm -f /tmp/secret.xml\"\nkeyring=$(awk '$1 == \"key\" {print $3}' /etc/ceph/${cluster}.client.${CLUSTER_USER_MAP[$cluster]}.keyring)\npodman exec libvirt_virtqemud bash -c \"virsh secret-set-value ${CLUSTER_FSID_MAP[${cluster}]} --base64 ${keyring}\"\ndone\n", "delta": "0:00:01.058998", "end": "2023-06-22 20:46:52.210430", "msg": "non-zero return code", "rc": 1, "start": "2023-06-22 20:46:51.151432", "stderr": "awk: fatal: cannot open file `/etc/ceph/ceph.client.openstack' for reading: No such file or directory\nerror: expected syntax: --base64 <string>", "stderr_lines": ["awk: fatal: cannot open file `/etc/ceph/ceph.client.openstack' for reading: No such file or directory", "error: expected syntax: --base64 <string>"], "stdout": "Secret 9992062f-2fe0-5aa8-8e13-039523711a28 deleted\n\nSecret 9992062f-2fe0-5aa8-8e13-039523711a28 created", "stdout_lines": ["Secret 9992062f-2fe0-5aa8-8e13-039523711a28 deleted", "", "Secret 9992062f-2fe0-5aa8-8e13-039523711a28 created"]}

I got past the os-net-config error, but now I'm facing an error with nova-deploy-libvirt
oc get pod -l app=openstackansibleee -w
NAME                                                        READY   STATUS    RESTARTS   AGE
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Pending   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Pending   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     ContainerCreating   0          0s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     ContainerCreating   0          11s
dataplane-deployment-configure-network-edpmadoption-j6r4l   1/1     Running             0          37s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m23s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m35s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Completed           0          3m36s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Pending             0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Pending             0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     ContainerCreating   0          0s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     ContainerCreating   0          11s
dataplane-deployment-validate-network-edpmadoption-6g7n9    1/1     Running             0          13s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          22s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          33s
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Completed           0          34s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Pending             0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Pending             0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     ContainerCreating   0          0s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     ContainerCreating   0          11s
dataplane-deployment-install-os-edpmadoption-7vz4d          1/1     Running             0          14s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m28s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m39s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Completed           0          2m40s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Pending             0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Pending             0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     ContainerCreating   0          0s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     ContainerCreating   0          11s
dataplane-deployment-configure-os-edpmadoption-crmgn        1/1     Running             0          14s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m35s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m46s
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Completed           0          2m47s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Pending             0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Pending             0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     ContainerCreating   0          0s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     ContainerCreating   0          11s
dataplane-deployment-run-os-edpmadoption-4nxgx              1/1     Running             0          13s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m17s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m28s
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Completed           0          3m29s
nova-standalone-deploy-libvirt-bhbs8                        0/1     Pending             0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     Pending             0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     Pending             0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     Pending             0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     ContainerCreating   0          0s
nova-standalone-deploy-nova-fxlrf                           0/1     ContainerCreating   0          0s
nova-standalone-deploy-libvirt-bhbs8                        0/1     ContainerCreating   0          2s
nova-standalone-deploy-nova-fxlrf                           0/1     ContainerCreating   0          2s
nova-standalone-deploy-libvirt-bhbs8                        1/1     Running             0          4s
nova-standalone-deploy-nova-fxlrf                           1/1     Running             0          5s
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Terminating         0          13m
dataplane-deployment-configure-network-edpmadoption-j6r4l   0/1     Terminating         0          13m
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Terminating         0          10m
dataplane-deployment-validate-network-edpmadoption-6g7n9    0/1     Terminating         0          10m
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          66s
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          68s
nova-standalone-deploy-nova-fxlrf                           0/1     Completed           0          69s
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Terminating         0          12m
dataplane-deployment-install-os-edpmadoption-7vz4d          0/1     Terminating         0          12m
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Terminating         0          12m
dataplane-deployment-configure-os-edpmadoption-crmgn        0/1     Terminating         0          12m
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Terminating         0          13m
dataplane-deployment-run-os-edpmadoption-4nxgx              0/1     Terminating         0          13m
nova-standalone-deploy-nova-fxlrf                           0/1     Terminating         0          11m
nova-standalone-deploy-nova-fxlrf                           0/1     Terminating         0          11m
nova-standalone-deploy-libvirt-bhbs8                        0/1     Error               0          11m
nova-standalone-deploy-libvirt-bhbs8                        0/1     Error               0          11m

oc logs -l app=openstackansibleee -f
...

TASK [update ceph libvirt secret] **********************************************
fatal: [standalone]: FAILED! => {"changed": true, "cmd": "CLUSTERS=( $(ls /etc/ceph/*.conf | xargs -I {} basename  -s .conf {} ) )\ndeclare -A CLUSTER_USER_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_USER_MAP[${cluster}]=$(ls /etc/ceph/${cluster}.client.*.keyring | grep -v admin | awk -F . '{print $3}'); done\ndeclare -A CLUSTER_FSID_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_FSID_MAP[${cluster}]=$(awk -F '=' '/fsid/ {print $2}' /etc/ceph/${cluster}.conf| xargs); done\nfor cluster in ${CLUSTERS[@]}; do\ncat <<EOF | tee secret.xml>/dev/null\n<secret ephemeral='no' private='no'>\n<uuid>${CLUSTER_FSID_MAP[${cluster}]}</uuid>\n<usage type='ceph'>\n    <name>${cluster}.client.${CLUSTER_USER_MAP[$cluster]} secret</name>\n</usage>\n</secret>\nEOF\npodman cp secret.xml libvirt_virtqemud:/tmp/secret.xml\nrm -f secret.xml\npodman exec libvirt_virtqemud bash -c \"virsh secret-undefine ${CLUSTER_FSID_MAP[${cluster}]}\"\npodman exec libvirt_virtqemud bash -c \"virsh secret-define --file /tmp/secret.xml; rm -f /tmp/secret.xml\"\nkeyring=$(awk '$1 == \"key\" {print $3}' /etc/ceph/${cluster}.client.${CLUSTER_USER_MAP[$cluster]}.keyring)\npodman exec libvirt_virtqemud bash -c \"virsh secret-set-value ${CLUSTER_FSID_MAP[${cluster}]} --base64 ${keyring}\"\ndone\n", "delta": "0:00:01.058998", "end": "2023-06-22 20:46:52.210430", "msg": "non-zero return code", "rc": 1, "start": "2023-06-22 20:46:51.151432", "stderr": "awk: fatal: cannot open file `/etc/ceph/ceph.client.openstack' for reading: No such file or directory\nerror: expected syntax: --base64 <string>", "stderr_lines": ["awk: fatal: cannot open file `/etc/ceph/ceph.client.openstack' for reading: No such file or directory", "error: expected syntax: --base64 <string>"], "stdout": "Secret 9992062f-2fe0-5aa8-8e13-039523711a28 deleted\n\nSecret 9992062f-2fe0-5aa8-8e13-039523711a28 created", "stdout_lines": ["Secret 9992062f-2fe0-5aa8-8e13-039523711a28 deleted", "", "Secret 9992062f-2fe0-5aa8-8e13-039523711a28 created"]}

Two questions:

Is /etc/ceph/ populated on your edpm node?
Did you use an extraMounts as described here? https://github.com/openstack-k8s-operators/docs/blob/main/ceph.md#access-the-ceph-secret-via-extramounts

I don't see any evidence that this role ran from your oc get pod -l app=openstackansibleee output
https://github.com/openstack-k8s-operators/edpm-ansible/tree/main/roles/edpm_ceph_client_files
So my conjecture is that the file the nova ansible is looking for is not there. If extraMounts is used, then the file should be populated.

[root@standalone ~]# ls /etc/ceph/
ceph.client.admin.keyring      ceph.client.radosgw.keyring
ceph.client.openstack.keyring  ceph.conf

Yes, I followed: https://openstack-k8s-operators.github.io/data-plane-adoption/contributing/development_environment/
and got a standalone node with ceph, but I forgot extramounts in both ctlplane and dataplane operators

I did get the same error with Ceph,
so I got the script from: https://github.com/openstack-k8s-operators/nova-operator/blob/main/playbooks/deploy-libvirt.yaml#L105-L128
and ran manually:
[root@standalone ~]# CLUSTERS=( $(ls /etc/ceph/*.conf | xargs -I {} basename  -s .conf {} ) )
declare -A CLUSTER_USER_MAP=()
for cluster in ${CLUSTERS[@]}; do CLUSTER_USER_MAP[${cluster}]=$(ls /etc/ceph/${cluster}.client.*.keyring | grep -v admin | awk -F . '{print $3}'); done
declare -A CLUSTER_FSID_MAP=()
for cluster in ${CLUSTERS[@]}; do CLUSTER_FSID_MAP[${cluster}]=$(awk -F '=' '/fsid/ {print $2}' /etc/ceph/${cluster}.conf| xargs); done
for cluster in ${CLUSTERS[@]}; do
cat <<EOF | tee secret.xml>/dev/null
<secret ephemeral='no' private='no'>
<uuid>${CLUSTER_FSID_MAP[${cluster}]}</uuid>
<usage type='ceph'>
    <name>${cluster}.client.${CLUSTER_USER_MAP[$cluster]} secret</name>
</usage>
</secret>
EOF
podman cp secret.xml libvirt_virtqemud:/tmp/secret.xml
rm -f secret.xml
podman exec libvirt_virtqemud bash -c "virsh secret-undefine ${CLUSTER_FSID_MAP[${cluster}]}"
podman exec libvirt_virtqemud bash -c "virsh secret-define --file /tmp/secret.xml; rm -f /tmp/secret.xml"
keyring=$(awk '$1 == "key" {print $3}' /etc/ceph/${cluster}.client.${CLUSTER_USER_MAP[$clusterdonese64 ${keyring}"virtqemud bash -c "virsh secret-set-value ${CLUSTER_FSID_MAP[${cluster}]}
Secret 9008d71a-4aca-5c7b-a683-6106069046d6 deleted

Secret 9008d71a-4aca-5c7b-a683-6106069046d6 created

awk: fatal: cannot open file `/etc/ceph/ceph.client.openstack' for reading: No such file or directory
error: expected syntax: --base64 <string>

/etc/ceph/ceph.client.openstack wasn't there indeed:
[root@standalone ~]# ls /etc/ceph
ceph.client.admin.keyring      ceph.client.radosgw.keyring
ceph.client.openstack.keyring  ceph.conf

then I created the file:
[root@standalone ~]# cp /etc/ceph/ceph.client.openstack.keyring /etc/ceph/ceph.client.openstack
[root@standalone ~]# ls /etc/ceph
ceph.client.admin.keyring  ceph.client.openstack.keyring  ceph.conf
ceph.client.openstack      ceph.client.radosgw.keyring

and then the deploy succeeded:
changed: [standalone] => {"changed": true, "cmd": "CLUSTERS=( $(ls /etc/ceph/*.conf | xargs -I {} basename  -s .conf {} ) )\ndeclare -A CLUSTER_USER_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_USER_MAP[${cluster}]=$(ls /etc/ceph/${cluster}.client.*.keyring | grep -v admin | awk -F . '{print $3}'); done\ndeclare -A CLUSTER_FSID_MAP=()\nfor cluster in ${CLUSTERS[@]}; do CLUSTER_FSID_MAP[${cluster}]=$(awk -F '=' '/fsid/ {print $2}' /etc/ceph/${cluster}.conf| xargs); done\nfor cluster in ${CLUSTERS[@]}; do\ncat <<EOF | tee secret.xml>/dev/null\n<secret ephemeral='no' private='no'>\n<uuid>${CLUSTER_FSID_MAP[${cluster}]}</uuid>\n<usage type='ceph'>\n    <name>${cluster}.client.${CLUSTER_USER_MAP[$cluster]} secret</name>\n</usage>\n</secret>\nEOF\npodman cp secret.xml libvirt_virtqemud:/tmp/secret.xml\nrm -f secret.xml\npodman exec libvirt_virtqemud bash -c \"virsh secret-undefine ${CLUSTER_FSID_MAP[${cluster}]}\"\npodman exec libvirt_virtqemud bash -c \"virsh secret-define --file /tmp/secret.xml; rm -f /tmp/secret.xml\"\nkeyring=$(awk '$1 == \"key\" {print $3}' /etc/ceph/${cluster}.client.${CLUSTER_USER_MAP[$cluster]}.keyring)\npodman exec libvirt_virtqemud bash -c \"virsh secret-set-value ${CLUSTER_FSID_MAP[${cluster}]} --base64 ${keyring}\"\ndone\n", "delta": "0:00:01.183442", "end": "2023-06-26 19:13:17.236997", "msg": "", "rc": 0, "start": "2023-06-26 19:13:16.053555", "stderr": "awk: cmd. line:1: fatal: cannot open file `radosgw.keyring' for reading: No such file or directory\nerror: Passing secret value as command-line argument is insecure!", "stderr_lines": ["awk: cmd. line:1: fatal: cannot open file `radosgw.keyring' for reading: No such file or directory", "error: Passing secret value as command-line argument is insecure!"], "stdout": "Secret 9008d71a-4aca-5c7b-a683-6106069046d6 deleted\n\nSecret 9008d71a-4aca-5c7b-a683-6106069046d6 created\n\nSecret value set", "stdout_lines": ["Secret 9008d71a-4aca-5c7b-a683-6106069046d6 deleted", "", "Secret 9008d71a-4aca-5c7b-a683-6106069046d6 created", "", "Secret value set"]}
...
PLAY RECAP *********************************************************************
standalone                 : ok=18   changed=8    unreachable=0    failed=0    skipped=1    rescued=0    ignored=0

https://github.com/openstack-k8s-operators/nova-operator/blob/main/playbooks/deploy-libvirt.yaml#L105-L128

This line of awk:
https://github.com/openstack-k8s-operators/nova-operator/blob/main/playbooks/deploy-libvirt.yaml#L126
keyring=$(awk '$1 == "key" {print $3}' /etc/ceph/${cluster}.client.${CLUSTER_USER_MAP[$cluster]}.keyring)

Is not finding the file unless you rename it to remove the ".keyring" suffix.
It's a bug if it can't handle /etc/ceph/ceph.client.openstack.keyring since that's what the file is supposed to be called.
I suspect if you rename the file correctly (putting .keyring back) and then edit the line of awk like this, that it will work:
keyring=$(awk '$1 == "key" {print $3}' /etc/ceph/${cluster}.client.openstack.keyring)

That might show that the awk embedded in ansible shell is having an interpolation issue. I haven't hit the same issue myself however.

FYI @gibizer @SeanMooney ^

I've filed this: https://github.com/openstack-k8s-operators/nova-operator/issues/424

I've filed this: openstack-k8s-operators/nova-operator#424

I see a workaround. When following this step:
https://github.com/openstack-k8s-operators/data-plane-adoption/blob/main/docs/contributing/development_environment.md#openstack
and running this command
sudo openstack tripleo deploy \
  ...
  -e /usr/share/openstack-tripleo-heat-templates/environments/cephadm/cephadm.yaml \

replace environments/cephadm/cephadm.yaml with environments/cephadm/cephadm-rbd-only.yaml.
That will prevent the radosgw key from being created (the problem in 424 is that it cannot handle when that key is there).

as noted in https://github.com/openstack-k8s-operators/nova-operator/issues/315 we do not support multiple user pre cluster currently
that was a know limitation in the q1 demo and that has not been resolved yet.
at this point it will not be resolved until q3
the other think to not is its important to test adoption both with ceph and without.
the default for both tripleo and the next gen installer is to use local storage so we should not only test with ceph/rbd for nova.


Document filter ordering

Document how to write filters that run before routing and filters that run after routing.

+1


Add link for CFP

Currently a todo.com link.

@aaronontheweb FYI have you all seen https://www.papercall.io? Seems like we'd rate on the free tier...


Unable to clone tv-sample repo

git clone https://developer.android.com/jetpack/androidx/releases/tv
Cloning into 'tv'...
fatal: unable to update url base from redirection:
asked for: https://developer.android.com/jetpack/androidx/releases/tv/info/refs?service=git-upload-pack
redirect: https://developer.android.com/jetpack/androidx/versions?service=git-upload-pack

Thanks for reporting and you look cloning the repository from incorrect URL.
I believe we can clone the sample apps from this URL: https://github.com/android/tv-samples.git


Support unicode syntax

List of possible unicode operators may not be complete but could be extended later when needed.

I'm not really fond of adding unicode syntax to the plugin since it complicates the regexes quite a bit. It also does not end with highlighting, after highlighting works one needs to fix indentation to support it and indentation is already a hairy business. So I'm really reluctant to even consider this. Maybe as an optional feature but that would not prevent adding more conditional branches in the indentation in the future once this is introduced. So currently I'd say "No" on this one, even though you have put some effort into the patch.

@raichoo So, you're about to close it and leave me to care about my own fork or you'd expect me to improve it and make this feature be optional?

I'll probably leave this issue open for a while since others might want to chime in and maybe have some suggestions. I have a somewhat radical stance on unicode syntax in source code but maybe there are good reasons to support it which I haven't heard yet. For now I'd certainly would recommend that you maintain a fork. I hope this doesn't put you off regarding future contributions.

@raichoo I have an idea, since I'm anyway maintaining my own repo for unicode support, how about adding another repo (e.g. neovimhaskell/haskell-with-unicode-vim) which I will maintain by myself, merging updates from original repo from time to time, so you wouldn't care about it?

Just a bump after about a year.

@raichoo My proposal about separated repo is still valid.

Shoot, wish I'd seen this PR before I ended up doing it myself; I actually didn't run into all that much difficulty with the regexes, as most all of the Unicode extensions don't touch too heavily on 'structural' parts of the language. Definitely a +1 to having this integrated if possible, though.

@raichoo I seem to be not the only one who wants this feature. Here you can see @Achierius also struggled adding support for unicode being not aware this pull request exists, @DeCentN2Madness left a thumbs up reaction, and @mkohlhaas created similar merge request #134. Maybe worth considering to merge this?

I myself still use my own fork for years now.

I decided to maintain my own fork with Unicode syntax support that would be just a separate plugin from this one.
The fork: https://github.com/wenzel-hoffman/haskell-with-unicode.vim
@Achierius and @DeCentN2Madness, you can find this fork useful.
I’m closing this merge request, since 2018 it wasn’t merged and and it seems it will never be. I also created a pull request with a change in README to point people who are looking for UnicodeSyntax support to that fork to not bother you with requests to add this feature and to not spend their time implementing it themselves. See #135


fix: register metric filtering config to avoid warnings

What does this PR do?
Registers the new multi_region_failover.metric_allowlist configuration.
Motivation
While the configuration works fine without this, registering it avoids a number of warning log messages that are printed at agent startup.
Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
Boot up the agent with this configured and look for the absence of warnings about unknown config values.

/merge


License Question

Thank you for making a great plugin.
I have one question. It seems to use FFMPEG internally, but this source is under the MIT license. As far as I know, the FFMPEG source follows the LGPL license and this license is contagious. Is this source free from there?

Even if I create an app with this plugin and upload it to the store, isn't there an obligation to disclose the source code of my app?

@sbis04 Please take a look!

Sorry, had been busy with work, and didn't have a chance to look into any comments.
Thank you for your feedback! The plugin doesn't include or redistribute FFmpeg directly; it relies on system-installed libraries or external dependencies. We ensure compliance with MIT and respect all dependencies' licenses.


Improve Builder documentation

Coverage remained the same at 99.677% when pulling 92a15dc990e412487c4d5885d401f964ea1bc911 on improve_doc into 7015bd86fa8ddfb2c4b36615e34d9a274383253e on master.


My cerberus are invincible please help im using 6.0

==============
NOTE: It may take a long time for me to update this mod due to its sheer size and the amount of workload I have
Description
What went wrong and what was expected
Reproduction
Describe steps to reproduce the issue. If the way of reproducing the issue is unknown, you can include as much information as possible on when it happens or how often it happens

Step 1:
Step 2:
...

Plugin versions

UltraPain - (version here)
PluginConfigurator - (version here)
Others...

Console logs
Put any abnormal console log (warnings/error) here. How to open the console
Extras
Anything else you may want to include

Please elaborate further rather than leaving the template mostly as is.
What level did this occur in? Does this occur in every level? How many Cerberi are there?

Mine too are invinciable

0-5 and I'm pretty sure it happens every where else too
On Tue, Jan 9, 2024, 6:58 AM Theo @.***> wrote:

Please elaborate further rather than leaving the template mostly as is.
What level did this occur in? Does this occur in every level? How many
Cerberi are there?
—
Reply to this email directly, view it on GitHub
https://github.com/eternalUnion/UltraPain/issues/109#issuecomment-1882940436,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/BFERGALLKYWUSR7DHC3CQCTYNUWE7AVCNFSM6AAAAABBPCPIFGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBSHE2DANBTGY
.
You are receiving this because you authored the thread.Message ID:
@.***>


WIP: ujson / upickle

Well, this compiles and has two failing tests. There's essentially no implementation and I fear that I am far out of my depth.
I'll ask for some help on com-lihaoyi discord... definitely don't merge :-)... any advice also welcome...

well - you are cleawrly someway ahead in #54 :-)
Appreciated muchly!
🙇


[question] use Component name instead of JSX syntax

I have a simple Switch with multiple Match in it and as the fallback I use NotFound function component. So when I use JSX syntax, everything is OK but when I use just component name, there is an error.
with JSX syntax:
<Switch fallback={<NotFound></NotFound>}> ... </Switch>
Compiles to a getter function & everything is OK.
 get fallback() {       return createComponent(NotFound, {});     }
without JSX syntax:
<Switch fallback={NotFound}> ... </Switch>
Compiles to the following form & throws an error.
 fallback: NotFound
Update:
Actually It is working but there is another component inside NotFound component that uses a function from context provider but that function is undefined and that is why It throws an error. As I said It is working with JSX syntax. I think this is a bug.

I don't see an issue with the compilation. If you pass an identifier it will assign it. After all it could be a string or some other value.  If it is a function accessing it on the props won't execute the function immediately. However if inserted in JSX it will eventually be executed, but this isn't desirable as it treats it like a reactive expression rather than a component.
Generally you should use JSX syntax here. Create component call isolates reactive context. But for understanding purposes, this is closer to being equivalent.
<Switch fallback={NotFound()}> ... </Switch>

You can view JSX component syntax as a function call instead of a declaration.


Are vcodec and acodec correcly displayed in the file name?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2022.11.11 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
When I use vcodec and acodec in the output name I often get weird results like avc1.64001F and mp4a.40.5. Is this the intention?
A quick search tells me that avc1.64001F stands for H.264 High Profile level 3.1.
Is this information really necessary to include? I don't think people care much about the codec parameter in the file name. Instead of avc1.64001F I believe most users would just want AVC. Not sure if this is by design...
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
C:\Users\admin\Desktop>yt-dlp -vU --ignore-config --output "%(vcodec)s.%(ext)s" https://www.bbc.com/news/av/10462520
[debug] Command-line config: ['-vU', '--ignore-config', '--output', '%(vcodec)s.%(ext)s', 'https://www.bbc.com/news/av/10462520']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.11.11 [8b64402] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg N-109332-g45ab5307a6-20221201 (setts), ffprobe N-109332-g45ab5307a6-20221201, phantomjs 2.1.1, rtmpdump 2.3
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1723 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.11.11, Current version: 2022.11.11
yt-dlp is up to date (2022.11.11)
[debug] [bbc] Extracting URL: https://www.bbc.com/news/av/10462520
[bbc] 10462520: Downloading webpage
[bbc] p0dp9z4n: Downloading media selection JSON
[bbc] p0dp9z4n: Downloading m3u8 information
[bbc] p0dp9z4n: Downloading m3u8 information
[bbc] p0dp9z4n: Downloading m3u8 information
[bbc] p0dp9z4n: Downloading m3u8 information
[bbc] p0dp9z4n: Downloading MPD manifest
[bbc] p0dp9z4n: Downloading MPD manifest
[bbc] p0dp9z4n: Downloading MPD manifest
[bbc] p0dp9z4n: Downloading MPD manifest
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[download] Downloading playlist: One-minute World News
[bbc] Playlist One-minute World News: Downloading 1 videos of 1
[download] Downloading video 1 of 1
[debug] Default format spec: bestvideo*+bestaudio/best
[info] p0dp9z4n: Downloading 1 format(s): mf_cloudfront-1802-1
[debug] Invoking hlsnative downloader on "https://vod-hls-ww.live.cf.md.bbci.co.uk/usp/auth/vod/piff_abr_full_sd/ff0506-p0dp9z4n/vf_p0dp9z4n_e212dbbc-c326-4088-8e94-d2ecdbd47a29.ism/vf_p0dp9z4n_e212dbbc-c326-4088-8e94-d2ecdbd47a29-audio_eng=96000-video=1604000.m3u8"
[download] avc1.64001F.mp4 has already been downloaded
[download] 100% of   12.36MiB
[download] Finished downloading playlist: One-minute World News

yt-dlp gives you as much information about the codec that it can. It you want only the first part in your filename, trim it accordingly - --parse-metadata "vcodec:(?P<vcodec>\w+)"

That parsing doesn't seem to work. Is there something wrong with the command?
PS C:\Users\admin\Desktop> yt-dlp -vU --ignore-config --output "%(vcodec)s.%(ext)s" --parse-metadata "vcodec:(?P<vcodec>\w+)" https://www.bbc.com/news/av/10462520 >> out.txt
[debug] Command-line config: ['-vU', '--ignore-config', '--output', '%(vcodec)s.%(ext)s', '--parse-metadata', 'vcodec:(?P<vcodec>\\w+)', 'https://www.bbc.com/news/av/10462520']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out cp1252 (No ANSI), error utf-8, screen cp1252 (No ANSI)
[debug] yt-dlp version 2022.11.11 [8b64402] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg N-109421-g9adf02247c-20221216 (setts), ffprobe N-109421-g9adf02247c-20221216, rtmpdump 2.3
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.09.24, mutagen-1.46.0, sqlite3-2.6.0, websockets-10.4
[debug] Proxy map: {}
[debug] Loaded 1723 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
[debug] [bbc] Extracting URL: https://www.bbc.com/news/av/10462520
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Searching for '(?P<vcodec>\\w+)' in '%(vcodec)s'
[debug] Default format spec: bestvideo*+bestaudio/best
[debug] Invoking hlsnative downloader on "https://vod-hls-ww.live.cf.md.bbci.co.uk/usp/auth/vod/piff_abr_full_sd/a430db-p0dpmv71/vf_p0dpmv71_a86b2eb2-dca5-44d9-bbb2-afcefeee6580.ism/vf_p0dpmv71_a86b2eb2-dca5-44d9-bbb2-afcefeee6580-audio_eng=96000-video=1604000.m3u8"
[debug] File locking is not supported. Proceeding without locking
[debug] ffprobe command line: ffprobe -hide_banner -show_format -show_streams -print_format json "file:avc1.64001F.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:avc1.64001F.mp4" -map 0 -dn -ignore_unknown -c copy -f mp4 "-bsf:a" aac_adtstoasc -movflags "+faststart" "file:avc1.64001F.temp.mp4"

You are right. I forgot --parse-metadata cannot handle format-specific fields. For now, the only workaround would be %(vcodec).4s, which isn't actually reliable across different formats. Let me think about what can be done

In next version, you will be able to do --parse-metadata "video:vcodec:(?P<vcodec>\w+)"


Use Gradio WebRTC component for better conversational demo

It's possible to build a natural conversational demo with the WebRTC component. Here is an example of such a demo with omni-mini (link to app)
https://github.com/user-attachments/assets/1ff1c909-6399-4e61-a37b-dd0ef6c26e7a
I think it would be great to incorporate such a feature into your demo so people can really "talk" with your model. I am not familiar enough with your model to prepare a PR at this moment but I am happy to help however I can.
Disclaimer: I am a core maintainer of Gradio and the author of the WebRTC custom component.

Have you implemented a demo based on webrtc?


Should be possible to detect a permissions issue

If grunt fails, the error message says in part
Or maybe you don't have permissions to access the `.tmp` directory?

It should be possible to determine this by attempting to open .tmp and checking for an OS-level error.

Possible enough....for a PR?!?!
@kevinburkeshyp, meet @boogerlad, recent creator of sails-hook-grunt.  Go make beautiful :musical_note: together for us to :dancer: to!


Clicking maintainer resets graph

First reported in #143 by @fabiospampinato.
I just happened to reproduce this while testing out Chrome's new "Recorder" feature (Developer Tools -> Recorder).  Here's the recording.

@fabiospampinato:  This should be fixed now.  Please try again.  If it's still a problem, let me know and I'll reopen.

Now it works, thanks 👍


raw model not working with load, only with loads

https://json-five.readthedocs.io/en/latest/comments.html
works as expected:
model = json5.loader.loads(json_string, loader=ModelLoader())

does not work as expected:
model = json5.loader.load(json_fd, loader=ModelLoader())

Fix for this has now been released in v0.7.5 🎉 Thanks @FlorianLudwig


Error with storybook

We met difficulties to setup a Storybook on a Vite project that use stailwc. (https://storybook.js.org/docs/react/configure/frameworks#configure)
We can successfuly make tw working in our exported components in our dist directory (that we include in another project, so rollup works well).
But we got the following error when we are running RUST_BACKTRACE=full npm run storybook :
8:27:11 PM [vite] Internal server error: failed to handle: failed to invoke plugin: failed to invoke plugin on 'Some("/var/webprojects/our-uikit/.storybook/stories/TextField.stories.ts")'

Caused by:
    0: failed to invoke<EMAIL_ADDRESS>as js transform plugin at<EMAIL_ADDRESS>    1: RuntimeError: call stack exhausted
  Plugin: vite:react-swc
  File: /var/webprojects/our-uikit/.storybook/stories/TextField.stories.ts

Is there any good practice to setup storybook using your lib ?
Here is our vite.config.ts :
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import dts from "vite-plugin-dts";
import stailwc from "stailwc/install";
import path from "path";

export default defineConfig({
  plugins: [
    dts(),
    react({
      plugins: [
        stailwc({
          engine: "styled-components",
          tailwindPath: path.join(__dirname, "tailwind.config.cjs"),
        }),
        ["@swc/plugin-styled-components", {}],
      ],
    }),
  ],

And here is our .storybook/main.tsx :
import type { StorybookConfig } from "@storybook/react-vite";

const config: StorybookConfig = {
  stories: ["./stories/*.mdx", "./stories/*.stories.@(js|jsx|ts|tsx)"],
  addons: [
    "@storybook/addon-links",
    "@storybook/addon-essentials",
    "@storybook/addon-interactions",
    'storybook-addon-swc',
  ],
  framework: {
    name: "@storybook/react-vite",
    options: {},
  },
  docs: {
    autodocs: "tag",
  },
};
export default config;

Thanks a lot

In our specific config (vite + swc, see below), stailwc needs @swc/plugins-styled-components (instead of @swc/plugin-emotion in repo example) which is runtime-built with a specific version of swc_core depending on version... AND, in the meantime, last version of stailwc is built in runtime using<EMAIL_ADDRESS>crates.io version (looking at its Cargo.toml) so this seems that this led to a conflict.
To make stailwc work, we needed to keep @swc/core and @swc/plugin-styled-components fitting with swc_core crates.io version 0.76.X (https://swc.rs/docs/plugin/selecting-swc-core#v076x) which led us to use :
    "@swc/core": "^1.3.62",
    "@swc/plugin-styled-components": "^1.5.67",

This fixed our issue but  it would be great to specify @swc/xxx versions in Vite examples of this repo.

For the record, just by updating npm i @swc/plugin-styled-components from 1.5.67 to 1.5.70, my storybook is broken : Careful use swc/plugin-styled-components version !

For some context on why this error may happen, stailwc is unfortunately quite tightly coupled to the version of SWC being used to run it, as SWC is currently a very turbulent (pre-1.0) codebase. This types of errors will happen frequently, so my recommendation is to make sure to pin your versions. If you have known-working versions to report, I will add them to the compatibility chart on the readme.


feature request - less memory

Hi
Been having issues on very large files with current memory usage.
Is it possible in combination with --output-gltf-split-level for it to just read rvm file per split lvl and clear used memory per lvl, so it stays low.
Trying to use it in some cloud service, but container is getting kick due to memory usage.

Made a small workaround for this issue
Sharing it here just in case anyone needs something similar.
https://github.com/vegarringdal/rvmsplitter
This also extract title and date from the rvm file to a json fil, ref (#68)
Used Denojs, and made executable for windows and linux.
Might make something in c++/rust later if I ever het around to learn it 😂

I have looked through the code and run some tests, it doesn't look like there is a big memory leak, so the issue might simply be that loading a single large rvm file into memory takes too much memory?
Your approach with the splitter seems like a good solution!

Yes it might be.
Splitter have been nice so far.
Might be a good place for me to play around with low level language. Since I know I should parse file better to make sure I dont skip part/tricked by text on names items in tree 😂
But have a lot of projects/rvm files to test it on.
Btw, thank you for making rvmparser and keeping it up to date with last changes you did. github actions was really hepful for making new build in my branch.

Closing this, since its really not needed for my part.


Bring elemental-iso-build (or something similar) back

#342 removed elemental-iso-build, breaking our documentation and everyone's workflow who has worked with Teal.
We need to bring this script back (or something similar)
No, make iso is not a replacement as this requires to have make installed. Not everyone out there has a developer environment :wink:

elemental-iso-build is now prepared to be shipped as part of the release, which should provide the script with a fixed tag, so you can download it from the releases and it builds an iso for the given image.
The script is still available under the .github dir if you want to build from main :)


CLIMATE-593 - Add ASF headers to config parser

Merged build triggered. Test Failed.

Merged build started. Test Failed.

Merged build finished. Test Passed.


Workers test throwing unsupported on Safari 17.3

Hi there.
I noticed that your service worker test does not seem to work properly on Safari as of 17.3 on both macOS and iOS, and it says that all service worker types are unsupported. Correct me if I'm wrong, but I do believe service workers are still a supported feature in Safari and, if my memory serves me, versions of Safari prior to 17.3 worked as expected on this page.
Thanks!

Good catch. It's likely connected with the use of inline workers and modifications implemented. I will investigate.

https://github.com/abrahamjuliot/creepjs/issues/207

I'm pondering on whether it is worth changing to support Safari. For now, the single file test page works on safari here.
https://abrahamjuliot.github.io/fpworker/

Interesting. DedicatedWorkerGlobalScope in Safari 17.4 on both macOS and iOS is consistent with Window when it comes to canvas, but ServiceWorkerGlobalScope and SharedWorkerGlobalScope do not appear to be applying canvas fingerprinting protections and the hashes remain the same even in a private window. Maybe it's just a bug in your code, but have we found ourselves a fingerprinting vulnerability in Safari?

A vulnerability seems to be the case. Possibly connected with https://bugs.webkit.org/show_bug.cgi?id=243555.

It's likely determined low based on the severity of canvas entropy derived from Apple GPUs. Canvas protections, at best, probably only neutralize annoying cross site trackers.
WebKit hardware acceleration entropy seems fairly uniform within the same OS/browser version.
I imagine, they will consider and fix if feasible. I recall Brave had a similar issue and patched.

You made me do this, Apple.

As it turns out, I just discovered that this affects Firefox as well. Service Workers don't apply canvas protections.

Apple assigned this vulnerability as CVE-2024-27830 and resolved the issue in Safari 17.5. Firefox's issues should be resolved in 127.

Nice. Thanks for the update @Joe12387


🚀[Feature]: Login for Enterprise Server/Cloud

Description
Login for Enterprise Server/Cloud
Similarly to the gh cli, ask for GitHub.com or GitHub Enterprise.
Check CLI internals for what env vars info is stored in so that this can be auto determined when importing the GitHub module. Login should be seamless if someone already prepared login details in env vars (previous login, or CI runner).

Fixed by:

#136
#135


Add emoji rule

Fixed Issues
$ https://github.com/Expensify/App/issues/34307
Tests

Open any chat
Send a message with emoji
See the html of the message and verify that the emoji is wrapped in a emoji tag

QA

Open any chat
Send a message with emoji
See the html of the message and verify that the emoji is wrapped in a emoji tag

Offline test
Same as above
Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Please don't merge this PR and point app PR to the commit hash of this branch.
This PR should be merged at the exact moment when app PR will be merged.

@stitesExpensify assigning you since you're assigned to the issue

Thanks!


Spreading partial Record to create a new Record does not forward types correctly

I'm looking to have a partial version of a type with only id field as required.
// this is base dto representing a valid object
const dto = t.Record({
  id: t.String,
  name: t.String
})
// this is the dto used for updating, all fields are optional except for id
const partialDto = t.Record({
  ...dto.asParial().fields,
  id: t.String
})

Expected:
{ id: string, name?: string | undefined}
Actual:
{ id: string, name: string }
I've also tried it the other way around but in this case the id isn't being set as required.
const partialDto = dto.asParial().extend({ id: t.String })

Expected:
{ id: string, name?: string | undefined}
Actual:
{ id?: string | undefined, name?: string | undefined }

The most succinct way to achieve this is Intersect.
const partialDto = dto.asPartial().And(t.Record({ id: String }));

But this result in a hard-to-read static type such as:
{
    id?: string | undefined;
    name?: string | undefined;
} & {
    id: string;
}

Other ways are too complex to write here, so we want to support this use case. Personally I'd prefer your second example,

const partialDto = dto.asParial().extend({ id: t.String })

This way users should expect as you expected. To avoid lacking of readability, it must be context-insensitive like this: if one wants to extend with optional properties then use Optional for them, otherwise it's not treated as optional. This would be a breaking change though.

Got it, thanks.

Both cases should now work as intended. Please wait for the next release.


Mark current config in vara-pc output with '*'

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/tools/driver_paper_config.py  1

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- varats/tools/driver_paper_config.py  1

See the complete overview on Codacy


android:maxLines and android:ellipsis results in ellipsis not displayed

A TextView defining both maxLine (whatever the value) and ellipsize results in the TextView applying the custom font but not displaying the ellipsis (...) for strings longer than maxLines.
      <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        fontPath="@string/media_item_title_font"
        android:maxLines="2"
        android:ellipsize="end"
        tools:ignore="MissingPrefix" />

With the following text:
this is line1
this is line2
this is line3
the TextView above will display:
this is line1
this is line2
instead of:
this is line1
this is line2...
Removing the fontPath element produces the expected result

Spannable in rare cases? No. Now a days, we use in many cases and this issue still exists...

Setting below attribute works(show ... at the end) only if the TextView width is match parent
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"

Setting below attribute works(show ... at the end) only if the TextView width is match parent
android:ellipsize="end"
android:maxLines="1"
android:singleLine="true"

Thanks @dinakarmaurya-innova this actually worked.


Properly support all allowed input fields magazineScheduledContent query

This allows all the fields defined here: https://github.com/parameter1/base-cms/blob/master/services/graphql-server/src/graphql/definitions/platform/content/index.js#L648 to be properly utilized via the respective resolver.

 Digital Edition changes


can't get icmpv6 checksums to work

icmpv6 neighbor advertisement has no payload but ping does.  can someone point to the syntax that can compute icmpv6 checksums for both of these correctly?
When I add if statements in my compute_chk control (like the ones found at the bottom of this example: https://github.com/jafingerhut/p4lang-tests/blob/master/v1.0.3/switch-2017-03-07/out1/switch-translated-to-p4-16.p4,  p4c gives me:

test.p4(512): error: IfStatement: Only calls to update_checksum allowed
if  (hdr.icmpv6.type == 135) {
^^

I am using the p4lang/p4app docker image 9fa7847fe635 from 2 months ago.
(edit: I'm guessing people are away on vacation?  @theojepsen @robertsoule )
(edit2: bump? ping? Mar 2018)

Similar issue here: Only want to compute checksum for a cloned packet, not the original one. However, putting an if check seems not allowed in a compute_checksum statement.

Have you tried using the condition parameter of update_checksum: https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4#L168 ?


Gitlab provider can't handle parameters in documentation url

When adding documentation from the Gitlab provider, please ensure that the URL does not contain any parameters such as '?ref_type=heads' at the end, as it will not work.
We are actively working on resolving this issue.

Fixed


Remove API docs headers for functions, exceptions, and methods

For functions, methods, and exceptions, we manually create h3 headers:

We do this so that:

it shows up in the page ToC, since that is computed based on headers
there's the little icon to make an anchor link

But we don't have to have a header for those two benefits; there are other ways we could get that. We can teach our page ToC to understand code objects, and we can add the little anchor icon to the code object directly.
Fixing this will remove duplication and get our design closer to qiskit-sphinx-theme, which we liked:

To implement this, we'll want MDX components like <Function>, which relates to the implementation for https://github.com/Qiskit/documentation/issues/735.
The trickiest part will be the page ToC. We need to make sure we consider the surrounding context like if the parent heading level.

We decided to not do this:

We're making h3s larger soon and think it actually looks good when combined with the API docs redesign

Figuring out the right page ToC is tricky, since it's based on h1-h6
Figuring out the search index is tricky, since it differentiates between headers and non-headers
It makes semantic sense to have the headers. It's helpful for screen readers and SEO


Sideways server selection [Bug]

Describe the Bug
The server bar is rotated sideways, refreshing doesn't fix the issue
To Reproduce
Unknown reproduction methods
Expected Behavior
Rotated to fix the screen roation.
Screenshots

Discord Version
Stable

This is not a BetterDiscord issue, its a theme issue

^ Please tell the theme developer about this bug so that they can fix it.


Documentation of warp-wide collectives refers to __syncthreads instead of __syncwarp

For example in https://nvlabs.github.io/cub/class_warp_exchange.html#a078092b662bf8cdc67c2322d71f0a776

A subsequent __syncthreads() threadblock barrier should be invoked after calling this method if the collective's temporary storage (e.g., temp_storage) is to be reused or repurposed.

@fkallen thank you for reporting this! We should fix this after the following PR is merged.


Any future plans to make an stl for the airpods pro case?

Just repaired my airpods pro, had to sacrifice the wireless charger but it does still work... can't seem to find a shell stl for it and I can't really design it since I've trashed the case.

I have the case if you want but it has some texture on it, i can send you a link if you want to buy it.
i made mine in solid (925) silver.

@printd3v Yes, they are coming! Will be released at the same time as USB-C replacement part.
@krupal157 Looks cool. Surely you can roll back the CAD file before texture was added? You can make a pull request and share it, I'm sure people will appreciate it.

So can the pros be taken out the same way the 1st and 2nd gen AirPods can?


[bug] Can't set language in moon.yaml as c++

Describe the bug
Setting
language: "c++"

Causes error:
× Failed to parse libs/dp-boost/moon.yml.
  ╰─▶   × language: Invalid fallback variant c++, unable to parse type.

Steps to reproduce

Create empty moon.yaml
Add language: "c++" line, with some empty task
Run this task

Expected behavior
Any string can be used for language identification
Screenshots

Environment

  System:
    OS: macOS 14.5
    CPU: (12) arm64 Apple M3 Pro
    Memory: 699.92 MB / 36.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.11.1 - ~/.nvm/versions/node/v20.11.1/bin/node
    npm: 10.2.4 - ~/.nvm/versions/node/v20.11.1/bin/npm
    pnpm: 8.15.6 - /opt/homebrew/bin/pnpm
  Managers:
    Homebrew: 4.3.15 - /opt/homebrew/bin/brew
    pip3: 24.0 - ~/Projects/backend/.venv-apps-be/bin/pip3
    RubyGems: <IP_ADDRESS> - /usr/bin/gem
  Utilities:
    Bazel: 7.1.2 - /opt/homebrew/bin/bazel
    Make: 3.81 - /usr/bin/make
    GCC: 15.0.0 - /usr/bin/gcc
    Git: 2.39.3 - /usr/bin/git
    Clang: 15.0.0 - /usr/bin/clang
    Curl: 8.6.0 - /usr/bin/curl
    OpenSSL: 3.3.1 - /opt/homebrew/bin/openssl
  Servers:
    Apache: 2.4.58 - /usr/sbin/apachectl
  Virtualization:
    Docker: 27.1.0 - /opt/homebrew/bin/docker
    Docker Compose: 2.24.6 - /usr/local/bin/docker-compose
  IDEs:
    VSCode: 1.92.1 - /usr/local/bin/code
    Vim: 9.0 - /usr/bin/vim
    Xcode: /undefined - /usr/bin/xcodebuild
  Languages:
    Bash: 3.2.57 - /bin/bash
    Perl: 5.34.1 - /usr/bin/perl
    Python: 3.10.14 - /Users/artsiommiksiuk/Projects/backend/.venv-apps-be/bin/python
    Python3: 3.10.14 - /Users/artsiommiksiuk/Projects/backend/.venv-apps-be/bin/python3
    Ruby: 2.6.10 - /usr/bin/ruby
  Databases:
    PostgreSQL: 14.11 - /opt/homebrew/bin/postgres
    SQLite: 3.43.2 - /usr/bin/sqlite3
  Browsers:
    Chrome: 127.0.6533.120
    Safari: 17.5

Additional context

@artsiommiksiuk This seems to be happening at the serde level, I wonder if it thinks its a number?
For now, you can use cpp.

Ah, it's because the fallback is an "id" type, and and ID must match this regex [0-9A-Za-z/\._-].

@milesj, okay, thanks for the hint!

Gonna leave this as-is, since this string is also used in filenames, + just makes things odd.


docs: fix demo code

Checklist

[x] documentation is changed or added

Description of change
Fix empty options.where.

Codecov Report

Merging #42 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #42   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           5      5
  Lines          37     37
=====================================
  Hits           37     37

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 97d392b...62f6562. Read the comment docs.


async=true has different error handling than async=false

I'm using node-xml2js via the express-xml-bodyparser module, which just allows an express web application to use the node-xml2js parser via some middleware for XML requests to convert them to JSON objects. I noticed that when I send an XML body that has two different syntax errors in it, a global error handling function within my express application will catch an error being raised during the parsing of XML, but after that error handling finishes, another error is thrown in xml2js which causes my express application to fail. An example of a bad XML body would be:
x<foo>test</foo>
 <bar>test</bar>
</data>

where there <data> root node is missing, and there's a non-whitespace character before what the parser considers to be the root node.
The error that crashes the application looks like this:
/var/core/app/node_modules/xml2js/lib/xml2js.js:515
          throw err;
          ^

Error: Text data outside of root node.
Line: 1
Column: 15
Char: i
    at error (/var/core/app/node_modules/xml2js/node_modules/sax/lib/sax.js:651:10)
    at strictFail (/var/core/app/node_modules/xml2js/node_modules/sax/lib/sax.js:677:7)
    at SAXParser.write (/var/core/app/node_modules/xml2js/node_modules/sax/lib/sax.js:1035:15)
    at Parser.exports.Parser.Parser.parseString (/var/core/app/node_modules/xml2js/lib/xml2js.js:508:31)
    at Parser.parseString (/var/core/app/node_modules/xml2js/lib/xml2js.js:7:59)
    at IncomingMessage.<anonymous> (/var/core/app/node_modules/express-xml-bodyparser/lib/types/xml.js:99:14)
    at emitNone (events.js:105:13)
    at IncomingMessage.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1047:12)
    at _combinedTickCallback (internal/process/next_tick.js:102:11)
    at process._tickDomainCallback (internal/process/next_tick.js:198:9)

However, my application doesn't crash when I have the async=true option set -- everything works fine there. From digging into the node-xml2js code, it looks like the error handling with asynchronous parsing is different than it is when async=false. Here's the relevant code from Parser.prototype.parseString after an error is caught with this.saxParser.write(str).close();:
https://github.com/Leonidas-from-XIV/node-xml2js/blob/1ab44ea837eff59305bd11f0e1a1e542e7c3e79f/lib/parser.js#L324-L330
However, the error handling when async=true, from Parser.prototype.processAsync looks like this:
https://github.com/Leonidas-from-XIV/node-xml2js/blob/1ab44ea837eff59305bd11f0e1a1e542e7c3e79f/lib/parser.js#L85-L89
You can see that the this.saxParser.ended is not taken into account, and there's no throw err; line. I believe this is the reason why, when I have async=true in my configuration, I don't see the same hard error crashing my application as I do when I have async=false in my configuration.
Let me know if I can provide more information! Thanks!

Took me some time to figure out why my assert tests stalls, I has something todo with the error handling in this module.
When async === true, the asserts tests stalls, when 'false' the AssertionErrors are thrown as expected
Example: async: false, works as expected
const assert = require('assert')
const x2j = require('xml2js')
var parser = new x2j.Parser({
  async: false
})

parser.parseString('<xml><foo></foo></xml>', (e, o) => {
  assert.equal(true, false)
})
process.stdin.resume()

example asyn: true, assert test stalls
const assert = require('assert')
const x2j = require('xml2js')
var parser = new x2j.Parser({
  async: true
})

parser.parseString('<xml><foo></foo></xml>', (e, o) => {
  assert.equal(true, false)
})
process.stdin.resume()


Potential bug? drag() callback is never called with GestureState::Began

To the best of my understanding the expected behaviour for drag is that when a drag begins the callback should be called with GestureState::Began
This does not happen currently.
Here's a minimal example:
use rui::*;

fn main() {
    rui(rectangle()
        .corner_radius(5.0)
        .color(AZURE_HIGHLIGHT.alpha(0.8))
        // Trivial drag implementation that only prints GestureState.
        .drag(move |_cx, _delta, state, _| match state {
            GestureState::Began => {
                println!("Began");
            }
            GestureState::Changed => {
                println!("Changed");
            }
            GestureState::Ended => {
                println!("Ended")
            }
        })
        .padding(Auto)
    );
}

The output looks as follows:
$ cargo run
...
Using Intel HD Graphics 4000 (Metal)
Changed
Changed
Changed
Changed
Changed
Changed
Changed
Changed
Ended

This was unexpected to me. Maybe that's intended, but I just thought I'd let you know.

Thanks for reporting!


Background mode

Hi,
I am observing we are not getting gyro data while app in background ?

This app is not designed to run in the background, so please modify it to run in the background accordingly.


Add fixes for updated time API, also removed failing version check

These are simple changes to update PyKinectv2 so it uses the time API correctly.   I also commented out a very specific version check for comtypes, as the current one seems to work ok.

sorry created this in the wrong repo - need coffee


Add module stability by enabling library evolution support

Enabled the BUILD_LIBRARY_FOR_DISTRIBUTION flag introduced in Xcode 11 for supporting framework distribution for creating the XCFramework.

Seems to break Swift 4.1.52 compilation for some reason. See Travis.
https://travis-ci.org/mxcl/PromiseKit/jobs/627150231

@mxcl - This flag is used to enabling library evolution support.
i.e Swift Library Evolution makes it so that you can link an application against one version of a Swift library, then upgrade the library to a newer version without rebuilding the application.
and
one more thing to create XCFramework, BUILD_LIBRARY_FOR_DISTRIBUTION flag must be set in a build setting.
We can set this flag in Podspec as well but I did not find the.podspec file in the repo.
@mxcl - Can you please help me out for this.

Yeah I read about this recently at the Swift blog.
I don’t really know what to say, if it won’t build against a platform we support I cannot merge it into v6.

Look what I found at Library Evolution in Swift:

Library evolution support should only be used when a framework is going to be built and updated separately from its clients.

PromiseKit is an open source project, so it does not make sense to build it with BUILD_LIBRARY_FOR_DISTRIBUTION = YES.

@RomanPodmov & @mxcl -
What should we do if we have to going build separately to the client ? Is there any way to do this ?

What should we do if we have to going build separately to the client? Is there any way to do this?

Modify the xcodeproj with a script.

Hello @yo2bh
You can use https://github.com/CocoaPods/Xcodeproj and set BUILD_LIBRARY_FOR_DISTRIBUTION = YES for any project. But for PromiseKit let's keep BUILD_LIBRARY_FOR_DISTRIBUTION = NO like in other open source projects.


Selecting a student in project

sometimes the suggestions counter gets moved down.

This happens when a the line is to small to fit the name and the suggestions. In this case it happens because the extra space taken by the border makes the name and suggestions not fit in one line. Do you have an idea to solve this problem?

I have improved this by removing suggestions on smaller width screens (not trivial and not implemented when the table is small because of multiple columns.  "No practical problems" might also be removed or could be replaced by a checkmark.


Mod Pocket Sand

Add MP Compat PLS

I added pocket sand support long ago.
https://github.com/rwmt/Multiplayer-Compatibility/blob/master/Source/Mods/PocketSand.cs


V2Ray UDP Performance Is Very Low on MacOS and Some Specific Linux

Please read the instruction and answer the following questions before submitting your issue. Thank you.
Please answer all the questions with enough information. All issues not following this template will be closed immediately.
If you are not sure if your question is truely a bug in V2Ray, please discuss it here first.

What version of V2Ray are you using (If you deploy different version on server and client, please explicitly point out)?

Server 4.13.0
Client 4.10.0 / 4.13.0 / Latest Git version

What's your scenario of using V2Ray? E.g., Watching YouTube videos in Chrome via Socks/VMess proxy.

Loading Youtube, or test the speed on fast.com

What did you see? (Please describe in detail, such as timeout, fake TLS certificate etc)

The same configuration runs perfectly on Fedora 29 / Windows 10, however, the same configuration cannot run properly on MacOS Mojave 10.14.2 and Fedora 28
There are always an error report in error.log on client side:
v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/socks: connection ends > v2ray.com/core/proxy/socks: failed to transport all TCP request > read tcp <IP_ADDRESS>:10800-><IP_ADDRESS>:60737: read: connection reset by peer
10800 is the local sock5 proxy port
On server side, there also error report saying the connection is broken.
It seems that Client reports the connection is closed by server, and server reports that the connection is broken.
However, I tested the same configuration in the same network environment, Fedora 29 and Windows 10 works, but MacOS Mojave 10.14.2 doesn't work and Fedora 28 doesn't work
The same system running SS + KCP can reach 50Mbps / s on fast.com
but V2ray + KCP on the same system can only reach 12Kbpx / s on fast.com
It seems that some low level network configuration triggered such issue.

What's your expectation?
V2Ray should run properly

Please attach your configuration file (Mask IP addresses before submit this issue).

Server configuration:
{
  "log": {
    "loglevel": "debug",
    "access":   "/var/log/v2ray/access.log",
    "error":    "/var/log/v2ray/error.log"
  },
  "inbounds": [
      {
          "port": "port_a-port_b",
          "listen": "my.server.ip.addr",
          "protocol": "vmess",
          "settings": {
              "clients": [
                  {
                      "id": "",
                      "level": 0,
                      "alterId": 32
                  }
              ],
              "detour": {
                  "to": "dynamicKcpPort"
              },
              "disableInsecureEncryption": true
          },
          "allocate": {
              "strategy": "always",
              "refresh": 5,
              "concurrency": 5
          },
          "streamSettings": {
              "network": "kcp",
              "security": "none",
              "kcpSettings": {
                  "mtu": 1350,
                  "tti": 20,
                  "uplinkCapacity": 20,
                  "downlinkCapacity": 100,
                  "congestion": true,
                  "readBufferSize": 1,
                  "writeBufferSize": 1,
                  "header": {
                      "type": "none"
                  }
              }
          }
      },
      {
          "port": "50000-60000",
          "listen": "my.server.ip.addr",
          "protocol": "vmess",
          "tag": "dynamicKcpPort",
          "settings": {
              "default": {
                  "level": 1,
                  "alterId": 32
              }
          },
          "allocate": {
              "strategy": "random",
              "refresh": 3,
              "concurrency": 20
          },
          "streamSettings": {
              "network": "kcp",
              "security": "none",
              "kcpSettings": {
                  "mtu": 1350,
                  "tti": 20,
                  "uplinkCapacity": 100,
                  "downlinkCapacity": 100,
                  "congestion": true,
                  "readBufferSize": 2,
                  "writeBufferSize": 2,
                  "header": {
                      "type": "none"
                  }
              }
          }
      }
  ],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

Client configuration:
{
    "log": {
        "loglevel": "debug",
        "access":   "/opt/v2ray/log/access.log",
        "error":    "/opt/v2ray/log/error.log"
    },
    "inbounds": [
        {
            "port": 10800,
            "listen": "<IP_ADDRESS>",
            "protocol": "socks",
            "domainOverride": ["tls","http"],
            "settings": {
                "auth": "noauth",
                "udp": true,
                "ip": "<IP_ADDRESS>"
            }
        }
    ],
    "outbounds": [
        {
            "protocol": "vmess",
            "settings": {
                "vnext": [
                    {
                        "address": "my.server.ip.addr",
                        "port":    my_port,
                        "users": [
                            {
                                "id": "",
                                "alterId": 16,
                                "security": "auto",
                                "level": 0
                            }
                        ]
                    }
                ]
            },
            "streamSettings": {
                "network"  : "kcp",
                "security" : "none",
                "kcpSettings": {
                    "mtu"              : 1350,
                    "tti"              : 10,
                    "uplinkCapacity"   : 20,
                    "downlinkCapacity" : 100,
                    "congestion"       : true,
                    "readBufferSize"   : 1,
                    "writeBufferSize"  : 1,
                    "header": {
                        "type": "none"
                    }
                }
            },
            "mux": {
                "enabled"     : true,
                "concurrency" : 4
            }
        }
    ],
    "policy": {
        "levels": {
            "0": {
                "handshake"         : 4,
                "connIdle"          : 300,
                "uplinkOnly"        : 0,
                "downlinkOnly"      : 0,
                "statsUserUplink"   : false,
                "statsUserDownlink" : false,
                "bufferSize"        : 1024
            }
        }
    }
}

Please attach error logs, especially the bottom lines if the file is large. Error log file is usually at /var/log/v2ray/error.log on Linux.

Server error log:
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > v2ray.com/core/proxy/freedom: failed to process request > io: read/write on closed pipe
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/common/mux: session 3 ends. > io: read/write on closed pipe
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > v2ray.com/core/proxy/freedom: failed to process request > io: read/write on closed pipe
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/common/mux: session 2 ends. > io: read/write on closed pipe
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/common/mux: received request for tcp:notifications.google.com:443
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/app/dispatcher: default route for tcp:notifications.google.com:443
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/proxy/freedom: opening connection to tcp:notifications.google.com:443
2019/01/25 11:58:14 [Info] [2819699236] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:notifications.google.com:443
2019/01/25 11:58:41 [Info] v2ray.com/core/transport/internet/kcp: #49116 creating connection to <IP_ADDRESS>:62812
2019/01/25 11:58:41 [Info] [3311520728] v2ray.com/core/proxy/vmess/inbound: received request for tcp:v1.mux.cool:0
2019/01/25 11:58:41 [Debug] [3311520728] v2ray.com/core/proxy/vmess/inbound: pick detour handler for port 58544 for 1 minutes.
2019/01/25 11:58:41 [Info] [3311520728] v2ray.com/core/common/mux: received request for tcp:clients4.google.com:443
2019/01/25 11:58:41 [Info] [3311520728] v2ray.com/core/app/dispatcher: default route for tcp:clients4.google.com:443
2019/01/25 11:58:41 [Info] [3311520728] v2ray.com/core/proxy/freedom: opening connection to tcp:clients4.google.com:443
2019/01/25 11:58:41 [Info] [3311520728] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:clients4.google.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/common/mux: received request for tcp:www.youtube.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/app/dispatcher: default route for tcp:www.youtube.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/proxy/freedom: opening connection to tcp:www.youtube.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:www.youtube.com:443
2019/01/25 11:58:49 [Info] v2ray.com/core/transport/internet/kcp: #49117 creating connection to <IP_ADDRESS>:55057
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/proxy/vmess/inbound: received request for tcp:v1.mux.cool:0
2019/01/25 11:58:49 [Debug] [3954450110] v2ray.com/core/proxy/vmess/inbound: pick detour handler for port 52677 for 1 minutes.
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/common/mux: received request for tcp:www.gstatic.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/common/mux: received request for tcp:clients1.google.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/app/dispatcher: default route for tcp:www.gstatic.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/proxy/freedom: opening connection to tcp:www.gstatic.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:www.gstatic.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/app/dispatcher: default route for tcp:clients1.google.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/proxy/freedom: opening connection to tcp:clients1.google.com:443
2019/01/25 11:58:49 [Info] [3954450110] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:clients1.google.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/common/mux: received request for tcp:i.ytimg.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/common/mux: received request for tcp:yt3.ggpht.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/app/dispatcher: default route for tcp:i.ytimg.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/proxy/freedom: opening connection to tcp:i.ytimg.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:i.ytimg.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/app/dispatcher: default route for tcp:yt3.ggpht.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/proxy/freedom: opening connection to tcp:yt3.ggpht.com:443
2019/01/25 11:58:49 [Info] [3311520728] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:yt3.ggpht.com:443
2019/01/25 11:58:53 [Info] v2ray.com/core/transport/internet/udp: failed to read UDP msg > read udp xxx.xxx.xxx.xxx:58100: use of closed network connection
.......
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/common/mux: session 4 ends. > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/vmess/inbound: connection ends > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/app/proxyman/inbound: failed to close connection > v2ray.com/core/transport/internet/kcp: Connection closed.
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
2019/01/25 11:59:02 [Info] [1508942888] v2ray.com/core/common/mux: session 2 ends. > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/common/mux: session 4 ends. > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/vmess/inbound: connection ends > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/app/proxyman/inbound: failed to close connection > v2ray.com/core/transport/internet/kcp: Connection closed.
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/common/mux: session 1 ends. > io: read/write on closed pipe
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
2019/01/25 11:59:02 [Info] [2819699236] v2ray.com/core/common/mux: session 5 ends. > io: read/write on closed pipe

Client error log:
2019/01/26 00:55:46 [Info] [230605851] v2ray.com/core/proxy/socks: TCP Connect request to tcp:www.youtube.com:443
2019/01/26 00:55:46 [Info] [230605851] v2ray.com/core/app/dispatcher: sniffed domain: www.youtube.com
2019/01/26 00:55:46 [Info] [230605851] v2ray.com/core/app/dispatcher: default route for tcp:www.youtube.com:443
2019/01/26 00:55:46 [Info] [230605851] v2ray.com/core/common/mux: dispatching request to tcp:www.youtube.com:443
2019/01/26 00:55:46 [Info] v2ray.com/core/transport/internet/kcp: dialing mKCP to udp:my.server.ip.addr:my_port
2019/01/26 00:55:46 [Info] v2ray.com/core/transport/internet/kcp: #26772 creating connection to my.server.ip.addr:my_port
2019/01/26 00:55:46 [Info] v2ray.com/core/proxy/vmess/outbound: tunneling request to tcp:v1.mux.cool:9527 via tcp:my.server.ip.addr:my_port
2019/01/26 00:55:46 [Info] [2374225388] v2ray.com/core/proxy/socks: TCP Connect request to tcp:i.ytimg.com:443
2019/01/26 00:55:46 [Info] [2374225388] v2ray.com/core/app/dispatcher: sniffed domain: i.ytimg.com
2019/01/26 00:55:46 [Info] [2374225388] v2ray.com/core/app/dispatcher: default route for tcp:i.ytimg.com:443
2019/01/26 00:55:46 [Info] [2374225388] v2ray.com/core/common/mux: dispatching request to tcp:i.ytimg.com:443
2019/01/26 00:55:46 [Info] [2923585768] v2ray.com/core/proxy/socks: TCP Connect request to tcp:yt3.ggpht.com:443
2019/01/26 00:55:46 [Info] [2923585768] v2ray.com/core/app/dispatcher: sniffed domain: yt3.ggpht.com
2019/01/26 00:55:46 [Info] [2923585768] v2ray.com/core/app/dispatcher: default route for tcp:yt3.ggpht.com:443
2019/01/26 00:55:46 [Info] [2923585768] v2ray.com/core/common/mux: dispatching request to tcp:yt3.ggpht.com:443
2019/01/26 00:55:59 [Info] [2923585768] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/socks: connection ends > v2ray.com/core/proxy/socks: failed to transport all TCP request > read tcp <IP_ADDRESS>:10800-><IP_ADDRESS>:61412: read: connection reset by peer
2019/01/26 00:55:59 [Info] [2923585768] v2ray.com/core/common/mux: failed to fetch all input > io: read/write on closed pipe
2019/01/26 00:55:59 [Info] [2672667638] v2ray.com/core/proxy/socks: TCP Connect request to tcp:clients4.google.com:443
2019/01/26 00:55:59 [Info] [2672667638] v2ray.com/core/app/dispatcher: sniffed domain: clients4.google.com
2019/01/26 00:55:59 [Info] [2672667638] v2ray.com/core/app/dispatcher: default route for tcp:clients4.google.com:443
2019/01/26 00:55:59 [Info] [2672667638] v2ray.com/core/common/mux: dispatching request to tcp:clients4.google.com:443

Please attach access log. Access log is usually at '/var/log/v2ray/access.log' on Linux.

2019/01/26 00:55:46 tcp:<IP_ADDRESS>:61410 accepted tcp:www.youtube.com:443
2019/01/26 00:55:46 tcp:<IP_ADDRESS>:61411 accepted tcp:i.ytimg.com:443
2019/01/26 00:55:46 tcp:<IP_ADDRESS>:61412 accepted tcp:yt3.ggpht.com:443
2019/01/26 00:55:59 tcp:<IP_ADDRESS>:61415 accepted tcp:clients4.google.com:443
2019/01/26 00:56:20 tcp:<IP_ADDRESS>:61425 accepted tcp:yt3.ggpht.com:443
2019/01/26 00:56:21 tcp:<IP_ADDRESS>:61426 accepted tcp:www.youtube.com:443
2019/01/26 00:56:21 tcp:<IP_ADDRESS>:61428 accepted tcp:www.youtube.com:443
2019/01/26 00:56:21 tcp:<IP_ADDRESS>:61427 accepted tcp:www.youtube.com:443
2019/01/26 00:56:21 tcp:<IP_ADDRESS>:61429 accepted tcp:www.youtube.com:443
2019/01/26 00:56:23 tcp:<IP_ADDRESS>:61432 accepted tcp:clients1.google.com:443

Other configurations (such as Nginx) and logs.

If V2Ray doesn't run, please attach output from --test.

The command is usually /usr/bin/v2ray/v2ray --test --config /etc/v2ray/config.json, but may vary according to your scenario.

If V2Ray service doesn't run, please attach journal log.

Usual command is journalctl -u v2ray.
Please review your issue before submitting.

@DarienRaymond
I changed the first line in transport/internet/udp/hub_linux.go,
from
// +build linux

to
// +build linux darwin

changed the first line in hub_other.go
from
// +build !linux

to
// +build !linux !darwin

The I rebuilt the v2ray binary, the UDP drop drame issue has gone.
It seems that ReadUDPMsg() in hub_other.go is not suitable for MacOS, or the conn.ReadFromUDP() function has bugs that cannot read all the data at once, which causes data segments

@DarienRaymond 我把底层的UDP读取函数，都改成用hub_linux.go里的函数了。
在MacOS上面，读取速度还是一样的慢。
然而上传速度却非常快，可以到18Mbps，下载速度却一直是30kbps
在fast.com上测试得到的结果。
然而，同样的网络环境，同样的机器，上面运行ss + kcp，下载速度可以到33Mbps
还得请你帮忙分析一下，是什么原因导致了这么大的差异 ？

@DarienRaymond 我用Wireshark抓包分析了一下。发现奇怪的情况。
在Wireshark中，UDP数据包都被收到了，接收速度也很快，的确是根据KCP中设置的MTU的大小在传输数据。
但是奇怪的是，这些数据，好像都没有被收到，或者是说，都被KCP丢掉了。

@DarienRaymond 又做了一个实验。
在Fedora 29上面，V2ray + mKcp运行良好，速度非常快。
把相同的配置和相同的软件，拷贝到另一台有问题的电脑上，就会出现UDP性能极度下降的问题。
现在我怀疑是不是和Golang底层的UDP实现有关系了。

@DarienRaymond 又做了测试，发现是公司的防火墙，把V2ray的mkcp的包给限速了。然而，kcptun的数据包却没有被限速。
为什么V2ray的mkcp包会触发防火墙的限速，而kcptun的包却不会呢？


build: netbsd-386 builds hang during make.bash

The netbsd-386 builds hang during make.bash somewhere.
I'm disabling them from the builders for now, since the build coordinator doesn't yet deal with that well.
/cc @mdempsky @ianlancetaylor @bsiegert

(These are gomote accessible if anybody wants to reproduce. I'm not disabling that part. The actual host is a NetBSD 7.0 amd64 image, using GOARCH=386 / GOHOSTARCH=386, which gomote will set for you if you create a netbsd-386-70 image)

I updated the NetBSD builders to NetBSD 7.1.
Maybe something was fixed. We'll see.
/cc @bsiegert

I guess we should document in the Release Notes' Known Issues section (https://tip.golang.org/doc/go1.9#known_issues) about NetBSD not being stable and kick this to Go 1.10.
Sound okay @mdempsky, @bsiegert, @ianlancetaylor?

I just attached to the serial console of a netbsd-386-71 builder while running make.bash hoping to catch a NetBSD kernel panic like in #20836 but no luck.
I see nothing to the serial port, but the build hangs at:
##### Building packages and commands for netbsd/386.
...
cmd/trace
cmd/vendor/github.com/google/pprof/internal/proftest
cmd/vet/internal/cfg
cmd/vet/internal/whitelist
cmd/vet

^C
bradfitz@gdev:~/go$
bradfitz@gdev:~/go$ gomote run $MOTE go/bin/go version
go version devel gomote.XXXXX netbsd/386

Note that the machine is still usable after killing the make.bash run.
Trying it again, it hangs in a different place:
##### Building packages and commands for netbsd/386.
...
runtime/race
vendor/golang_org/x/text/secure
vendor/golang_org/x/text/unicode
cmd/compile/internal/test
cmd/vet/internal/whitelist

Looking at the GCE console, I see it's using 99% CPU.

What are the steps to reproduce this?

@zoulasc, set GOARCH=386, cd into your Go checkout's src/ directory, and then run ./make.bash and watch it spin.
We run NetBSD 7.1 VMs on GCE (KVM, virtio, etc), if that matters.
Our image is built using https://github.com/golang/build/tree/master/env/netbsd-amd64

Benny, can you finish https://go-review.googlesource.com/c/build/+/78619 ?
Let's get netbsd-386 updated to 8.0+

Actually I think I figured it out.

The NetBSD i386 kernel never gets networking setup on GCE. See https://github.com/golang/go/issues/20852#issuecomment-347698956
But trying the amd64 kernel with the 32-bit NetBSD binaries with NetBSD 8-BETA, I see the same issue that we saw earlier with NetBSD 7.1: make.bash hangs and just spins CPU.
make.bash normally takes under a minute. After over 15 minutes, I saw:
$ gomote run user-bradfitz-netbsd-amd64-8branch-0 /bin/ps -a
 PID TTY   STAT     TIME COMMAND
   2 tty00 Is+   0:00.01 sh /etc/rc autoboot
   8 tty00 I+    0:00.00 sh /etc/rc autoboot
   9 tty00 I+    0:00.00 sh /etc/rc autoboot
  10 tty00 I+    0:00.03 sh /etc/rc autoboot
  11 tty00 S+    0:00.14 sh /etc/rc autoboot
  16 tty00 I+    0:00.00 sh /etc/rc autoboot
  18 tty00 S+    0:00.11 sh /etc/rc autoboot
 371 tty00 I+    0:00.00 sh /etc/rc autoboot
 503 tty00 I+    0:00.00 sh /etc/rc autoboot
 505 tty00 Il+   0:06.14 /buildlet
 590 tty00 Il+   0:01.57 ./cmd/dist/dist bootstrap -a
 931 tty00 Ol+  25:54.12 /tmp/workdir/go/pkg/tool/netbsd_386/go_bootstrap insta
2494 tty00 S+    0:00.00 sleep 3
2495 tty00 O+    0:00.00 /bin/ps -a

The go_bootstrap process was spinning or something. I failed to figure out how to ktrace it. But it was consuming CPU.
I saw no disk activity. Or at least no new files being created/appended.
Related: #22914

I'm now getting successful all.bash runs on netbsd/386 running on a 64-bit host.
I think this was fixed by 70ee9b4a07d356e9187dd23683ed2254c91984cd
Closing.
I'll reopen new bugs if netbsd/386 binaries don't run on 32-bit NetBSD kernels, once tomorrow's NetBSD 32-bit builds are completed with the virtioscsi config fix.


Set height and width by defaulf for static models

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Correct the capitalization of GitHub in README

This pull request corrects the spelling of GitHub 🤓
https://github.com/
Created with readme-correct.

HAHAHA!  So awesome!