Docker daemon hangs and becomes unresponsive

Description
Intermittently, the docker daemon becomes unresponsive. docker info hangs and does not show any information at all. Even stopping the docker daemon from systemd hangs and pretty much freezes the system
Steps to reproduce the issue:

Issue is intermittent and cannot reliably reproduce the hanging behavior.
Issue a systemctl stop docker command to stop the daemon.
The daemon does not stop within the default systemd timeout.

Systemd itself “hangs” and some processes that belongs to docker (dockerd and docker-proxy) become “Zombie” processes
The behavior of the host becomes quite erratic, system commands do not work, tailing a log file and you cannot CTRL-C out of it, the box will not reboot, etc etc.

This also affects when you want to reboot a box, as there is an implicit “systemctl stop docker” in the shutdown sequence.
I have a feeling this started with the move to docker engine 1.12.1
Describe the results you received:
Running docker info or any docker command hangs and shows no information at all.
Running a systemctl stop docker command hangs and eventually freezes the entire system.
Describe the results you expected:
Docker commands should work normally including docker info and display relevant information.
Additional information you deem important (e.g. issue happens only occasionally):
Intermittent issue, but when it happens it is unrecoverable.
The only recourse is to hard reboot the Linux (RHEL in this case) box.
[root@Docker-Demo4-wf ~]# uname -a
Linux Docker-Demo4-wf 3.10.0-327.28.2.el7.x86_64 #1 SMP Mon Jun 27 14:48:28 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux

Output of docker version:
1.12.1

Output of docker info:
Containers: 24
Running: 5
Paused: 0
Stopped: 19
Images: 146
Server Version: 1.12.1
Storage Driver: devicemapper
Pool Name: docker-thinpool
Pool Blocksize: 524.3 kB
Base Device Size: 10.74 GB
Backing Filesystem: xfs
Data file:
Metadata file:
Data Space Used: 26.27 GB
Data Space Total: 91.39 GB
Data Space Available: 65.12 GB
Metadata Space Used: 9.339 MB
Metadata Space Total: 46.14 MB
Metadata Space Available: 36.8 MB
Thin Pool Minimum Free Space: 9.139 GB
Udev Sync Supported: true
Deferred Removal Enabled: false
Deferred Deletion Enabled: false
Deferred Deleted Device Count: 0
Library Version: 1.02.107-RHEL7 (2016-06-09)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
Volume: local
Network: overlay host bridge null
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 3.10.0-327.28.2.el7.x86_64
Operating System: Red Hat Enterprise Linux Server 7.2 (Maipo)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 27.48 GiB
Name: Docker-Demo4-wf
ID: NMUO:R424:WQOD:TMUU:C74X:NEHA:FU5O:6CQP:DZ4W:FSCJ:DU5Y:WJP5
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-ip6tables is disabled
Cluster Store: etcd://<IP_ADDRESS>:12379
Cluster Advertise: <IP_ADDRESS>:12376
Insecure Registries:

Additional environment details (AWS, VirtualBox, physical, etc.):
The node is on Azure, running RHEL 7.2.
[root@Docker-Demo4-wf ~]# ps ax | grep docker
6427 ?        Ssl   19:16 /usr/bin/dockerd
6433 ?        Ssl    1:02 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --shim docker-containerd-shim --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --runtime docker-runc
6523 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 27017 -container-ip <IP_ADDRESS> -container-port 27017
6534 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 8888 -container-ip <IP_ADDRESS> -container-port 8080
6713 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 12376 -container-ip <IP_ADDRESS> -container-port 2376
6728 ?        Sl     0:00 docker-containerd-shim c696ad4ceadf912866c0d7b478105a0fe1c5db3ff9e96b6cb3affc67fd5d4302 /var/run/docker/libcontainerd/c696ad4ceadf912866c0d7b478105a0fe1c5db3ff9e96b6cb3affc67fd5d4302 docker-runc
6745 ?        Ssl    0:13 docker-proxy -l :2376 -ca /etc/docker/ssl/ca.pem -cert /etc/docker/ssl/cert.pem -key /etc/docker/ssl/key.pem
7101 ?        Sl     0:00 docker-containerd-shim cbbaa65ec5f84905d7329bb88cf3f71d689d4d8c4b52520d4bc0b91b3ceffb18 /var/run/docker/libcontainerd/cbbaa65ec5f84905d7329bb88cf3f71d689d4d8c4b52520d4bc0b91b3ceffb18 docker-runc
7116 ?        Ssl    0:02 /swarm join --discovery-opt kv.cacertfile=/etc/docker/ssl/ca.pem --discovery-opt kv.certfile=/etc/docker/ssl/cert.pem --discovery-opt kv.keyfile=/etc/docker/ssl/key.pem --discovery-opt kv.path=/docker/nodes --advertise <IP_ADDRESS>:12376 --discovery-opt kv.cacertfile=/etc/docker/ssl/ca.pem --discovery-opt kv.certfile=/etc/docker/ssl/cert.pem --discovery-opt kv.keyfile=/etc/docker/ssl/key.pem --discovery-opt kv.path=/docker/nodes etcd://<IP_ADDRESS>:12379
7722 ?        Sl     0:00 docker-containerd-shim a39a0eed65791261d6408bec5ba3ae2861331e222e78487b3f4aa68d73d87e22 /var/run/docker/libcontainerd/a39a0eed65791261d6408bec5ba3ae2861331e222e78487b3f4aa68d73d87e22 docker-runc
7823 ?        Sl     0:00 docker-containerd-shim ecd477ff230f5f49f74cab2ec3ba403e86a3eda9c4c27d0576d0bc3961c3485e /var/run/docker/libcontainerd/ecd477ff230f5f49f74cab2ec3ba403e86a3eda9c4c27d0576d0bc3961c3485e docker-runc
7943 ?        Sl     0:00 docker-containerd-shim 0a53bdd51c2abf420cd347d7ae58cf163a182b0edf108e1c851893392aeb1b55 /var/run/docker/libcontainerd/0a53bdd51c2abf420cd347d7ae58cf163a182b0edf108e1c851893392aeb1b55 docker-runc
8062 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 32768 -container-ip <IP_ADDRESS> -container-port 15672
8067 ?        Sl     0:00 docker-containerd-shim 9b02e24eb3cd7f50b5806604f77bca6effb47093480a2b31f24bf529f8d9ac4b /var/run/docker/libcontainerd/9b02e24eb3cd7f50b5806604f77bca6effb47093480a2b31f24bf529f8d9ac4b docker-runc
8705 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9099 -container-ip <IP_ADDRESS> -container-port 9099
8714 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9098 -container-ip <IP_ADDRESS> -container-port 9098
8723 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9097 -container-ip <IP_ADDRESS> -container-port 9097
8731 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9096 -container-ip <IP_ADDRESS> -container-port 9096
8739 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9095 -container-ip <IP_ADDRESS> -container-port 9095
8747 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9094 -container-ip <IP_ADDRESS> -container-port 9094
8755 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9093 -container-ip <IP_ADDRESS> -container-port 9093
8763 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9092 -container-ip <IP_ADDRESS> -container-port 9092
8772 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9091 -container-ip <IP_ADDRESS> -container-port 9091
8780 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9090 -container-ip <IP_ADDRESS> -container-port 9090
8811 ?        Sl     0:08 docker-containerd-shim 979e005115f1c92de4a489e95eddb155827fcaccdd83677e0d91562c2a3db446 /var/run/docker/libcontainerd/979e005115f1c92de4a489e95eddb155827fcaccdd83677e0d91562c2a3db446 docker-runc
10777 ?        Sl     0:00 docker-containerd-shim 791bcda4cf657872108d9a383833a833f12b52740c35231f04de305a0aab706a /var/run/docker/libcontainerd/791bcda4cf657872108d9a383833a833f12b52740c35231f04de305a0aab706a docker-runc
22644 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 32770 -container-ip <IP_ADDRESS> -container-port 8888
22649 ?        Sl     0:00 docker-containerd-shim 8ff251a924bbe3526e581e0796b9b1644b51d022d00f0c7ac85b34d1829c485f /var/run/docker/libcontainerd/8ff251a924bbe3526e581e0796b9b1644b51d022d00f0c7ac85b34d1829c485f docker-runc
23349 ?        Sl     0:00 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 30001 -container-ip <IP_ADDRESS> -container-port 8080
23381 ?        Sl     0:00 docker-containerd-shim ec214187a5573656ae14de5b58c70a565ad48f7406f3a92802436804a3dfe171 /var/run/docker/libcontainerd/ec214187a5573656ae14de5b58c70a565ad48f7406f3a92802436804a3dfe171 docker-runc
29258 ?        Sl     0:00 docker-containerd-shim 50fbbc0ef455bc1c626a836808ce7c64841703f91f1350606427b82e0d831b5b /var/run/docker/libcontainerd/50fbbc0ef455bc1c626a836808ce7c64841703f91f1350606427b82e0d831b5b docker-runc
59052 pts/6    S+     0:00 grep --color=auto docker

[root@Docker-Demo4-wf ~]# docker info (when issue occurs)
TIMEOUT

Running strace on the pid of the docker daemon produces:
wait4(11127,

11127 seems to be the pid for containerd.
While the issue is happening:

     strace –p PID of dockerd produces the file “strace.dockerd.out”

     the file doesn’t update, dockerd is just waiting.

     lsof | grep 11127 (PID from the strace.dockerd.out file) produces the content of lsof_grep_11127.out

     ps ax | grep 11127 produces the output of ps_ax_grep_11127.out

     strace –p 11127 (PID of docker-containerd ) produces “dockerd.strace.out”

     the file doesn’t update, docker-containerd is just waiting

Attaching these files inside Archive.zip:

strace.docker-containerd.out
ps_ax_grep_11127.out
lsof_grep_11127.out
strace.dockerd.out
messages
dmesg

Archive.zip

ping @mlaventure @crosbymichael

@anokun7 do you have the output of ps axjf ? Also, from the message file in your archives it doesn't seem that dockerd received a shutdown signal.
Do you have the docker log around the time this occurred?

@mlaventure By docker logs do you mean the output from journalctl or something else? The journalctl is attached here.
Also, the issue is intermittent and has not been producible since installing the 1.12.1-cs version. I'll update with the output of ps axjf as soon as the issue is reproduced.
journalctl.zip

@anokun7 yes, I meant the output of journalctl.
I'm thinking this may be the exec's children not been reaped off correctly issue again.
I may be able to confirm this with the output of ps axjf

Hi guys, I'm having same issue described by @anokun7 on Azure Cloud running a VM as docker-cloud BYON with Ubuntu 14.04.5 LTS and Docker Server Version: 1.11.2-cs5

@juanviola can you provide the same information as we asked @anokun7 to provide? That may help finding what's causing it

I also meet this problem.
First, I start a container , then, I stop it, use docker stop <container_id>.
But it doesn't work.It hangout and show nothing like @anokun7 .
 It doesn't work either.
ps -au
root     47428  0.0  0.0      0     0 ?        Ss   10:05   0:00 [finish]
root     47451 34.0  0.0    188     4 ?        R    10:05  79:19 s6-supervise mysql

so, I do this:
sudo service docker restart, and act like:
klg@koala:~$ ps -ef | grep mysql
klg       4762   511  0 13:47 pts/37   00:00:00 grep --color=auto mysql
root     47451 47428 30 10:05 ?        01:07:56 s6-supervise mysql

it still here!and:
klg@koala:~$ ps -ef | grep 47428
klg       4740   511  0 13:46 pts/37   00:00:00 grep --color=auto 47428
root     47428 47412  0 10:05 ?        00:00:00 [finish]
root     47451 47428 30 10:05 ?        01:07:20 s6-supervise mysql

klg@koala:~$ ps -ef | grep 47412
klg       5261   511  0 14:09 pts/37   00:00:00 grep --color=auto 47412
root     47412     1  0 10:05 ?        00:00:13 docker-containerd-shim 02dd96040cd51e0d2a483768de085b1e7902d196a563af226c4c7ddd2f732e77 /var/run/docker/libcontainerd/02dd96040cd51e0d2a483768de085b1e7902d196a563af226c4c7ddd2f732e77 docker-runc

Hope it can be fix.
docker info: ..... there's no info print in the screen , it hangs.....
uname -a
Linux koala 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Fri Jan 22 15:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

@SwenChan it looks like the shim was reparented to init, meaning containerd died somehow.
It would help, if you would use the tree form of ps so I can see the relationship of the different involved process. If you could also provide the daemon log, it may be of used.
Thanks

Same here
uname -a
Linux home 4.4.0-45-generic #66-Ubuntu SMP Wed Oct 19 14:12:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

strace -p 7518
strace: Process 7518 attached
futex(0x2aacd28, FUTEX_WAIT, 0, NULL

docker --version
Docker version 1.12.3, build 6b644ec

but I had same behaviour on
docker --version
Docker version 1.12.1, build 23cf638

Output of docker info:
Daemon not responding

This has been inactive for a while now.  I'll go ahead and close it on the assumption that it was caused by exec children going wild and as such should be fix with 1.12.3.
If you are still seeing the issue with the latest release, feel free to reopen with more information.

I am seeing this issue (Docker version 1.12.5 build 7392c3b) on CentOS 7:
uname -a
Linux usav1svgend29.private.local 3.10.0-327.28.3.el7.x86_64 #1 SMP Thu Aug 18 19:05:49 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

I can reliably reproduce on my machine - any time I leave it running overnight, in the morning I come back to it.

I am still seeing this issue.  Can sort of reliably reproduce (if I leave a container running overnight, I run into this issue first thing in the morning).  CentOS 7, 3.10.0-327.28.3.el7.x86_64, docker version 1.12.5

@davidjwilkins please open a new issue with all the information requested in the template so we can have a proper look.
Thanks.

same problem here...
Running docker 1.12.3 on centOS7
docker ps becomes unresponsive after a while running the same containers.
docker ps
```` is unresponsive.

@djsly most likely the issue will be fixed by upgrading docker to a version >= 1.13.0 as noted earlier in that thread.
One of the noted issue should be fixed within 1.12.6, but if you are using healthcheck, you will need to upgrade to at least 1.13.0

Hi @mlaventure thanks for the quick answer. could you pinpoint me the noted issue you are referring ?
I cannot move to 1.13.0 as I am using the officially supported Docker version for Kubernetes.
I could try to upgrade to 1.12.6 once it comes out on CentOS...

@djsly 1.12.3 has an issue with execs that spawn a children that stay connected to their parent IOs. 1.12.6 has the fix for this.
The docker API is backward compatible between versions, so upgrading may just work. Your only option is to wait for kubernetes to update otherwise indeed.

Awesome, thanks I will try to upgrade to 1.12.6 then.
From the release note I only see: CVE-2016-9962 as the only bug fix, is
that the one you are referring too ?
On Fri, Mar 17, 2017 at 4:39 PM, Kenfe-Mickaël Laventure <
<EMAIL_ADDRESS>wrote:

@djsly https://github.com/djsly 1.12.3 has an issue with execs that
spawn a children that stay connected to their parent IOs. 1.12.6 has the
fix for this.
The docker API is backward compatible between versions, so upgrading may
just work. Your only option is to wait for kubernetes to update otherwise
indeed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker/issues/26768#issuecomment-287465034,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwEKvhgRH5wujT5kbyR-Pcrjgl2SFZgks5rmu-bgaJpZM4KCXn3
.

The reason I am asking if because centOS @extra repo only contains 1.12.5
no 1.12.6 , so just trying to find the exact Fix# to see when this was
added.
Thanks!
On Fri, Mar 17, 2017 at 5:46 PM, sylvain boily<EMAIL_ADDRESS>wrote:

Awesome, thanks I will try to upgrade to 1.12.6 then.
From the release note I only see: CVE-2016-9962 as the only bug fix, is
that the one you are referring too ?
On Fri, Mar 17, 2017 at 4:39 PM, Kenfe-Mickaël Laventure <
<EMAIL_ADDRESS>wrote:

@djsly https://github.com/djsly 1.12.3 has an issue with execs that
spawn a children that stay connected to their parent IOs. 1.12.6 has the
fix for this.
The docker API is backward compatible between versions, so upgrading may
just work. Your only option is to wait for kubernetes to update otherwise
indeed.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/docker/docker/issues/26768#issuecomment-287465034,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEwEKvhgRH5wujT5kbyR-Pcrjgl2SFZgks5rmu-bgaJpZM4KCXn3
.

@djsly 1.12.5 has the fix I mentioned regarding exec's children. 1.12.6 indeed was only a CVE fix, hence why I'd recommend using it instead of 1.12.5

I found the same issue in a couple of times, but I can't seem to reproduce. I can check the docker info or docker version but docker CLI becomes unresponsive when trying docker ps. The version is 1.13.1.
steps to reproduce:
I noticed that one of my services was not getting response from an InfluxDB instance inside a docker container. So I went to visit that container to check the logs. I was able to curl the container and get some sort of response. docker ps and other commands worked fine. I also restarted the container successfully with docker restart. I performed docker logs but the logs were so many that I decided to ctrl+c and use the docker logs --tail option. This hung indefinitely till I decided to ctrl+c that as well. Next thing I know is that curling the container was no longer working and not even docker ps was working. The container I was exploring was influxdb container.
Docker daemon logs don't show anything interesting.
Docker logs
Containers: 7
 Running: 5
 Paused: 0
 Stopped: 2
Images: 38
Server Version: 1.13.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 140
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aa8187dbd3b7ad67d8e5e3a15115d3eef43a7ed1
runc version: 9df8b306d01f59d3a8029be411de015b7304dd8f
init version: 949e6fa
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.4.0-57-generic
Operating System: Ubuntu 16.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 12
Total Memory: 31.31 GiB
Name: pf-us1-sm5
ID: LFC3:5L6T:CP3I:HD3Q:KHEO:2SNM:QZQA:PS7S:I45N:HFQT:UPKN:7HMT
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support
Experimental: false
Insecure Registries:
 <IP_ADDRESS>/8
Live Restore Enabled: false

Docker version
Client:
 Version:      1.13.1
 API version:  1.26
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64

Server:
 Version:      1.13.1
 API version:  1.26 (minimum version 1.12)
 Go version:   go1.7.5
 Git commit:   092cba3
 Built:        Wed Feb  8 06:50:14 2017
 OS/Arch:      linux/amd64
 Experimental: false

service docker status
● docker.service - Docker Application Container Engine
   Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2017-03-30 11:49:13 PDT; 2 months 14 days ago
     Docs: https://docs.docker.com
 Main PID: 849 (dockerd)
    Tasks: 221
   Memory: 5.8G
      CPU: 7h 29min 239ms
   CGroup: /system.slice/docker.service
           ├─  849 /usr/bin/dockerd -H fd://
           ├─  860 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime do
           ├─ 7908 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9301 -container-ip <IP_ADDRESS> -container-port 9300
           ├─ 7919 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9201 -container-ip <IP_ADDRESS> -container-port 9200
           ├─ 7925 docker-containerd-shim 93d605a05786020648c3da93119eb71f4be38a23eaa2c8358d5b259f68ebf347 /var/run/docker/libcontainerd/93d605a05786020648c3da93119eb71f4be38a23eaa2c8358d5b259f68ebf347 docker-runc
           ├─15060 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 9600 -container-ip <IP_ADDRESS> -container-port 9600
           ├─15071 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 5044 -container-ip <IP_ADDRESS> -container-port 5044
           ├─15082 /usr/bin/docker-proxy -proto udp -host-ip <IP_ADDRESS> -host-port 5044 -container-ip <IP_ADDRESS> -container-port 5044
           ├─15088 docker-containerd-shim ac9b5d003f31116ac14d1bf49ddff722b155a158f13ab2539e0038372f03ad27 /var/run/docker/libcontainerd/ac9b5d003f31116ac14d1bf49ddff722b155a158f13ab2539e0038372f03ad27 docker-runc
           ├─15415 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 8086 -container-ip <IP_ADDRESS> -container-port 8086
           ├─15427 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 8083 -container-ip <IP_ADDRESS> -container-port 8083
           ├─16423 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 5601 -container-ip <IP_ADDRESS> -container-port 5601
           ├─16428 docker-containerd-shim 3c32277d4698674fa5b42e432eaf21378e3bd2d66abc6260d7a9667a4606bd5b /var/run/docker/libcontainerd/3c32277d4698674fa5b42e432eaf21378e3bd2d66abc6260d7a9667a4606bd5b docker-runc
           ├─26539 /usr/bin/docker-proxy -proto tcp -host-ip <IP_ADDRESS> -host-port 7002 -container-ip <IP_ADDRESS> -container-port 3000
           └─26544 docker-containerd-shim 013b16ffd22b7d15fdfaf46abe3283546e561400327d7d44ef29fcd0b2d30d23 /var/run/docker/libcontainerd/013b16ffd22b7d15fdfaf46abe3283546e561400327d7d44ef29fcd0b2d30d23 docker-runc

Jun 03 07:47:33 pf-us1-sm5 dockerd[849]: time="2017-06-03T07:47:33.905126201-07:00" level=warning msg="memberlist: Failed to send gossip to <IP_ADDRESS>:7946: write udp [::]:7946-><IP_ADDRESS>:7946: use of closed network connection
Jun 03 07:47:33 pf-us1-sm5 dockerd[849]: time="2017-06-03T07:47:33-07:00" level=info msg="Firewalld running: false"
Jun 03 07:47:34 pf-us1-sm5 dockerd[849]: time="2017-06-03T07:47:34-07:00" level=info msg="Firewalld running: false"
Jun 03 07:47:34 pf-us1-sm5 dockerd[849]: time="2017-06-03T07:47:34-07:00" level=info msg="Firewalld running: false"
Jun 03 07:47:34 pf-us1-sm5 dockerd[849]: time="2017-06-03T07:47:34-07:00" level=info msg="Firewalld running: false"
Jun 11 22:17:14 pf-us1-sm5 dockerd[849]: time="2017-06-11T22:17:14.246266682-07:00" level=error msg="Handler for POST /v1.26/containers/create returned error: No such image: portainer/portainer:latest"
Jun 13 15:36:03 pf-us1-sm5 dockerd[849]: time="2017-06-13T15:36:03.706378940-07:00" level=info msg="Container 87bf5e95b8e9b57aaaa7beb6998246569b741b46ce4db8352ab90dc40f255546 failed to exit within 10 seconds of signal 15 - using the fo
Jun 13 15:36:03 pf-us1-sm5 dockerd[849]: time="2017-06-13T15:36:03.806396000-07:00" level=warning msg="Logger didn't exit in time: logs may be truncated"
Jun 13 15:51:17 pf-us1-sm5 dockerd[849]: time="2017-06-13T15:51:17.015564406-07:00" level=error msg="Handler for GET /v1.26/containers/all/top returned error: No such container: all"
Jun 13 15:51:19 pf-us1-sm5 dockerd[849]: time="2017-06-13T15:51:19.898349773-07:00" level=error msg="Handler for GET /v1.26/containers/alternatives.log/top returned error: No such container: alternatives.log"container: alternatives.lo

@diegito that seems like a different issue.
Could you open a new issue with this description along with the daemon logs (if you can reproduce it, putting the daemon in debug mode would give us more useful logging information, also if you can send a SIGUSR1 to dockerd when it occurs, it'll help pinpoint where the daemon is blocked at)


docs: added a pull request template.

Signed-off-by: Federico Di Pierro<EMAIL_ADDRESS>

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: a911b22b87ea2908936a153337c5ecd78593604b

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


No Value Provided For Placeholder Encountered When Running Migration for Snowflake JS Procedure

Which version and edition of Flyway are you using?
7.7.0
If this is not the latest version, can you reproduce the issue with the latest one as well? (Many bugs are fixed in newer releases and upgrading will often resolve the issue)
Unsure
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Gradle
Which database are you using? (Type & version)
Snowflake
Which operating system are you using?
Linux
What did you do? (Please include the content causing the issue, any relevant configuration settings, the SQL statement(s) that failed (if any), and the command you ran)
Ran a migration that created a stored procedure that was written in js
What did you expect to see?
A successful migration
What did you see instead?
An issue with string interpolation in js.  We had a function that created a string that used interpolation
create or replace procedure doStuff()
    returns variant
    language javascript
as
$$
const value = "hello";
const str = `error was: ${value}`;

$$;

and received the error:
Caused by: No value provided for placeholder: ${value}.  Check your configuration!

The issue is that this syntax corresponds to Flyway's placeholder syntax
You can try changing the placeholder prefix and suffix or disabling placeholder replacement


Upgrade to ZIO 2.0.0-Rc3

Picked changes from #1152

Codecov Report

Merging #1174 (bfd261f) into zio-series/2.x (f3c0db5) will increase coverage by 0.01%.
The diff coverage is 70.66%.

@@                Coverage Diff                 @@
##           zio-series/2.x    #1174      +/-   ##
==================================================
+ Coverage           58.30%   58.31%   +0.01%
==================================================
  Files                  74       74
  Lines                2463     2464       +1
  Branches               73       77       +4
==================================================
+ Hits                 1436     1437       +1
  Misses               1027     1027

Impacted Files
Coverage Δ

...tp/src/main/scala/zhttp/http/middleware/Csrf.scala
80.00% <ø> (ø)

...io-http/src/main/scala/zhttp/service/Handler.scala
75.00% <ø> (ø)

zio-http/src/main/scala/zhttp/socket/Socket.scala
52.94% <ø> (ø)

...o-http/src/main/scala/zhttp/socket/SocketApp.scala
37.14% <ø> (ø)

.../src/main/scala/zhttp/service/EventLoopGroup.scala
36.84% <35.71%> (ø)

...tp/src/main/scala/zhttp/http/middleware/Auth.scala
76.47% <40.00%> (ø)

zio-http/src/main/scala/zhttp/service/Server.scala
47.88% <46.15%> (ø)

zio-http/src/main/scala/zhttp/http/Http.scala
65.89% <83.33%> (ø)

...p/src/main/scala/zhttp/service/ChannelFuture.scala
84.61% <85.71%> (ø)

zio-http/src/main/scala/zhttp/http/HttpData.scala
69.49% <100.00%> (ø)

... and 7 more

Continue to review full report at Codecov.

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


Support nested Switches

Currently, the soon-to-be merged Switch trait does not allow you to nest other items that implement Switch inside of itself.
For example:
#[derive(Switch)]
enum MainSwitch {
    #[to = "/home"]
    Home(InnerSwitch)
}

#[derive(Switch)]
enum InnerSwitch {
    #[to = "/left"]
    Left,
    #[to = "/right"]
    Right
}

The way the the Switch macro populates the fields of the enum variants is by using a trait called FromCaptures, which takes a &str and produces an Option<Self>. A possible other trait could be introduced called FromCapturesOrRemainingRoute which would have a function with the signature: (remaining_route: &str, captured_string: Option<&str>) -> Option<Self>.
This proposed other trait could be used by Switch instead of FromCaptures to resolve its fields, and this trait could be blanket implemented for anything that implements FromCaptures or Switch

As implementation details:

The string representing the remaining_route would be unchanged between multiple fields.

The current parser system has a settings block that controls if it must consume all of the route string in order to succeed, by default that is enabled.

Similarly, there is a default setting used to add optional / at the end of routes. That will have to also be disabled if nested Switch enums are expected to work.

Instead of altering the traits associated with getting types from the router, the #[to] attribute can specify passing a captured component to get the inner "switch".
This would look like:
enum Router {
    #[to = "/home/{*:inner}"]
    Home(HomeRoute)
}

where section named inner, which makes up the tail of the route string will be used to try to construct a HomeRoute

Unrelated: not providing an ident in the routing string causes the item to not be capured. This is unintuitive for unnamed enums, where it should be expected that the names for fields aren't needed.


Remove peer dependency on react-router-dom

When installing the DS on a nextjs project for instance and trying to use SubNav, it throws an error because it can't find the react-router-dom library (defined as a peer dependency)

I have the same problem.


Commits on jira not up-to-date

I am not sure if this is a JIRA or a github integration issue, however if commits become unreachable due to rebasing, they still appear under the issue number in JIRA. The linked jira issue should only link reachable commits in repositories.
I could not find a bug or feature request to follow on this.

Hi,
we're experiencing the same: we rebased a branch by deleting a duplicated commit. Rebase was done locally and then we forced the push to the remote branch on Github.
Now the integration in JIRA is "stuck" and shows only the old commits and not the new ones.

Hey @mkoleva. I'm from a team at Atlassian that is currently in the process of migrating the ownership over to us from GitHub. As a part of this, we're currently going through the backlog of issues and prs to see what can still be addressed and what should be closed.
Given the date this ticket was created, my team will need to first determine if this is still an issue. I've created an investigation ticket in my team's backlog. If we find this is still in fact an existing bug, we'll create a follow-up ticket to have this resolved. Either way, we'll keep you posted 😄

Hi @rachellerathbone as per my last comment, in february we experienced this issue with Jira Cloud when rebasing a branch.

Hi @mkoleva and @scollovati. Our team at Atlassian has completed migrating the app and have made numerous updates in the past few weeks. Just wanted to check in to see if this was still an issue for either/both of you.

Hi @scollovati , the integration intentionally does not remove commits on re-basing. Supporting Git history rewrites would require regularly walking the commit graph, which quickly runs into GitHub API rate-limit problems. Hence, some commits linked from a Jira issue may no longer be viewable in the GitHub UI (but may still be in the Git reflog).

Hi @ccrolf the issue was not only that deleted commits were still there, but that new ones were not showing up. This is the main pain point.

Hi @scollovati. I've reopened this as it looks like you were still having issues with this. Would you be able to send some screenshots of the issues you are having so I can assist you?

Hi @scollovati. As we haven't heard from you in over a month I'm going to go ahead and close this issue. Please feel free to reopen if you are still having problems and send some screenshots through.

This issue still exists till today. I can not send screenshot due to privacy issue of our company.
Steps to reproduce.

Create feature branch using ticket number from Jira
Make some commits and push to GitHub (assume you have 5 commits)
Rebased and delete 2 commits (final commits at local 3)
Push those changes
Jira task will shown 8 commits in total instead of 3

I hope the provided information will help and this issues is fixed.


⚠ AnimeBytes has degraded performance

In 0bc18f6, AnimeBytes ($AB) experienced degraded performance:

HTTP code: 542
Response time: 1017 ms

Resolved: AnimeBytes performance has improved in ed69490 after 8 minutes.


sap.ui.model.type.Currency shortRefNumber does not work with 1000

OpenUI5 version: 1.122.0
Browser/version (+device/version): Google Chrome 123.0.6312.122
Any other tested browsers/devices(OK/FAIL):
URL (minimal example if possible): https://sapui5.hana.ondemand.com/#/entity/sap.ui.model.type.Currency/sample/sap.ui.core.sample.TypeCurrency
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

Open https://sapui5.hana.ondemand.com/#/entity/sap.ui.model.type.Currency/sample/sap.ui.core.sample.TypeCurrency
Change the "style:'short'" example with

<Label text="style:'short'" />
<Text text="{
  parts: ['/amount', '/currency'],
  type: 'sap.ui.model.type.Currency',
  formatOptions: {
	  style : 'short',
          shortRefNumber: 1000
  }
}" />

The example shown will lose the formatting
If you change the parameter shortRefNumber from 1000 to 1000000 the example will come back to work.

What is the expected result?
I would have expected the amount to be formatted taking into account the shortRefNumber parameter even with the value 1000. I would only like to format the value in thousands and not in millions.
What happens instead?
The formatter does not seem to work for the miles unit
Any other information? (attach screenshot if possible)

Reading also this part of the documentation https://sapui5.hana.ondemand.com/sdk/#/topic/91f2f2866f4d1014b6dd926db0e91070.html, it would appear that the 'short' style is also not working as it should show '123M USD'.

To format a number in compact format, set the option style to either short or long. These styles control which version of scale name is used. For example, 1000000 is formatted as 1M with short and 1 Million with long.

Hello @dimovpetar ,
thanks for your help. I tried with the "en" locale and it works fine. Is it possible to have the same formatter with "K" unit in other locale?
I also noticed that the 'long' style is not respected anyway. I would have expected "123 Mio USD", right?

Best regards,
Alessandro

Hello @aboccassiniavvale ,
What locale were you using at the first example? It might be that 123.456.789,12 is the expected "short" value.
Best regards,
Petar

Hello @dimovpetar ,
i was in "it" locale.
Thanks,
Alessandro

Hello @aboccassiniavvale ,
I have created internal query with number DINC0124876. Our currency experts will give their statement whether:

"short" result in Italian is wrong
"long" result in English and Italian is wrong

Best regards,
Petar

Hello @aboccassiniavvale ,
The behavior you describe corresponds exactly to the expected behavior and is therefore not an error. The CLDR specifies whether and how a currency deals with certain format options. As you can see at https://github.com/unicode-org/cldr-json/blob/44.0.0/cldr-json/cldr-numbers-full/main/it/numbers.json, it is not intended in the Italian language to use the "K" in the "currencyFormat-short". The behavior for "long" is also as expected because "long" does not exist in the currency and the default is therefore used.
Best regards,
Stefan


Squash spm master2020

Test only PR to test a squashed rebase of the spm-master2020 branch before updating it.

Closing now that #5706 is now functional with the tested rebase.


Update dev-dependencies

Require a newer version of trybuild, such that the changes in the
nightly output are normalized away.

bors r+


Change service container restart policy to unless-stopped

Fixes #881

AFAIK unless-stopped was introduced in Docker 1.9 so this basically drops support for anything older than that. Shouldn't be an issue, just wanted to point out. :) Nobody should be running anything older that that. :D


Update deno 1.10.2

This PR updates Deno to the latest version (1.10.2) which fixes critical security issue CVE-2021-32619.

Duplicate of #134. Already merged and tagged. Thanks for the PR regardless :-)


Consider using associated constants for the bitflag-like types

The various Ready constructors currently work like this:
impl Ready {
    pub fn readable() -> Ready { /* ... */ }
    pub fn writable() -> Ready { /* ... */ }
}

With the associated constants feature of Rust 1.20, it could work like this:
impl Ready {
    pub const READABLE: Ready = /* ... */;
    pub const WRITABLE: Ready = /* ... */;
}

The constructors never do any work so they shouldn't need to be functions.
One advantage of constants is that they can be used in the pattern of a match statement.

I want to learn the associated constraints feature, so I'm going to give this a shot.

Great! Go for it. When it is done we will need to evaluate whether it is really an improvement over the current way.

So one problem with using Associated Constraints is that it breaks previous builds of Rust.  Currently, Travis tests version 1.13 which will fail with the implementation of the feature.  I also wanted to capture @carllerche comment about now that rustc 1.20 has dropped, the feature can be implemented in 12 weeks (12/24ish).

I'm wondering why do you use struct(usize) and a number of associated constants instead of a plain enum?


Provide pre-computed splines for the radial integrals

The python one? You can create a new file and import it from __init__.py to make it accessible as rascaline.create_spline

I implemented the schemars traits, so now the documentation should build!


Remove coord checks when adding/subtracting cubes

As discussed at #1887, this PR removes checks which are applied to coordinates before adding and subtracting cubes.  It makes these operations consistent with multiplication and division in terms of whether two cubes are compatible.
Having bypassed _add_subtract_common, scalar coords which exist on cube but not on other ("ignorable" coords) are no longer removed as part of the operation.  I think this is consistent with allowing the vector coords to differ (if I've understood correctly, _binary_op_common ignores all of the coords on other).  There are no unit tests to check whether the "ignorable" coords are removed, but I am getting a failure in the doctests for userguide/cube_maths.rst because a print out of a cube shows more metadata than previously.
I have also removed the depreciated (since 0.8.0) keyword ignore.  It's not 100% clear what it did, but I guess it triggered the above mentioned removal of "ignorable" coords.

I seem to be getting PEP8 failures for files I haven't touched :confused: .

I can't see any PEP 8 failures, but there were time-outs on the main tests so I've restarted those and they've cleared up.
Also, the "Calculating the difference between two cubes" example in the user guide is showing a genuine mismatch. The result now has forecast_period and time coordinates, even though they aren't common to both t_last and t_first ... that doesn't seem right.

Thanks @rhattersley,
I can think of examples where it would make sense to keep the scalar coord from cube even though it doesn't match other.  E.g. if you're calculating this year's temperature anomaly by this year's temperature minus climatological temperature, you might still want it labelled with this year's time.  There are also examples where it wouldn't make sense, as you say.
Allowing the mismatch on the scalar cube is consistent with the fact that we'd now be allowing mismatches between the dimension coords on cube and other.  It's also consistent with what happens when multiplying and dividing with cubes.
I'm not sure what the ideal answer is: perhaps creating a new coord by a function of the coords on cube and other.  Though I fear this may get messy when the examples become more complicated...
One major issue with my branch as it stands is that it could break existing user code:  if you assumed the (scalar) time coord has been deleted in the operation and try to add a new time coord.  A compromise could be to keep _add_subtract_common but simply remove the lines to do with bad_group_coords.  This would satisfy my main aim, which is to be able to add/subtract cubes where the dimension coords differ (often they differ only by a minor aspect of the metadata).
Thoughts?

I can think of examples where it would make sense to keep the scalar coord ... also examples where it wouldn't make sense, as you say.

I'm not sure which would be better, but what does seem clear is:

:+1: :+1:  for consistency between plus/minus and multiply/divide.
Whatever we do should be simple. As you suggest, we don't want a "messy" combination of coordinates from cube and other. For what it's worth, the xarray package drops any mismatched coordinates.
We need to be careful about changing behaviour and the API. If it's backwards incompatible then it should go into the Iris 2.0 release.
e.g. I wouldn't delete the ignore keyword argument yet. It's already deprecated and does nothing, so can be safely removed in Iris 2.0.
We can ease the migration by providing an iris.FUTURE flag to control the behaviour. (I can help with that.)

If it were me I'd get all of +-*/ to drop mismatched coordinates (instead of just +-). In other words, I'd modify _binary_op_common to limit the result metadata to things which match in both cubes. But like I say, it's not clear to me which option is better so I don't want to push my opinion too hard!
Either way, I'm happy to help with code changes, review comments, throwing rocks from my ivory tower, etc. :wink:

Just to add further to the murkiness, it occured to be that we have 2 type of "ignorable" coords:

The coord exists on both cube and other, but is different.
The coord exists on cube but not on other.

I think in the second case it makes more sense to keep the coord, as there may be a good reason why the coord doesn't exist on other.  For example, other may contain some threshold values that don't vary with time (I've recently been trying to do a difference between soil moisture and the wilting point parameter, which only varies geographically).

I think in the second case it makes more sense to keep the coord, as there may be a good reason why the coord doesn't exist on other.

I'm inclined to agree with you there @rcomer.

Sorry, wrong button!

Sorry, wrong button!

We've all been there. :grin:

OK, so how about we have _binary_op_common delete scalar coords that differ between cube and other, but keep scalar coords that only exist on cube?
Is there a beginners' guide to working with iris.FUTURE flags (or a fairly straight-forward example I can look at)?

Here is a better example from my recent work, where I definitely wouldn't want the division to remove metadata:
if cube.name() == 'geopotential':
    # Convert ERA-I geopotential to geopotential_height.
    gravity = iris.cube.Cube(9.80665, units='m s-2')
    cube = cube / gravity

I don't understand the above Travis failure...

I don't understand the latest Travis failure...

they're not linked to your PR, just a transient test run artefact; all working now

Is there anything I need to do to take this forward?  I've just seen the announcement that Iris 2.0 should be released this summer, which seems soon enough to me.  So I guess extra work for backwards-compatibility in Iris 1.x would be more trouble than it's worth.  Or have I misunderstood?
Thanks.

The removal of the deprecated ignore argument will have to wait for 2.0. But the main change in this PR is a change to existing functionality, so our rules say we need to provide a migration route - hence the iris.FUTURE comment previously. I'm happy to give that a go and see what the impact is.

Does anyone have any suggestions for a good name for the FUTURE flag? I'm currently using flexible_cube_ops but would prefer something better.

ops_metadata?

For some reason I'd previously focussed on just the behaviour with respect to scalar coordinates and missed the differences in the behaviour of vector coordinates with add/subtract vs. multiply/divide. Some of these differences are hard to understand, let alone argue the case for changing so I've tried to capture what's going on. If I've missed an aspect or got it wrong please shout!
The current (i.e. prior to this PR) behaviour of add/subtract is:

Non-scalar coordinate metadata & values must always match ... right down to the level of the var_name.
Mismatched scalar coordinates are dropped, e.g. if a coordinate only exists on one of the two cubes, or if the coordinate values differ.

The handling of mismatched scalar coordinates might not be ideal, but the overall behaviour is pretty simple to get my head around. :+1:
The new behaviour of add/subtract (which is mostly just the existing behaviour of multiply/divide, so not changed by this PR) is ... um... obscure?! :confused: But it includes:

If the shapes match, the coordinates are completely ignored.
If the shapes don't match, the non-scalar coordinates must have matching metadata (except if the coordinate only exists on the second cube?)
It never checks vector coordinate values! (So I can add a Cube with longitudes [0, 1, ..., 9] to a one with longitudes [12, 33, 34, 900, ...]. Is it just me, or is that a little odd?!)
Scalar coordinates are taken from the first cube, unless there is a scalar coordinate with the same metadata but a different value on the second cube ... in which case it is dropped.

Based on the discussion in this PR, the handling of output scalar coordinates seems like an improvement. But the handling of the non-scalar coordinates is all over the place. :scream:
I'm all for consistency, but I'm wondering if this is the wrong approach to solving the var_name issue that was mentioned in #1887? What if instead we:

modify add/subtract to take the handling of output scalar coordinates from this PR
modify add/subtract to remove var_name from the non-scalar coordinate comparison,
and then make multiply/divide behave like add/subtract?

Can open; worms everywhere.... :wink:
Having different var_names is one example of when the add/subtract checks cause issues.
Another is when you have vector coords which don't exist at all on other.  So I think my example above (converting geopotential to geopotential_height) would break if you made multiply/divide like add/subtract.  To get it working, I think the user would have to add a bunch of scalar coords to gravity which match all the vector coords on cube.  In practice the user will probably give up on this and just do the operations on cube.data (with unfortunate implications for deferred loading and keeping track of units).
I also think it's reasonable for a user to want to do something like cube[n:] - cube[:-n], so I'm not really in favour of insisting that the vector coord points match up.  A warning if they don't match might be handy, for example if you've failed to notice that your 2 global maps are 180 degrees offset from each other in longitude.

This might be a daft idea but...
Could the non-matching coords from other be renamed and added as aux_coords to the resulting cube?  That way you don't lose any metadata in the operation, but it remains flexible as to which cubes can be broadcast to each other.

Another is when you have vector coords which don't exist at all on other.

That seems like a simple to understand extension of the scalar coordinate handling. :+1:

I also think it's reasonable for a user to want to do something like cube[n:] - cube[:-n], so I'm not really in favour of insisting that the vector coord points match up.

I can see how that would make some sense for a regular time series. Interestingly, that's not the way that something like pandas or xarray would work. (They would "line up" the cubes using the coordinate values of the two series and apply the subtraction where they overlap.) For that particular operation pandas supplies: time_series.diff().
If we're going to be more flexible, I still think we need to make the behaviour more predictable/easier to understand. For example, the var_name issue is only fixed by multiply/divide behaviour if the two cubes have exactly the same shape. If the two cubes have a different dimension order (e.g. one is a transpose of the other) then the var_name issue rears its head again.

Could the non-matching coords from other be renamed and added as aux_coords to the resulting cube?

Do we really need to do that? It doesn't seem very appealing.

I still think we need to make the behaviour more predictable/easier to understand. For example, the var_name issue is only fixed by multiply/divide behaviour if the two cubes have exactly the same shape. If the two cubes have a different dimension order (e.g. one is a transpose of the other) then the var_name issue rears its head again.

Agreed - I hadn't actually realised it was possible to broadcast cubes with different dimension orders!

Do we really need to do that? It doesn't seem very appealing.

No. Like I said, daft idea :grin:.

I've modified iris.util.as_compatible_shape so that it only matches coord names instead of coord definitions.  This fixes the var_name issue when the cubes have different dimension order.
It also now adds a length 1 anonymous dimension if the coord isn't found on src_cube.  Previously if I had
cube1 ['time', 'latitude', 'longitude']
and
cube2 ['time'],
cube2 did not broadcast to cube1 unless I transposed cube1 first (putting time last so that BA.broadcast_arrays passes).  The transpose is no longer necessary with this change.

I just realised that in my as_compatible_shape change I haven't handled the case where src_cube has a dimension coord name that isn't on target_cube.  I guess it would fail at the reshape step, but I should probably add a more helpful exception message.

I've modified iris.util.as_compatible_shape so that it only matches coord names instead of coord definitions. This fixes the var_name issue when the cubes have different dimension order.

So the coordinate comparison still doesn't pay attention to values (something which I don't have a particularly strong opinion on either way), and now doesn't pay attention to units, attributes, or the coordinate system. If we're going to ignore values then I guess I'm OK with that.

The transpose is no longer necessary with this change.

Very nice :+1:
Before we get into the nit-picky business of finalising tests, and providing (and documenting) backwards compatibility... are we all happy with the proposed behaviour?

Before we get into the nit-picky business of finalising tests, and providing (and documenting) backwards compatibility... are we all happy with the proposed behaviour?

In the case where the shapes match, the coord names are still not checked (as far as I can see).  Do we want to change that?
(I added the test_match_auxcoord at this point because yesterday's commit broke existing behaviour, so I wanted to nail that down).

Done.

I just noticed that the user guide is still encouraging use of the ignore keyword (see note at the bottom of 10.1).  We should probably correct that while we're here.

I've noticed recent PRs to make cube.transpose and iris.util.new_axis lazy.  Could we do the same for iris.util.as_compatible_shape?

@corinnebosley Does any of this relate to the POC you were doing today with xarray?

@rcomer Remember this PR? I wouln't blame you if you didn't.
I just made the Status: Stalled for the moment, as it's in the area of cube arithmetic, which is scheduled to be refactored (as you know).
So I'm keen to get that work done, and we can see how it impacts / relates to this PR. Does that sound reasonable?

@bjlittle how could I forget? :laughing:
I'm fully expecting this PR to be superseded by whatever comes out of #2599.  I guess there may be some ideas in here that we can use, but I suspect trying to resurrect the branch after all this time would be a hideous task.

@rcomer Oh my gosh...
Righty, I'm going to put this PR to bed on the promise that we're finally going to address all these issues for  iris version 3.0.0 😄
Maybe we should have some kinda party to celebrate if and when we finally get it all right?!
Cheers! I'll be in touch. I'd appreciate you test driving the forthcoming cube arithmetic feature branch.


browser.executeJavaScript optimization

Hey! Thanks for making this mod, it's one of the most popular (if not the most) in the SkyrimPlatform field
I came up with the idea of optimizing executeJavaScript calls as each of them is pretty heavy and requires IPC between SkyrimSE.exe and Chromium.
Let's batch those calls every frame and perform only 1 call per frame.
Possible implementation:
https://github.com/Vorganger/Elden-Equip/blob/main/src/widget.ts
let buffer = "";

function myExecuteJavaScript(script: string) {
  buffer += string;
}

on("tick", () => {
  const copy = buffer;
  buffer = "";
  browser.executeJavaScript(copy);
});

Thank you in advance!

You're welcome, and thanks for creating SkyrimPlatform since it made developing mods easier despite its quirks.
I tried out your optimization since it seemed good in theory. However, I noticed longer buffers did not make any changes to the widget. I tried splitting the buffer by a semicolon and building a shorter temporary buffer which is passed into browser.executeJavaScript() to find out that more widget elements were being updated (which is good) but some did not (which is not good).
Overall, since the performance gain seems to be negligible or probably nonexistent, I am not gonna use this optimization. I would instead want to make optimizations that have a significant effect and do not compromise functionality.


Wrong dtypes used for seqnames in GenomicRanges._sanitize_seqnames and should use max value not len of unique values as num_uniq

Correct code:
    def _sanitize_seqnames(self, seqnames, seqinfo):
        if self._reverse_seqindex is None:
            self._build_reverse_seqindex(seqinfo)

        if not isinstance(seqnames, np.ndarray):
            seqnames = np.asarray([self._reverse_seqindex[x] for x in seqnames])

            num_uniq = np.max(seqnames)
            if num_uniq < 2**8:
                seqnames = seqnames.astype(np.uint8)
            elif num_uniq < 2**16:
                seqnames = seqnames.astype(np.uint16)
            elif num_uniq < 2**32:
                seqnames = seqnames.astype(np.uint32)

        return seqnames

Max value should be used since this is the value of concern, e.g. you could have 4 unique values of [1, 2, 3, 257] 257 would be wrapped around 0 in this case. Max value avoids this.
You need to use uint types as int types are singed so their max value is half of your if statements. You could reduce the exponents by one but you will never have negative values for indices so uint types make more sense.

Thank you, fixing this in the attached PR and this issue will close automatically once the PR is merged.

@jkanche you didn't change the np.int# types to np.uint# types. Using np.int causes wrapping around zero between 127 and 256 and 32,767 and 65,536 seqnames (with guaranteed wrapping after 2,147,483,647 seqnames instead of the intended 4,294,967,296)


Dropdown does not add no-scroll

Simple fix to correct missing behavior.

It would be awesome for me if you elaborate your changes a little bit, @krishnaglick

I apologize, there's a certain bit of behavior in an app I work on that applies no-scroll to the body when we open up our nav-dropdown.
I mistakenly thought this was part of bootstrap's functionality as we recently switched to this lib and the bug appeared, but it looks like it's within our own code.
Sorry, closing this. :)


extraconfig issue after upgrade cloudstack

ISSUE TYPE

Bug Report

COMPONENT NAME
KVM Extraconfig
CLOUDSTACK VERSION
<IP_ADDRESS>
SUMMARY
I had a VM with a vTPM configured in the settings as follow

it was working fine untill i upgraded cloudstack to <IP_ADDRESS> after i upgraded cloudstack i cant start the VM im getting the following error

and the extraconfig is graied out i cannot remove it or edit it.

STEPS TO REPRODUCE
EXPECTED RESULTS
the extraconfig device to work properly after upgrading cloudstack

Due to security issue, users can no longer add extraconfig via vm settings.
Please use updatevm with extraconfig instead. It is not supported on UI for now, you can use cmk

Ok got it thank you!

How can i remove the extraconfig if its grayed out
I need to be able to power on this vm
Thanks!

How can i remove the extraconfig if its grayed out
I need to be able to power on this vm
Thanks!

Hello @shulemmosko
You can try to remove the extraconfig by calling the updateVirtualMachine API via CMK with all the details you have in the VM, expect the extraconfig. For the whole syntax of the command, you might want to take a look at the browser's network tab when you update anything in the VM.

How can i remove the extraconfig if its grayed out
I need to be able to power on this vm
Thanks!

Hello @shulemmosko
You can try to remove the extraconfig by calling the updateVirtualMachine API via CMK with all the details you have in the VM, expect the extraconfig. For the whole syntax of the command, you might want to take a look at the browser's network tab when you update anything in the VM.

I think user cannot delete extraconfig in that way any more.
the only way for now is, removing the record with name "extraconfig-1" from "user_vm_details" table.

please keep eyes on #7849 #9878


Feature Request: Please add the ability to select a date range

It would be great if we could select a date range within the calendar. Thoughts?

Duplicate of #83


Z-index fix?

I currently have multiples of this component instanced and... just look at this:

the ones below are also instances of svelte-type-ahead, the results of the focused instance are rendered under the instances below them, any work around for this?

In reference to https://github.com/metonym/svelte-typeahead/issues/46#issuecomment-1168097926, I think we can adopt a two-birds-one-stone approach and add a prop that only shows the dropdown menu when the input is focused.

I think that would solve https://github.com/metonym/svelte-typeahead/issues/46#issuecomment-1168097926, but not the z-index of the drop down when focused, on my screenshot the dropdown list is rendered below the other instances of svelte-typeahead

Fixed in v4.2.4.


New formula: GCC 4.3.

Track latest GCC 4.3 release.
Adapt patches from macports.
Use host triplets for build.
Use '--datadir' and '--mandir' as datarootdir was not supported yet.
Don't unset __GLIBCXX_DEBUG* as original bug didn't actually do that.
Use uname -m to detect architecture.

EDIT: add new commits.

Fails on Yosemite with:
gcc43: OS X Mavericks or older is required.
Error: An unsatisfied requirement failed this build.

Any plans to update?

No, GCC 4.3 is no longer supported with patches by the developers so we chose not to backport any patches; see #662.


Namespace use php keywords

In the file prettyblocks/classes/HelperBuilder.php l.3, there is this line :
use PrestaSafe\PrettyBlocks\Core\Interface\BlockInterface;
Which generates this error when uploading an image, for example :
Parse error: syntax error, unexpected 'Interface' (T_INTERFACE), expecting identifier (T_STRING) or '{'
Because Interface is a reserved keyword, it cannot be used as a namespace before php 8.

Hi, Thanks for your feed back, we have reproduce the bug, we will fix it.
It because there is the Interface in the namespace and php do not like that...
Thanks !

fix in #96


Add net472 as a desktop target

Adding net472 would allow us to have a clean crypto target for desktop users, as it would contain support for ECDsa keys.

Closing. Duplicate of #1507


Add reflection support for individual ubo and ssbo members

Original request made in #22

Encountered another issue related to this.
Struct members are not parsed. Example:
layout (set = 2, binding = 0) uniform LIGHTS
{
Light lights[MAX_LIGHTS]; // Assume struct Light exist
int count; // 4 bytes
} _Lights;
In the VezPipelineResource the size of this buffer is just 4.
It would be nice to parse struct members aswell recursively.

Another bug. The size of a "mat4" is reported as 16 bytes, but should be 64. Example:
layout (set = 3, binding = 0) uniform TEST
{
mat4 view;
};
// Size reported as 16

Unfortunately SPIR-V does not allow for reflecting on members of a UBOs and SSBOs in the same way as resource bindings.  The exposed interfaces, at least from what I've seen, do not return the individual names or byte offsets of members.  All that can be retrieved is information about the types themselves, independent of their position within the relevant struct.
As for the bugs you reported, I will fix these.

I think you are misinformed. VEZ is using spirv-cross which allows all of that. I did it myself already two years ago. I will just post my function for parsing all members recursively, even structs in structs. A word of warning though, i did this with very little C++ experience. The code is really ugly:
    // Information about every data-member in a struct in a UBO
    struct BufferRange
    {
        std::string name;
        uint32_t    offset;
        uint32_t    range;
        uint32_t    index;
        DataType    dataType;
    };

    // Parse a UBO and return a list of names, offsets and size of the individual variables
    std::vector<BufferRange> parseUniformStruct(const spirv_cross::Compiler& comp, const spirv_cross::SPIRType& spirType,
                                                uint32_t parentOffset, const std::string& parentName)
    {
        std::vector<BufferRange> memberRanges;

        for (unsigned int i = 0; i < spirType.member_types.size(); i++)
        {
            // Get the member-name and add the "parent"-name infront of it e.g. "baseLight-" + color
            const std::string& memberName = parentName + comp.get_member_name(spirType.self, i);
            // Get the offset of the member and add the parent-offset to it
            uint32_t offset = parentOffset + comp.get_member_decoration(spirType.self, i, spv::DecorationOffset);

            const spirv_cross::SPIRType& memberType = comp.get_type(spirType.member_types[i]);

            if (memberType.basetype == spirv_cross::SPIRType::Struct)
            {
                // Member is itself a struct, so call this function with that member and add all his members to the vector "memberRanges"
                std::vector<BufferRange> br = parseUniformStruct(comp, memberType, offset, memberName + ".");
                memberRanges.insert(std::end(memberRanges), std::begin(br), std::end(br));
            }
            else
            {
                // Member is not a struct. Get the size and type of it and push it to the vector.
                uint32_t range = static_cast<uint32_t>(comp.get_declared_struct_member_size(spirType, i));
                DataType dataType = getDataType(memberType);
                memberRanges.push_back({ memberName, offset, range, i, dataType });
            }

        }

        return memberRanges;
    }

You are correct, as Khronos has updated their documentation on SPIRV-Cross concerning full reflection of struct members (Struct Member Reflection)
https://github.com/KhronosGroup/SPIRV-Cross/wiki/Reflection-API-user-guide
I will add full support for this as well.  However returning a linear list with name strings prefixed by the parent struct does not seem ideal, in particular for cases with multiple levels of structs.  Maintaining the original hierarchy during traversal would be preferred.

Implemented 501ff43da2b0a472f8bb564d6290f635e7521014


rosauth: 0.1.7-1 in 'lunar/distribution.yaml' [bloom]

Increasing version of package(s) in repository rosauth to 0.1.7-1:

upstream repository: https://github.com/GT-RAIL/rosauth.git
release repository: https://github.com/gt-rail-release/rosauth-release.git
distro file: lunar/distribution.yaml
bloom version: 0.5.25
previous version for package: null

The lunar release tags do not appear to be in the repo.
rosdistro: DEBUG: Skipped "github_manifest_provider()": specified tag "release/lunar/rosauth/0.1.7-1" is not a git tag
rosdistro: DEBUG: Skip non-bitbucket url "https://github.com/gt-rail-release/rosauth-release.git"
rosdistro: DEBUG: Skipped "bitbucket_manifest_provider()": Cannot handle non bitbucket url.
rosdistro: DEBUG: Skipped "git_manifest_provider()": Unable to fetch package.xml: Could not clone repository "https://github.com/gt-rail-release/rosauth-release.git" at reference "release/lunar/rosauth/0.1.7-1"

hmmmmmm okay let me try again

closing this out


No devices or entities

The problem
This evening the integration stopped - No devices or entities / setup failed
restarting HA was not helping - deinstall it from HACS - reinstalled it - HA saw a new NEST integration - with the readme I provided a issue token  and cookies - these setting were accepted, but the intregration gave the same error message No devices or entities.
It was working without any changes till this evening
What version of this integration (ha-nest-protect) has the issue?
0.4.0b1
What version of Home Assistant Core has the issue?
2023.6.2
Device / Model
Nest Protect powerline
Diagnostics information
Deze fout is ontstaan door een aangepaste integratie.
Logger: homeassistant.config_entries
Source: custom_components/nest_protect/init.py:126
Integration: Nest Protect (documentation, issues)
First occurred: 21:59:38 (2 occurrences)
Last logged: 22:03:41
Error setting up entry Nest Protect for nest_protect
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 387, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/nest_protect/init.py", line 126, in async_setup_entry
hass.config_entries.async_setup_platforms(entry, PLATFORMS)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'ConfigEntries' object has no attribute 'async_setup_platforms'
Home Assistant log
Logs
```
Copy/paste any log here, between the starting and ending backticks (`)
```

Additional information
No response

See https://github.com/iMicknl/ha-nest-protect/issues/232. You are using a fork, not my version. Remove the fork from HACS custom repositories and install the latest beta of my repository.

Thnx – it looks like it’s working again
Van: Mick Vleeshouwer @.>
Verzonden: maandag 19 juni 2023 22:19
Aan: iMicknl/ha-nest-protect @.>
CC: Pandabeer40 @.>; Author @.>
Onderwerp: Re: [iMicknl/ha-nest-protect] No devices or entities (Issue #237)
See #232 https://github.com/iMicknl/ha-nest-protect/issues/232 . You are using a fork, not my version. Remove the fork from HACS custom repositories and install the latest beta of my repository.
—
Reply to this email directly, view it on GitHub https://github.com/iMicknl/ha-nest-protect/issues/237#issuecomment-1597714913 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AKUJGWLFE2JZTI553A55DGDXMCX37ANCNFSM6AAAAAAZMLT3UE .
You are receiving this because you authored the thread.  https://github.com/notifications/beacon/AKUJGWMKZHATOQXFVYMULHLXMCX37A5CNFSM6AAAAAAZMLT3UGWGG33NNVSW45C7OR4XAZNMJFZXG5LFINXW23LFNZ2KUY3PNVWWK3TUL5UWJTS7HMY6C.gif Message ID: @.*** @.***> >


Rebase causal code with Master

By default, things will run in non-causal mode.
To turn on causal mode, currently we need to manually set the consistency flag in the function executor to CAUSAL and change the CMake file to use the causal cache instead of the regular cache.
In the future, we should probably have both caches running on the executor and allow users to specify which consistency level the function will run on, and use the correct version of the cache accordingly...

@cw75 -- build is failing. I'll wait for you to fix that before rebasing.

@vsreekanti seems that Python style check failed.
Is there a way to automatically fix it like what we have for clang formatting?

You can try using flake8. I think it might format in place for you. I just installed a vim plugin that automatically uses pep8 style.

seems fixed


Skeleton display not working with python interface

I'm trying to display the skeletons using the python interface, first by converting my data to swc format and then internally
adding vertices and edges using the class SkeletonSource. I'm able to display skeletons, however in some parts the edges are not visible. The code to reproduce this is as follows:
#import stuff here..
import neuroglancer
import neuroglancer.cli
from cloudvolume import CloudVolume
from cloudvolume.skeleton import Skeleton

#convert the swc to skeleton format..
skeldatasegidlist = []
skeldatasource = []
swcfilename = '/Users/sri/Downloads/cell07PNs_nat'
swcfiledata = open(swcfilename + '.swc', "r")
print('swc is stored in: ', swcfilename + '.swc')

tempswcfilename = swcfilename + '.swc'
swcfiledata = swcfiledata.read()
len(swcfiledata)

skeldata = Skeleton.from_swc(swcfiledata)
skeldata.id = 40637
skeldatasource.append(skeldata)
skeldatasegidlist.append(str(skeldata.id))

#define classes now..
class SkeletonSource(neuroglancer.skeleton.SkeletonSource):
    def __init__(self, dimensions):
        super(SkeletonSource, self).__init__(dimensions)

    def get_skeleton(self, i):
        seglist = skeldatasegidlist
        index = seglist.index(str(i))
        vertex_positions = skeldatasource[index].vertices/1000 #scale the vertices to display in micrometers..
        edges = skeldatasource[index].edges

        return neuroglancer.skeleton.Skeleton(
            vertex_positions=vertex_positions,
            edges=edges)

#start stuff to display now..
dimensions = neuroglancer.CoordinateSpace(names=['x', 'y', 'z'],units='um',scales=[1, 1, 1])
viewer = neuroglancer.Viewer()
viewer

with viewer.txn() as s:
    s.projection_orientation = [-0.205,0.053,-0.0044,0.97]
    s.dimensions = dimensions
    s.projection_scale = 0.175
    s.position = [0.24, 0.095, 0.14]
    s.layers['skeletons'] = neuroglancer.SegmentationLayer(
            source=[SkeletonSource(dimensions)],
            skeleton_shader='void main() { emitRGB(vec3(0.8, 0.0, 0.9)); }',
            selected_alpha=0,
            not_selected_alpha=0,
            segments=skeldatasegidlist
            )
    s.layout = neuroglancer.layout_specification = 'xy-3d'

    s.show_slices = False

This produces output as (you can see the terminal of the neuron only has vertices and no edges):

Here, I have also attached the swc file for your debugging purposes:
cell07PNs_nat.swc.zip
Also, the same swc file displayed in our natverse with plotly plotting engine


jansson 2.11 compile error on Debian 6

jansson 2.10 is compiling fine.
The error is:
  CCLD     sgminer
submodules/jansson/src/.libs/libjansson.a(value.o): In function `json_sprintf':
/home/user/sgminer-gm-5.5.6/submodules/jansson/src/value.c:806: multiple definition of `json_sprintf'
sgminer-config_parser.o:/home/user/sgminer-gm-5.5.6/config_parser.c:432: first defined here

I'd retest with the current GIT - the error is still appear.

Is that the upstream error, or it's error in the sgminer's code? https://github.com/genesismining/sgminer-gm/issues/121


hishtory: v215 -> v251

Description of changes

Updates the hishtory package to version 251. See changelog here: ddworken/hishtory/v0.215...v0.251.
Due to the way new versions of hishtory are organized, the client submodule is now also ignored by default and only built as a dependency to the main module.
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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

[x] 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
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 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

[x] Fits CONTRIBUTING.md.

Although this builds on linux successfully, the resulting binary appears to have many runtime issues, I am not sure why. Closing this.


[Feat] Export parser

This PR starts to add handling export statements to ensure that they are included in the main bundle.
The strategy here is to get things to work (copy paste or simple imperative logic) and refactor later.

[x] re-exports export { default as d } from './d.js
[x] default exports
[x] multiple import statements
[x] Do not handle export named list `export { d };
[x] aggregating modules export * from ...

TODO:

[ ] export { default } from ...
[ ] Many more

Awesome I'll look at this tomorrow

Awesome I'll look at this tomorrow


user guides: mining: Rewrite mining guide

Sorry, somehow I totally forgot about what we talked about in the issue (about Tor). Just mentioned it with a link to the XMRig docs at the bottom of the guide.

@00-matt this needs to be rebased

Rebased.


Remove default action

[Resolve #257]

@joneslee85 Merged, thank you! :+1:

This was merged, dunno why GH got confused. Closing this.


Update methods

Hello. are you going to update the files? https://rage.mp/forums/topic/6575-rage-multiplayer-10-developer-preview-1-release / if so when?

Of course :)
In few hours after updatey


Explore #386

Attempt to get closer to fix:

#386

This help to add extra checks on CM status, but it seems to doesn't solve #386 yet. Some changes need to happen in template side.
Signed-off-by: 6za<EMAIL_ADDRESS>

This Pr also introduce a new pkg to handle ChartMuseum checking library, that may grow to handle CM utilities.


[Feature Request] Support for OpenStack V3 API

Hi,
I was wondering if there are any plans to support the V3 APIs in OpenStack. From looking at the code (https://github.com/sequenceiq/cloudbreak/blob/2729315af1fb996abc62834bc919cff925c5905d/cloud-openstack/src/main/java/com/sequenceiq/cloudbreak/cloud/openstack/OpenStackClient.java#L45-L51):
public Access createAccess(CloudCredential credential) {
        KeystoneCredentialView osCredential = createKeystoneCredential(credential);
        return OSFactory.builder().endpoint(osCredential.getEndpoint())
                .credentials(osCredential.getUserName(), osCredential.getPassword())
                .tenantName(osCredential.getTenantName())
                .authenticate().getAccess();
    }

I was able to connect to our OpenStack landscape by modifying the code as the following:
public Access createAccess(CloudCredential credential) {
        KeystoneCredentialView osCredential = createKeystoneCredential(credential);
        return OSFactory.builderV3().endpoint(osCredential.getEndpoint())
                .credentials(osCredential.getUserName(), osCredential.getPassword())
                .domainName(osCredential.getTenantName())
                .authenticate().getAccess();
    }

Since OpenStack4J supports the V3 APIs it was an easy change. Of course this has to be done in a more intelligent way - e.g. by detecting the API version based on the provided endpoint URL.
Regards,
Andreas

Hi Andreas
Yes, we are working on support for different keystone API's - will let you know once it's there.
Janos

Hi Andreas,
V3 support has been added: https://github.com/sequenceiq/cloudbreak/commit/e4382b90e127c4170494ff53944c5e6f7b0c2be3
Attila


Graphical bug with Miner indicator lights

The indicator lights on electric miners are vertically offset for me by what seems to be exactly one in game tile. I've tested disabling the other mods I have that affect the miner entities and the issue persists. I am using default Artisanal Reskin settings except for chevron tier icons.

https://mods.factorio.com/mod/reskins-bobs/discussion/619b0c420fb67b412038a989

Cannot reproduce, awaiting further information.


Consider adding a symlink in wix installer for tool_chain_root /usr/lib

For windows you have to provide a sdk directory to build a swift file like so:
swiftc main.swift -o main.exe -sdk %SDKROOT%"
This is inconsistent with linux and mac and the artifact of designs decisions handled by tooling that doesn't exist for Windows.
There are good reasons why this is the case, however we can setup a default sdk root for windows in the wix installer without touching apple/swift or breaking any assumptions made by xcrun for the mac.
My proposal is to setup a symlink from:
C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\windows
to:
C:\Library\Developer\Toolchains\unknown-Asserts-development.xctoolchain\usr\lib\swift\windows
on Windows we can do a symlink like so: mklink /d  <target dir> <src dir>
From reading your wix environment variables I believe we could setup a custom wix command to create this symlink like so:
# this first block creates the action
<CustomAction Id="makeSymbolicLink"
   ExeCommand='cmd /c mklink /d "$(var.TOOLCHAIN_ROOT)\usr\lib\swift\windows" "$(var.SDK_ROOT)\usr\lib\swift\windows"'
   Execute="deferred"
   Impersonate="no"/>

# this calls to the custom action
<Custom Action="makeSymbolicLink" Before="InstallFinalize" />

Let me know what you think, thanks,
-FL

As an a side, I don't see any  custom actions in the wix xml so not sure if you are avoiding them. In anycase we could also put it in something like toolchain-msi.yml  that you are using in #340. I'm just less familiar with how all that works.

I think that changing the driver to give it a default search path for the SDK makes sense, or perhaps having it honor SDKROOT.
Originally posted by @compnerd in https://github.com/compnerd/swift-build/issues/187#issuecomment-607640404
So this would be an alternative to changing the driver. My thinking is we could write a tool that works like  pyenv global instead of on a per project basis like how SPM feeds in the sdk. that could switch your default for you by changing the symlink.

I think that changing the driver to honor SDKROOT as an environment variable is totally reasonable.
Using a tool to control the environment is reasonable - this is the type of functionality that I would expect to fit in really well with compnerd/swift-devenv.  I would prefer that swift-devenv manage the symbolic link over the installer as the desire is to actually permit the user to not install the Windows SDK at all.  You could install just the Android SDK and the toolchain instead - what would the symbolic link default to then in the installer?


Generate secrets from .properties file

First of all amazing project! 👏
It almost works for our use case, so I’ve decided to update the project a bit that it may fit others as well.
Use case
Our use case is a bit different, we don’t want to keep any secrets in the repository history. So in short:

Only CI would provide secrets and would build with it
For development we would have other secrets locally

Solution
I’ve updated and re-used same functionality to regenerate secrets from .properties files.

It picks up .properties file, finds key / value
Cleans cpp / kotlin files
Generates secrets from found key / value

Other improvements

Updated docs

Added gradle info as well, now it will be visible when running ./gradlew tasks
Hide secrets tasks
------------------
copyCpp - Copy C++ files to your project
copyKotlin - Copy Kotlin file to your project
findKotlinFile - Find Secrets.kt file in the project
hideSecret - Obfuscate a key and add it to your Android project
hideSecretFromProps - Re-generates and obfuscate keys from properties file and add it to your Android project
obfuscate - Get an obfuscated key from command line
packageName - Print the package name of the app
unzipHiddenSecrets - Unzip plugin into tmp directory

I've made changes with almost all your suggestions. Although I'm having a problem with test suggestion due to

Not being familiar enough with testing framework (not a problem to figure out things a bit)
The environment the tests are running in (this gets a bit dicey)

I've noticed project does not have a test for its main hideSecret task, I've tried running it, but it fails due to dependencies missing on the environment (files being resolved and copied correctly)
So to run tests for my new task I need either to mock out the hideSecret or create file system, that would reflect of the project itself.
I actually didn't write tests mainly due to functionality being re-used, not much of logic what implemented ¯_(ツ)_/¯
Do you have a suggestion of the best approach here ? Or a suggestion on what parts should be tested ?

Thank you for suggestions, there were good points made 👍 Also, I'm starting to get a hang of your proposed coding style. I have a bit of different coding style, that's why the code is a bit in different manner 🤷♂

Because of how java is verbose, I tend to shorten the names whenever possible. Thus, the properties == props, getPropertiesFileName == propsFile.
And create scoped methods instead of big methods with variations.

Oh. And sorry for massive delay. This was on my work time, and we have deferred this work to some "better days". In which you probably can guess how that is going. So finishing this pull request was a bit of honor thing :))
Anyway, I'll try to check tests a bit later on and push the changes to be aligned with changes from the master.

Okay, after a bit of investigation, I’ve managed to run the tests. However I have found a bigger issue than anticipated.
Most of the tests in HiddenSecretsPlugin don’t do anything, mostly because of the set-up.

The tests are not doing any assertions
Also, as the gradle tests do not package everything properly, running funcitons like HiddenSecretsPlugin.TASK_COPY_CPP, HiddenSecretsPlugin.TASK_COPY_KOTLIN don’t do anything, because they don’t have resources packged up, thus cannot copy any files and the tests are silently don’t do anything, but succeeding🤷
Because of the issues pointed out ☝, main function hideSecrets cannot be tested properly as well 🤷. I’m guessing this may be just out of scope for this pull request at the moment 🤔

As someone interested in using this plugin, I would also appreciate if this change could find its way in.

Replaced by https://github.com/klaxit/hidden-secrets-gradle-plugin/pull/47


every number need a standalone controller??

every number need a standalone controller??

Published 2.0.6
AnimatedDigitWidget(
  value: 1111,
  duration: const Duration(milliseconds: 500),
)


[Feature Request] Detect inconsistent configurations in consensus / storage

When testing, it is possible that consensus, storage, safety rules, or configuration files may not align:

New network with different node addresses
Inconsistent state between safety rules and consensus
Perhaps others
Evaluate these inconsistencies at load time and panic rather.

Right now with identity changes it just claims that a vote signature is bad making it unclear what has happened.

I guess we did this with the waypoint verification and public key identification in the validator set.


How to trigger an Is Typing or Recording Event??

Question

How to trigger an Is Typing or Recording Event??

bot.sendChatAction(chatId, "record_audio"); this works
this are the other available actions // Type of action to broadcast. typing for text messages, upload_photo for photos, record_video or upload_video for videos, record_audio or upload_audio for audio files, upload_document for general files, find_location for location data.


support mapping specific java classe to custom TypeScript type declaration

(This is somewhat related to #11)
Instead of asking to emit TypeScript interface for specific Java type, allow specifying the TypeScript type declaration (and type name) to be used instead.
Couple of use-cases with examples:
Example 1
You might have some value-types in Java:
class PersonId {
  public Long value;
}
class CustomerId {
  public Long value;
}

and custom serializer+deserializer that unwraps the types, so that in TypeScript You should use it as a number:
type PersonId = number;
type CustomerId = number;
...
var personId: PersonId = 123;
var customerId : CustomerId = 456;

Example 2
You might have LocalDate class in Java, and want it to be aliased with JavaScript Date:
type LocalDate = Date;

Example 3
You might have LocalDate class in Java, and custom deserializer that can accept either string or number, so that in TypeScript You should be able to assign either of them to that type:
type LocalDate = string | number;

I'll send a PR soon


Paypal Template Not Working

At line 100, the Paypal1 function is not called.
Please add parentheses so that the function is executed correctly.

thank you for telling me, its now fixed


feat(Install Banner): Added install banner, pending functionality to actually download

What this PR does 📖

Right now this PR just displays a button depending on the operation system the user is on to instruct them to download the application locally.

very cool!

that seems a windows issue regarding the icon
i'd say we can either ditch the icon or replace the icon for a PNG asset or something

@XileHorizon can you replace this icon?

Looks pretty good there's just two things I wanted to ask about (I can deff create tickets for these so we can get this merged in)

On Windows the download icon looks a little odd compared to macOS

If the user clears out the banner at the top it will not re-appear after refresh. Do we want to have it re-appear to give the user another chance to be able to download? Or maybe have a spot in Settings the user can still download the app if they clear out that banner?

i had it stay hidden after they cleared it out intentionally but we could change it to if they close it three times or something

I fixed the WIndows Icon


GMC chatqna issue

Using the latest versions of retriever-usvc, we'll see curl failed with error code 52 with the following command:
kubectl -n test-app-chatqna exec client-test-7b7f97ddd9-fjdvv -- curl http://router-service:8080   -X POST  -d '{"text":"What is the revenue of Nike in 2023?","parameters":{"max_new_tokens":17, "do_sample": true}}' -H 'Content-Type: application/json'

Similar to something like this
When checking with the router pod log, it shows some errors when talking to llm service, complaining something about payload is too big and timeout. Switch the model from Intel/neural-chat-7b-v3-3 to bigscience/bloom-560m, we don't see this error any more. But this issue needs to be resolved any way.

Hi @lianhao, according to your command,  it seems that the router service has a problem, http://router-service:8080, does it miss the namespace information?  May it be http://router-service.test-app-chatqna:8080?

@zhlsunshine It's not a DNS issue. K8S will automatically append the namespace when doing DNS name resolving.

Hi @lianhao, should this issue be closed?

closed as PR #356 is merged


User trait

Adds a trait for the User interface and runs the implementation in a separate thread.
moves interprocess as an optional feature with an IpcUser implementation. This could probably be dropped but the code was already there and felt easy to save.
When a user makes a request to the Daemon, it currently sends a one time use channel to receive a response on.
I'm not sure I'm particularly happy about this, if for no other reason than it feels weird spawning so many channels but maybe that's okay.
I tried having a separated send and recv channels for the User trait, but i would either end up in a deadlock during testing (with bounded(0) channels) or a User implementation would read a message not intended for it (with a bounded(1) channel). If that last part is confusing, I mean a report request would end up reading the response from a put request.
@xpromache  if you have a suggestion about the use channels here I would appreciate it.
fixes #16

One thing which is not done currently is to notify the User when the transaction is finished.
That can be done for the sender but also for the receiver.
I see you chose to have a channel from User -> Daemon but not back. The User will pass as part of the request a new channel where a response will be delivered.
This has the advantage that you can have multiple Users connected to the same Daemon and everybody will get the response to their own requests. However on the reception side you cannot have a User that gets notified of all transactions that are happening.
So maybe it's better to stick to two "hardcoded" channels between the User and Daemon. If someone wants to have multiple Users, a multiplexing/demultiplexing User can be implemented to handle the messages to/from the multiple final Users.
One other weird thing is that the so called message_to_user part of the PutRequest are never sent to the User on the reception side. The daemon decides by itself what to do with them:
https://github.com/ASU-cubesat/cfdp-rs/blob/user_trait/cfdp-core/src/daemon.rs#L835
but this is another discussion.

I think the way rstest executes the multiple tests, or how I've written it
currently at least, we do already multiplex Users. One alternative would be
to add a broadcast channel for all Users to receive the Messages to User
(that they don't yet get) but also send their personal response channel to
the daemon so they get the appropriate response to their requests.
The broadcasting channel could be used for any notifications too.
Crossbeam_channels doesn't have this functionality though, but I'm sure it
could be found in another crate.
On Thu, Mar 2, 2023, 05:03 Nicolae Mihalache @.***>
wrote:

One thing which is not done currently is to notify the User when the
transaction is finished.
That can be done for the sender but also for the receiver.
I see you chose to have a channel from User -> Daemon but not back. The
User will pass as part of the request a new channel where a response will
be delivered.
This has the advantage that you can have multiple Users connected to the
same Daemon and everybody will get the response to their own requests.
However on the reception side you cannot have a User that gets notified of
all transactions that are happening.
So maybe it's better to stick to two "hardcoded" channels between the User
and Daemon. If someone wants to have multiple Users, a
multiplexing/demultiplexing User can be implemented to handle the messages
to/from the multiple final Users.
One other weird thing is that the so called message_to_user part of the
PutRequest are never sent to the User on the reception side. The daemon
decides by itself what to do with them:
https://github.com/ASU-cubesat/cfdp-rs/blob/user_trait/cfdp-core/src/daemon.rs#L835
but this is another discussion.
—
Reply to this email directly, view it on GitHub
https://github.com/ASU-cubesat/cfdp-rs/pull/18#issuecomment-1451759311,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACB7BLPEJOS5YGQVHV55S73W2CEB3ANCNFSM6AAAAAAVMVGFKI
.
You are receiving this because you authored the thread.Message ID:
@.***>

tokio has a broadcast channel so we can leave it as it is for now and implement it when switching to async tokio.

I'll take another look through to see if I can reduce the number of
allocations of channels though
On Thu, Mar 2, 2023, 08:47 Nicolae Mihalache @.***>
wrote:

tokio has a broadcast channel so we can leave it as it is for now and
implement it when switching to async tokio.
—
Reply to this email directly, view it on GitHub
https://github.com/ASU-cubesat/cfdp-rs/pull/18#issuecomment-1452087226,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACB7BLLRTADYC2MG65UTKC3W2C6J3ANCNFSM6AAAAAAVMVGFKI
.
You are receiving this because you authored the thread.Message ID:
@.***>

on second thought maybe it's okay to spawn a new channel each time a new interaction is initiated.
this way the TestUser is guaranteed that there is an active sender when it tries to recv a message and on the chance the sender channel disconnects the recv will not block indefinitely.

@xpromache Have any other thoughts on this PR?


QUARKS-21 Initial GPS application with iotf support

So there are a couple of comments saying changes will be made in response to comments.
Will those changes be under this pull request, do they need to be under this pull request or can it be merged without the changes?

I was hoping to commit a few items then merge and open another issue to address the other comments.

I'm done with commits for now, so it's ready for merge.

I'm done with commits for this issue.

ObdAnalyticsApplication is still missing the Apache license header (the commit just added classdoc).

Oops. Fixed now.
On Wed, Apr 6, 2016 at 9:14 AM, Dale LaBossiere<EMAIL_ADDRESS>wrote:

ObdAnalyticsApplication is still missing the Apache license header (the
commit just added classdoc).
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/apache/incubator-quarks/pull/49#issuecomment-206446031