[stable/nginx-ingress] [emerg] 46#46: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)

my kubernetes version is V14
my node system is ubuntu 16

when i install stable/nginx-ingress, I encounter the followed issue:
ingress git:(master) kubectl logs pods/nginx-ingress-controller-b6754b88b-8vs24
-------------------------------------------------------------------------------
NGINX Ingress controller
  Release:    0.25.0
  Build:      git-1387f7b7e
  Repository: https://github.com/kubernetes/ingress-nginx
-------------------------------------------------------------------------------

I0731 11:48:09.768237       5 flags.go:192] Watching for Ingress class: nginx
W0731 11:48:09.768532       5 flags.go:221] SSL certificate chain completion is disabled (--enable-ssl-chain-completion=false)
nginx version: openresty/<IP_ADDRESS>
W0731 11:48:09.778373       5 client_config.go:541] Neither --kubeconfig nor --master was specified.  Using the inClusterConfig.  This might not work.
I0731 11:48:09.778641       5 main.go:183] Creating API client for https://<IP_ADDRESS>:443
I0731 11:48:09.790363       5 main.go:227] Running in Kubernetes cluster version v1.14 (v1.14.0) - git (clean) commit 641856db18352033a0d96dbc99153fa3b27298e5 - platform linux/amd64
I0731 11:48:09.798778       5 main.go:91] Validated default/nginx-ingress-default-backend as the default backend.
I0731 11:48:09.918339       5 main.go:102] Created fake certificate with PemFileName: /etc/ingress-controller/ssl/default-fake-certificate.pem
E0731 11:48:09.921074       5 main.go:131] v1.14.0
W0731 11:48:09.938808       5 store.go:616] Unexpected error reading configuration configmap: configmaps "nginx-ingress-controller" not found
I0731 11:48:09.955841       5 nginx.go:275] Starting NGINX Ingress controller
I0731 11:48:11.157261       5 nginx.go:319] Starting NGINX process
I0731 11:48:11.158977       5 leaderelection.go:235] attempting to acquire leader lease  default/ingress-controller-leader-nginx...
W0731 11:48:11.161061       5 controller.go:384] Service "default/nginx-ingress-default-backend" does not have any active Endpoint
I0731 11:48:11.161568       5 controller.go:133] Configuration changes detected, backend reload required.
I0731 11:48:11.166200       5 status.go:86] new leader elected: nginx-ingress-controller-9f9fd9855-bfjfl
E0731 11:48:11.238432       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg884794920 syntax is ok
2019/07/31 11:48:11 [emerg] 32#32: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg884794920 test failed

-------------------------------------------------------------------------------
W0731 11:48:11.238764       5 queue.go:130] requeuing initial-sync, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg884794920 syntax is ok
2019/07/31 11:48:11 [emerg] 32#32: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg884794920 test failed

-------------------------------------------------------------------------------
I0731 11:48:14.494420       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:14.537840       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg351982951 syntax is ok
2019/07/31 11:48:14 [emerg] 39#39: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg351982951 test failed

-------------------------------------------------------------------------------
W0731 11:48:14.538240       5 queue.go:130] requeuing kube-system/kube-scheduler, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg351982951 syntax is ok
2019/07/31 11:48:14 [emerg] 39#39: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg351982951 test failed

-------------------------------------------------------------------------------
I0731 11:48:17.827731       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:17.878283       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg356635546 syntax is ok
2019/07/31 11:48:17 [emerg] 46#46: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg356635546 test failed

-------------------------------------------------------------------------------
W0731 11:48:17.878580       5 queue.go:130] requeuing kube-system/kube-controller-manager, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg356635546 syntax is ok
2019/07/31 11:48:17 [emerg] 46#46: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg356635546 test failed

-------------------------------------------------------------------------------
E0731 11:48:20.992760       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:21.161150       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:21.204013       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg891293233 syntax is ok
2019/07/31 11:48:21 [emerg] 53#53: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg891293233 test failed

-------------------------------------------------------------------------------
W0731 11:48:21.204316       5 queue.go:130] requeuing kube-system/tiller-deploy, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg891293233 syntax is ok
2019/07/31 11:48:21 [emerg] 53#53: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg891293233 test failed

-------------------------------------------------------------------------------
I0731 11:48:24.494524       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:24.546179       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg394277340 syntax is ok
2019/07/31 11:48:24 [emerg] 60#60: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg394277340 test failed

-------------------------------------------------------------------------------
W0731 11:48:24.546502       5 queue.go:130] requeuing default/kubernetes, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg394277340 syntax is ok
2019/07/31 11:48:24 [emerg] 60#60: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg394277340 test failed

-------------------------------------------------------------------------------
E0731 11:48:26.444714       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:27.827689       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:27.871995       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg615537035 syntax is ok
2019/07/31 11:48:27 [emerg] 67#67: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg615537035 test failed

-------------------------------------------------------------------------------
W0731 11:48:27.872287       5 queue.go:130] requeuing kube-system/kube-dns, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg615537035 syntax is ok
2019/07/31 11:48:27 [emerg] 67#67: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg615537035 test failed

-------------------------------------------------------------------------------
E0731 11:48:30.992809       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:31.161085       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:31.203381       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg298225518 syntax is ok
2019/07/31 11:48:31 [emerg] 74#74: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg298225518 test failed

-------------------------------------------------------------------------------
W0731 11:48:31.203693       5 queue.go:130] requeuing default/nginx-ingress-controller, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg298225518 syntax is ok
2019/07/31 11:48:31 [emerg] 74#74: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg298225518 test failed

-------------------------------------------------------------------------------
I0731 11:48:34.494327       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:34.536389       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg488150005 syntax is ok
2019/07/31 11:48:34 [emerg] 81#81: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg488150005 test failed

-------------------------------------------------------------------------------
W0731 11:48:34.536683       5 queue.go:130] requeuing default/nginx-ingress-default-backend, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg488150005 syntax is ok
2019/07/31 11:48:34 [emerg] 81#81: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg488150005 test failed

-------------------------------------------------------------------------------
E0731 11:48:36.444722       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:37.827733       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:37.870574       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg103017680 syntax is ok
2019/07/31 11:48:37 [emerg] 88#88: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg103017680 test failed

-------------------------------------------------------------------------------
W0731 11:48:37.870869       5 queue.go:130] requeuing default/nginx-ingress-controller-b6754b88b-8vs24, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg103017680 syntax is ok
2019/07/31 11:48:37 [emerg] 88#88: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg103017680 test failed

-------------------------------------------------------------------------------
E0731 11:48:40.992918       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:41.161141       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:41.204363       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg991448559 syntax is ok
2019/07/31 11:48:41 [emerg] 95#95: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg991448559 test failed

-------------------------------------------------------------------------------
W0731 11:48:41.204630       5 queue.go:130] requeuing default/nginx-ingress-controller-b6754b88b-8vs24, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg991448559 syntax is ok
2019/07/31 11:48:41 [emerg] 95#95: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg991448559 test failed

-------------------------------------------------------------------------------
I0731 11:48:44.494497       5 controller.go:133] Configuration changes detected, backend reload required.
E0731 11:48:44.544154       5 controller.go:145] Unexpected failure reloading the backend:

-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg656727170 syntax is ok
2019/07/31 11:48:44 [emerg] 102#102: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg656727170 test failed

-------------------------------------------------------------------------------
W0731 11:48:44.544474       5 queue.go:130] requeuing initial-sync, err
-------------------------------------------------------------------------------
Error: exit status 1
nginx: the configuration file /tmp/nginx-cfg656727170 syntax is ok
2019/07/31 11:48:44 [emerg] 102#102: bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: [emerg] bind() to <IP_ADDRESS>:80 failed (13: Permission denied)
nginx: configuration file /tmp/nginx-cfg656727170 test failed

-------------------------------------------------------------------------------
E0731 11:48:46.444631       5 checker.go:41] healthcheck error: Get http+unix://nginx-status/healthz: dial unix /tmp/nginx-status-server.sock: connect: no such file or directory
I0731 11:48:46.462385       5 main.go:154] Received SIGTERM, shutting down
I0731 11:48:46.462450       5 nginx.go:402] Shutting down controller queues
I0731 11:48:46.462470       5 status.go:117] updating status of Ingress rules (remove)
I0731 11:48:46.512434       5 status.go:136] removing address from ingress status ([])
I0731 11:48:46.512748       5 nginx.go:418] Stopping NGINX process
2019/07/31 11:48:46 [notice] 103#103: signal process started
I0731 11:48:47.539634       5 nginx.go:431] NGINX process has stopped
I0731 11:48:47.539873       5 main.go:162] Handled quit, awaiting Pod deletion

did you change controller.image.allowPrivilegeEscalation from true to false?

@fbreckle  I use default allowPrivilegeEscalation value

can you try putting
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          procMount: Default
          runAsUser: 33```
into spec.template.spec.containers[0], (i.e. between resources: and terminationMessagePath)

@fbreckle  After added, I still encounter the same issue.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2019-08-08T08:11:35Z"
  generation: 1
  labels:
    app: nginx-ingress
    chart: nginx-ingress-1.12.1
    component: controller
    heritage: Tiller
    release: nginx-ingress
  name: nginx-ingress-controller
  namespace: default
  resourceVersion: "2997838"
  selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/nginx-ingress-controller
  uid: 2395d0fd-b9b4-11e9-8dca-42010af0000a
spec:
  progressDeadlineSeconds:<PHONE_NUMBER>
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx-ingress
      component: controller
      release: nginx-ingress
  strategy:
    rollingUpdate:
      maxSurge: 1
      maxUnavailable: 1
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx-ingress
        component: controller
        release: nginx-ingress
    spec:
      containers:
      - args:
        - /nginx-ingress-controller
        - --default-backend-service=default/nginx-ingress-default-backend
        - --election-id=ingress-controller-leader
        - --ingress-class=nginx
        - --configmap=default/nginx-ingress-controller
        env:
        - name: POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.25.0
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 10254
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        name: nginx-ingress-controller
        ports:
        - containerPort: 80
          hostPort: 80
          name: http
          protocol: TCP
        - containerPort: 443
          hostPort: 443
          name: https
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /healthz
            port: 10254
            scheme: HTTP
          initialDelaySeconds: 10
          periodSeconds: 10
          successThreshold: 1
          timeoutSeconds: 1
        resources: {}
        securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          procMount: Default
          runAsUser: 33
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      hostNetwork: true
      nodeSelector:
        kubernetes.io/hostname: worker-0
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      serviceAccount: nginx-ingress
      serviceAccountName: nginx-ingress
      terminationGracePeriodSeconds: 60
      tolerations:
      - operator: Exists
status:
  conditions:
  - lastTransitionTime: "2019-08-08T08:11:35Z"
    lastUpdateTime: "2019-08-08T08:11:35Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  observedGeneration: 1
  replicas: 1
  unavailableReplicas: 1
  updatedReplicas: 1

Seeing the exact same thing after upgrading my cluster's VM types. Zero configuration changes in the chart or cluster, simply did a rolling upgrade of workers/masters to a different instance type. Not trying to hijack, just saying I'm seeing the exact same thing with almost exact same configuration OP has.

I had that problem when I set allowPrivilegeEscalation to false. Nginx-ingress has to run as root if it wants to bind to ports 80 and 443.
From the logs, for you guys, it cannot do that, even with allowPrivilegeEscalation set to true.
Do you have something in place in your cluster that prevents stuff from running with elevated permissions. PodSecurityPolicies maybe?

 securityContext:
          allowPrivilegeEscalation: true
          capabilities:
            add:
            - NET_BIND_SERVICE
            drop:
            - ALL
          procMount: Default
          runAsUser: 33

try this has same problem

https://github.com/containerd/containerd/issues/2516

I found a solution to the problem. It might not be the same problem as you, but alas--
tl;dr, the commands in the Dockerfile on RUN setcap ... give the nginx-ingress docker image certain permissions to talk to the root OS. To solve it, I had to SSH onto the k8s host and do docker stop <image> && delete <image>, etc., to purge the built image so the RUN setcap layer would run again... I wonder if setting pullPolicy: Always would help? Idk.
Some more background on the way I solved this--
The docker daemon running on each k8s host caches images in layers. So if the layer which represents RUN setcap... has already been ran and cached, then the final constructed image for kubernetes-ingress will not run that layer again, thus not perform RUN setcap again.
In my case, I started getting these errors when doing an in-place upgrade of the workers in my k8s cluster. I'm not entirely sure why, but I believe that during the upgrade, the permissions configured via RUN setcap were not present on the new set of workers. And the RUN setcap never ran again because it was cached as a layer in the docker image, and thus was never ran.

Hi, Is there any news ?

I solved it by scaling down the number of ingress controllers to 0 (or uninstalling the chart entirely), ssh'ing onto each worker, and performing docker rmi <ingress image>.  I realized my problem was because the nginx docker image does some stuff during startup to grant itself permission on the OS. But those operations are performed as a docker layer; if those layers are cached, they won't run again. This problem happened to me when I changed the instance size of the workers to something larger; BOSH does this by removing the VM volume and remounting it to the new VM. So the cached docker image was there, but the operations the docker image performed did not run again: https://github.com/kubernetes/ingress-nginx/blob/master/rootfs/Dockerfile#L46-L50 TL;DR, had to remove the image so that the image would be rebuilt.
Even if that solves your problem it's still a problem, but maybe try that? ... Or maybe try setting "imagePullPolicy: Always" and see if that forces the image to be rebuilt?

Hello, this command helped me:
docker rm -f <container_id_of_ingress_having_troubles> && docker rmi rancher/nginx-ingress-controller:nginx-0.25.1-rancher1

I solved the issue running the following commands on each worker nodes
sudo fuser -k 80/tcp sudo fuser -k 443/tcp
seems an old port rule bind was stuck

I run into this problem after changing the docker root-dir.
fixed following @aegershman guide:

change the controller replicaset to 0
docker rmi
change the controller replicaset to the origin value

I solved it by scaling down the number of ingress controllers to 0 (or uninstalling the chart entirely), ssh'ing onto each worker, and performing docker rmi <ingress image>. I realized my problem was because the nginx docker image does some stuff during startup to grant itself permission on the OS. But those operations are performed as a docker layer; if those layers are cached, they won't run again. This problem happened to me when I changed the instance size of the workers to something larger; BOSH does this by removing the VM volume and remounting it to the new VM. So the cached docker image was there, but the operations the docker image performed did not run again: https://github.com/kubernetes/ingress-nginx/blob/master/rootfs/Dockerfile#L46-L50 TL;DR, had to remove the image so that the image would be rebuilt.
Even if that solves your problem it's still a problem, but maybe try that? ... Or maybe try setting "imagePullPolicy: Always" and see if that forces the image to be rebuilt?

This Solved my problem, Thanks

I solved it by scaling down the number of ingress controllers to 0 (or uninstalling the chart entirely), ssh'ing onto each worker, and performing docker rmi <ingress image>. I realized my problem was because the nginx docker image does some stuff during startup to grant itself permission on the OS. But those operations are performed as a docker layer; if those layers are cached, they won't run again. This problem happened to me when I changed the instance size of the workers to something larger; BOSH does this by removing the VM volume and remounting it to the new VM. So the cached docker image was there, but the operations the docker image performed did not run again: https://github.com/kubernetes/ingress-nginx/blob/master/rootfs/Dockerfile#L46-L50 TL;DR, had to remove the image so that the image would be rebuilt.
Even if that solves your problem it's still a problem, but maybe try that? ... Or maybe try setting "imagePullPolicy: Always" and see if that forces the image to be rebuilt?

This Solved my problem, Thanks


00-TEST-SNAPSHOT-AGL-master: Pull new image from Docker Hub

Fix issue https://github.com/gmacario/jenkins-build-agl-distro/issues/5
Signed-off-by: Gianpaolo Macario<EMAIL_ADDRESS>

LGTM, merging


refactor(filter-buttons): amend filter buttons style and public-api

Description
Amend filter buttons style by getting rid of 'max-height' because it's not necessary and using 'line-height' instead, and add
checkbox-group to forms index.ts.
Requirements
Storybook link: https://deploy-preview-50--legal-and-general-canopy.netlify.app/?path=/story/components-filter-buttons--select-one
Design link: https://legalandgeneral.invisionapp.com/share/2SZ192MTHZY#/432421864_Filter_Buttons
Checklist:

[x] The commit messages follow the convention for this project
[ ] I have provided an adequate amount of test coverage
[ ] I have added the functionality to the test app
[ ] I have provided a story in storybook to document the changes
[ ] I have provided documentation in the notes section of the story
[ ] I have added any new public feature modules to public-api.ts
[ ] I have linked the new component to adobe DSM (if appropriate)

Looks great, just one query about that checkbox group export.
Also, I wondering if the commit prefix for the styling change should be fix(filter-buttons) instead of refactor(filter-buttons), because it looks like the change could potentially have an actual impact on how the button is rendered. What do you think?

I will change this prefix to style as I just saw that we have that option. :)

Looks great, just one query about that checkbox group export.
Also, I wondering if the commit prefix for the styling change should be fix(filter-buttons) instead of refactor(filter-buttons), because it looks like the change could potentially have an actual impact on how the button is rendered. What do you think?

I will change this prefix to style as I just saw that we have that option. :)

I think style is actually not for CSS styling, but for coding style changes instead. Here's the definition from the Commitizen Conventional Commit Types:
"style": {
    "description": "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)",
    "title": "Styles"
},

Looks great, just one query about that checkbox group export.
Also, I wondering if the commit prefix for the styling change should be fix(filter-buttons) instead of refactor(filter-buttons), because it looks like the change could potentially have an actual impact on how the button is rendered. What do you think?

I will change this prefix to style as I just saw that we have that option. :)

I think style is actually not for CSS styling, but for coding style changes instead. Here's the definition from the Commitizen Conventional Commit Types:
"style": {
    "description": "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)",
    "title": "Styles"
},

Yea, I think this is the case. I will use 'fix' prefix for both commits.

Looks great, just one query about that checkbox group export.
Also, I wondering if the commit prefix for the styling change should be fix(filter-buttons) instead of refactor(filter-buttons), because it looks like the change could potentially have an actual impact on how the button is rendered. What do you think?

I will change this prefix to style as I just saw that we have that option. :)

I think style is actually not for CSS styling, but for coding style changes instead. Here's the definition from the Commitizen Conventional Commit Types:
"style": {
    "description": "Changes that do not affect the meaning of the code (white-space, formatting, missing semi-colons, etc)",
    "title": "Styles"
},

Yea, I think this is the case. I will use 'fix' prefix for both commits.

Done. Used 'fix' prefix in both cases.

@AlexandruHoisan Sorry to be a pain, but I think that button commit could benefit from a slightly more specific message, so it's more useful in the logs.
Maybe instead of amend filter buttons style, it could be something like control height using line-height instead of max-height? (Note that you don't need to mention "filter buttons" again, because it's already in the brackets).

@AlexandruHoisan Sorry to be a pain, but I think that button commit could benefit from a slightly more specific message, so it's more useful in the logs.
Maybe instead of amend filter buttons style, it could be something like control height using line-height instead of max-height? (Note that you don't need to mention "filter buttons" again, because it's already in the brackets).

Done.


[Request - Product] Logstash

Full and short name of product
Logstash.
Does this product have LTS versions? What are the intervals between each LTS version?
No.
What is the website for the product and for its version information?

Landing page : https://www.elastic.co/kibana/
Support matrix: https://www.elastic.co/support/matrix#logstash

Additional context
Logstash is part of the Elastic Stack, and share the same release cadence.

See also: #1928.


impl(pubsub): add the ack handler if otel is enabled

https://github.com/googleapis/google-cloud-cpp/issues/13726

This change is

This PR is ready for review

The PR is ready to review again.

When won't subscribe_span_ exist?

If the subscribe span has ended before the ack call (acked/nacked/expired), it won't be found

Thanks for investigating whether the subscribe_span always exists.

I would (naively) wonder how the subscribe span can end before the ack.

When won't subscribe_span_ exist?

If the subscribe span has ended before the ack call (acked/nacked/expired), it won't be found

Thanks for investigating whether the subscribe_span always exists.

I would (naively) wonder how the subscribe span can end before the ack.

If it expired, so if we held the message and then it could not renew the lease we remove it at an earlier layer.

When won't subscribe_span_ exist?

If the subscribe span has ended before the ack call (acked/nacked/expired), it won't be found

Thanks for investigating whether the subscribe_span always exists.

I would (naively) wonder how the subscribe span can end before the ack.

If it expired, so if we held the message and then it could not renew the lease we remove it at an earlier layer.

Then I might suggest that expiration could possibly not be a catalyst for ending the span.


fix(data-table): Cell alignment

Description
Added properties 'cellAlign' on atomic components TdDataTableColumn and TdDataTableCell to align cell content.
Fixes #871
What's included?

cellAlign: input property

Test Steps

[ ] Open file covalent/src/app/components/components/data-table/data-table.component.ts
[ ]   (Line 108) Change property cellAlign: left to cellAlign:right
[ ] npm run serve
[ ] Open http://localhost:4200/#/components/data-table
[ ] Scroll to card  Custom Data Table  check "gender" column, cell content should align right

General Tests for Every PR

[ ] npm run serve:prod still works.
[ ] npm run tslint passes.
[ ] npm run stylelint passes.
[ ] npm test passes and code coverage is not lower.
[ ] npm run build:lib still works.

are we considering RTL for the alignment?

are we considering RTL for the alignment?

Just committed to work with RTL.


nodetool fails for me...

Environment: Ubuntu 14.04 VM (virtualbox) running on an Ubuntu 12.04 system (yeah, I need to upgrade...)
Cassandra itself comes up fine, and cqlsh works, but nodetool fails:
vagrant@vagrant-ubuntu-trusty-64:~/cassandra/tobert/cassandra-docker$ docker ps
CONTAINER ID        IMAGE                    COMMAND                CREATED             STATUS              PORTS                                                       NAMES
2a98b36187eb        tobert/cassandra:2.1.1   "/bin/cassandra-dock   9 seconds ago       Up 8 seconds        9042/tcp, 9160/tcp, 22/tcp, 61621/tcp, 7000/tcp, 7199/tcp   backstabbing_leakey
2801b02c9b70        tobert/cassandra:2.1.1   "/bin/cassandra-dock   21 minutes ago      Up 21 minutes       9160/tcp, 22/tcp, 61621/tcp, 7000/tcp, 7199/tcp, 9042/tcp   elated_mayer
vagrant@vagrant-ubuntu-trusty-64:~$ docker run -it --rm tobert/cassandra:2.1.1 nodetool
Error: Could not find or load main class org.apache.cassandra.tools.NodeCmd

A couple more datapoints:
I can 'docker exec' the full path to nodetool and it works:
vagrant@vagrant-ubuntu-trusty-64:~$ docker exec -it 2801b02c9b70 /opt/apache-cassandra-2.1.1/bin/nodetool status
Datacenter: datacenter1
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address    Load       Tokens  Owns (effective)  Host ID                               Rack
UN  <IP_ADDRESS>  41.12 KB   256     100.0%            646ea139-fbac-48ba-90a9-9095d1728b1e  rack1
But without the path it fails:
vagrant@vagrant-ubuntu-trusty-64:~$ docker exec -it 2801b02c9b70 nodetool status
Error: Could not find or load main class org.apache.cassandra.tools.NodeCmd
vagrant@vagrant-ubuntu-trusty-64:~$

PR #3 on the road

Thanks a bunch @Rickou412 I've pulled it into my fork...

Oh, good catch. I'll merge this afternoon and publish updated images. Thanks!

OK, master is fixed and I've pushed 2.1.2 to Docker hub and tagged it latest.


feat: Update to latest ffresty

Fix some deprecated APIs from ioutil

Note still in draft as waiting on https://github.com/hyperledger/firefly-common/pull/65, tested using local version

No problem! Closing


#511: Add a delay duration to retry stage

Add support for a client specified delay duration between retries in
Retry Stage.
Thanks for your pull request.  Please review the following guidelines.

[x] Title includes issue id.
[x] Description of the change added.
[x] Commits are squashed.
[x] Tests added.
[x] Documentation added/updated.
[ ] Also please review CONTRIBUTING.md.

Sorry for the late comment.  Just thinking about the java.util.concurrent.DelayQueue usage.  I wonder if it may have any performance implications.  Let's discuss about it.


Incorrect table creation sql script

The article has the Blogs table created before the Posts, yet the later references the former.

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

ID: 24b2b50e-35f8-9e0b-8ce5-840e1ea816e6
Version Independent ID: 9e0e6e2c-48fa-76c3-3bd9-813a6df22645
Content: Introduction to relationships - EF Core
Content Source: entity-framework/core/modeling/relationships.md
Product: entity-framework
Technology: entity-framework-core
GitHub Login: @ajcvickers
Microsoft Alias: avickers

Note for triage: I wasn't expecting this to be run directly, it was just for illustration of the tables, so I made the order align with the text. But I could switch it.


wrong tag for AS check?

Hey @hackermd, sorry to ping you, I'm not sure I have a current email address for you :(
I'm revising the parser and tests and noticed this:
https://github.com/ImagingDataCommons/libdicom/blob/main/tests/check_dicom.c#L210-L214
Could this be a copy-paste typo from the previous test? Should the tag be 0x00101010?

Yes, looks like there was an error in the test suite.

Sorry for the delayed response @jcupitt. Glad you found the error.


Figures

Figures 4 and 6 are latex based figures and when rendered to web page not loaded properly. Please fix this issue on arxiv HTML view.

@ahmadspm which paper was this report filed for? Could you share a link?

Hi Deyan,
Here is the paper link:
https://arxiv.org/html/2406.12513v1. These are errors in arxiv HTML
version.
I think there is an error in rendering certain latex sections. See Section
Research Questions
[image: image.png]
Similarly see this:
[image: image.png]
Regards,
Ahmad Mohsin
On Fri, 26 Jul 2024 at 07:17, Deyan Ginev @.***> wrote:

@ahmadspm https://github.com/ahmadspm which paper was this report filed
for? Could you share a link?
—
Reply to this email directly, view it on GitHub
https://github.com/arXiv/html_feedback/issues/1544#issuecomment-2251554550,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZPJB4ZR2OI4QS7EZMPQ4LZOGBOXAVCNFSM6AAAAABJSV6VJ6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJRGU2TINJVGA
.
You are receiving this because you were mentioned.Message ID:
@.***>


[codemod] Fix build importing esm version of babel/runtime

[x] I have followed (at least) the PR section of the contributing guide.

Fixes #17559
Setting BABEL_ENV fixes babel including the ESM version of @babel/runtime

Thanks :)


Adds install step to github actions

Please also change the name of the workers as discussed in this PR.


Always an .alpackages/.snapshots folder

Please include the following with each issue:
1. Describe the bug
Even when not working with AL. Having the extension installed creates .alpackages and .snapshots folder.
2. To Reproduce
Steps to reproduce the behavior:

Open empty folder in vscode
Run dotnet new console
An empty .alpackages and .snapshots folder also appear

3. Expected behavior
No AL related stuff as long there is no app.json in the folder/solution.
4. Actual behavior

5. Versions:

AL Language: latest per 6-6-24
Visual Studio Code: latest per 6-6-24
Business Central: doesn't matter
List of Visual Studio Code extensions that you have installed: AL

Hi, I couldn't reproduce this, can you please check that you're not missing any step in the "To Reproduce:" section, and that you don't have anything relevant in you setup that is not mentioned in the "Versions" section, such as other installed VSCode extensions or AL global settings? Thanks!

I've split up my workloads and started using VSCode profiles where depending doing AL/C#/Java/Node I use a different profile with each their own settings/extensions. This way Java does not activate when doing AL, and AL does not activate when doing C#


Cannot find a way to start it

I get this error: unknown command 'extension:searchsync'
What am  I missing ?

I'm having the same issue. Do you have any updates on this?. Thanks

Hi @quentinglorieux
I've just did it (by chance). You just have to position inside the extensions/directus-extension-searchsync/ directory and run the "npx directus". This will load the plugin.
/directus/extensions $ npx directus
Usage: directus [command] [options]

Options:
  -v, --version        output the version number
  -h, --help           display help for command

Commands:
  start                Start the Directus API
  init                 Create a new Directus Project
  security
  database
  users
  roles
  count <collection>   Count the amount of items in a given collection
  bootstrap [options]  Initialize or update the database
  schema
  help [command]       display help for command
[14:44:53.559] WARN: Couldn't load extensions
[14:44:53.559] WARN: Current folder does not contain a package.json file
    err: {
      "type": "Error",
      "message": "Current folder does not contain a package.json file",
      "stack":
          Error: Current folder does not contain a package.json file
              at getPackageExtensions (/directus/node_modules/@directus/shared/dist/cjs/utils/node/get-extensions.js:84:15)
              at async ExtensionManager.getExtensions (/directus/node_modules/directus/dist/extensions.js:249:35)
              at async ExtensionManager.load (/directus/node_modules/directus/dist/extensions.js:183:31)
              at async ExtensionManager.initialize (/directus/node_modules/directus/dist/extensions.js:97:13)
              at async createCli (/directus/node_modules/directus/dist/cli/index.js:27:5)
    }
/directus/extensions $ cd directus-extension-searchsync/
/directus/extensions/directus-extension-searchsync $ ls
LICENSE            README.md          index.js           jsconfig.json      lib                node_modules       package-lock.json  package.json       types.ts
/directus/extensions/directus-extension-searchsync $ npx directus
Usage: directus [command] [options]

Options:
  -v, --version         output the version number
  -h, --help            display help for command

Commands:
  extension:searchsync
  start                 Start the Directus API
  init                  Create a new Directus Project
  security
  database
  users
  roles
  count <collection>    Count the amount of items in a given collection
  bootstrap [options]   Initialize or update the database
  schema
  help [command]        display help for command
[14:45:36.665] INFO: Loaded extensions: directus-extension-searchsync

But now I'm facing an indexing issue wich I don't know how to solve really:
/directus/extensions/directus-extension-searchsync $ npx directus extension:searchsync index [14:56:28.589] INFO: Loaded extensions: directus-extension-searchsync [14:56:28.807] WARN: Cannot drop collection "prueba". Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.830] WARN: Cannot index "prueba/3". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.835] WARN: Cannot index "prueba/4". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.841] WARN: Cannot index "prueba/5". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.848] WARN: Cannot index "prueba/6". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.853] WARN: Cannot index "prueba/7". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.858] WARN: Cannot index "prueba/8". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.864] WARN: Cannot index "prueba/9". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.870] WARN: Cannot index "prueba/10". Error: Request failed with status code 400     extension: "directus-extension-searchsync" [14:56:28.876] WARN: Cannot index "prueba/2". Error: Request failed with status code 400     extension: "directus-extension-searchsync"

What is your setup? Are you using Docker?

@LeBenLeBen Yes, I'm using docker engine v20, directus v9.23.1 and ELK Stack v 8.4.2

Installing extensions from npm in the defaut Directus setup doesn’t work very well since the container doesn’t use the package.json. I personally create a custom container that load and install a local package.json where I installed the extension.
You can check my setup here:

Directus directory with Dockerfile, package.json and searchsync.config.js: https://github.com/LeBenLeBen/cookr-node/tree/directus/packages/backend
Docker compose: https://github.com/LeBenLeBen/cookr-node/blob/directus/docker-compose.yml#L33-L44
Command to reindex: https://github.com/LeBenLeBen/cookr-node/blob/directus/README.md#reindexing-recipes


⚠ App has degraded performance

In b8a47c2, App (https://app.tandoor.dev/) experienced degraded performance:

HTTP code: 200
Response time: 7755 ms

Resolved: App performance has improved in dd984c3.


[Usage] The training always stuck after formatting inputs

Describe the issue
Issue:
In pretraining or finetuning, the training always stuck after the log "Formatting inputs...Skip in lazy mode". Everytime I need to force shutting down my GPU server because it was out-of-response. Both the GUI and the SSH does not response at all.

Creating extension directory /home/xxx/.cache/torch_extensions/py310_cu117/cpu_adam...
Using /home/xxx/.cache/torch_extensions/py310_cu117 as PyTorch extensions root...
Detected CUDA files, patching ldflags
Emitting ninja build file /home/xxx/.cache/torch_extensions/py310_cu117/cpu_adam/build.ninja...
Building extension module cpu_adam...
Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
[1/4] /usr/local/cuda/bin/nvcc  -DTORCH_EXTENSION_NAME=cpu_adam -D ...
[2/4] c++ -MMD -MF cpu_adam.o.d -DTORCH_EXTENSION_NAME=cpu_adam ...
[3/4] c++ -MMD -MF cpu_adam_impl.o.d -DTORCH_EXTENSION_NAME=cpu_adam ...
[4/4] c++ cpu_adam.o cpu_adam_impl.o custom_cuda_kernel.cuda.o - ...
Loading extension module cpu_adam...
Time to load cpu_adam op: 39.41885256767273 seconds
Loading extension module cpu_adam...
Time to load cpu_adam op: 39.50555872917175 seconds

I tried to remove folders under ~/.cache/torch_extensions, the stuck still happens.
My machine has 10*RTX 3090 and RAM (512G to 1T). In the above command, I just try to use 2 cards. As the machine breaks down everytime I start training. The environment exactly follows the instructions except for two additional commands "pip install deepspeed -U" and "pip install accelerate -U".
I have no idea what was wrong. Please help~
Screenshots:

Can it work well with inferencing? https://github.com/PKU-YuanGroup/MoE-LLaVA?tab=readme-ov-file#cli-inference

@LinB203
Inference codes are OK. I tried "LanguageBind/MoE-LLaVA-Phi2-2.7B-4e".

Could you try use deepspeed --include localhost:0,1 moellava/train/train_mem.py to specify 2 gpus?

When I used deepspeed --include localhost:0,1 moellava/train/train_mem.py, the training begins as magic.
However, when I switched to multiple cards (2 or 4 or 8) such as "deepspeed --include localhost:0,1 moellava/train/train_mem.py", it will stuck after Formatting inputs...Skip in lazy mode  without any logs.
I test two deepspeed versions '0.9.5' and '0.13.2'. The results are the same.
@LinB203

After exhaustive search on similar problems, I find that add export NCCL_P2P_DISABLE=1 can solve the problem!
However, I still wonder:
1.Why this solves the problem?
2.Does this env variable affects the training efficiency or performance?
What do you think?
@LinB203

经过对类似问题的穷举查找，发现addexport NCCL_P2P_DISABLE=1可以解决问题！
但是，我仍然想知道： 1.为什么这样可以解决问题？ 2.这个env变量会影响训练效率或性能吗？
你怎么认为？ @LinB203

I have had this problem on other machines and solved it with this method. This environment variable is just a mode to enable multi-GPU communication as you can run on a single gpu but fail on multi-gpus. It does not affect performance.

OK, thanks a lot! Wish my experiences can help others!

I face such problem too. But I am trying to run the finetune.sh if I run with 2*H100 it runs the model but when I use +2 GPUS it gets stuck in  Formatting inputs...Skip in lazy mode. I am using torch 2.1.2 and transformers 4.44. any help would be appreciated.


ini-configuration-tests need adjustment

As can be seen in this job the ini-configuration-tests need an adjustment due to ansible-core==2.16.4 not being available for python==3.9.

As this is often a Problem, can you separate and create two "jobs" which have their own matrix.
Best would be three jobs for each version of non EOL core and then we can add for the specific core version the "python versions"
      matrix:
        distro: [ubuntu2204]
        ansible: ['2.15.x']
        python: ['3.9','3.10','3.11']

https://docs.ansible.com/ansible/latest/reference_appendices/release_and_maintenance.html#ansible-core-support-matrix

Closed by #316


[Bug]: set File tree in repository: Obsidian Path, but all image copy to null directory result in "not found"

Issue validation

[X] I checked the issue to prevent duplicate
[X] I checked my configurations files and the documentation

Command used
Upload all notes
Plugin version
5.5.1
Describe the bug
I set File tree in repository: Obsidian Path,

but all attachment/image copy to null directory, see here, and netlify build log show:
Documentation file 'notes/obsidian发布的免费替代品.md' contains a link to 'Pasted%20image%2020230322202613.png' which is not found in the documentation files.

ps: my attachment store in docs/asset

How to reproduce ?

add an image in docs: get ![[Pasted image<PHONE_NUMBER>2613.png]]
upload
in github repo : image store in null directory

Minimal Reproducible Example

share: true
![[Pasted image<PHONE_NUMBER>2613.png]]
Configuration
{
  "github": {
    "user": "jackiexiao",
    "repo": "publisher-template-netlify",
    "branch": "main",
    "automaticallyMergePR": true,
    "api": {
      "tiersForApi": "Github Free/Pro/Team (default)",
      "hostname": ""
    },
    "worflow": {
      "customCommitMsg": "[PUBLISHER] Merge",
      "workflowName": ""
    }
  },
  "upload": {
    "behavior": "obsidian",
    "defaultName": "",
    "rootFolder": "",
    "yamlFolderKey": "",
    "frontmatterTitle": {
      "enable": false,
      "key": "title"
    },
    "replaceTitle": [],
    "replacePath": [],
    "autoclean": {
      "enable": false,
      "excluded": []
    },
    "folderNote": {
      "enable": false,
      "rename": "index.md"
    },
    "metadataExtractorPath": ""
  },
  "conversion": {
    "hardbreak": false,
    "dataview": true,
    "censorText": [
      {
        "entry": "/%%[\\d\\D]*%%/",
        "replace": "",
        "after": false
      }
    ],
    "tags": {
      "inline": false,
      "exclude": [],
      "fields": []
    },
    "links": {
      "internal": false,
      "unshared": false,
      "wiki": false
    }
  },
  "embed": {
    "attachments": true,
    "keySendFile": [],
    "notes": false,
    "folder": ""
  },
  "plugin": {
    "shareKey": "share",
    "fileMenu": false,
    "editorMenu": false,
    "excludedFolder": [],
    "copyLink": {
      "enable": false,
      "links": "",
      "removePart": [],
      "addCmd": false
    },
    "noticeError": false,
    "displayModalRepoEditing": false
  }
}

Relevant log output
12:32:24 AM: WARNING  -  Documentation file 'notes/obsidian发布的免费替代品.md' contains a link to 'Pasted%20image%2020230322202613.png' which is not found in the documentation files.

### OS

Windows

### Anything else?

_No response_

### Obsidian information

```shell
SYSTEM INFO:
	Obsidian version: v1.1.16
	Installer version: v1.1.16
	Operating system: Windows 10 Home China 10.0.22000
	Login status: logged in
	Catalyst license: insider
	Insider build toggle: on
	Live preview: on
	Legacy editor: off
	Base theme: dark
	Community theme: Obsidian Nord
	Snippets enabled: 0
	Restricted mode: off
	Plugins installed: 45
	Plugins enabled: 30
		1: Spaced Repetition v1.10.0
		2: Vimrc Support v0.9.0
		3: QuickAdd v0.12.0
		4: Calendar v1.5.10
		5: Quick Switcher++ v2.3.8
		6: Recent Files v1.3.5
		7: Table of Contents v0.1.4
		8: Remember cursor position v1.0.7
		9: Outliner v4.2.1
		10: Dataview v0.5.55
		11: Zoom v1.1.1
		12: Show Current File Path v0.5.2
		13: Mind Map v1.1.0
		14: Note Refactor v1.7.1
		15: Obsidian42 - BRAT v0.6.36
		16: Remotely Save v0.3.25
		17: Highlightr v1.2.2
		18: Find orphaned files and broken links v1.8.0
		19: Excalidraw v1.8.19
		20: Omnisearch v1.13.0
		21: Markdown Table Editor v0.3.1
		22: Word Splitting for Simplified Chinese in Edit Mode and Vim Mode v1.10.0
		23: Markdown shortcuts v0.4.0
		24: Reminder v1.1.15
		25: Global Hotkeys v0.1.2
		26: Clear Unused Images v1.1.0
		27: Templater v1.16.0
		28: Quick Latex for Obsidian v2.5.1
		29: Github Publisher v5.5.1
		30: Obsidian Git v2.17.4

RECOMMENDATIONS:
	Custom theme and snippets: for cosmetic issues, please first try updating your theme and disabling your snippets. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community theme and snippets.
	Community plugins: for bugs, please first try updating all your plugins to latest. If still not fixed, please try to make the issue happen in the Sandbox Vault or disable community plugins.

Thanks for all information!
Will try to reproduce the issue.

I think I know where is the problem : you don't have any folder set in the assets folder :

thx!! problem solved, and I thinks it would be reasonable to have a default setting to docs/images,  users sometimes will forget to set this value

Yes, I fix that in a new update! I forgot the use of an "empty" folder


Remove -arch i386 if -arch x86_64 is present in the compilation flags

@jeanlaroche can you confirm this is still necessary after the upgrade of your system?

@jeanlaroche can you confirm this is still necessary after the upgrade of your system?
As far as I can tell it's still necessary. I'm still getting the error if both flags are present. This is with
Apple LLVM version 9.1.0 (clang-9<IP_ADDRESS>)
which I believe is the current version of the compiler.

Merged as b966fe6c


Bump ndk-glue release?

I'd like to bump the ndk-glue dependency of some other crates to sync things up, so would be nice with a new release.
Any planned soon?

https://github.com/rust-windowing/android-ndk-rs/pull/191 Not even planned, already scheduled :)
Just pending the CI shooting us in the foot all the time.

@hrydgard The ndk-glue 0.5.0 release was made 5 days ago :)


Feature - Table of Contents

Is it possible to add Table of Contents feature where we can show the page numbers.
Few tables might run into next pages so even in this case we need to get the page numbers as per the modules in it.

@PejmanNik  Tried as per the discussion in #4 but didn't seem to work.
Below is my sample code.
const MainLayout = () => (
  <ReportView>
    <ReportRoot>

        <PageContent>
          <CoverPage />
        </PageContent>

        <PageHeader>

        </PageHeader>

        <PageContent>
          <DesignComponent1 />
          <PageBreak />

          <DesignComponent2 />
          <PageBreak />

          <DesignComponent3 />
          <PageBreak />

          <DesignComponent4 />
          <PageBreak />

          <DesignComponent5 />
          <PageBreak />

          <DesignComponent6 />
          <PageBreak />
        </PageContent>

        <PageFooter>

        </PageFooter>

    </ReportRoot>
  </ReportView>
);

Within the PageContent I have differnet design components. Based on some conditions i'll hide the components.
Tried usePageInfo() -> pageNumber  in  which generates number from 0 - n but how to map it to each component.
Below I have put the sample components and their respective page numbers which might be generated. (3, 5, 6, 9) not shown because those components might contain tables or it might have run into new pages which shouldn't be part of table of contents.

DesignComponent1 - Page 1
DesignComponent2 - Page 2
DesignComponent3 - Page 4
DesignComponent4 - Page 7
DesignComponent5 - Page 8
DesignComponent6 - Page 10

So can you lmk if above scenario is achievable

Sorry, I think I didn't understand your issue with the approach,  but basically, you need to call usePageInfo inside the DesignComponentN and it will give you the active page that the DesignComponentN is rendering inside it

Tried using usePageInfo() -> pageNumber in each component but it always shows 0
DigitalRiskView, RiskScorecardView, ThridPartyView is nothing but DesignComponents (sample names given for you)

oh, that is a bug, it should be easy to fix.

i created #16


Fix escaping of Unicode characters that would break parsing.

In the Souffle converter, Unicode characters in strings were being escaped as '\uXXXX' sequences in ASCII. This would break the parser during insert. This PR keeps the original Unicode characters in place, so that parsing succeeds.

@gfour, thanks for contributing the fix!


engine: remove unused code.

we don't use reverse later?

It doesn't need to exist in engine.

PTAL @siddontang @BusyJay @disksing

LGTM

LGTM


Coin Pouch Notification

Add pickpocketing plugin to send a notification when the player cannot hold anymore coin pouches. Closes #4308.

The chat notifications plugin can already be configured to do this - why is this better?

This will notify you as soon as you get 28 pouches. Using chat notifications, you can only get a notification if you attempt to pickpocket with 28 pouches in your inventory.

I've opened #4352 to update ItemID for you

Updated to use ItemID.

Can this be implemented?


Increase list test coverage

Increase test coverage for list
Fix bugs found by new tests
Add Patch.MAP to patch

Codecov Report

Merging #21 (8832f01) into main (0633f86) will increase coverage by 2.03%.
The diff coverage is 94.08%.

@@            Coverage Diff             @@
##             main      #21      +/-   ##
==========================================
+ Coverage   79.15%   81.19%   +2.03%
==========================================
  Files         214      215       +1
  Lines       13151    13190      +39
  Branches     2228     2236       +8
==========================================
+ Hits        10410    10709     +299
+ Misses       2689     2430     -259
+ Partials       52       51       -1

Impacted Files
Coverage Δ

packages/list/test/setupTests.ts
50.00% <50.00%> (ø)

packages/actor/src/actor.ts
83.33% <75.00%> (ø)

packages/list/src/implementation/leaf/non-empty.ts
88.34% <90.90%> (+6.60%)
:arrow_up:

packages/actor/src/obs.ts
98.62% <98.57%> (-1.38%)
:arrow_down:

packages/actor/src/internal.ts
100.00% <100.00%> (ø)

packages/common/src/eq.ts
85.03% <100.00%> (-1.58%)
:arrow_down:

packages/deep/src/patch.ts
92.15% <100.00%> (+1.24%)
:arrow_up:

packages/list/src/builder/leaf/block-builder.ts
91.78% <100.00%> (+0.23%)
:arrow_up:

...s/list/src/implementation/nonleaf/nonleaf-block.ts
84.32% <100.00%> (+60.59%)
:arrow_up:

...es/list/src/implementation/nonleaf/nonleaf-tree.ts
21.78% <100.00%> (+20.11%)
:arrow_up:

... and 10 more

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 168bf22...8832f01. Read the comment docs.


There is no input directory for loading network from ./data/pretrained_model//vgg16/pascal_voc

Traceback (most recent call last):
File "test_net.py", line 147, in
raise Exception('There is no input directory for loading network from ' + input_dir)
Exception: There is no input directory for loading network from ./data/pretrained_model//vgg16/pascal_voc

The file that can be downloaded is a file for classification.
Training is required for detection in the file.
trainval_net.py


Lists ordering

Hi,
Thank you for your beautiful tool.
I have been trying it and point it would be cool changing is the ordering of the lists so that it is the right one in all three class_results, superclass_results and pathway_results.
Here is an example of a result I got:

smiles
class
superclass
pathway
glycoside
fp1
fp2

Cc1coc2c1C(=O)C(=O)c1c-2ccc2c1CCCC2(C)C
['Abietane diterpenoids', 'Naphthoquinones']
['Naphthalenes', 'Diterpenoids']
['Polyketides', 'Terpenoids']
False
...
...

It would be great to have ['Naphthoquinones', 'Abietane diterpenoids']
The website has the same issue.
Best

Oh, we will apply this idea to next update !
Thanks

Hi @ChungmaruQ, I followed your January 1.5 update with a lot of enthusiasm, but it seems you forgot me! x(
Lists still look ordered alphabetically...
Thank you again for your hard work!

Pinging here also


[3.x] Separate set.h from map.h

Removes "unused" include for set.h in map.h and adds proper header file instead. The only place in Godot where data structure from set.h is used is file_access_pack.h and it should be included explicitly. In all other cases we are forcing preprocessor to concatenate unused code from set.h everywhere map.h is included.
Edit: 3.x version of #47886.

Thanks!


Matrix dimension error when I am trying to inference

please use torchdrug=0.1.2

please use torchdrug=0.1.2

Thank you for your response. I installed torchdrug=0.1.2 but still have that issue.

That's strange. maybe creating a fresh new environment, and repeat the installation could solve it.

could be the input smiles has an extra Hydrogen exists?  maybe add something like "Chem.RemoveAllHs(mol)" could work.

@luwei0917
I just tried it, but that still does not work.
Can you try docking using this data  in your environment?
This will help my project a lot, thank you so much.
Duy

This is what I got. (I updated my code, and below the most recent version result.)
Hope this helps.
Diphenhydramine_ligand
RDKit          3D
19 20  0  0  0  0  0  0  0  0999 V2000
10.3070    0.2890  -12.9240 C   0  0  0  0  0  0  0  0  0  0  0  0
9.2510   -0.2110  -12.0450 N   0  0  0  0  0  0  0  0  0  0  0  0
9.6180   -1.5130  -11.4920 C   0  0  0  0  0  0  0  0  0  0  0  0
7.9840   -0.3020  -12.7700 C   0  0  0  0  0  0  0  0  0  0  0  0
6.8530   -0.6830  -11.8280 C   0  0  0  0  0  0  0  0  0  0  0  0
6.3290    0.5010  -11.2400 O   0  0  0  0  0  0  0  0  0  0  0  0
5.5330    0.2090  -10.0990 C   0  0  0  0  0  0  0  0  0  0  0  0
6.3580    0.3570   -8.8370 C   0  0  0  0  0  0  0  0  0  0  0  0
7.6760    0.7630   -8.9370 C   0  0  0  0  0  0  0  0  0  0  0  0
8.4350    0.8990   -7.7760 C   0  0  0  0  0  0  0  0  0  0  0  0
7.8630    0.6280   -6.5330 C   0  0  0  0  0  0  0  0  0  0  0  0
6.5320    0.2200   -6.4510 C   0  0  0  0  0  0  0  0  0  0  0  0
5.7730    0.0830   -7.6140 C   0  0  0  0  0  0  0  0  0  0  0  0
4.2620    1.0360  -10.0750 C   0  0  0  0  0  0  0  0  0  0  0  0
3.0850    0.4470   -9.6520 C   0  0  0  0  0  0  0  0  0  0  0  0
1.9150    1.2070   -9.6280 C   0  0  0  0  0  0  0  0  0  0  0  0
1.9450    2.5430  -10.0270 C   0  0  0  0  0  0  0  0  0  0  0  0
3.1420    3.1200  -10.4500 C   0  0  0  0  0  0  0  0  0  0  0  0
4.3110    2.3590  -10.4750 C   0  0  0  0  0  0  0  0  0  0  0  0
7  6  1  0
6  5  1  0
2  4  1  0
2  1  1  0
2  3  1  0
7  8  1  0
7 14  1  0
8  9  2  0
8 13  1  0
14 15  2  0
14 19  1  0
5  4  1  0
9 10  1  0
15 16  1  0
13 12  2  0
19 18  2  0
10 11  2  0
16 17  2  0
12 11  1  0
18 17  1  0
M  END
$$$$

This is what I got. (I updated my code, and below the most recent version result.) Hope this helps.
Diphenhydramine_ligand RDKit 3D
19 20 0 0 0 0 0 0 0 0999 V2000 10.3070 0.2890 -12.9240 C 0 0 0 0 0 0 0 0 0 0 0 0 9.2510 -0.2110 -12.0450 N 0 0 0 0 0 0 0 0 0 0 0 0 9.6180 -1.5130 -11.4920 C 0 0 0 0 0 0 0 0 0 0 0 0 7.9840 -0.3020 -12.7700 C 0 0 0 0 0 0 0 0 0 0 0 0 6.8530 -0.6830 -11.8280 C 0 0 0 0 0 0 0 0 0 0 0 0 6.3290 0.5010 -11.2400 O 0 0 0 0 0 0 0 0 0 0 0 0 5.5330 0.2090 -10.0990 C 0 0 0 0 0 0 0 0 0 0 0 0 6.3580 0.3570 -8.8370 C 0 0 0 0 0 0 0 0 0 0 0 0 7.6760 0.7630 -8.9370 C 0 0 0 0 0 0 0 0 0 0 0 0 8.4350 0.8990 -7.7760 C 0 0 0 0 0 0 0 0 0 0 0 0 7.8630 0.6280 -6.5330 C 0 0 0 0 0 0 0 0 0 0 0 0 6.5320 0.2200 -6.4510 C 0 0 0 0 0 0 0 0 0 0 0 0 5.7730 0.0830 -7.6140 C 0 0 0 0 0 0 0 0 0 0 0 0 4.2620 1.0360 -10.0750 C 0 0 0 0 0 0 0 0 0 0 0 0 3.0850 0.4470 -9.6520 C 0 0 0 0 0 0 0 0 0 0 0 0 1.9150 1.2070 -9.6280 C 0 0 0 0 0 0 0 0 0 0 0 0 1.9450 2.5430 -10.0270 C 0 0 0 0 0 0 0 0 0 0 0 0 3.1420 3.1200 -10.4500 C 0 0 0 0 0 0 0 0 0 0 0 0 4.3110 2.3590 -10.4750 C 0 0 0 0 0 0 0 0 0 0 0 0 7 6 1 0 6 5 1 0 2 4 1 0 2 1 1 0 2 3 1 0 7 8 1 0 7 14 1 0 8 9 2 0 8 13 1 0 14 15 2 0 14 19 1 0 5 4 1 0 9 10 1 0 15 16 1 0 13 12 2 0 19 18 2 0 10 11 2 0 16 17 2 0 12 11 1 0 18 17 1 0 M END $$$$

Thank you so much, can you share the newest code for this one?

I still cannot see any new commit on the main branch.

@luwei0917  I just evaluated the score for the result above, the result is very promising.
CNNscore: 0.45801
CNNaffinity: 5.54829
CNNvariance: 0.20558
Intramolecular energy: -0.64148```

Please share the notebook / code that you ran for this example. This will help me a lot.

I'm sorry. I thought you only need a result. The new code is currently for in-house use only. I tried with with github version. It also works. I don't know what happened. I have uploaded my notebook to your google drive.


App crashes cause of NullPointerException

Hello!
I dont know why, but sometimes my app crashes, because Stetho has a NullPointerException in the OkHttpInspectorResponse - connectionId method. It will return the connection hashcode as ID, but it seems the connection is NULL which causes the exception and the crash of my app.
I cannot make a "workaround", as the OkHttpInspectorResponse is a privat class in the StethoInterceptor class.
And I cannot reproduce the bug all the time. Sometimes the app crashes while I am looking at tables or watching the network-traffic.
Here is the stacktrace of it:
12-12 16:15:00.051 20886 24199 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.Object.hashCode()' on a null object reference
12-12 16:15:00.051 20886 24199 E AndroidRuntime: 	at com.facebook.stetho.okhttp3.StethoInterceptor$OkHttpInspectorResponse.connectionId(StethoInterceptor.java:226)
12-12 16:15:00.051 20886 24199 E AndroidRuntime: 	at com.facebook.stetho.inspector.network.NetworkEventReporterImpl.responseHeadersReceived(NetworkEventReporterImpl.java:145)
12-12 16:15:00.051 20886 24199 E AndroidRuntime: 	at com.facebook.stetho.okhttp3.StethoInterceptor.intercept(StethoInterceptor.java:70)
12-12 16:15:00.051 20886 24199 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
12-12 16:15:00.051 20886 24199 E AndroidRuntime: 	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)

This occurs when you use addInterceptor instead of addNetworkInterceptor with OkHttp.  I'm going to apply a patch to Stetho to at least make this issue clearer since it gets reported a lot :)

You were right, I had used addNetworkInterceptor for all connections, but for the amazon-s3 connection I used addInterceptor...
Thanks for the help!


Implement OpenSSL secure memory for Windows on 1.1.1

NOTE: This is a backport of #13172 to 1.1.1.  I'm not sure if this is a candidate for backport, but if it is I'd like to submit it.
Hello, please review this pull request implementing CRYPTO_secure_malloc and the associated functions for the Windows platform using equivalent functions such as VirtualAlloc for mmap, etc. Thank you.
Checklist
Documentation for CRYPTO_secure_malloc(3) doesn't seem to mention which platforms are and are not supported, so I do not believe any update is required.
Existing secmemtest should cover Windows implementation

I don't think this is suitable for 1.1.1.
But it would be for the LTS+ release that's being discussed (assuming that a future vote for having such a release passes).
I suspect that #13172 would cherrypick cleanly to 1.1.1.  I don't remember any churn in the secure memory code.  If correct, there is no need for a separate pull request, whoever merges would do both branches.

But it would be for the LTS+ release

So far we've only included new platforms and performance improvements in the scope for this. Currently this is neither of those things. If we want to allow this sort of thing then we might need to do a bit more work on the definition of what is allowed into LTS+.

Yeah, I commented too freely.
This could be argued as being a security fix, although that's pushing things I think.

It is a security hardening feature. If we would want to allow such things in LTS+ release is a matter for discussion.

It is a security hardening feature.

Under the LTS+ proposal security hardening is allowed even in LTS releases. But this goes beyond just hardening (which I would typically take to mean improve the behaviour of existing functionality for security purposes). Adding new features seems to go beyond what an LTS(+) is about.
However, this is actually slightly different. Its about extending an existing feature to an existing platform where that feature does not yet exist. Which is not too far removed from "adding a new platform", so I could see us adding it as a third bullet under the list of extra things allowed in LTS+.

Unfortunately, cherry picking the other PR into the 1.1.1 stable branch has conflicts, that's why I made this branch.  They're minor, but they're fixed here.

Its about extending an existing feature to an existing platform where that feature does not yet exist. Which is not too far removed from "adding a new platform", so I could see us adding it as a third bullet under the list of extra things allowed in LTS+.

This is my perspective.  One of the platforms didn't have an implementation of a security hardening feature that the other platforms had.  It's not really a new feature per se.  It's completing the port of the existing feature set.


Sign up data for course

This seems like the same pull as one I merged, your signup should already be there now :)

Thanks, Dirk.  I can't seem to view my course.
On Wed, Jan 14, 2015 at 10:34 AM, Dirk Uys<EMAIL_ADDRESS>wrote:

This seems like the same pull as one I merged, your signup should already
be there now :)
—
Reply to this email directly or view it on GitHub
https://github.com/p2pu/course-in-a-box/pull/65#issuecomment-69933840.

It should be at http://patterbh.github.io/course-in-a-box/, but it doesn't show? I checked out your code locally and it doesn't seem like Jekyll has any problems with it? Did you receive any error messages when you made changes to the repository? I wonder if we can ask someone from GitHub to have a look?

Just got a reply back from GitHub, seems like you need to verify your email address and then make an edit before you'll be able to see your course.


[FEATURE] Improve documentation

Is your feature request related to a problem?
I have to read the documentation from elastisearch-dsl-py in order to be able to use most of this library
What solution would you like?
The actual tutorial it doesn't explain nothing about Document, Index and search classes which are the main point of this library. I understand this is kind of new, but in order for people to use your solutions Dev experience should be improved.
What alternatives have you considered?
Read the documentation of the original library, which speaks kind of bad from this alternative versus the original

Documentation is available here -- https://opensearch-project.github.io/opensearch-py/api-ref/helpers.html


cmp two same slice, but sub item is unordered

`
type Item struct {
Media string
Size  int64
}
func main() {
standard := []Item{
	Item{
		Media: "SSD",
		Size:  100,
	},

	Item{
		Media: "HDD",
		Size:  200,
	},
}

test1 := []Item{
	Item{
		Media: "HDD",
		Size:  200,
	},
	Item{
		Media: "SSD",
		Size:  100,
	},
}

fmt.Println(cmp.Equal(standard, test1))

}
want: true, got: false
`

func Equal(x, y interface{}, opts ...Option) bool
later, I use opts solved it, can it handle the disorder case without additional  opts

later, I use opts solved it, can it handle the disorder case without additional opts

No. cmp.Equal has a well-defined set of rules that it follows. Specifically, it says that it cares about ordering of slices. You may want to take a look at cmpopts.SortSlices.


[zh] Add 10 .md localizations

Done

[x] Add cluster.md localization to zh.
[x] Add cloud_native_apps.md localization to zh.
[x] Add cloud_native_security.md localization to zh.
[x] Add contianer_image.md localization to zh.
[x] Add containization.md localization to zh.
[x] Add contianer_as_a_server.md localization to zh.
[x] Add kubernetes.md localization to zh.
[x] Fix typos of cloud_native_tech.md
[x] Add countinuous_integration.md localization to zh.
[x] Add countinuous_delivery.md localization to zh.

Good work! This PR should be reviewed after https://github.com/cncf/glossary/pull/489. Before that, don't forget to rebase it.

LGTM.

I just figured out some conflict here by my mistakes.
container_image.md #590 and continuous_delivery.md #591 existed.


Export 3D objects(split) Crash

We should have check folder exist firstly.

I don't think users can choose a folder that does not exist.


Cannot Crop Bitmap

I am trying to crop a bitmap, but I get following exception. I have tried using code from example
Future<Uint8List> batchOperationsImageIsolate(List imageData) async {
  final Uint8List byteData = imageData[0];
  final int width = imageData[1];
  final int height = imageData[2];

  final Bitmap bigBitmap = Bitmap.fromHeadless(width, height, byteData);

  final Bitmap returnBitmap = bigBitmap.applyBatch([
    BitmapAdjustColor(
      saturation: 1.9,
    ),
    BitmapCrop.fromLTWH(
      left: 10,
      top: 10,
      width: width - 20,
      height: height - 20,
    ),
  ]);

  return returnBitmap.content;
}

E/flutter ( 3386): [ERROR:flutter/lib/ui/ui_dart_state.cc(186)] Unhandled Exception: Bad state: Too few elements
E/flutter ( 3386): #0      _TypedIntListMixin.setRange (dart:typed_data-patch/typed_data_patch.dart:409:7)
E/flutter ( 3386): #1      RGBA32BitmapHeader.applyContent
package:bitmap/src/bitmap.dart:136
E/flutter ( 3386): #2      Bitmap.buildHeaded
package:bitmap/src/bitmap.dart:79
E/flutter ( 3386): #3      ImageValueNotifier.batchOperations
package:image_editor/widgets/image_notifier.dart:179
E/flutter ( 3386): <asynchronous suspension>

This may happen due to a bitmap instance not matching the content length. In other words, you may have too few or too many bytes for the size expected. I see that the isolate function only returns the content of the bitmap. Make sure you set the right width and height for the bitmap when getting that result.

Yes you are right @renancaraujo , that was the issue. Thanks.


RCL + Libman: Restored files don't get packed / published at the correct location in final app.

Copy from the original issue I filed in the AspNet.Core repo:
https://github.com/dotnet/aspnetcore/issues/34039
Describe the bug
Files that are restored with the Microsoft.Web.LibraryManager.Build (LibMan) inside a Razor Class Library (RCL) are not deployed to the correct location in the final consuming app (e.g. Blazor Server App).
Instead of being deployed to:
wwwroot/_content/<RCL Package Name>/
they are deployed to
wwwroot/
This happens only if the files are not yet restored when you pack / publish the app. Once the files are restore they are correctly deployed in subsequent builds.
dotnet version:
5.0.300
environments:
dotnet cli (e.g. dotnet pack)
Visual Studio (pack context menu)
Solution
I found out that the ResolveCurrentProjectStaticWebAssetsInputs target takes content files as its input. The LibraryManagerRestore on the other hand doesn't produce content items. If you apply the following workaround, the issue disappears:
...
  <PropertyGroup>

<ResolveCurrentProjectStaticWebAssetsInputsDependsOn>LibraryManagerRestore;FixLibManRestore;$(ResolveCurrentProjectStaticWebAssetsInputsDependsOn)</ResolveCurrentProjectStaticWebAssetsInputsDependsOn>

  </PropertyGroup>

  <Target Name="FixLibManRestore" AfterTargets="LibraryManagerRestore">
  <ItemGroup>
            <Content  Include="%(FilesForPackagingFromProject.Identity)" Exclude="@(Content)">
            </Content>
        </ItemGroup>

  </Target>

...

Is there any progress? I have just spent too much time figuring out that this issue caused a production failure

Any update on this? If there is a proposed solution, why not use it?


feat: back-office project subscriber function with prisma

Describe your changes
Ticket: https://pins-ds.atlassian.net/browse/ASB-1973
This techdeb PR updates the back-office subscriber function for projects to use Prisma. Similar to the convention we have set in exam-timetable, we use transactions and ensure we check the timestamps to only consume new data.
Useful information to review or test

Follow the readme on the back-office subscribers function to set it up
Run azurite npx azurite and this function npm run start:dev nsip-project
Make a POST request to http://localhost:7071/admin/functions/nsip-project with this body:

{
    "input": "{\"caseId\":2,\"caseReference\":\"ABCDE\",\"projectName\":\"some case\",\"projectDescription\":\"some desc\",\"publishStatus\":\"published\",\"sourceSystem\":\"ODT\",\"applicantIds\":[\"1\"],\"nsipOfficerIds\":[],\"nsipAdministrationOfficerIds\":[],\"inspectorIds\":[],\"interestedPartyIds\":[],\"regions\":[\"a\",\"b\"]}"
}

Type of change 🧩

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update
[x] Other (please explain in the description section above)

Checklist before requesting a review

[x] I have performed a self-review of my own code
[x] I have double checked this work does not include any hardcoded secrets or passwords
[x] I have made corresponding changes to the documentation
[x] I have provided details on how I have tested my code
[x] I have referenced the ticket number above
[x] I have provided a description of the ticket
[x] I have included unit tests to cover any testable code changes

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

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

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


LoopVectorization.jl support

Hi,
while implementing a solution to a radiative transfer problem, I encountered a problem when trying to use a CubicSpline with
SIMD instructions.
Basically I have a integration routine using the @turbo macro from LoopVectorization.jl, where the integrand contains an interpolator from DataInterpolations.jl.
Here is a small example reproducing the problem:
using DataInterpolations
using LoopVectorization

u = [14.7, 11.51, 10.41, 14.95, 12.24, 11.22]
t = [0.0, 62.25, 109.66, 162.66, 205.8, 252.3]

A = CubicSpline(u,t)

function simd_example(A)
    f = x -> A(x)
    x_arr = collect(range(10.5,14.0, 100))
    y_arr = zero(x_arr)
    @turbo for i in eachindex(x_arr)
        y_arr[i] = A(x)
    end
    return y_arr
end

simd_example(A)

Here is the output:
ERROR: TypeError: non-boolean (Mask{4, UInt8}) used in boolean context
Stacktrace:
  [1] signless(x::MM{4, 1, Int64}, y::Float64)
    @ Base ./operators.jl:143
  [2] isless(x::MM{4, 1, Int64}, y::Float64)
    @ Base ./operators.jl:185
  [3] searchsortedlast
    @ ~/Schreibtisch/Test_simd.jl:19 [inlined]
  [4] searchsortedlast
    @ ./sort.jl:295 [inlined]
  [5] #searchsortedlast#5
    @ ./sort.jl:297 [inlined]
  [6] searchsortedlast
    @ ./sort.jl:297 [inlined]
  [7] _interpolate(A::CubicSpline{Vector{Float64}, Vector{Float64}, Vector{Float64}, Vector{Float64}, true, Float64}, t::MM{4, 1, Int64})
    @ DataInterpolations ~/.julia/packages/DataInterpolations/Al4Ib/src/interpolation_methods.jl:146
  [8] AbstractInterpolation
    @ ~/.julia/packages/DataInterpolations/Al4Ib/src/DataInterpolations.jl:37 [inlined]
  [9] macro expansion
    @ ~/.julia/packages/LoopVectorization/ORJxS/src/reconstruct_loopset.jl:947 [inlined]
 [10] _turbo_!
    @ ~/.julia/packages/LoopVectorization/ORJxS/src/reconstruct_loopset.jl:947 [inlined]

The vectorization fails in searchsortedlast(...), when calling isless with vectorized arguments.
I tried to define an adapted version of searchsortedlast, but to no avail so far.
Would be great if you could share your opinion on how to approach or circumvent this problem.
Judging from my benchmarks with non interpolated functions I would get a massive 3x speedup from using LoopVectorization.jl.

You can't SIMD through that easily. It's a non-static search. I wouldn't expect LoopVectorization to work on that.

Thanks for the quick feedback. I don't have much experience with vectorized code and was already afraid, that there won't be an easy solution.
I probably will reformulate my solution then to evaluate the interpolator before the vectorized loop.

Yeah, that hoisting out of the loop would make the latter code vectorize. That's what would be needed here.

I could probably write SIMD versions.

I'd say this would be a good first issue for someone else to try.

But @turbo definitely won't do that automatically (unless your LLVM versions is getting really good 😅)

But @turbo definitely won't do that automatically (unless your LLVM versions is getting really good sweat_smile)

You can define SIMD versions of functions like searchsortedlast to prevent method errors.

It'll be a while before the LLVM version can do that automatically, but that's the dream of course!
Automatic is better than "easy to plug in".

I decided to give it a shot and implement a SIMD version.
For  DataInterpolators.CubicSpline to work inside a @turbo loop it was enough to write a vectorized version of searchsortedlast and getindexas following:
import Base.searchsortedlast
import VectorizationBase.AbstractSIMDVector
using LoopVectorization: vany, ifelse, Vec
Base.Sort.midpoint(lo::AbstractSIMDVector{W,I}, hi::AbstractSIMDVector{W,I}) where {W,I<:Integer} = lo + ((hi - lo) >>> 0x01)
Base.getindex(A::AbstractArray, i::Vec{W}) where W = Vec{W,eltype(A)}(getindex(A,[Tuple(i)...])...)
function searchsortedlast(v::AbstractVector, x::AbstractSIMDVector{W,I}, lo::T, hi::T, o::Base.Ordering) where {W,I,T<:Integer}
    u = Vec{W,T}(1)
    lo = lo - u
    hi = hi + u
    st = lo < hi - u
    @inbounds while vany(st)
        m = Base.Sort.midpoint(lo, hi)
        b = (x < v[m]) & st
        hi = ifelse(b, m, hi)
        lo = ifelse(b, lo, m)
        st = lo < hi - u
    end
    return lo
end

For my small toy example from the beginning, this gives the correct result:
using DataInterpolations
using LoopVectorization
u = [14.7, 11.51, 10.41, 14.95, 12.24, 11.22]
t = [0.0, 62.25, 109.66, 162.66, 205.8, 252.3]
A = CubicSpline(u,t)

function simd_test(A)
    f = x -> A(x)
    x_arr = collect(range(10.5,14.0, 100))
    y_arr = similar(x_arr)
    y_simd_arr = similar(x_arr)

    for i in eachindex(x_arr)
        y_arr[i] = A(x_arr[i])
    end

    @turbo for i in eachindex(x_arr)
        y_simd_arr[i] = A(x_arr[i])
    end
    return y_arr ≈ y_simd_arr
end
@assert simd_test(A) # --> true

The solution I came up with is quite rough and needs some more thought put in to work with all AbstractSIMDVector.
getindex(), for example, should take a AbstractSIMDVector{W} instead of Vec{W}, but I haven't found a way to make that type stable yet:
Base.getindex(A::AbstractArray, i::AbstractSIMDVector{W}) where W = AbstractSIMDVector{W,eltype(A)}(getindex(A,[Tuple(i)...])...)

@inline function Base.getindex(A::AbstractArray, i::AbstractSIMD{W}...) where {W}
    VectorizationBase.vload(stridedpointer(A), i)
end

With your version of getindex the code is actually type stable and my radiance calculation as a whole is around 2x faster than the previous unvectorized version (judging from the profiler this seems to be near optimal).
The remaining question for me is, whether you want any of that in upstream?
I think there are multiple options:

getindex and searchsortedlast in VectorizationBase
searchsortedlast in VectorizationBase calling vload directly, vectorized version of interpolate in DataInterpolators
None of that and I keep the vectorised version only for me.

Option 2 would avoid ambiguities with getindex, but would require more code. What do you think?
Anyways, I'm pretty happy with the result and achieved my goal to speed up the previous numpy version significantly (20x - 24x for my benchmarks). Thanks for guiding me through this.

20x is something I like to hear!
I think "1." is good. We don't need all getindex to work.

Although we may also prefer calling vload directly.

JuliaSIMD/VectorizationBase.jl#90 was merged. Thanks again for your help!


Update tutorial-console-cpp.md

In the Fix the "divide by zero" error section, the image showed a different string set to the console than what was in the code that was shown. This change makes the code match the image.

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

#sign-off


Cannot unenroll from a task

There is an "unenroll" link, but it does not appear to do anything yet.  When I backed out to the activity and selected the task again, it appears that it has unenrolled me, but that is not clear for the user.  There should be a confirmation for the user that unenroll is completed.

Also see #183

Agreed with @Harmonym.  At the very least, clicking Unenroll should immediately redisplay "Volunteer," without waiting for the user to manually refresh the page.  I don't think this is blocked on #183, since "Unenroll" does seem to have some effect already.  This issue is just a display / UI problem.

Thanks I triaged this for our next release

I'll do this if no one else is working on it?

@ksk100 I assigned it to you. Thanks!


[NT-1297] Add bonus support

📲 What
Adds bonus support and makes some updates to the amounts displayed in the ManagePledgeViewController.
🤔 Why
We are making changes to improve how we display the amount that backers pledge over and above the minimum for a reward. This is now displayed as a bonus amount.
🛠 How

Added bonusAmount to the query in ManagePledgeViewModel.
Added context-specific strings for the section title based on whether or not the creator is logged in.
Visual changes to the reward received toggle.

👀 See

Before 🐛
Before 🐛
After 🦋

✅ Acceptance criteria
Navigate to view or manage a pledge.

[x] Observe that a Bonus amount is displayed.
[x] Total amount is now just Total.
[x] The estimated delivery date is now shown as part of the reward received toggle.

[x] For non-shipping rewards this view is hidden altogether.
[x] For backings that are not in a collected state only the toggle is hidden.

[ ] The estimated delivery date is removed from reward card and add-on card cells.

⏰ TODO

[ ] Add strings for translation.
[ ] Confirm behaviour for pledge view.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Shrink buttons on project action bar when narrow

Needs to use a different width that isn't affected by padding to avoid
amusing effects in the intersection.

If folks like this then I'd like to pull it up, to the whole of the main area, and also adapt the right spacing of the divider at the top so it continues to match the right edge of the load button. Then in future e.g. we might hide the gutter.

If folks like this then I'd like to pull it up, to the whole of the main area, and also adapt the right spacing of the divider at the top so it continues to match the right edge of the load button. Then in future e.g. we might hide the gutter.

We shipped some padding changes but decided against changing button size. I think we're more likely to consolidate Save/Open buttons in any future work here. Closing PR.


Question 6

Lydia! Thank you for such a cool list with questions!
I have a small remark on question 6. Even though this is not the right answer, I sort of feel like it's missing from the multiple choices:
E: "Hey!"

Oh good point. This is because I moved my questions from Instagram, they only allowed me to have 4 choices haha. Will update it, thanks again!