rabbitmq fails to start with sidecar proxy

With this deployment file:
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  labels:
    app: develop-rabbitmq
  name: develop-rabbitmq
  namespace: develop
spec:
  replicas: 1
  selector:
    matchLabels:
      app: develop-rabbitmq
  template:
    metadata:
      labels:
        app: develop-rabbitmq
      name: develop-rabbitmq
    spec:
      containers:
        - image: rabbitmq:alpine
          name: develop-rabbitmq

fails with:
 Starting RabbitMQ 3.7.4 on Erlang 20.1.7
 Copyright (C) 2007-2018 Pivotal Software, Inc.
 Licensed under the MPL.  See http://www.rabbitmq.com/
   ##  ##
  ##  ##      RabbitMQ 3.7.4. Copyright (C) 2007-2018 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
  ######  ##
  ##########  Logs: <stdout>
               Starting broker...
2018-06-02 18:45:15.951 [info] <0.183.0>
 node           : rabbit@develop-rabbitmq-5f49ffb5cb-qjcnz
 home dir       : /var/lib/rabbitmq
 config file(s) : /etc/rabbitmq/rabbitmq.conf
 cookie hash    : l/AGo43Mz6TU8itvC2PZqQ==
 log(s)         : <stdout>
 database dir   : /var/lib/rabbitmq/mnesia/rabbit@develop-rabbitmq-5f49ffb5cb-qjcnz
2018-06-02 18:45:18.332 [info] <0.191.0> Memory high watermark set to 103196 MiB<PHONE_NUMBER>50 bytes) of 257990 MiB<PHONE_NUMBER>76 bytes) total
2018-06-02 18:45:18.337 [info] <0.193.0> Enabling free disk space monitoring
2018-06-02 18:45:18.337 [info] <0.193.0> Disk free limit set to 50MB
2018-06-02 18:45:18.341 [info] <0.195.0> Limiting to approx 1048476 file handles (943626 sockets)
2018-06-02 18:45:18.341 [info] <0.196.0> FHC read buffering:  OFF
2018-06-02 18:45:18.341 [info] <0.196.0> FHC write buffering: ON
2018-06-02 18:45:18.345 [info] <0.183.0> Node database directory at /var/lib/rabbitmq/mnesia/rabbit@develop-rabbitmq-5f49ffb5cb-qjcnz is empty. Assuming we need to join an existing cluster or initialise from scratch...
2018-06-02 18:45:18.345 [info] <0.183.0> Configured peer discovery backend: rabbit_peer_discovery_classic_config
2018-06-02 18:45:18.345 [info] <0.183.0> Will try to lock with peer discovery backend rabbit_peer_discovery_classic_config
2018-06-02 18:45:18.345 [info] <0.183.0> Peer discovery backend does not support locking, falling back to randomized delay
2018-06-02 18:45:18.345 [info] <0.183.0> Peer discovery backend rabbit_peer_discovery_classic_config does not support registration, skipping randomized startup delay.
2018-06-02 18:45:18.346 [info] <0.183.0> All discovered existing cluster peers:
2018-06-02 18:45:18.346 [info] <0.183.0> Discovered no peer nodes to cluster with
2018-06-02 18:45:18.352 [info] <0.33.0> Application mnesia exited with reason: stopped
2018-06-02 18:45:18.390 [info] <0.33.0> Application mnesia started on node 'rabbit@develop-rabbitmq-5f49ffb5cb-qjcnz'
2018-06-02 18:45:18.663 [info] <0.183.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-06-02 18:45:18.691 [info] <0.183.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-06-02 18:45:18.744 [info] <0.183.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-06-02 18:45:18.744 [info] <0.183.0> Peer discovery backend rabbit_peer_discovery_classic_config does not support registration, skipping registration.
2018-06-02 18:45:18.746 [info] <0.183.0> Priority queues enabled, real BQ is rabbit_variable_queue
2018-06-02 18:45:18.750 [error] <0.380.0> CRASH REPORT Process <0.380.0> with 0 neighbours crashed with reason: no match of right hand value closed in rabbit_epmd_monitor:init/1 line 56
2018-06-02 18:45:18.750 [error] <0.379.0> Supervisor rabbit_epmd_monitor_sup had child rabbit_epmd_monitor started with rabbit_epmd_monitor:start_link() at undefined exit with reason no match of right hand value closed in rabbit_epmd_monitor:init/1 line 56 in context start_error
2018-06-02 18:45:18.751 [error] <0.182.0> CRASH REPORT Process <0.182.0> with 0 neighbours exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{{badmatch,closed},[{rabbit_epmd_monitor,init,1,[{file,"src/rabbit_epmd_monitor.erl"},{line,56}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,{rabbit_epmd_monitor,start_link,[]},false]},transient,...}}} in application_master:init/4 line 134
2018-06-02 18:45:18.751 [info] <0.33.0> Application rabbit exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{{badmatch,closed},[{rabbit_epmd_monitor,init,1,[{file,"src/rabbit_epmd_monitor.erl"},{line,56}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,{rabbit_epmd_monitor,start_link,[]},false]},transient,...}}}
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{{badmatch,closed},[{rabbit_epmd_monitor,init,1,[{file,\"src/rabbit_epmd_monitor.erl\"},{line,56}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,365}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,{rabbit_epmd_monitor,start_link,[]},false]},transient,infinity,supervisor,[rabbit_restartable_sup]}}}}}}}"}
 Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{{badmatc

 Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done

with sidecar.istio.io/inject: "false" works, some else having a similar problem?

You are missing the Service.
If you'll also create something like the following the Pod should start without crashing:
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq
  namespace: develop
  labels:
    app: develop-rabbitmq
spec:
  ports:
  - port: 5672
    name: client
  - port: 4369
    name: epmd
  selector:
    app: develop-rabbitmq
---

@ymesika I do have a service in place, does not look that differnet:
kind: Service
apiVersion: v1
metadata:
  labels:
    app: develop-rabbitmq
  name: develop-rabbitmq
  namespace: develop
spec:
  selector:
    app: develop-rabbitmq
  ports:
  - name: amqp
    protocol: TCP
    port: 5672
    targetPort: 5672
  - name: http
    protocol: TCP
    port: 15672
    targetPort: 15672

But you don't have the epmd port specified there.

gotcha, let me test it before closing please, thanks!

@ymesika thanks again, works as expected, closing.

I am trying to  deploy stable/rabbitmq-ha helm chart with istio sidecar injection enabled.
The helm chart deploys rabitmq as statefulset with  headless rabbitmq-ha-devops-rabbitmq-ha-discovery service and rabbitmq-ha-devops-rabbitmq-ha clusterIP service.
RabbitMQ crashes with bellow error even though epmd port is defined in service definition:
2018-06-22 05:19:43.982 [error] <0.295.0> CRASH REPORT Process <0.295.0> with 0 neighbours crashed with reason: no function clause matching rabbit_epmd_monitor:init_handle_port_please(closed, erl_epmd, "rabbit", "rabbitmq-ha-devops-rabbitmq-ha-0.rabbitmq-ha-devops-rabbitmq-ha-discovery.devops.svc.cluster.lo...") line 59
2018-06-22 05:19:43.983 [error] <0.294.0> Supervisor rabbit_epmd_monitor_sup had child rabbit_epmd_monitor started with rabbit_epmd_monitor:start_link() at undefined exit with reason no function clause matching rabbit_epmd_monitor:init_handle_port_please(closed, erl_epmd, "rabbit", "rabbitmq-ha-devops-rabbitmq-ha-0.rabbitmq-ha-devops-rabbitmq-ha-discovery.devops.svc.cluster.lo...") line 59 in context start_error
2018-06-22 05:19:43.984 [error] <0.264.0> CRASH REPORT Process <0.264.0> with 0 neighbours exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,"rabbit","rabbitmq-ha-devops-rabbitmq-ha-0.rabbitmq-ha-devops-rabbitmq-ha-discovery.devops.svc.cluster.local"],[{file,"src/rabbit_epmd_monitor.erl"},{line,59}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,...}}} in application_master:init/4 line 134
2018-06-22 05:19:43.984 [info] <0.33.0> Application rabbit exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,"rabbit","rabbitmq-ha-devops-rabbitmq-ha-0.rabbitmq-ha-devops-rabbitmq-ha-discovery.devops.svc.cluster.local"],[{file,"src/rabbit_epmd_monitor.erl"},{line,59}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,...}}}
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,\"rabbit\",\"rabbitmq-ha-devops-rabbitmq-ha-0.rabbitmq-ha-devops-rabbitmq-ha-discovery.devops.svc.cluster.local\"],[{file,\"src/rabbit_epmd_monitor.erl\"},{line,59}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,365}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,{rabbit_epmd_monitor,start_link,[]},false]},transient,infinity,supervisor,[rabbit_restartable_sup]}}}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function

Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done

Service definition  for rabbitmq-ha-devops-rabbitmq-ha :
apiVersion: v1
kind: Service
metadata:
  labels:
    app: rabbitmq-ha
    chart: rabbitmq-ha-1.3.2
    heritage: Tiller
    release: rabbitmq-ha-devops
  name: rabbitmq-ha-devops-rabbitmq-ha
  namespace: devops
spec:
  clusterIP: *****
  ports:
  - name: http
    port: 15672
    protocol: TCP
    targetPort: http
  - name: amqp
    port: 5672
    protocol: TCP
    targetPort: amqp
  - name: epmd
    port: 4369
    protocol: TCP
    targetPort: epmd
  selector:
    app: rabbitmq-ha
    release: rabbitmq-ha-devops
  sessionAffinity: None
  type: ClusterIP

Service definition for rabbitmq-ha-devops-rabbitmq-ha-discovery:
apiVersion: v1
kind: Service
metadata:
  labels:
    app: rabbitmq-ha
    chart: rabbitmq-ha-1.3.2
    heritage: Tiller
    release: rabbitmq-ha-devops
  name: rabbitmq-ha-devops-rabbitmq-ha-discovery
  namespace: devops
spec:
  clusterIP: None
  ports:
  - name: http
    port: 15672
    protocol: TCP
    targetPort: http
  - name: amqp
    port: 5672
    protocol: TCP
    targetPort: amqp
  - name: epmd
    port: 4369
    protocol: TCP
    targetPort: epmd
  selector:
    app: rabbitmq-ha
    release: rabbitmq-ha-devops
  sessionAffinity: None
  type: ClusterIP

Also as per #6029 , RabbitMQ is listening on <IP_ADDRESS> and not on external IP.
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 <IP_ADDRESS>:4369            <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:15672           <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 <IP_ADDRESS>:25672           <IP_ADDRESS>:*               LISTEN      -
tcp        0      0 :::4369                 :::*                    LISTEN      -
tcp        0      0 :::5672                 :::*                    LISTEN      -
udp        0      0 <IP_ADDRESS>:49166           <IP_ADDRESS>:*                           -

I have the same issue. I am trying to figure out what is a problem, but if someone resolve it first please let us know.

@vinayakshnd This issue is related to this one https://github.com/istio/istio/issues/5037
If you remove livenessProbe and readinessProbe from yaml you will see that everything is working as it should.
I am still looking into this.

But you don't have the epmd port specified there.

Hi @ymesika @grebois I'm also hitting the same issue in my istio environment even after I added the epmd port as you mentioned.
rabbitmq-svc.yaml--
apiVersion: v1
kind: Service
metadata:
name: rabbitmq
labels:
name: rabbitmq
namespace: sock-shop
spec:
ports:
# the port that this service should serve on

port: 5672
targetPort: 5672
name: rabbitmq
port: 4369
#targetPort: 4369
name: epmd
selector:
name: rabbitmq

rabbitmq is still crashing
kubectl logs rabbitmq-76d4487c5-dshwp -c rabbitmq -n sock-shop
ERROR: epmd error for host rabbitmq-76d4487c5-dshwp: address (cannot connect to host/port)
Any pointers?

I had the same problems, but I didn't want to disable health checks (for obvious reasons)...
Calling rabbitmqctl status inside the container (with sidecar) was returning:
Status of node 'rabbit@bap-rabbitmq-0' ...
Error: unable to connect to node 'rabbit@bap-rabbitmq-0': nodedown

DIAGNOSTICS
===========

attempted to contact: ['rabbit@bap-rabbitmq-0']

rabbit@bap-rabbitmq-0:
  * connected to epmd (port 4369) on bap-rabbitmq-0
  * epmd reports node 'rabbit' running on port 25672
  * TCP connection succeeded but Erlang distribution failed

  * Remote host closed TCP connection before completing authentication. Is the Erlang distribution using TLS?

So, to fix this I added the missing "dist" container port / service (25672) to my
k8s resources.
Remember that you need the epmd, amqp and stats ports explicitly declared too.
After that the rabbitmqctl status live/ready probes are working with the Sidecar.

I'm facing the same issue when running rabbitmq with Istio. It seems to be linked to epmd but I cannot figure out how to fix it.
The deployment file
$ cat mq-deployment.yaml
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: mq
  namespace: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: mq
  template:
    metadata:
      labels:
        app: mq
        test: test
    spec:
      containers:
      - image: rabbitmq:3-management
        name: mq
        ports:
        - name: dist
          containerPort: 25672
        - name: management
          containerPort: 15672
        - name: node
          containerPort: 5672
        - name: epmd
          containerPort: 4369
      restartPolicy: Always

Creation of the deployment
$ kubectl create -f mq-deployment.yaml

Let's check how it went
$ kubectl get deploy,po -n test
NAME        DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
deploy/mq   1         1         1            0           2m

NAME                    READY     STATUS             RESTARTS   AGE
po/mq-f5bcbfc7f-p4vlw   1/2       CrashLoopBackOff   3          2m

The rabbitmq logs
$ kubectl logs po/mq-f5bcbfc7f-p4vlw -n test -c mq
2018-10-17 13:46:35.834 [info] <0.33.0> Application lager started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.206 [info] <0.33.0> Application crypto started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.206 [info] <0.33.0> Application cowlib started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.207 [info] <0.33.0> Application xmerl started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.214 [info] <0.33.0> Application os_mon started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.312 [info] <0.33.0> Application inets started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.498 [info] <0.33.0> Application mnesia started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.498 [info] <0.33.0> Application jsx started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.499 [info] <0.33.0> Application recon started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.499 [info] <0.33.0> Application asn1 started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.499 [info] <0.33.0> Application public_key started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.590 [info] <0.33.0> Application ssl started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.600 [info] <0.33.0> Application ranch started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.600 [info] <0.33.0> Application ranch_proxy_protocol started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.603 [info] <0.33.0> Application cowboy started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.603 [info] <0.33.0> Application rabbit_common started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:36.625 [info] <0.198.0>
 Starting RabbitMQ 3.7.8 on Erlang <IP_ADDRESS>
 Copyright (C) 2007-2018 Pivotal Software, Inc.
 Licensed under the MPL.  See http://www.rabbitmq.com/

  ##  ##
  ##  ##      RabbitMQ 3.7.8. Copyright (C) 2007-2018 Pivotal Software, Inc.
  ##########  Licensed under the MPL.  See http://www.rabbitmq.com/
  ######  ##
  ##########  Logs: <stdout>

              Starting broker...
2018-10-17 13:46:36.645 [info] <0.198.0>
 node           : rabbit@mq-f5bcbfc7f-p4vlw
 home dir       : /var/lib/rabbitmq
 config file(s) : /etc/rabbitmq/rabbitmq.conf
 cookie hash    : 5GinCFNLeqClk6kqw5Kiew==
 log(s)         : <stdout>
 database dir   : /var/lib/rabbitmq/mnesia/rabbit@mq-f5bcbfc7f-p4vlw
2018-10-17 13:46:40.572 [info] <0.206.0> Memory high watermark set to 1479 MiB<PHONE_NUMBER> bytes) of 3698 MiB<PHONE_NUMBER> bytes) total
2018-10-17 13:46:40.576 [info] <0.208.0> Enabling free disk space monitoring
2018-10-17 13:46:40.576 [info] <0.208.0> Disk free limit set to 50MB
2018-10-17 13:46:40.585 [info] <0.211.0> Limiting to approx 1048476 file handles (943626 sockets)
2018-10-17 13:46:40.585 [info] <0.212.0> FHC read buffering:  OFF
2018-10-17 13:46:40.585 [info] <0.212.0> FHC write buffering: ON
2018-10-17 13:46:40.588 [info] <0.198.0> Node database directory at /var/lib/rabbitmq/mnesia/rabbit@mq-f5bcbfc7f-p4vlw is empty. Assuming we need to join an existing cluster or initialise from scratch...
2018-10-17 13:46:40.588 [info] <0.198.0> Configured peer discovery backend: rabbit_peer_discovery_classic_config
2018-10-17 13:46:40.588 [info] <0.198.0> Will try to lock with peer discovery backend rabbit_peer_discovery_classic_config
2018-10-17 13:46:40.588 [info] <0.198.0> Peer discovery backend does not support locking, falling back to randomized delay
2018-10-17 13:46:40.588 [info] <0.198.0> Peer discovery backend rabbit_peer_discovery_classic_config does not support registration, skipping randomized startup delay.
2018-10-17 13:46:40.588 [info] <0.198.0> All discovered existing cluster peers:
2018-10-17 13:46:40.588 [info] <0.198.0> Discovered no peer nodes to cluster with
2018-10-17 13:46:40.592 [info] <0.33.0> Application mnesia exited with reason: stopped
2018-10-17 13:46:40.612 [info] <0.33.0> Application mnesia started on node 'rabbit@mq-f5bcbfc7f-p4vlw'
2018-10-17 13:46:40.739 [info] <0.198.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-10-17 13:46:40.799 [info] <0.198.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-10-17 13:46:40.828 [info] <0.198.0> Waiting for Mnesia tables for 30000 ms, 9 retries left
2018-10-17 13:46:40.829 [info] <0.198.0> Peer discovery backend rabbit_peer_discovery_classic_config does not support registration, skipping registration.
2018-10-17 13:46:40.830 [info] <0.198.0> Priority queues enabled, real BQ is rabbit_variable_queue
2018-10-17 13:46:40.831 [error] <0.373.0> CRASH REPORT Process <0.373.0> with 0 neighbours crashed with reason: no function clause matching rabbit_epmd_monitor:init_handle_port_please(closed, erl_epmd, "rabbit", "mq-f5bcbfc7f-p4vlw") line 59
2018-10-17 13:46:40.832 [error] <0.372.0> Supervisor rabbit_epmd_monitor_sup had child rabbit_epmd_monitor started with rabbit_epmd_monitor:start_link() at undefined exit with reason no function clause matching rabbit_epmd_monitor:init_handle_port_please(closed, erl_epmd, "rabbit", "mq-f5bcbfc7f-p4vlw") line 59 in context start_error
2018-10-17 13:46:40.832 [error] <0.197.0> CRASH REPORT Process <0.197.0> with 0 neighbours exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,"rabbit","mq-f5bcbfc7f-p4vlw"],[{file,"src/rabbit_epmd_monitor.erl"},{line,59}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,...]},...}}} in application_master:init/4 line 134
2018-10-17 13:46:40.833 [info] <0.33.0> Application rabbit exited with reason: {error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,"rabbit","mq-f5bcbfc7f-p4vlw"],[{file,"src/rabbit_epmd_monitor.erl"},{line,59}]},{gen_server,init_it,2,[{file,"gen_server.erl"},{line,365}]},{gen_server,init_it,6,[{file,"gen_server.erl"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,...]},...}}}
{"Kernel pid terminated",application_controller,"{application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function_clause,[{rabbit_epmd_monitor,init_handle_port_please,[closed,erl_epmd,\"rabbit\",\"mq-f5bcbfc7f-p4vlw\"],[{file,\"src/rabbit_epmd_monitor.erl\"},{line,59}]},{gen_server,init_it,2,[{file,\"gen_server.erl\"},{line,365}]},{gen_server,init_it,6,[{file,\"gen_server.erl\"},{line,333}]},{proc_lib,init_p_do_apply,3,[{file,\"proc_lib.erl\"},{line,247}]}]}}},{child,undefined,rabbit_epmd_monitor_sup,{rabbit_restartable_sup,start_link,[rabbit_epmd_monitor_sup,{rabbit_epmd_monitor,start_link,[]},false]},transient,infinity,supervisor,[rabbit_restartable_sup]}}}}}}}"}
Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{bad_return,{{rabbit,start,[normal,[]]},{'EXIT',{error,{{shutdown,{failed_to_start_child,rabbit_epmd_monitor,{function

Crash dump is being written to: /var/log/rabbitmq/erl_crash.dump...done

Anything I'm missed ?

@lucj you need to create a service specifying all ports that you are using (dist, management, node and epmd). Without this, the sidecar container will not allow the pod to make connections to his own ip address.
For your deployment, the service should look like this:
apiVersion: v1
kind: Service
metadata:
  name: rabbitmq-service
  labels:
    app: mq
spec:
  type: ClusterIP
  ports:
  - name: epmd
    port: 4369
    targetPort: epmd
  - name: node
    port: 5672
    targetPort: node
  - name: dist
    port: 25672
    targetPort: dist
  - name: management
    port: 15672
    targetPort: stats
  selector:
    app: mq

Thanks @eduardobaitello that fixed the thing.

Thanks @eduardobaitello that fixed the thing.

hey @devops-traxxs , you deployed rabbit without mutual TLS?
just with the sidecar without additional functionality?
because i'm trying to deploy with MTLS and we would like that the nodes in the cluster will talk to each other (with MTLS)

@arielb135 if all nodes have the sidecar mTLS should be seamless, as to the nodes themselves traffic appears as coming from localhost & unencrypted. IIRC.

sidecar

So it appears mtls for the headless service is not working, even though i'm trying to add each pod as a ServiceEntry, and specifying all required ports in the destination rule (by host).
i'm still looking for an official saying that headless services and mtls is not supported

@arielb135 if all nodes have the sidecar mTLS should be seamless, as to the nodes themselves traffic appears as coming from localhost & unencrypted. IIRC.

Well, excluding epmd solved the issue, i've written a full description of this here:
https://github.com/arielb135/RabbitMQ-with-istio-MTLS

A complete re-initialization of my GKE cluster was required to solve this. After that, it works normally with the same configurations. Very confused.


#161662032 Fix update and delete endpoint bugs

What does this PR do?
This PR to fix bugs on the update and delete endpoint.
Description of Task to be completed
The main tasks to be completed are:

Make updates on products that are already sold
Make updates on any other product by providing a single entity
Delete a product previously referenced in sales
Delete any other product using its id
Fix heroku bug on admin creation

How should this be manually tested?

Create  a virual enviroment with the command

$ virtualenv -p python3 env

Activate the venv with the command

$ source env/bin/activate

Install git

sudo apt install git

clone this repo

$ git clone https://github.com/codeMarble254/Store-Manager-v1.git

cd into the folder Store-Manager-V1
export required enviroment variables

$ export FLASK_APP = run.py
$ export DB_URL = "storemanager"
$ export TEST_DB_URL = "test_db"
$ export SECRET_KEY = "{your key}"

create the dev database
createdb storemanager

create the testing database
$ createdb test_db

Switch to the develop branch

$ git checkout develop

install requirements

$ pip install -r requirements.txt

now we are ready to run.
8.now we are ready to run.
for tests
pytest -v

for the application run

$ flask run

What are the relevant pivotal tracker stories?
#161662032

Pull Request Test Coverage Report for Build 190

13 of 33 (39.39%)  changed or added relevant lines in 6 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+5.0%) to 87.834%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

app/api/v2/models/db_models.py
2
3
66.67%

app/api/v2/models/product_models.py
1
6
16.67%

app/api/v2/views.py
4
18
22.22%

Files with Coverage Reduction
New Missed Lines
%

app/api/v2/views.py
1
67.32%

Totals

Change from base Build 183:
5.0%

Covered Lines:
1415

Relevant Lines:
1611

💛  - Coveralls


Fetch data and parent fields for ide completion

IDE completion does not fetches parents fields for completion.
If we have
abstract class BaseSlot extends Data
{
    public function __construct(
        public CarbonImmutable $datetime,
        public ?int $project_activity_id,
    ) {
    }
}

class FinalSlot extends BaseSlot
{
    public function __construct(
        public ?bool $satisfied,
        CarbonImmutable $datetime,
        ?int $project_activity_id,
    ) {
        parent::__construct($datetime, $project_activity_id);
    }
}

completion provides only satisfied field :

After this update, inherited fields are also completed :

Thanks!


ekf2: Reinstate saving of mag declination for use next start

Fixes  https://github.com/PX4/Firmware/issues/10023
The capability and parameter selected default behaviour to save the magnetic declination for the last location had been removed unintentionally by previous changes. This PR reinstates the behaviour.
Requires https://github.com/PX4/ecl/pull/486 to be merged first.
Reported here
Test data / coverage

Start QGC and connect autopilot via USB
Load parameters and set EKF2_MAG_DECL to 0
Repower board and wait for GPS checks to pass.
Reload parameters in QGC and verify EKF2_MAG_DECL has been updated.
Repower board with GPS disconnected and and check EKF2_MAG_DECL value has been saved. See screen shot below

Any idea when (or why) this disappeared?

You can actually still use _params.mag_declination_deg directly.  The internal value of _mag_declination_deg is a reference to _params.mag_declination_deg.

No idea when or why the functionality was lost.
I don't understand your second comment about  using _params.mag_declination_deg directly.

It's not critical, but you wouldn't have to actually copy the declination back to ekf2_main, and ecl/EKF side you wouldn't need _mag_declination_to_save_deg.
In ekf2_main _mag_declination_deg is a ParamExtFloat for EKF2_MAG_DECL. The internal value of _mag_declination_deg is _params->mag_declination_deg.

We should also set EKF2_MAG_DECL volatile.

So you are saying we should modify ecl to write the value retrieved from the geo library directly to the parameter value rather than provide it via an accessor function?
I will give you a call to clarify the use of the volatile attribute.

Let's merge as-is and follow up to this PR if needed.

@priseborough ECL updated.


add support for Basic Auth<EMAIL_ADDRESS>

There is still an internal bug in rexxars/registry-auth-token#6,
but it just hits a very special use case and should also exist in 2.1.1.
So if 2.1.1 works for you, 3.0.0 should work as well.
resolves #270 #277

:+1: Great work! Thanks for the contribution.


Something failing silently

After running through the tutorial up until 2.2 I am finding that the app is not rendering, however server.js is running, as is build watch without producing errors, and a blank html page is appearing.  Any advice on debugging at this point?

Are there any error messages in the browser console?
On Oct 8, 2015 3:20 PM, "Conaws"<EMAIL_ADDRESS>wrote:

After running through the tutorial up until 2.2 I am finding that the app
is not rendering, however server.js is running, as is build watch without
producing errors, and a blank html page is appearing. Any advice on
debugging at this point?
—
Reply to this email directly or view it on GitHub
https://github.com/tutsplus/build-a-wiki-with-react-and-firebase/issues/1
.


Update how-to-connect-sync-change-serviceacct-pass.md

Documentation needs to be updated and this was advised by Akos Regi from Microsoft.

I am going to take this in house and create a work item to investigate this.
We can go ahead and close this PR.
#please-close


[WIP] Convert service to use recursive sql

Load all services in one go
This is replaces by #7252 but keeping this around just in case ancestry doesn't work out.
This current one freaks out brakeman because it is manually building sql.
https://bugzilla.redhat.com/show_bug.cgi?id=1289196

I was going to ask "Why not switch to ancestry gem?", but then I realized this is for backportability :sweat_smile:

re-evaluating and looking at using ancestry instead of all of this.
made improvements like this in older versions (5.4), but will go ancestry route for master / 5.6

Not completely cleaning up - keeping around just in case #7252 doesnt work out


"JPEG error: SOI not found" on JPG Decoder

I'm attempting to decode a base64 encoded JPG. Upon decoding the image using atob and passing it into jpegImage.parse I am given this error JPEG error: SOI not found  from core/jpg.js.
In the core/jpg.js it checks the SOI if 0xffd8 or ý is at the start of the image, though printing this out after the atob decoding it does not contain this marker. Though I am able to grab the base64 encoding of the image and confirm the encoding integrity through an online decoder.
How do we go about using the decoder if we can only use base64 converted jpg's?
The error occurs on the jpegImage.parse
The code I'm using below is based off the image_decoders example
img = atob(data);
const typedArrayImage = new Uint8Array(img);
const jpegImage = new pdfjsImageDecoders.JpegImage();
jpegImage.parse(typedArrayImage);

When opening an issue, please provide all of the information requested in https://github.com/mozilla/pdf.js/blob/master/.github/ISSUE_TEMPLATE.md since as-is the issue is unfortunately missing all of the information needed in order to be actionable.
Please also see https://github.com/mozilla/pdf.js/blob/master/.github/CONTRIBUTING.md (emphasis mine):

If you are developing a custom solution, first check the examples at https://github.com/mozilla/pdf.js#learning and search existing issues. If this does not help, please prepare a short well-documented example that demonstrates the problem and make it accessible online on your website, JS Bin, GitHub, etc. before opening a new issue or contacting us in the Matrix room -- keep in mind that just code snippets won't help us troubleshoot the problem.


Use src layout

@lukaspie
I have now tried to reproduce this locally, but fails at some permission stuff to install
"uv pip install --system coverage coveralls". Without following this strict workflow, the pytest for 3.8 is locally successful...
Ive also rerun this in PR.
The error seemd to be linked to this underscore notation. I had this problem with python 3.8 before in pynxtools-raman:

Here it was solved by adding:

https://github.com/FAIRmat-NFDI/pynxtools-raman/pull/2/files#diff-10f126daae848c10bb9adad0c97e857e9a59bf3f0e99b65c79d16a69bce2586fR2
as this was changed:
https://github.com/FAIRmat-NFDI/pynxtools-raman/pull/2/files#diff-10f126daae848c10bb9adad0c97e857e9a59bf3f0e99b65c79d16a69bce2586fR65-R68
So, I think this could possibly be solved with:
def should_skip_line(gen_l: str, ref_l: str, ignore_lines: list[str]) -> bool:

becomes
import Str
import List
def should_skip_line(gen_l: Str, ref_l: Str, ignore_lines: List[str]) -> bool:

This is related to enhanced typings, which was introduced in python3.9:
https://medium.com/@anuraagkhare_39064/typing-module-deprecated-in-python-what-you-need-to-know-d4348b694141

@RonHildebrandt tests are working again with pynxtools v0.8.1


Landing page issues

Improve the username input method (instead of alert).
Facebook login redirect doesn't work (simple change of appID might fix this).
No proper next step if user presses cancel when asked for username.

These issues also futher lead to youtube search and codepal's navbar to not work properly

Resolved!


Added Pascal Triangle

Please merge, thankyou

congratulations on your hactoberfest contribution. if you like this repo then give it a star. Happy hacking..


Transfer users

Hi
How can I transfer the users that I created on server 1 to server 2, and there is no need to create them again and they can reconnect on the old .ovpn file.
What paths and files should I transfer to the second server?

Тоже интересно,  перенёс всю папку openvpn   не сработало


implement unit tests for sections

Codecov Report
Base: 22.48% // Head: 25.59% // Increases project coverage by +3.11% :tada:

Coverage data is based on head (571d02d) compared to base (a48c22c).
Patch has no changes to coverable lines.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #12      +/-   ##
==========================================
+ Coverage   22.48%   25.59%   +3.11%
==========================================
  Files          13       13
  Lines         418      418
==========================================
+ Hits           94      107      +13
+ Misses        308      295      -13
  Partials       16       16

Impacted Files
Coverage Δ

pkg/todoistapi/projects.go
69.38% <0.00%> (+6.12%)
:arrow_up:

pkg/todoistapi/client.go
61.70% <0.00%> (+6.38%)
:arrow_up:

pkg/todoistapi/sections.go
14.28% <0.00%> (+14.28%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Heap Corruption error on several inputs

While experimenting with fuzzing, me and @EmilGedda discovered a bunch of inputs to simdjson that result in heap corruption errors.
Here's an archive of inputs discovered complete with the gcc AddressSanitizer logs for each crash: simdjson_heap_corruption.zip
We've also ran many of these inputs through amalgamation_demo.cpp located in the singleheader directory and can confirm that these do indeed cause either crashes due to heap corruption or strange behavior. This includes erroneous validation of the input (labelling invalid JSON as valid and vice versa) as well as just silent crashes.

Great stuff! Thank you!
We shall fix those in an upcoming release.
Later this summer, we shall have systematic and thorough fuzz testing in place.

Glad to hear it! I hope some of this data can be of help to you.

I hope some of this data can be of help to you.

Yes. I believe so.

Fix is in: https://github.com/lemire/simdjson/commit/f75280ac9c892406e6354ef516f7c9765d10f5ab
Your examples were helpful. They allow me to identify two real problems. It is likely that there were more, but I did some more fixing earlier.
We now test systematically over your examples.

Great to hear!


Motion photo screen jitter

Describe the bug
Upon opening a motion photo, immediately prior to playing the clip, the entire screen flashes a portion of the clip.
To Reproduce

Set to autoplay motion photos.
Open motion photo.

System information and logs:
Package: deckers.thibault.aves.libre
Installer: com.looker.droidify
Aves version: 1.8.9-libre, build 10002
Flutter: stable 3.10.3
Android version: 13, API 33
Android build: TQ3A.230705.001
Device: Google Pixel 7 Pro
Geocoder: ready
Mobile services: not available
System locales: en_GB
Storage volumes: /storage/emulated/0/
Storage grants:
Error reporting: false
Logs

Thanks for the report. Actually I've already noticed this and fixed it, but it's not released yet (I'm considering another video engine and need to see how it works out before releasing).


WhatsApp "Someone" nicknaming

Is your feature request related to a problem? Please describe.
WhatsApp tend to relay messages with "<Someone>" nickname in some cases (randomly) even if actual WhatsApp nickname presented. So it is completely impossible to distinguish authors of the posts on the other side of the bridge.
Describe the solution you'd like
To fix WhatsApp "<Someone>" nicknames with actual nicknames and add the option to use phone numbers as <NICK> source (if actual nickname is not set).
Describe alternatives you've considered
To generate unique random pseudonym nickname for each "anonymous" user instead of static "<Someone>" nickname.
Additional context
Group chat, WhatsApp - Mattermost bridge, ~50 users, some users have specified nickname, some of them are not.

Why did you close this? Did you finde a solution?

Why did you close this? Did you finde a solution?

Dear Sir,
I need help to integrate Whatsapp to Nextcloud Talk, I have Installed matterbridge on Nextcloud 20.0.7 with matterbridge Running version 1.22.0... but I cannot find whatsapp channel in the talk matterbridge setting. after googling seems to  manually edit the matterbridge.toml config file.. but i' cannot find that file.. where is the file path of matterbridge.toml
thanks

@joko2020 you should look at the nextcloud forums, I don't know where they put the matterbridge.toml

@joko2020 you should look at the nextcloud forums, I don't know where they put the matterbridge.toml

Thanks for your reply.. unfortunately , I cannot get the right inormation Also

Solution for this particular issue is IMO to allow to show the phone number instead of "someone". While that's not wanted in public groups, it's absolutely wanted in most private group bridging.
I'll create another issue for the fact that jid->account nick name resolution seems to be broken.

When reading the code og go-whatsapp, I found:
https://github.com/42wim/matterbridge/blob/4fcad8e04befeec2c7e468b36500fa33eb22af51/vendor/github.com/Rhymen/go-whatsapp/store.go#L48
May it be that the key in the contatc list is different from the actual sender jid, causing the lookup failures?

It seems that if I restart matterbridge, after someone has sent a message to a WA group, this one's nick is resolved properly.

There was already a related fix in https://github.com/42wim/matterbridge/issues/796. But it seems that this is insufficient. I have tried to analyze when someone is printed and when the nick name.
It seems that if a user posts a second message after he posts a message, the nick is resolved properly. After restart, the nick name cache seems to be re-filled but only from the recent messages. So if one posts now again and he had posted recently, the nick is resolved at the first message.
My assumption: When a message arrives and the nick is not known, it is retrieved somehow. But this happens after the nick for this first message is already resolved to someone. But it should happen before this.
Could anyone with knowledge about the code verify (and hopefully fix) this?

@nathanaelhoun I ping you in this ticket since your PR #1160 seems to be related to this issue.

Hi @micw, I tried to fix this issue as you noted.

It seems that if a user posts a second message after he posts a message, the nick is resolved properly. After restart, the nick name cache seems to be re-filled but only from the recent messages. So if one posts now again and he had posted recently, the nick is resolved at the first message.

I arrived to the same conclusion and it's why I made #1160 to reload the user list if their is no nickname. Because this changes did not solve the issue (at least, not everytime), I believe your assumption may be right :

My assumption: When a message arrives and the nick is not known, it is retrieved somehow. But this happens after the nick for this first message is already resolved to someone. But it should happen before this

@nathanaelhoun
I'm reviewing
https://github.com/42wim/matterbridge/blob/78f3820cede34808fec7e90fe42e564379dd4546/bridge/whatsapp/helpers.go#L75-L111
To avoid code duplication (which leads to diverge in code as already happened, compare L77-L89 with L102-107) I think the check should be earlier, something like:
sender, exists := b.users[senderJid]
if  !exists {
  // reload, add, set exists=true
}
if  exists {
  // code from L77-L89
}

Besides that, Contacts() looks to me like is jkust sends out the request. The response will probably asynchronous. So message processing should somehow block until the contacts are available. This might be quite complicated because another message might arrive meanwhile which also triggers a contacts reload.

Is there a solution or workaround to this?


Perfect-scrollbar does not scroll when selecting text outside the viewport

Hello,
I'm encountering an issue where selecting text by dragging does not scroll the viewport as it does with the native scrollbars. To reproduce, visit this jsfiddle: https://jsfiddle.net/yfof6mtn/1/.
Select some of the text, and then drag below the viewport container to select text currently out of view. Notice that it doesn't scroll the content. Then, comment out the Ps.initialize() call and do it again. Notice that the content does scroll this time.
Thank you for taking the time to look into this,
James

Actually, this feature is once implemented as selection for handlers option. You can test it out with {handler: ['click-rail', 'drag-scrollbar', 'keyboard', 'wheel', 'touch', 'selection]}. It is currently disabled by default as it creates more issues.
Perfect Scrollbar basically simulates scrolling by script and it is sometimes very difficult to implement as the native scrolling works. Any contribution on this will be welcomed, including improving the selection handler or rewriting it completely.
Thanks for the report.

Selection scrolling will be deprecated in v1. Instead, there will be webkit method where we can just use the native scrolling with hidden native scrollbars. It's only for webkit browsers, though. For other browsers, we will provide plugin interface to write users' own scroll emulation. Sorry that I cannot help so much.
Thanks again.


fix unit tests

unit tests don't exist on all branches and fail in some instances due to wrong paths

More tests needed, but tests work for now


希望获取数据集

前辈好，我是一名在读大二本科生，看了您在tweet机器人识别问题上不断取得的成就，在充满崇敬的同时也倍受鼓舞。我目前在研究自然语言处理方面的问题，并试图更好地解决社交媒体机器人识别问题，因此希望获取twibot-20 dataset，不知能否获取您的同意。

Hi,
I wonder if you could apply for TwiBot-20 and TwiBot-22 access by sending an email to shangbin at cs.washington.edu with your institutional email address (for record-keeping purposes). Thank you very much.
Best,
Shangbin

Hello, author, I am sorry about that I don't  understand what you mean by "sending an email to shangbin at cs.washington.edu". Could you give me a specific email address? Thank you for your patience and help.

<EMAIL_ADDRESS>would be fine, thank you

Thank you very much！


ispc: 1.10.0 -> 1.13.0, cleanup, (co)maintain

This includes several enhancements in the underlying compiler, including
codegen improvements for AVX-512, Ice Lake CPU definitions,
cross-{arch,os} compilation (currently unsupported due to multilib
issues), and more.
This also bumps the LLVM backend to the 10.0 release. Note that ispc
itself requires a few extra stability patches on top of 10.0 for AVX-512
support, but these aren't applied for us.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[x] other Linux distributions

[x] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)

@GrahamcOfBorg build ispc


Improvements for eager novices?

One portion of this page describes adding the Seed Initializer to the code.  It works, but there are a couple  of issues that might be tricky for novices.
The discussion mentions the DI container, but doesn't mention that we get to the DI container through the variable 'scope'.
The description mentions that one of the things the modified code does is

Get a database context instance from the dependency injection (DI) container.

That statement is misleading.  The modified code actually gets the whole collection of services from the DI container, not just the database context.  The whole collection does include the database context, but the type of the object fetched from scope is not a RazorPagesMovieContext.  The code is great, but the description is misleading.
Finally, the tutorial includes the statement
The following exception occurs when Update-Database has not been run:
SqlException: Cannot open database "RazorPagesMovieContext-" requested by the login. The login failed. Login failed for user 'user name'.
It's great that you're explaining why some learners may see an error when they run the Part 4 code for the first time.  I'm sure it saves lots of panic.  But you don't mention where Update-Database was run, and Update-Database doesn't appear anywhere else in Part 4.  It might be better if you mentioned that Update-Database was run back in Part 2.  Then learners would know what to review when they do see that error.
Thanks!
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 03221075-5dfa-d1b6-0552-3fe88abe1d03
Version Independent ID: b8c7d824-35ca-68fb-e3be-839ae886657c
Content: Part 4, work with a database
Content Source: aspnetcore/tutorials/razor-pages/sql.md
Product: aspnet-core
Technology: aspnetcore-tutorials
GitHub Login: @Rick-Anderson
Microsoft Alias: riande

Great suggestions


Crashloopback on falco containers using using-falcosecuritydriver-loader-image

Describe the bug
The container falco fails to start without any clear message on the logs when I use falcosecuritydriver-loader-image
How to reproduce it
I deployed falco chart version 1.7.7 without ebpf using this documentation link
Expected behaviour
I expected to be up and running.
Screenshots
+ kubectl logs -f falco-6hbcr
Fri Mar  5 12:17:59 2021: Falco version 0.27.0 (driver version 5c0b863ddade7a45568c0ac97d037422c9efb750)
Fri Mar  5 12:17:59 2021: Falco initialized with configuration file /etc/falco/falco.yaml
Fri Mar  5 12:17:59 2021: Loading rules from file /etc/falco/falco_rules.yaml:
Fri Mar  5 12:18:00 2021: Loading rules from file /etc/falco/falco_rules.local.yaml:
Fri Mar  5 12:18:01 2021: Loading rules from file /etc/falco/k8s_audit_rules.yaml:
Fri Mar  5 12:18:02 2021: Starting internal webserver, listening on port 8765
{"output":"12:18:02.604161000: Notice Privileged container started (user=<NA> user_loginuid=0 command=container:30c0f74777de k8s.ns=kube-system k8s.pod=kube-proxy-hjc95 container=30c0f74777de image=602401143452.dkr.ecr.eu-west-1.amazonaws.com/eks/kube-proxy:v1.18.8-eksbuild.1) k8s.ns=kube-system k8s.pod=kube-proxy-hjc95 container=30c0f74777de k8s.ns=kube-system k8s.pod=kube-proxy-hjc95 container=30c0f74777de","priority":"Notice","rule":"Launch Privileged Container","time":"2021-03-05T12:18:02.604161000Z", "output_fields": {"container.id":"30c0f74777de","container.image.repository":"602401143452.dkr.ecr.eu-west-1.amazonaws.com/eks/kube-proxy","container.image.tag":"v1.18.8-eksbuild.1","evt.time":1614946682604161000,"k8s.ns.name":"kube-system","k8s.pod.name":"kube-proxy-hjc95","proc.cmdline":"container:30c0f74777de","user.loginuid":0,"user.name":null}}

Environment

Falco version:
Falco version: 0.27.0
Driver version: 5c0b863ddade7a45568c0ac97d037422c9efb750

System info:
{
"machine": "x86_64",
"nodename": "ip-192-168-3-163.eu-west-1.compute.internal",
"release": "4.14.219-161.340.amzn2.x86_64",
"sysname": "Linux",
"version": "#1 SMP Thu Feb 4 05:54:19 UTC 2021"
}

Cloud provider or hardware configuration:

OS:
cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"

Kernel:
Linux ip-192-168-3-163.eu-west-1.compute.internal 4.14.219-161.340.amzn2.x86_64 #1 SMP Thu Feb 4 05:54:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux- Installation method:

I deployed the falco chart version 1.7.7

Hey @leogr, sorry for the late.
I see this from the events:
2m48s       Normal    Pulled                         pod/falco-fqd64                                Successfully pulled image "docker.io/falcosecurity/falco-driver-loader:0.27.0"
2m48s       Normal    Created                        pod/falco-fqd64                                Created container driver-loader
2m48s       Normal    Started                        pod/falco-fqd64                                Started container driver-loader
29s         Normal    Pulled                         pod/falco-fqd64                                Container image "docker.io/falcosecurity/falco-no-driver:0.27.0" already present on machine
29s         Normal    Created                        pod/falco-fqd64                                Created container falco
29s         Normal    Started                        pod/falco-fqd64                                Started container falco
42s         Warning   BackOff                        pod/falco-fqd64                                Back-off restarting failed container
12m         Normal    Killing                        pod/falco-s9sk6                                Stopping container falco
2m51s       Normal    Scheduled                      pod/falco-ws58n                                Successfully assigned default/falco-ws58n to ip-192-168-78-147.eu-west-1.compute.internal
2m49s       Warning   FailedMount                    pod/falco-ws58n                                MountVolume.SetUp failed for volume "config-volume" : failed to sync configmap cache: timed out waiting for the condition
2m48s       Normal    Pulling                        pod/falco-ws58n                                Pulling image "docker.io/falcosecurity/falco-driver-loader:0.27.0"
2m47s       Normal    Pulled                         pod/falco-ws58n                                Successfully pulled image "docker.io/falcosecurity/falco-driver-loader:0.27.0"
2m47s       Normal    Created                        pod/falco-ws58n                                Created container driver-loader
2m47s       Normal    Started                        pod/falco-ws58n                                Started container driver-loader
45s         Normal    Pulled                         pod/falco-ws58n                                Container image "docker.io/falcosecurity/falco-no-driver:0.27.0" already present on machine
104s        Normal    Created                        pod/falco-ws58n                                Created container falco
104s        Normal    Started                        pod/falco-ws58n                                Started container falco
59s         Warning   BackOff                        pod/falco-ws58n                                Back-off restarting failed container
7m34s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-8rgt4
7m34s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-d8dw9
7m34s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-cmw4q
2m51s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-c56s7
2m51s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-fqd64
2m51s       Normal    SuccessfulCreate               daemonset/falco                                Created pod: falco-ws58n
103s        Warning   FailedToUpdateEndpointSlices   service/falco                                  Error updating Endpoint Slices for Service default/falco: failed to update falco-6288z EndpointSlice for Service default/falco: Operation cannot be fulfilled on endpointslices.discovery.k8s.io "falco-6288z": the object has been modified; please apply your changes to the latest version and try again```

kdpo falco-c56s7
+ kubectl describe pods falco-c56s7
Name:         falco-c56s7
Namespace:    default
Priority:     0
Node:         ip-192-168-32-183.eu-west-1.compute.internal/<IP_ADDRESS>
Start Time:   Mon, 15 Mar 2021 09:00:06 +0100
Labels:       app=falco
              controller-revision-hash=f4f657874
              pod-template-generation=1
              role=security
Annotations:  checksum/certs: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
              checksum/config: dc35b4801152b13c38c91a8abbc871b93937e7ae48468896dc828241518e9dbe
              checksum/rules: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
              kubernetes.io/psp: eks.privileged
Status:       Running
IP:           <IP_ADDRESS>
IPs:
  IP:           <IP_ADDRESS>
Controlled By:  DaemonSet/falco
Init Containers:
  driver-loader:
    Container ID:   docker://5174b2d2b5132e77b8354532045316cff0f3377aec70c3d30fc75de2959ea277
    Image:          docker.io/falcosecurity/falco-driver-loader:0.27.0
    Image ID:       docker-pullable://falcosecurity/falco-driver-loader@sha256:a33198a9c48ecffd8af8baf2d4f36a6de121bf9acb03f235dd78b7229d4a93b0
    Port:           <none>
    Host Port:      <none>
    State:          Terminated
      Reason:       Completed
      Exit Code:    0
      Started:      Mon, 15 Mar 2021 09:00:08 +0100
      Finished:     Mon, 15 Mar 2021 09:00:10 +0100
    Ready:          True
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /host/boot from boot-fs (ro)
      /host/etc from etc-fs (ro)
      /host/lib/modules from lib-modules (rw)
      /host/proc from proc-fs (ro)
      /host/usr from usr-fs (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from falco-token-jc5rz (ro)
Containers:
  falco:
    Container ID:  docker://83f0633cdbb73b6afd0c7eaaf96411c64bd6d4a835d272a1b78b789dcacdc766
    Image:         docker.io/falcosecurity/falco-no-driver:0.27.0
    Image ID:      docker-pullable://falcosecurity/falco-no-driver@sha256:34a28aaab51e5c65ac50bfb4c11e6cce15594fcaf63b56b0b4ab4603eb703b59
    Port:          <none>
    Host Port:     <none>
    Args:
      /usr/bin/falco
      --cri
      /run/containerd/containerd.sock
      -K
      /var/run/secrets/kubernetes.io/serviceaccount/token
      -k
      https://$(KUBERNETES_SERVICE_HOST)
      -pk
    State:          Waiting
      Reason:       CrashLoopBackOff
    Last State:     Terminated
      Reason:       Error
      Exit Code:    139
      Started:      Mon, 15 Mar 2021 09:06:21 +0100
      Finished:     Mon, 15 Mar 2021 09:06:29 +0100
    Ready:          False
    Restart Count:  6
    Limits:
      cpu:     200m
      memory:  1Gi
    Requests:
      cpu:        100m
      memory:     512Mi
    Environment:  <none>
    Mounts:
      /etc/falco from config-volume (rw)
      /host/boot from boot-fs (ro)
      /host/dev from dev-fs (ro)
      /host/etc from etc-fs (ro)
      /host/lib/modules from lib-modules (rw)
      /host/proc from proc-fs (ro)
      /host/run/containerd/containerd.sock from containerd-socket (rw)
      /host/usr from usr-fs (ro)
      /host/var/run/docker.sock from docker-socket (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from falco-token-jc5rz (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  docker-socket:
    Type:          HostPath (bare host directory volume)
    Path:          /var/run/docker.sock
    HostPathType:
  containerd-socket:
    Type:          HostPath (bare host directory volume)
    Path:          /run/containerd/containerd.sock
    HostPathType:
  dev-fs:
    Type:          HostPath (bare host directory volume)
    Path:          /dev
    HostPathType:
  proc-fs:
    Type:          HostPath (bare host directory volume)
    Path:          /proc
    HostPathType:
  boot-fs:
    Type:          HostPath (bare host directory volume)
    Path:          /boot
    HostPathType:
  lib-modules:
    Type:          HostPath (bare host directory volume)
    Path:          /lib/modules
    HostPathType:
  usr-fs:
    Type:          HostPath (bare host directory volume)
    Path:          /usr
    HostPathType:
  etc-fs:
    Type:          HostPath (bare host directory volume)
    Path:          /etc
    HostPathType:
  config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      falco
    Optional:  false
  falco-token-jc5rz:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  falco-token-jc5rz
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     node-role.kubernetes.io/master:NoSchedule
                 node.kubernetes.io/disk-pressure:NoSchedule op=Exists
                 node.kubernetes.io/memory-pressure:NoSchedule op=Exists
                 node.kubernetes.io/not-ready:NoExecute op=Exists
                 node.kubernetes.io/pid-pressure:NoSchedule op=Exists
                 node.kubernetes.io/unreachable:NoExecute op=Exists
                 node.kubernetes.io/unschedulable:NoSchedule op=Exists
Events:
  Type     Reason     Age                    From               Message
  ----     ------     ----                   ----               -------
  Normal   Scheduled  7m                     default-scheduler  Successfully assigned default/falco-c56s7 to ip-192-168-32-183.eu-west-1.compute.internal
  Normal   Pulling    6m59s                  kubelet            Pulling image "docker.io/falcosecurity/falco-driver-loader:0.27.0"
  Normal   Pulled     6m58s                  kubelet            Successfully pulled image "docker.io/falcosecurity/falco-driver-loader:0.27.0"
  Normal   Created    6m58s                  kubelet            Created container driver-loader
  Normal   Started    6m58s                  kubelet            Started container driver-loader
  Normal   Pulled     5m6s (x5 over 6m55s)   kubelet            Container image "docker.io/falcosecurity/falco-no-driver:0.27.0" already present on machine
  Normal   Created    5m6s (x5 over 6m55s)   kubelet            Created container falco
  Normal   Started    5m6s (x5 over 6m55s)   kubelet            Started container falco
  Warning  BackOff    109s (x22 over 6m39s)  kubelet            Back-off restarting failed container

I presume there should be some lines in the log with an error before the container exits. You should see those lines with kubectl logs -p <pod_name>:
-p, --previous=false: If true, print the logs for the previous instance of the container in a pod if it exists.

Can you check that out?

Hi @leogr and @jihed ,
Today, I run into a quite similar (or perhaps even the same) issue using falcosecurity/falco:0.27.0.
kubectl describe pod falco-xxx
....

I activated the K8s audit feature just yesterday and in the night, we had Falco crashing on all 3 K8s clusters in our Asia (UTC+8) location. An interesting fact is, that all other 30+ K8s clusters (with the exact same Falco & Falco Audit configuration) in our main office (headquarter) did not crash...
Using kubectl logs -p -f falco-xxx shows an interesting error:
...
# Last Falco rule alert before Falco crashes (see timestamp):
{"priority":"Notice","rule":"User Interaction with K8s API","time":"2021-04-27T23:41:15.232449024Z", "output_fields": {"jevt.time.iso8601":"2021-04-27T23:41:15.232449024+0000","ka.response.code":"200","ka.target.name":"default","ka.target.resource":"limitranges","ka.uri":"/api/v1/namespaces/falco/limitranges/default","ka.user.name":"oidc:GROUPNAME","ka.verb":"get"}}
# Termination error:
terminate called after throwing an instance of 'nlohmann::detail::parse_error'
  what():  [json.exception.parse_error.109] parse error: array index 'data' is not a number

The User Interaction with K8s API rule is basically nearly a copy of the Disallowed K8s User default rule (https://github.com/falcosecurity/falco/blob/master/rules/k8s_audit_rules.yaml#L58-L64) - we simply want to log any K8s API user interaction:
    - rule: User Interaction with K8s API
      desc: Detect any K8s API user interactions.
      condition: kevt and non_system_user and not ka.user.name in (allowed_k8s_users)
      output: User K8s API interaction detected (user=%ka.user.name target=%ka.target.name/%ka.target.resource verb=%ka.verb uri=%ka.uri resp=%ka.response.code)
      priority: INFO
      source: k8s_audit
      tags: [k8s]

Also an interesting fact is that the Falco Pod CPU / memory usage spikes up about 100% for about 3-5 minutes before it crashes.
Thanks & regards,
Philip

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Same issue here with version 0.26 on amzn2. The logs -p doesn't show anything additional unfortunately.

Same issue here with version 0.26 on amzn2. The logs -p doesn't show anything additional unfortunately.

Unfortunately, I was not able to reproduce this issue.
Can anyone confirm that the problem affects the helm chart only?

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/reopen

@nicksdockeracct: You can't reopen an issue/PR unless you authored it or you are a collaborator.

In response to this:

/reopen

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Same issue.

The init containers fails
Ubuntu 20.04
https://gist.github.com/vasartori/423eb19b2655c85a58ac7cde0d168f52

/reopen
cc @falcosecurity/falco-maintainers

@leogr: Reopened this issue.

In response to this:

/reopen
cc @falcosecurity/falco-maintainers

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Relay node file size limit or bandwidth limit?

Is there a file size limit or bandwidth limitations when sharing files through a relay node?

Transit relays could impose any limits they like, but "in general" clients should conduct themselves reasonably. There's nothing built in to the protocol to limit sizes.

(Since you opened several issues as questions, can I ask if you looked for but didn't find other ways to ask these questions? Perhaps this bug should be re-opened and turned into a request for that information?)

I do not understand what you mean by "clients should conduct themselves reasonably"
I did not mean to open a bug issue to ask questions. Could you perhaps add a discussions tab to this github repo. Discussions tabs creates a forum section where other github users can post feature requests, ask questions, have discussions, etc which will remain separate from the issue tracker. Not many github repos use the discussion feature I find :(

I do not understand what you mean by "clients should conduct themselves reasonably"

I just mean we haven't so far needed to do much blocking etc. as far as I know.


How to use esformatter plugin in sublime text 3

my .esformatter file
{
  "preset": "default",

  "plugins": [
    "esformatter-add-trailing-commas",
    "esformatter-quotes",
  ],

  "pipe": {
    "after": [
      "es-strip-semicolons",
    ],
  },

  "quotes": {
    "type": "single",
  },
}

my package.json file
{
  "devDependencies": {
    "es-strip-semicolons": "^1.0.6",
    "esformatter": "^0.8.2",
    "esformatter-add-trailing-commas": "^1.1.0",
    "esformatter-quotes": "^1.0.3",
  }
}

It seems the plugins not work.

did you install esformatter globally? npm install -g esformatter

yes, I have installed esformatter glabally too.

i have the same problem console shows this error
error: Error (1):Unable to format

I have resolved it.
cd "Sublime Text 3 x64\Data\Packages\EsFormatter\lib"
npm i -S esformatter esformatter-add-trailing-commas esformatter-quotes
npm run prepublish

@hugomrdias I had the same issue. Try adding the plugins that your .esformatter file declares to ~/Library/Application Support/Sublime Text 3/Packages/EsFormatter/lib by using npm i -S <package-name> then npm run prepublish

As of 2.0.0 the plugin uses the local/global version of esformatter, it should be easier to configure your plugins.


Thread binding of dynamic variables aren't copied to async callbacks

Thread local dynamic variables aren't being copied over to the response/error callback functions:
(def ^:dynamic *my-dynamic-var* nil)
(binding [*my-dynamic-var* "cat"]
  (println *my-dynamic-var*)
  (clj-http.client/get "https://postman-echo.com/get"
                         {:async? true}
                         (fn [resp]
                           (println "Resp + dynamic var: " *my-dynamic-var*))
                         (fn [error]))

  (clj-http.client/post "https://postman-echo.com/get"
                        {:async? true}
                        (fn [resp])
                        (fn [error]
                          (println "Error + dynamic var: " *my-dynamic-var*))))

produces:
cat
Resp + dynamic var:  nil
Error + dynamic var:  nil

This is a rather easy fix utilizing clojure.lang.Var/getThreadBindingFrame & clojure.lang.Var/resetThreadBindingFrame (which I'll demonstrate below), but I'm not sure if the fix behavior should just be added to the current request implementation, should be added via a parameter (so as to not change how the code currently behaves for people). And either way, I could use guidance on how/where to write tests for this change.
(binding [*my-dynamic-var* "cat"]
  (println *my-dynamic-var*)
  (let [original-thread-bindings (clojure.lang.Var/getThreadBindingFrame)]
    (clj-http.client/get "https://postman-echo.com/get"
                         {:async? true}
                         (fn [resp]
                           (clojure.lang.Var/resetThreadBindingFrame original-thread-bindings)
                           (println "Resp + dynamic var: " *my-dynamic-var*))
                         (fn [error]))

    (clj-http.client/post "https://postman-echo.com/get"
                          {:async? true}
                          (fn [resp])
                          (fn [error]
                            (clojure.lang.Var/resetThreadBindingFrame original-thread-bindings)
                            (println "Error + dynamic var: " *my-dynamic-var*)))))

produces
cat
Resp + dynamic var:  cat
Error + dynamic var:  cat

@tanzoniteblack I'm leaning more towards this being a bug, and fixing it as the default behavior. I don't think anyone expects that bindings would not be propagated.
Would you be willing to open a PR for this?

@dakrone -- looks like this issue can be closed now, is that correct?

Yes, this can be closed now, thanks!


netcdf 4.9.2 and 1.14.3 :  attach_dimscales: Assertion `dsid > 0' failed when closing file

This is a follow-up of the https://github.com/Unidata/netcdf-c/issues/1772#issuecomment-2260150223.
While the issue #1772 is rather about a current limitation of the NetCDF4/HDF5 implementation, this issue is the about an assertion error than occurs in this context  when the file is closed. At first glance, it seems that only recent version of HDF5 trigger this error, while #1772 itself is a long-standing issue.

the version of the software with which you are encountering an issue

NetCDF 4.9.2 and HDF5 1.14.3

environmental information (i.e. Operating System, compiler info, java version, python version, etc.)

Alpine Linux 3.15 (the build environment of Julia's C packages) with GCC 5.2.0
Other build dependencies (including indirect ones) are:
Blosc v1.21.5
Bzip2 v1.0.8
GnuTLS v3.8.4
HDF5 v1.14.3
Hwloc v2.11.1
Lz4 v1.10.0
OpenSSL v3.0.14
P11Kit v0.24.1
XML2 v2.13.1
XZ v5.4.6
Zstd v1.5.6
libaec v1.1.2
libzip v1.10.1
GMP v6.3.0
LibCURL v7.73.0
LibGit2 v1.2.3
LibSSH2 v1.11.1
MbedTLS v2.24.0
MozillaCACerts v2024.7.2
Zlib v1.3.1

The NetCDF is configured as:
./configure --prefix=/workspace/destdir --build=x86_64-linux-musl --host=x86_64-linux-gnu --enable-shared --disable-static --disable-dap-remote-tests --disable-plugins

These features are enabled:
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # nc-config --all

This netCDF 4.9.2 has been built with the following features:

  --cc            -> cc
  --cflags        -> -I/workspace/destdir/include -I/workspace/destdir/include
  --libs          -> -L/workspace/destdir/lib -lnetcdf
  --static        -> -lhdf5_hl -lhdf5 -lm -lz -ldl -lzip -lsz -lbz2 -lzstd -lblosc -lxml2 -lcurl
  --has-dap          -> yes
  --has-dap2         -> yes
  --has-dap4         -> yes
  --has-nc2          -> yes
  --has-nc4          -> yes
  --has-hdf5         -> yes
  --has-hdf4         -> no
  --has-logging      -> no
  --has-pnetcdf      -> no
  --has-szlib        -> yes
  --has-cdf5         -> yes
  --has-parallel4    -> yes
  --has-parallel     -> yes
  --has-nczarr       -> yes
  --has-zstd         -> yes
  --has-benchmarks   -> no
  --has-multifilters -> yes
  --has-stdfilters   -> deflate bz2 blosc zstd
  --has-quantize     -> yes

  --prefix           -> /workspace/destdir
  --includedir       -> /workspace/destdir/include
  --libdir           -> /workspace/destdir/lib
  --plugindir        ->
  --version          -> netCDF 4.9.2

a description of the issue with the steps needed to reproduce it

The following C program leads to an abort:
#include <stdio.h>
#include <string.h>
#include <netcdf.h>
int main() {
  int ncid, var_time_id, dim2_id, dim_id, var_myvar_id, status;
  int data[3] = {1,2,3};
  status = nc_create("test.nc", NC_CLOBBER|NC_NETCDF4, &ncid);
  if(status != NC_NOERR) {
    printf("Could not create the file.\n");
  }
  status = nc_def_dim(ncid, "time2", 3, &dim2_id);
  if(status != NC_NOERR) {
    printf("Could not create time2.\n");
  }
  status = nc_def_var(ncid, "time", NC_INT, 1, &dim2_id, &var_time_id);
  if(status != NC_NOERR) {
    printf("Could not create variable time.\n");
  }
  status = nc_put_var_int(ncid, var_time_id, data);
  if(status != NC_NOERR) {
    printf("Could not put var.\n");
  }
  status = nc_def_dim(ncid, "time", 3, &dim_id);
  if(status != NC_NOERR) {
    printf("Could not create dim time.\n");
  }
  status = nc_def_var(ncid, "myvar", NC_INT, 1, &dim_id, &var_myvar_id);
  if(status != NC_NOERR) {
    printf("Could not create myvar.\n");
  }
  status = nc_put_var_int(ncid, var_myvar_id, data); /* hitting issue #1772 */
  if(status != NC_NOERR) {
    printf("Could not put myvar.\n"); /* HDF5 error */
  }
  printf("before calling close\n");
  status = nc_close(ncid);
  printf("error code after close = %d\n", status);
  return 0;
}

The output of this program is:
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # gcc -o nc_error nc_error.c $(nc-config --cflags --libs)
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # ./nc_error
Could not put myvar.
before calling close
nc_error: nc4hdf.c:1469: attach_dimscales: Assertion `dsid > 0' failed.
Aborted (core dumped)

Note that this error is not reproducible with NetCDF 4.9.2 compiled with  HDF5 1.10.7 (from ubuntu 22.04). So far this issue could only be reproduced with HDF5 1.14.2 and 1.14.3.
Since the error depends on the HDF5 version and since we have an HDF5 error at the line nc_put_var_int(ncid, var_myvar_id, data); I think it is possible that the root cause is not in NetCDF itself.
This issue was reported by @ryofurue in https://github.com/Alexander-Barth/NCDatasets.jl/issues/261 for the julia package NCDatasets.jl. While for a typical C or Fortran program, an HDF5 error would end the program, in an interactive julia,python,R,... session however it is quite common that the user can make an error which should not result in aborting the session (actually, here it is not really a user error, but rather an limitation of NetCDF4 not occurring on NetCDF3 for example as discussed in #1772).
While solving #1772 would be quite desirable, the purpose of this issue, as I see it, is just about the assertion failure.
Thank you for your time and your insights!

I have few regrets in life, but many of them have to do with HDF5 dimscales.
I will explain in detail, but first suggest you try adding flag NC_NODIMSCALE_ATTACH to your file create mode, to see if that resolves the problem. Let me know if it does.
Unfortunately, HDF5 does not have a dimension, and that leads to problems. What netCDF does is create a HDF5 dataset for each dimension (as well as each variable). When you have a variable and dimension which have the same name, netcdf-4 assumes that is a coordinate dimension (the values of the variable are the values along that dimension, and the variable has one dimension, which is the dimension of the same name).
So, for example, you would have a dimension "longitude" with length 100. Then you would have a variable called "longitude" which has 100 values, the values of the longitude for each value along that dimension. This is a "coordinate variable" in netCDF.
The problem with the above code is that you define a dimension time2, and then a variable, time.
Then, you write some data to time, causing all metadata to be written to the file.
Then, you go back into define mode and define a dimension named time, the name already in use by the variable. So this is bad netCDF practice, because you have a variable and a dimension of the same name, this should be a coordinate dimension, which means the dimension of variable "time" should be dimension "time", not "time2". In other words, once you define a variable, you should not add a dimension of the same name. If you want a coordinate variable, then define the dimension first, then use it as the dimension of the variable.
Is there a good reason for this? Or is it just a corner case that you discovered?
This is part of a larger category of renaming problems, starting with #597, but searching for "rename" on the netcdf-c issue list reveals many more. Fixing these would require a rewrite of a significant section of netcdf-4 code, which handles renames.
You can also build netCDF with CFLAGS=-NDEBUG to turn off all assertions and see what happens.

Yes, the assertion failure is indeed not triggered when I use nc_create("test.nc", NC_CLOBBER|NC_NETCDF4 |NC_NODIMSCALE_ATTACH , &ncid);:
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # gcc -o nc_error_nodimscale nc_error_nodimscale.c $(nc-config --cflags --libs)
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # ./nc_error_nodimscale
Could not put myvar.
before calling close
error code after close = -101

We have just the NC_EHDFERR (-101, HDF error) as expected.
I fully agree that creating such NetCDF confusing and "unconventional".  It came about by copying the NetCDF variables along with dimension and names from a pre-existing file. The user was not aware that there were different dimension with inconsistent names. In NCDatasets.jl, one can copy a NetCDF variables from one file to another and all dimensions are created implicitly if necessary.  There should have been only one time dimension. But user error happend. I am ok with returning an error message in this case, but an abort is a bit drastic.
You are right, that CFLAGS="-DNDEBUG" disables the assertion:
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # gcc -o nc_error nc_error.c $(nc-config --cflags --libs)
sandbox:${WORKSPACE}/srcdir/netcdf-c-4.9.2 # ./nc_error
Could not put myvar.
before calling close
error code after close = -124  #  NC_EDIMSCALE, Problem with HDF5 dimscales

If you wish to submit a PR for that, I would have no objection.


Refactor unit tests in functional

The PR addresses these issues:

In autograd tests, the complex dtype is not considered. Add torch.cdouble support for the Tensors.
In batch_consistency tests, the assert_batch_consistency method only accepts single Tensor, this is not applicable to some methods, for example, lfilter and filtfilt requires three Tensors as the arguments, hence they don't use assert_batch_consistency in the tests. Refactor the test to accept a list of Tensors
Similar in torchscript_consistency tests, the func in each test method only accepts one tensor as the argument, for the other arguments for F.xxx method, they need to be defined inside the func. If there is no Tensor argument in the test, they use a dummy tensor which is not used anywhere. In this PR, we refactor _assert_consistency and _assert_consistency_complex to accept a list of inputs instead of just one tensor.

Updated the description.

Sure, will do.

Split the PR into three small PRs:

[ ] https://github.com/pytorch/audio/pull/2244
[ ] https://github.com/pytorch/audio/pull/2245
[ ] https://github.com/pytorch/audio/pull/2246


[web] Coverage++ for ducks/flows.js

Could not cover the line below, since we still don't have multiple selection implementation:
https://github.com/mitmproxy/mitmproxy/blob/master/web/src/js/ducks/flows.js#L43
Not sure whether I am doing this right, this could add up coverage, but obviously not a perfect solution:
https://github.com/MatthewShao/mitmproxy/blob/15c19d2bc63e667a95bdc1f6f5b5af056264280f/web/src/js/__tests__/ducks/flowsSpec.js#L90
I want to test if we are passing the right parameter(URL) to fetchApi here.  I googled a lot, but still got no idea about how to mock this function correctly. Any hints?

Ok, I finally found some time to look at this! 😃
I needed to play around a bit to answer your question, so I already addressed some comments with my latest commit.

Could not cover the line below, since we still don't have multiple selection implementation

I made one up: https://github.com/mitmproxy/mitmproxy/pull/2219/files#diff-03885a709bb05c5e6ceff6acbc875b2fR79

I want to test if we are passing the right parameter(URL) to fetchApi here. I googled a lot, but still got no idea about how to mock this function correctly. Any hints?

Two parts to this:
First, we should use a full store when testing redux-thunk action creators (the ones which return a (dispatch, getState) function). I've added an example here, the other actions need to be adjusted. If it gets more complicated, we should use a mock store as described in http://redux.js.org/docs/recipes/WritingTests.html#async-action-creators, but let's keep it minimal for now.
Second, we can jest.mock('../../utils'); import {fetchApi} from "../../utils" and then use
expect(fetchApi).toBeCalledWith('/flows/1/resume', { method: 'POST' })

Awesome! Finally got a satisfying solution.

🎉


Add button hover states in the theme to correspond to the UI theme

Motivation and context
The current state of the buttons was pretty random and there were styling on top of the default button stylings.
I have now changevdthe styles to be in tact with the UI Kit and in my opinion this way they look better.
This is the reference design:

https://www.figma.com/file/MmvFKzUv6yE5U2wrOpWtwS/Podkrepi.bg?node-id=38%3A3937
There are quite a bit of changes to the theme though and everything has to be looked at by QA if possible since there might be problems that arise from that.
Screenshots:

Before
After

Testing
Went through most of the pages and didn't see any blatant problems

Putting @swolf86 as a reviewer to actually confirm if this UI Kit we have in the Figma file is how the buttons are supposed to behave

Outstanding upgrade of  the theme! :rocket: :1st_place_medal:
Thanks @dimitur2204
The PR is good by me

You can merge it!

Hi Dimitar, please share a link where we can see the buttons and test all the states
Thanks

@swolf86 You can review some of them on https://dev.podkrepi.bg/campaigns

If it's okay I'll share that my personal feeling about this color is not good. Relly wonder if this is the expected color, as it doesn't really match what a "nice color scheme" looks like for me.

Hi Dimitar, please share a link where we can see the buttons and test all the states Thanks

@swolf86 Ilko pushed the changes to staging check them out here. https://dev.podkrepi.bg/

If it's okay I'll share that my personal feeling about this color. Relly wonder if this is the expected color, as it doesn't really match what a "nice color scheme" looks like for me.

That is the actual color on the UI Kit in Figma. But now when I look at the pages on the Development tab the color is actually different yeah

Maybe we should go with this one. It really does look better

Not sure if you are using the correct dark orange colour
hover colour is DB6B04


Make Request properties and VCRHandler type public

Description
The Request object has all its properties set to internal visibility.
However, it is exposed in the IInteractionConverter type under the assumption that an implementation living outside of EasyVCR would be able to return a fully hydrated instance.
More importantly, this defeats the purpose of the MatchRules.ByCustomRule method, which provides Request objects for recorded and received parameters, where the implementor can access absolutely nothing (except though reflection of course).
The test cases do not catch this due to InternalsVisibleTo being applied to the test assembly.
Also make the VCRHandler type public, as there is a specific test stating that its construction should be possible by a user of the library (ClientTest.TestVCRHandler).
It is especially needed to test code using https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-8.0, and dependency injection, especially to be able to inject the handler as indicated in https://learn.microsoft.com/en-us/aspnet/core/fundamentals/http-requests?view=aspnetcore-8.0#outgoing-request-middleware.
Testing
I did not write any test.
If this was deemed necessary, then probably test assemblies should be split in two, one for testing the public usage of the library, another relying on internals ? Or an intermediary test utils assembly which would expose publicly methods to act on the internals for tests could be created, to ensure access to internals is under control in tests ?
Pull Request Type
Please select the option(s) that are relevant to this PR.

[X] 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)
[ ] Improvement (fixing a typo, updating readme, renaming a variable name, etc)

Thank you for catching this @Greybird .

If this was deemed necessary, then probably test assemblies should be split in two, one for testing the public usage of the library, another relying on internals?

Yes, in our other repositories, we've begun to adopt two different tests suites, one for unit testing functionality, and another for testing the publicly-available implementation of the module. We should definitely port that to EasyVCR.


Fix class documentation

Class documentation consisted partly of references to "EnvelopedData" instead of "EncryptedData". Probably a copy/paste error.

Thanks. Merged.


Hint Analyzer: Remove Evidence Based on Regex

Update the hint analyzer to remove evidence based on a regex value instead of the exact match mechanism used now. An example of the current way to remove single items of evidence can be found in the dependencycheck-base-hint.xml. See #664 for more information/example.

@jeremylong If I understand correctly what is to be introduced is allowing to specify a regex for <evidence ...> inside <given> and <remove>
Should regexes only apply to the value clause, or also be applicable to the other entries?
Offering to work on creating a PR for this one once the requirements are clear.

The idea is to make the hint analyzer more flexible.  Currently we can define match rules like:
<evidence type="vendor" source="pom" name="parent-groupid" value="org.springframework.boot" confidence="HIGHEST"/>

This requires an exact match to the value and confidence. When implementing the improvement it would be good to allow a regex on the value. It may also be good to make the source and confidence optional and if blank it would match any. However, I don't think the name needs to have a regex applied.

Jeremy, while looking at implementing this I spotted a TODO in the code of the HintAnalyzer (https://github.com/jeremylong/DependencyCheck/blob/816e17a67b35a044cea8260968dfbce12f23b586/dependency-check-core/src/main/java/org/owasp/dependencycheck/xml/hints/HintParser.java#L84)
It is indeed trivial to support multiple schemas at once (solving this issue would introduce the 3rd iteration of the hints XSD), given that namespaces are used.
https://docs.oracle.com/javase/tutorial/jaxp/sax/validation.html points for the advanced multi-namespace parsing to the DOM Validation trail of the tutorial https://docs.oracle.com/javase/tutorial/jaxp/dom/validating.html which indicates that the http://java.sun.com/xml/jaxp/properties/schemaSource factory-property can be an array of String/InputStream/InputSource/File and apparently even an Object array that contains a mixture of those.
Shall I update the code as part of fixing this issue, or shall I create a separate pull-request (and accompanying issue) that just resolves this TODO (and cleans up the similar multiple-schemas code of the SuppressionParser)?

I'm fine with both being solved in a single PR - truly appreciate you working on this. I should point out that there are significant changes coming to the analyzers - but don't worry, when I get around to merging the update(s) I will update any PRs that are still based on the 2.x analyzer API (the 3.0.0 is in development trying to fix a couple of threading issues).

Needs a little more testing and checking code cleanliness before committing to my branch and issueing a PR, but the preliminary results are promising. I am able to get rid of the Netflix FP using my local build using
<hints xmlns="https://jeremylong.github.io/DependencyCheck/dependency-hint.1.3.xsd">
    <hint>
        <given>
            <evidence type="vendor" name="module-origin" value="^git@github.com:.+" regex="true"/>
        </given>
        <remove>
            <evidence type="vendor" name="module-origin" value="^git@github.com:.+" regex="true"/>
        </remove>
    </hint>
</hints>

(So it wasn't the github URL in the pom, but the git-uri in the module-origin that triggered the false link to git as a software product)


new 3D Tiles converter

This is working for me now, with texture repacking and no incompatible license dependencies. Updated installation and example usage are in the README.
Beyond the random sample data of a drink bottle, I also tried it on one of Oleg's geometry mapper models from ISAAC2.

@trey0 wow! that's a good amount of new code! thanks for working on this. I'm glad you were able to implement texture repacking without licensing issues. I also noticed you included 3D Tile debugging tools which could come in handy.
I went over the new code visually and everything looks good. I can attempt to test it locally but that might take some time given all the changes. If you've tested it and it works, I can merge it in now and test it later (I have to set up a new Linux machine, deleted my old one)

Sounds good! I'll go ahead and do a squash merge.
I can confirm it's working, but also want to note it shouldn't be too hard to test using the Docker instructions. I didn't get to the point of making a CI workflow, but that should be easy to add.


Warn on deterministic function use in old Python

As per https://github.com/omnilib/aiosqlite/pull/83#issuecomment-691997858 suggestion. Let me know if there's a better way to make tests specific to a Python version with pytest, as I don't know much about the library.

Thanks for picking up my comment, take a look at using @unittest.skipIfhttps://github.com/omnilib/aiosqlite/pull/84#discussion_r492027126 and then it's probably worth squashing the commits to clean up the history but other than that this LGTM :+1:

Thank you!


boundary: fix build on x86_64-darwin

Description of changes
https://github.com/NixOS/nixpkgs/pull/225539#issuecomment-1502118799
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@ofborg build boundary boundary.passthru.tests

Awesome!
Thanks for picking this up :)


Add [BIND] warning to migration guide

Fixes #19580
Internal review URL

@pranavkm  FYI added warning about [BIND] and input formatters in the migration guide.


confirmation: Remove Realm from ConfirmationObjT.

In https://github.com/zulip/zulip/pull/22584, we started to use RealmReactivationStatus in place of Realm when calling create_confirmation_link. That in fact removes the only callers that are using Realm as the confirmation object. This PR is a follow-up that cleans up the legacy.
We might want to merge #22600 before the last commit, so that the new type annotation makes sense.
Affected errors:
6c6
< Found 143 errors in 40 files (checked 1405 source files)
---
> Found 137 errors in 39 files (checked 1405 source files)
145,150d144
< zerver/views/realm.py error Subclass of "EmailChangeStatus" and "RealmReactivationStatus" cannot exist would have incompatible method signatures  [unreachable]
< zerver/views/realm.py error Subclass of "MultiuseInvite" and "RealmReactivationStatus" cannot exist would have incompatible method signatures  [unreachable]
< zerver/views/realm.py error Subclass of "PreregistrationUser" and "RealmReactivationStatus" cannot exist would have incompatible method signatures  [unreachable]
< zerver/views/realm.py error Subclass of "Realm" and "RealmReactivationStatus" cannot exist would have incompatible method signatures  [unreachable]
< zerver/views/realm.py error Subclass of "UserProfile" and "RealmReactivationStatus" cannot exist would have incompatible method signatures  [unreachable]
< zerver/views/realm.py error Statement is unreachable  [unreachable]

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

cc @mateuszmandera

Looks good, thanks for finding these!

Merged, thanks @PIG208!


ci: fix upgrading canary deps

Fixes the upgrading of the dependencies after a new canary was released of a package.
todo

[ ] fix build number
potential fix by @gkatsev

jq '. - map(select(contains("alpha") or contains("beta"))) | map(split(".")[3] | split("-")[0] | tonumber) | sort | last'

question: While investigating the issue, I noticed we're using both yarn and npm here. Was there a reason we didn't just use yarn equivalents for all of the npm commands? In particular, I noticed the release generated package-lock.json files, suggesting that our yarn.lock dependency versions aren't being respected in this process. Does that sound plausible to you?

I only focused on testing upgrading the dependencies in each package because that's I think where it got stuck
didn't try the actual publish flow.

iirc npm publish was required for the publish in the CI to work, why we added --npm-client=npm in the publish-release command
I assumed it didn't create a package-lock.json, I'll test this out. shouldn't happen.


⚠ Bofrost.be has degraded performance

In 7ce3604, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1013 ms

Resolved: Bofrost.be performance has improved in 3eea67e after 11 minutes.