kube-apiserver fails to start

Looking in kubelet's logs, I see: "API error (500): Cannot start container <ID>: [8] System error: read parent: connection reset by peer"
I have only been able to consistently reproduce it on a dev build of kubernetes running in GKE, but I think I saw the same thing happen off and on when debugging some of the Jenkins GKE-Test failures from Friday.
More logs:
event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67", UID:"10230b2ecdd307213211dedb5c7bd1c4", APIVersion:"v1", R
esourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'created' Created with docker id a76faba71e1615d5a638590c6c0d8e303f93d8c0c1702e7af4b42c84d59d210e
E0615 21:53:54.719591    2464 manager.go:1491] Error running pod "kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67_default" container "kube-apiserver": API error (500): Cannot start container a76faba71e1615d5a638590c6c
0d8e303f93d8c0c1702e7af4b42c84d59d210e: [8] System error: read parent: connection reset by peer
I0615 21:53:54.719648    2464 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67", UID:"10230b2ecdd307213211dedb5c7bd1c4", APIVersion:"v1", R
esourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'failed' Failed to start with docker id a76faba71e1615d5a638590c6c0d8e303f93d8c0c1702e7af4b42c84d59d210e with error: API error (500): Cannot start c
ontainer a76faba71e1615d5a638590c6c0d8e303f93d8c0c1702e7af4b42c84d59d210e: [8] System error: read parent: connection reset by peer
W0615 21:53:54.720978    2464 container.go:249] Failed to create summary reader for "/a76faba71e1615d5a638590c6c0d8e303f93d8c0c1702e7af4b42c84d59d210e": none of the resources are being tracked.
E0615 21:54:04.427496    2464 kubelet.go:1574] error getting node: node gke-664608984929-3a3afa5a2b3942c0cf67 not found
I0615 21:54:04.577893    2464 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67", UID:"10230b2ecdd307213211dedb5c7bd1c4", APIVersion:"v1", R
esourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'created' Created with docker id 6a170b2cf16b426df4cf0b4631cafeef6f7dddbb9c71624960ac9b4f4a2f2e8b
E0615 21:54:04.769703    2464 manager.go:1491] Error running pod "kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67_default" container "kube-apiserver": API error (500): Cannot start container 6a170b2cf16b426df4cf0b4631
cafeef6f7dddbb9c71624960ac9b4f4a2f2e8b: [8] System error: read parent: connection reset by peer
I0615 21:54:04.769741    2464 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67", UID:"10230b2ecdd307213211dedb5c7bd1c4", APIVersion:"v1", R
esourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'failed' Failed to start with docker id 6a170b2cf16b426df4cf0b4631cafeef6f7dddbb9c71624960ac9b4f4a2f2e8b with error: API error (500): Cannot start c
ontainer 6a170b2cf16b426df4cf0b4631cafeef6f7dddbb9c71624960ac9b4f4a2f2e8b: [8] System error: read parent: connection reset by peer
W0615 21:54:04.771218    2464 container.go:249] Failed to create summary reader for "/6a170b2cf16b426df4cf0b4631cafeef6f7dddbb9c71624960ac9b4f4a2f2e8b": none of the resources are being tracked.
E0615 21:54:14.434616    2464 kubelet.go:1574] error getting node: node gke-664608984929-3a3afa5a2b3942c0cf67 not found
I0615 21:54:14.615883    2464 event.go:203] Event(api.ObjectReference{Kind:"Pod", Namespace:"default", Name:"kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67", UID:"10230b2ecdd307213211dedb5c7bd1c4", APIVersion:"v1", R
esourceVersion:"", FieldPath:"spec.containers{kube-apiserver}"}): reason: 'created' Created with docker id 3e0201804da0616ed9942635b54d9b28c804e2ca590569f304ea3a6ea5d10442
E0615 21:54:14.800110    2464 manager.go:1491] Error running pod "kube-apiserver-gke-664608984929-3a3afa5a2b3942c0cf67_default" container "kube-apiserver": API error (500): Cannot start container 3e0201804da0616ed9942635b5
4d9b28c804e2ca590569f304ea3a6ea5d10442: [8] System error: read parent: connection reset by peer

@mikedanese @dchen1107

I marked this as P0 for triage. Mike, please feel free to lower the priority once you root cause the issue. Thanks!

The error is propagate from libcontainer to docker then fail our container creation/startup.  cc/ @rjnagal and @vmarmol too.

I'm unable to reproduce from HEAD using gce cluster/kube-up.sh. @cjcullen for posterity, can you paste the output of docker version and docker info here?
same error message as reported in #8070.

docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64

docker info
Containers: 18
Images: 15
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 51
 Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.16.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 7 (wheezy) (containerized)
CPUs: 4
Total Memory: 14.72 GiB
Name: gke-664608984929-5add4808d69e20b6352f
ID: BXPD:N6BU:FHGF:F5PY:OWVQ:O275:MCH3:GM52:RN3A:AIKX:EANV:PDHL
WARNING: No swap limit support

@cjcullen is kube-apiserver eventually started by kubelet after several tries? Or never?

kube-apiserver is never started.
I can get it to start by docker killing its infra container. Kubelet then restarts the infra container and kube-apiserver comes up happy.

It seems like another reincarnation of the bug where new container tries to
join the namespace of an older infra container. I think that was caused by
a restart race.
On Mon, Jun 15, 2015 at 4:05 PM, CJ Cullen<EMAIL_ADDRESS>wrote:

kube-apiserver is never started.
I can get it to start by docker killing its infra container. Kubelet then
restarts the infra container and kube-apiserver comes up happy.
—
Reply to this email directly or view it on GitHub
https://github.com/GoogleCloudPlatform/kubernetes/issues/9822#issuecomment-112233935
.

@cjcullen Can you share with us kubelet.log?

The chunk I pasted above in https://github.com/GoogleCloudPlatform/kubernetes/issues/9822#issue-88551130 was when kubelet began trying to start the apiserver container. I don't have a failed cluster running right now, but I will grab the entire logs next time I bring one up.
As a fun note, I changed the name of the cluster, and everything starts up fine. "cjcullen-gke-e2e" appears to be cursed.

@cjcullen based on @rjnagal's comment above, we only has that issue when network related configuration are changed for kube-apiserver spec. Question on GKE, is kube-apiserver's manifest is changed? especially network related configuration?

GKE's kube-apiserver manifest shouldn't change any of the network configuration. Some of the flags to the kube-apiserver binary are different, and we use a gce.conf file in an additional mounted volume.

@cjcullen I think Dawn was actually asking if, during the GKE startup, the apiserver config file is written and then written again (modified).

No, the config file should not be getting modified (other than the initial template-expansion and copy by salt).

Aslo found this in my env, but can not always reproduce.
env
root@AMZ-SIN-10:~# docker version
Client version: 1.6.2
Client API version: 1.18
Go version (client): go1.4.2
Git commit (client): 7c8fca2
OS/Arch (client): linux/amd64
Server version: 1.6.2
Server API version: 1.18
Go version (server): go1.4.2
Git commit (server): 7c8fca2
OS/Arch (server): linux/amd64
root@AMZ-SIN-10:~# kubectl version
Client Version: version.Info{Major:"0", Minor:"19+", GitVersion:"v0.19.0-1-g0cb58606b7abf8-dirty", GitCommit:"0cb58606b7abf80f627ceb2b3166c9eff78cbd40", GitTreeState:"dirty"}
Server Version: version.Info{Major:"0", Minor:"19+", GitVersion:"v0.19.0-1-g0cb58606b7abf8-dirty", GitCommit:"0cb58606b7abf80f627ceb2b3166c9eff78cbd40", GitTreeState:"dirty"}

kubectl describe po
root@AMZ-SIN-10:~# kubectl describe po fbagent-service-vtest.paas.0617-pzsbk
W0618 07:12:43.251881    7584 request.go:302] field selector: v1 - events - involvedObject.name - fbagent-service-vtest.paas.0617-pzsbk: need to check if this is versioned correctly.
W0618 07:12:43.251945    7584 request.go:302] field selector: v1 - events - involvedObject.namespace - facebook-pmd: need to check if this is versioned correctly.
W0618 07:12:43.251960    7584 request.go:302] field selector: v1 - events - involvedObject.uid - cdaa699d-1588-11e5-b0ab-0248a94825b7: need to check if this is versioned correctly.
Name:                           fbagent-service-vtest.paas.0617-pzsbk
Image(s):                       <some_addr>:25000/facebook_pmd/fbagent-services:vtest.paas.0617
Node:                           <IP_ADDRESS>/<IP_ADDRESS>
Labels:                         name=fbagent-service,version=vtest.paas.0617
Status:                         Pending
Replication Controllers:        fbagent-service-vtest.paas.0617 (1/1 replicas created)
Containers:
  fbagent-service:
    Image:      <some_addr>:25000/facebook_pmd/fbagent-services:vtest.paas.0617
    State:      Waiting
      Reason:   API error (500): Cannot start container 6e38f8d90f139ca696a229ca8703c76bed897c816f540172a6298b986c59e061: [8] System error: read parent: connection reset by peer

    Ready:              False
    Restart Count:      10
Conditions:
  Type          Status
  Ready         False
Events:
  FirstSeen                             LastSeen                        Count   From                    SubobjectPath                           Reason           Message
  Thu, 18 Jun 2015 07:08:21 +0000       Thu, 18 Jun 2015 07:08:21 +0000 1       {scheduler }                                                    scheduled        Successfully assigned fbagent-service-vtest.paas.0617-pzsbk to <IP_ADDRESS>
  Thu, 18 Jun 2015 07:09:25 +0000       Thu, 18 Jun 2015 07:09:25 +0000 1       {kubelet <IP_ADDRESS>}    implicitly required container POD       created          Created with docker id 7884963b7df9972c8fa8fbad98c05a13b6fcfcef7417a8b98c3afe121a9f9d0e
  Thu, 18 Jun 2015 07:09:25 +0000       Thu, 18 Jun 2015 07:09:25 +0000 1       {kubelet <IP_ADDRESS>}    implicitly required container POD       pulled           Successfully pulled image "gcr.io/google_containers/pause:0.8.0"
  Thu, 18 Jun 2015 07:09:26 +0000       Thu, 18 Jun 2015 07:09:26 +0000 1       {kubelet <IP_ADDRESS>}    implicitly required container POD       started          Started with docker id 7884963b7df9972c8fa8fbad98c05a13b6fcfcef7417a8b98c3afe121a9f9d0e
  Thu, 18 Jun 2015 07:09:30 +0000       Thu, 18 Jun 2015 07:09:30 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        pulled           Successfully pulled image "<some_addr>/facebook_pmd/fbagent-services:vtest.paas.0617"
  Thu, 18 Jun 2015 07:09:30 +0000       Thu, 18 Jun 2015 07:09:30 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        created          Created with docker id 68f00ed4fe2775c13217113d8b7f0aed6b1ec65d3fed9bcf1701a84a4b1995e5
  Thu, 18 Jun 2015 07:09:30 +0000       Thu, 18 Jun 2015 07:09:30 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        failed           Failed to start with docker id 68f00ed4fe2775c13217113d8b7f0aed6b1ec65d3fed9bcf1701a84a4b1995e5 with error: API error (500): Cannot start container 68f00ed4fe2775c13217113d8b7f0aed6b1ec65d3fed9bcf1701a84a4b1995e5: [8] System error: read parent: connection reset by peer

  Thu, 18 Jun 2015 07:09:35 +0000       Thu, 18 Jun 2015 07:09:35 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        created  Created with docker id 2a26e81b90a98abb25a65bf42a64a28a9b4e4984c11da401e30ff68499099e72
  Thu, 18 Jun 2015 07:09:36 +0000       Thu, 18 Jun 2015 07:09:36 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        failed   Failed to start with docker id 2a26e81b90a98abb25a65bf42a64a28a9b4e4984c11da401e30ff68499099e72 with error: API error (500): Cannot start container 2a26e81b90a98abb25a65bf42a64a28a9b4e4984c11da401e30ff68499099e72: [8] System error: read parent: connection reset by peer

  Thu, 18 Jun 2015 07:09:45 +0000       Thu, 18 Jun 2015 07:09:45 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        created  Created with docker id a48b0c561f456e5719090032b33156cd5cec17c2e44c7f5e3ba1fae4b0bdf2c9
  Thu, 18 Jun 2015 07:09:46 +0000       Thu, 18 Jun 2015 07:09:46 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        failed   Failed to start with docker id a48b0c561f456e5719090032b33156cd5cec17c2e44c7f5e3ba1fae4b0bdf2c9 with error: API error (500): Cannot start container a48b0c561f456e5719090032b33156cd5cec17c2e44c7f5e3ba1fae4b0bdf2c9: [8] System error: read parent: connection reset by peer

  Thu, 18 Jun 2015 07:09:55 +0000       Thu, 18 Jun 2015 07:09:55 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        created  Created with docker id 93a4cf4bc7b7b87898147cc05901dc92528273f0f64819271f43e42b3eec66f0
  Thu, 18 Jun 2015 07:09:56 +0000       Thu, 18 Jun 2015 07:09:56 +0000 1       {kubelet <IP_ADDRESS>}    spec.containers{fbagent-service}        failed   Failed to start with docker id 93a4cf4bc7b7b87898147cc05901dc92528273f0f64819271f43e42b3eec66f0 with error: API error (500): Cannot start container 93a4cf4bc7b7b87898147cc05901dc92528273f0f64819271f43e42b3eec66f0: [8] System error: read parent: connection reset by peer

docker log
time="2015-06-18T07:16:56Z" level=info msg="GET /containers/json"
time="2015-06-18T07:16:56Z" level=info msg="+job containers()"
time="2015-06-18T07:16:56Z" level=info msg="+job log(die, ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a, <some_addr>:25000/facebook_pmd/fbagent-services:vtest.paas.0617)"
time="2015-06-18T07:16:56Z" level=info msg="-job log(die, ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a, <some_addr>:25000/facebook_pmd/fbagent-services:vtest.paas.0617) = OK (0)"
Cannot start container ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a: [8] System error: read parent: connection reset by peer
time="2015-06-18T07:16:56Z" level=info msg="-job start(ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a) = ERR (1)"
time="2015-06-18T07:16:56Z" level=error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a: [8] System error: read parent: connection reset by peer"
time="2015-06-18T07:16:56Z" level=error msg="HTTP Error: statusCode=500 Cannot start container ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a: [8] System error: read parent: connection reset by peer"
time="2015-06-18T07:16:56Z" level=info msg="-job container_inspect(ab3b375b95b430a22a8a6cab7c41aeec62081bb6598ba4b565447b844ca6381a) = OK (0)"
time="2015-06-18T07:16:56Z" level=info msg="-job containers() = OK (0)"
time="2015-06-18T07:16:56Z" level=info msg="GET /containers/json?all=1"

Could we limit the restart times? It may cause unlimit restart and will make many dead containers.
I can work around this issue be delete pod, however need operate manually. It still a critical issue.

We've seen this a number of times today, and it's effecting cluster creation at a somewhat noticeable rate. The errors are basically identical to the above.

@zmerlynn Shouldn't this a dup of #10122?

Spoke with @cjcullen offline, and he pointed out it is a different issue. I never see such issue. @zmerlynn could you please point to me the node with such issue?

Well, both this and #10122 are ultimately caused by the docker restart, no? it's just in this case, our own binary breaks and in #10122 etcd breaks.

Oi. I'm trying to get this project setup with nodes that aren't borked, and tore it down.

@dchen1107, I have a reproduction for you. I'll get you set up on it offline.

I agree with @lavalamp's assessment: https://github.com/GoogleCloudPlatform/kubernetes/issues/9822#issuecomment-113674675
Both problems appear to stem from docker restarting at inopportune times. This one looks like we end up trying to attach the apiserver container to an invalid infra container.

Similar error in docker.log:
time="2015-06-19T23:54:54Z" level=info msg="+job log(create, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f)"

time="2015-06-19T23:54:54Z" level=info msg="-job log(create, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f)
= OK (0)"
time="2015-06-19T23:54:54Z" level=info msg="-job create(k8s_kube-apiserver.5c84a043_kube-apiserver-gke-56488135095-d8ed1cd0d4337dead0c3_default_27f877b7cb53073d2053273d964a3e76_14b69a29) = OK (0)"
time="2015-06-19T23:54:54Z" level=info msg="POST /containers/8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1/start"
time="2015-06-19T23:54:54Z" level=info msg="+job start(8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1)"
time="2015-06-19T23:54:54Z" level=info msg="+job log(start, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f)"
time="2015-06-19T23:54:54Z" level=info msg="-job log(start, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f) =
 OK (0)"
time="2015-06-19T23:54:54Z" level=info msg="GET /containers/8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1/json"
time="2015-06-19T23:54:54Z" level=info msg="+job container_inspect(8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1)"
time="2015-06-19T23:54:54Z" level=info msg="GET /containers/json"
time="2015-06-19T23:54:54Z" level=info msg="+job containers()"
time="2015-06-19T23:54:54Z" level=warning msg="signal: killed"
time="2015-06-19T23:54:54Z" level=info msg="+job log(die, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f)"
time="2015-06-19T23:54:54Z" level=info msg="-job log(die, 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1, gcr.io/google_containers/kube-apiserver:2f47a4546e0c6ff84971bfb44c98bf2f) = O
K (0)"
Cannot start container 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1: [8] System error: read parent: connection reset by peer
time="2015-06-19T23:54:54Z" level=info msg="-job start(8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1) = ERR (1)"
time="2015-06-19T23:54:54Z" level=error msg="Handler for POST /containers/{name:.*}/start returned error: Cannot start container 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1: [8] Sy
stem error: read parent: connection reset by peer"
time="2015-06-19T23:54:54Z" level=error msg="HTTP Error: statusCode=500 Cannot start container 8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1: [8] System error: read parent: connectio
n reset by peer"
time="2015-06-19T23:54:54Z" level=info msg="-job container_inspect(8e64b343b9fdb5c59fbcc25ae0351872de9d7e962f7ed4d055e4a3ef5157c6a1) = OK (0)"

This is at docker client and server versions 1.6.2.

Ok, cool. That is pretty much what I suggested above they are the same issue with different symptoms.
But anyway I will double check @a-robinson 's node to confirm that.

It appears we're seeing this often enough that it's a P0 or at least P1 and not P2?  Maybe not something to work on over the weekend, but worth tracking to resolve since it's a high-severity issue when it does happen?

Shouldn't the both problem caused by the same issue (#10122), why we are talking about two solutions here: one for #9822, another one upgrades etcd for #10122. Why not check cbr0 configured ready or not. If not, don't start any work?

I dug into the kubelet and we do cache containers, but in theory, it's very brief (~2 seconds), but it's possible that we cache bad network containers.  Although the error is not the same
It's also the case that we don't validate that Docker hands us back running containers, we just trust that it will.
I have some ideas about what to explore the next time this happens.  Please ping me if it re-occurs.

Also potentially related:
https://forums.docker.com/t/veth-device-immediately-dying-rhel-7/1812

Also see:
https://botbot.me/freenode/docker/2015-06-12/?msg=41669330&page=6

And this:
https://botbot.me/freenode/docker-compose/2015-05-26/?msg=40195737&page=1

We should see if we can repro, by creating a container, then ripping the bridge out from under the container, then trying to join into the network namespace of that container.

What's disturbing is that whatever this problem is, it's sticky on cluster recreating. Our repair process (which currently just knocks the master over and leaves the data PD to the side) doesn't actually heal over this problem - and it really should. I think I've just watched GKE repro it several times on the same cluster.

hmm, I just came back online and wanted to dig the issue more.
@brendandburns I still don't understand why. I believe the cause of #9822 and #10122 are the same and introduced by kubelet configure cbr0, and restart docker. The puzzle I still have is that we restart docker daemon, which means the previous infra container is killed by docker, then re-created by kubelet when docker is up. In this case, the newly create infra container should have proper network namespace, and kube-apiserver shouldn't have any issue joining its namespace.
But on another hand, I think the fix I proposed in https://github.com/GoogleCloudPlatform/kubernetes/issues/10137#issuecomment-113702169 should fix both #9822 and #10137.

@zmerlynn I never saw such issue. And @mikedanese tries to repro it for many times, and never see it. @cjcullen reported this before with his dev cluster, but later he said he couldn't reproduce it either. Why all the sudden we saw so many incidents with GKE? Are anything special related to GKE configurations?

Ok, I quickly checked the GKE master node @a-robinson sent to me. Here is what I had so far:

Looks like docker is never restarted:

# cat docker.log | grep "Loading containers: start."
time="2015-06-19T22:31:39Z" level=info msg="Loading containers: start."
time="2015-06-19T22:31:58Z" level=info msg="Loading containers: start."

 It continues to occur, even now that we are not starting master components until after docker is restarted and ready.

This has only been observed on GKE, and only happens when the command to the kube-apiserver command ("/bin/sh -c /usr/local/bin/kube-apiserver ...") is exactly 795 characters long :).
Somehow, length of the Bind list also influences this. If I tack on a character to one of my bind mounts, the magic number becomes 794. If I add or remove a bind mount, I have not been able to find the magic number. As of now, I need 13 bind mounts, and an aggregate character count (between binds and command) of 1331.

My current repro (requires curl 7.43 for the --unix-socket flag):
Docker run a container w/ host networking (this step only needs to happen once):
# docker run -d --net=host gcr.io/google_containers/busybox /bin/sh -c "sleep 100000000"
5cd36d0a9d7e86101be05e72e0d138e3fde09a194a52b28b2b678223f9c70258

Post to docker's containers/create endpoint with a 1279 character Entrypoint:
# curl -H "Content-Type: application/json" --unix-socket /var/run/docker.sock -X POST -d '{"Image":"
gcr.io/google_containers/busybox","Entrypoint":["/bin/sh","-c","echo 0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdefghi6abcdefghi7abcdefghi8abcdefghi9abcdefghi0abcdefghi1abcdefghi2abcdefghi3
abcdefghi4abcdefghi5abcdef 1>>/a"]}' http:/containers/create
{"Id":"b71cb237f1d6f219892716f649668be593ecabe8523a7c62a54b7085dc9d9582","Warnings":null}

Start the container w/

--net and --ipc pointing to the host-networked container from above.
Cgroup parent set to "/", MemorySwap set to -1
13 Binds, 4 characters each.

# curl -H "Content-Type: application/json" --unix-socket /var/run/docker.sock -X POST -d '{"Binds":[
"/:/a","/:/b","/:/c","/:/d","/:/e","/:/f","/:/g","/:/h","/:/i","/:/j","/:/k","/:/l","/:/m"],"Network
Mode":"container:5cd3","IpcMode":"container:5cd3","CgroupParent":"/","MemorySwap":-1}' http:/contain
ers/b71cb237f1d6f219892716f649668be593ecabe8523a7c62a54b7085dc9d9582/start
Cannot start container b71cb237f1d6f219892716f649668be593ecabe8523a7c62a54b7085dc9d9582: [8] System
error: read parent: connection reset by peer

I feel like a crazy person actually writing all of this down, but it's what I've got so far.
I can only reproduce this when docker is in some sort of weird state. If I restart docker, I can't reproduce it. If I start with a fresh VM, I can't reproduce it.

I guess the >> technically gets represented as \u003e\u003e, so my magic number is actually 1341 (1289 for the command, plus 13*4 for the binds).

Now that #10780 is submitted, I'll mark this issue closed. Any follow-up on the underlying issue can happen on https://github.com/docker/docker/issues/14203.

Whats the status on this?

I am using GKE but are there any workarounds to this problem besides the way of upgrading the GKE node?

@umiyosh what version of docker and kubernetes are you using? This should've been fixed in docker 1.10 already (https://github.com/docker/docker/issues/14203).
If you don't want to upgrade your node, you could add some extra padding (e.g., environment variable) in your pod spec to work around it. See #24830 as an example.


fix: escape glob path

fix for #9833
Description
escape glob special chars with \\ before passing them along
Additional context
There is a problem detecting which part needs escaping if the glob is built using resolveId because we need to escape the first part of the resolved path, but leave the user-supplied glob at the end in place untouched.

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

note, if you go to playground/glob-import and run pnpm dev the page has a new section at the end listing all special cases in glob-import/escape/
Even with the code change in this PR, not all are found so there's more at play.
working:
/escape/(braces)/glob.js
/escape/*star/glob.js
/escape/[brackets]/glob.js

not working
/escape/+plus/glob.js
/escape/^caret/glob.js
/escape/$dollar/glob.js


Fix iPython 4.x ShimWarning

Fixes https://github.com/paulgb/runipy/issues/95
In iPython 4.x, the API has changed regarding what modules contain relevant import items. Up to now, we have been using the iPython 3.x API to handle these imports. This works; however, it results in many log messages regarding how this API is deprecated and calls this a ShimWarning. This makes it hard to read output from runipy. This PR handles these warnings, as exceptions, to ensure the proper import strategy is used thus avoiding these warnings.

Not sure, this is fixed in 0.1.5? Using runipy as built-in of pytest-ipynb. Note the funny warning when executing runipy --version below.
$ py.test -v
/Users/klay6683/miniconda3/lib/python3.4/site-packages/IPython/kernel/__init__.py:13: ShimWarning: The `IPython.kernel` package has been deprecated. You should import from ipykernel or jupyter_client instead.
  "You should import from ipykernel or jupyter_client instead.", ShimWarning)
/Users/klay6683/miniconda3/lib/python3.4/site-packages/IPython/nbformat.py:13: ShimWarning: The `IPython.nbformat` package has been deprecated. You should import from nbformat instead.
  "You should import from nbformat instead.", ShimWarning)
/Users/klay6683/miniconda3/lib/python3.4/site-packages/nbformat/current.py:19: UserWarning: nbformat.current is deprecated.

- use nbformat for read/write/validate public API
- use nbformat.vX directly to composing notebooks of a particular version

  """)
====================================== test session starts =======================================
platform darwin -- Python 3.4.3, pytest-2.8.1, py-1.4.30, pluggy-0.3.1 -- /Users/klay6683/miniconda3/bin/python
cachedir: ../.cache
rootdir: /Users/klay6683/Dropbox/src/spicer, inifile:
plugins: ipynb-1.0.2
collected 3 items

test_spicer.ipynb::notebooks/test_spicer.ipynb PASSED
test_spicer.ipynb::notebooks/test_spicer.ipynb PASSED
test_spicer.ipynb::notebooks/test_spicer.ipynb PASSED

=================================== 3 passed in 10.15 seconds ====================================

klay6683 at MacL2938 in ~PYTHONPATH/spicer/notebooks (master●●)
$ runipy --version
0.1.5
sys:1: ResourceWarning: unclosed file <_io.TextIOWrapper name='/dev/null' mode='w' encoding='UTF-8'>
/Users/klay6683/miniconda3/lib/python3.4/importlib/_bootstrap.py:2150: ImportWarning: sys.meta_path is empty

klay6683 at MacL2938 in ~PYTHONPATH/spicer/notebooks (master●●)
$

So, both pytest-ipynb and runipy import from IPython at points so it is not clear to me that this is a runipy issue per se.
For instance, there are instances of importing from the old kernel module ( https://github.com/zonca/pytest-ipynb/blob/a4f2e69eb3c5e510971d8cd52b034ac8b85e22e2/pytest_ipynb/plugin.py#L12 ) and from the old current module ( https://github.com/zonca/pytest-ipynb/blob/a4f2e69eb3c5e510971d8cd52b034ac8b85e22e2/pytest_ipynb/plugin.py#L19 ). Both of these could cause the warnings you saw.
Further, if runipy were still suffering from these issues, I would expect to see a sizable number of warnings during testing ( https://travis-ci.org/paulgb/runipy/jobs/85994448#L1044-L1050 ). However, in current master, I am not seeing those ( https://travis-ci.org/paulgb/runipy/jobs/86119921 ). Further, in the places where we are doing iPython imports, we have converted ShimWarnings to exceptions. So, if we did see them, the build would have failed.


Will "ProductsGallery" web app be released?

@CraigCleveland  Will the web app SolutionsWeb\Apps\NationalIntel\ProductsGallery be released? The associated portal item is owned by you. If it's not going to be released that please remove this app folder from the SolutionsWeb\Apps\NationalIntel so it's not shipped with the release. Alternatively, I can remove to another location on the server so it's not included, but you'll have a backup of this files. Thank you.

@CraigCleveland Moved this ProductsGallery app out of the SolutionsWeb\Apps\NationalIntel to the folder c:\EricL\TEM2016Release\SolutionsWeb_files_removed_from_release\Apps\NationalIntel\ProductsGallery on the server, so if you need it back let me know.

@elinz there was never any intention of this app making it into the Ops Server release.  I created the app for Tom Oaks/Phil Suarez/Daniel Maso & Co. for this years DIET.  Since the requirement was to use the NSEC Portal and the Ops Server that's where it ended up.  So long story short that's totally fine what you've done with it.

@CraigCleveland Thanks for the info Craig.


fix: use lib.name from cargo.toml for rust wasm binary name

This PR adds code to use lib.name from Cargo.toml for Rust projects, to avoid issues with Rust project builds when actor name does not match Rust's requirements on output artifact names.
See #341 for for more discussion around this issue, and the RFC on naming that should standardize naming across libraries in the future.

Fixed lint, rebased to newest master to resolve the conflicts!

:warning: some tests are failling locally
Weird -- the following tests are failing for me on linux locally but pass in CI:
folder_path
minimal_rust_actor
rust_actor
Please don't merge yet! Tracking down what's happening!

Refactored this to discover the binary name right before use when building (in wash-lib/src/build.rs). I originally wrote code to add it to CommonConfig so we could know the name for more of the process, but the more minimal change is to have it in build.rs.
@mattwilkinsonn would you mind taking a look at this?

Apologies for the delay @mattwilkinsonn !

Left some comments! On the CommonConfig stuff - i'm not against either option but perhaps it could be useful to add an extra field like language_package_name and then just use that in build.rs? Adding it inside the config parsing would let other consumers of wasmcloud.toml get that information more easily.

Funny, this is exactly how I did it (called it wasm_bin_name) then ripped it out.
I can definitely switch back to this -- I personally like the CommonConfig approach with the Option because other languages could use it and fallback to the regular name, but it felt like it might be too many changes at the same time.

I'm good with this as long as it handles falling back to the package name if the [lib] isn't present, which the code appears to handle! Just wanted to make sure we tested that case.

Hey @thomastaylor312 one more review please.
The tests that expect to handle a rust project with no Cargo.toml (using the name & version only) were breaking -- I did a refactor while I was in there, because the fn was too long.

Integration tests that seem unrelated are failing -- investigating:
failures:

failures:
error: test failed, to rerun pass `--test integration_reg`
     Running tests/integration_up.rs (target/debug/deps/integration_up-fc47ecdd757b97af)
    integration_pull_basic
    integration_pull_comprehensive
    integration_push_basic
    integration_push_comprehensive

test result: FAILED. 0 passed; 4 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.28s

running 3 tests
test doesnt_kill_unowned_nats ... ok
test can_stop_detached_host ... ok
error: 4 targets failed:
test integration_up_can_start_wasmcloud_and_actor ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 35.37s
    `--test integration_claims`

    `--test integration_drain`
    `--test integration_par`
    `--test integration_reg`


Add Docker build

I want this for load test tooling.

Adds Docker build
Removes unimplemented ping command
Allows configuration overrides via environment variables (to make the Docker image easier to use)

thanks for adding my suggestion @ccbrown


Cannot commit to my own fork due to

At
vcloud/.../ginkgo$ git remote -v
origin	https://github.com/Tech-XCorp/ginkgo.git (fetch)
origin	https://github.com/Tech-XCorp/ginkgo.git (push)
upstream	https://github.com/ginkgo-project/ginkgo.git (fetch)
upstream	https://github.com/ginkgo-project/ginkgo.git (push)
<EMAIL_ADDRESS>git branch -v
* clang_cl          9e53640d4 alias in template will lead an issue
  develop           e518aee3a Merge Fix Typo Clonable
  upstream-clang_cl 9e53640d4 alias in template will lead an issue
  upstream-develop  dc8cfeb0a Merge Fix complex solver benchmark

ie, my own fork.  When I try to commit I get
vcloud/.../ginkgo$ git commit -m "Cannot redefine a using in a struct if it is defined in the scopt of that struct."
Please only commit to Ginkgo when GINKGO_DEVEL_TOOLS is enabled in CMake.
This can be set in your initial invocation of CMake by using
 -DGINKGO_DEVEL_TOOLS=ON or by editing the CMakeCache.txt file.

I did configure (in another directory) with -DGINKGO_DEVEL_TOOLS=ON.
How can I turn off this check for my own fork?

--no-verify

Hi @jrobcary ,
You can also turn off the check by deleting .git/hook/pre-commit and .git/hook/pre-commit.legacy.
I think the issue is from our own pre-commit hook to pre-commit package.
The package will turns the old one to pre-commit.legacy (still active) to keep the original pre-commit step, which leads this issue.
From your commit message, does "using T = T;" in the nested structure disallowed in your side?

I see. I have added
#if defined(_MSC_VER) && defined(__clang__)
...

which should only trigger this workaround in clang_cl in windows


CSS scroll-snap docs tasks for Fx 68

See https://trello.com/c/oNitf87p/69-css-scroll-snap-level-1-fx-68 for the original trello card.
Acceptance criteria

[ ] Update 'scroll-snap-type' to the latest specification and drop support for 'scroll-snap-type-x' and 'scroll-snap-type-y' — documented appropriately

[ ] Implement scroll-padding-* properties — documented appropriately

[ ] Implement scroll-snap-margin-* properties — documented appropriately

[ ] Implement scroll-snap-align property — documented appropriately

[ ] Enable the new scroll snap v1 by default on nightly — documented appropriately

[ ] Ship the new scroll snap — documented appropriately

[ ] Write a hacks post about scroll snap to introduce the new spec, show a quick example or two, and annouce its release in Firefox.

PR for compat data done and already merged https://github.com/mdn/browser-compat-data/pull/4172

We have live examples for the properties which were not added to the pages, I guess it is now time to do so?

Yeah, I think that sounds like a good idea.

Examples are all now on pages, property pages have been checked to make sure they are correct in terms of the 68 release.
Found a missing example and made a PR to add it https://github.com/mdn/interactive-examples/pull/1361
Still waiting for the BCD to show up on these pages.

@chrisdavidmills although these properties are being removed from Firefox in 68 it seems a bit soon to just drop them from the docs, do you think?
eg. https://developer.mozilla.org/en-US/docs/Web/CSS/scroll-snap-type-x
I've made sure they have the deprecated header, is there anything else we should do about them?

PR for data: https://github.com/mdn/data/pull/370

Updated the two guides which referred to Firefox having the old spec.

https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap/Basic_concepts
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scroll_Snap/Browser_compat

Thanks @rachelandrew ! the guide updates look good, and I think you've taken the right approach in keeping the old property pages around for now and marking them as deprecated.

Hacks post is here, didn't want to reiterate the entire guide, so provided a couple of examples and will link up the stuff on MDN once I put it into WP.
https://docs.google.com/document/d/1ROtLu873LK4X2ApQFAaKDQEjsfGqywZ5s8SgOq8woH8/edit?usp=sharing

@rachelandrew thanks for writing the hacks post. I've reviewed it, tested the demos, and added a few comments.
It looks like this work is mostly finished now; could you confirm this by going through the acceptance criteria, checking that the work items are done, and checking them off if so?
For the linked bugzilla bugs, can you go in to each one, leave a comment saying what docs have completed for each one, and then set each one to dev-doc-complete?
Also, make sure that an entry has been added to https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/68 to cover this work.
Thanks!

I've edited the post, although you seem to be seeing something other to what I'm seeing in my examples so I'm a little confused.

The bugs have all been updated and release notes written. I think other than actually publishing the post, this is all done.

I think we're OK on the demos now.
For the release of the hacks post, we discussed this earlier thie week, and thought that since scroll snap is available to test now and has been available in Chrome for a while, that we could release to post sooner rather than later.
Would this week or the next work for you?

Absolutely - just let me know if you are happy for me to put it into WP, and then it can go out whenever.

Yes, please do. I'll let Havi know too.


Unpinning SOC fails with 500 Internal Server Error

I upload an SOC

POST on http://localhost:1633/soc/ef552ff649ebca68c37ddc28e25a27a55657c916/e1987b7e93640469a116a2327de50599afc2c977935ddd189259b540753b65e2?sig=8843051fefa23a4f6fca446ce7e66b730731119f52753bc7a13c8ad6717cbd244bad9280f41ca179b5b07b336f1e7a5a0f59c3b7340c14afe16a35ebef2630741c  with swarm-pin header. this returns the reference bd760322e2d9c86bf7346f1ca319315cc81e69584f77d30a449beee3c5b39fee

Now if I call DELETE on http://localhost:1633/pins/bd760322e2d9c86bf7346f1ca319315cc81e69584f77d30a449beee3c5b39fee I get

{
    "message": "Internal Server Error",
    "code": 500
}

with the above log.
If I pin the reference again and try DELETE I get the same response.
Originally posted by @asabya in https://github.com/ethersphere/bee/issues/2713#issuecomment-1138485291

I created a repo so that this bug can be deterministically reproduced:
https://github.com/agazso/soc-unpin-test


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
89c38cb -> ce8fceb

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.30.2 -> v1.30.4

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.30.4
Compare Source
Bug Fixes

create schematics tar file in correct temp dir (#783) (f0cd2ce)

v1.30.3
Compare Source
Bug Fixes

deps: update module github.com/go-git/go-git/v5 to v5.12.0 (#787) (9c597d6)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

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


Add write() method to NSImage extensions

Add write(to url: URL, fileType type: _, compressionFactor: _) method to write NSImage to url.

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[ ] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a CHANGELOG entry describing my changes.

          1 Message

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

SwiftLint found issues
Warnings

File
Line
Reason

NSImageExtensions.swift
65
Colons should be next to the identifier when specifying a type and next to the key in dictionary literals.

  Generated by :no_entry_sign: Danger


Encode optimization

The good news is that it's a lot faster. The bad news is that it took a fair amount of unsafe, so double check that my pointer-wrangling isn't going to ruin the world.
Before:
test encode_100b            ... bench:         218 ns/iter (+/- 9) = 458 MB/s
test encode_100b_reuse_buf  ... bench:         280 ns/iter (+/- 80) = 357 MB/s
test encode_10mib           ... bench:  24,247,195 ns/iter (+/- 138,068) = 432 MB/s
test encode_10mib_reuse_buf ... bench:  21,752,566 ns/iter (+/- 33,576) = 482 MB/s
test encode_30mib           ... bench:  72,667,077 ns/iter (+/- 147,145) = 432 MB/s
test encode_30mib_reuse_buf ... bench:  65,158,430 ns/iter (+/- 38,008) = 482 MB/s
test encode_3b              ... bench:          24 ns/iter (+/- 0) = 125 MB/s
test encode_3b_reuse_buf    ... bench:           9 ns/iter (+/- 0) = 333 MB/s
test encode_3kib            ... bench:       6,193 ns/iter (+/- 6) = 496 MB/s
test encode_3kib_reuse_buf  ... bench:       6,177 ns/iter (+/- 6) = 497 MB/s
test encode_3mib            ... bench:   7,096,823 ns/iter (+/- 105,388) = 443 MB/s
test encode_3mib_reuse_buf  ... bench:   6,415,920 ns/iter (+/- 529,768) = 490 MB/s
test encode_500b            ... bench:       1,018 ns/iter (+/- 1) = 491 MB/s
test encode_500b_reuse_buf  ... bench:       1,002 ns/iter (+/- 1) = 499 MB/s
test encode_50b             ... bench:         115 ns/iter (+/- 0) = 434 MB/s
test encode_50b_reuse_buf   ... bench:          98 ns/iter (+/- 0) = 510 MB/s

 Performance counter stats for 'target/release/deps/benchmarks-a5a69865bf1a5765 --bench encode_10mib_reuse':

       9046.672897      task-clock (msec)         #    1.000 CPUs utilized
                33      context-switches          #    0.004 K/sec
                 1      cpu-migrations            #    0.000 K/sec
           603,532      page-faults               #    0.067 M/sec
    34,356,962,385      cycles                    #    3.798 GHz
   <not supported>      stalled-cycles-frontend
   <not supported>      stalled-cycles-backend
    92,035,207,568      instructions              #    2.68  insns per cycle
    10,790,184,917      branches                  # 1192.724 M/sec
         2,145,071      branch-misses             #    0.02% of all branches

       9.046954261 seconds time elapsed

After:
test encode_100b            ... bench:          84 ns/iter (+/- 10) = 1190 MB/s
test encode_100b_reuse_buf  ... bench:          68 ns/iter (+/- 3) = 1470 MB/s
test encode_10mib           ... bench:   8,871,210 ns/iter (+/- 144,285) = 1181 MB/s
test encode_10mib_reuse_buf ... bench:   6,291,679 ns/iter (+/- 45,855) = 1666 MB/s
test encode_30mib           ... bench:  26,409,465 ns/iter (+/- 184,162) = 1191 MB/s
test encode_30mib_reuse_buf ... bench:  18,844,358 ns/iter (+/- 102,027) = 1669 MB/s
test encode_3b              ... bench:          26 ns/iter (+/- 1) = 115 MB/s
test encode_3b_reuse_buf    ... bench:          10 ns/iter (+/- 0) = 300 MB/s
test encode_3kib            ... bench:       1,709 ns/iter (+/- 48) = 1797 MB/s
test encode_3kib_reuse_buf  ... bench:       1,697 ns/iter (+/- 31) = 1810 MB/s
test encode_3mib            ... bench:   2,442,830 ns/iter (+/- 50,864) = 1287 MB/s
test encode_3mib_reuse_buf  ... bench:   1,737,254 ns/iter (+/- 40,098) = 1810 MB/s
test encode_500b            ... bench:         306 ns/iter (+/- 20) = 1633 MB/s
test encode_500b_reuse_buf  ... bench:         289 ns/iter (+/- 30) = 1730 MB/s
test encode_50b             ... bench:          53 ns/iter (+/- 51) = 943 MB/s
test encode_50b_reuse_buf   ... bench:          37 ns/iter (+/- 1) = 1351 MB/s

 Performance counter stats for 'target/release/deps/benchmarks-a5a69865bf1a5765 --bench encode_10mib_reuse':

       3998.986797      task-clock (msec)         #    1.000 CPUs utilized
                25      context-switches          #    0.006 K/sec
                 0      cpu-migrations            #    0.000 K/sec
           603,536      page-faults               #    0.151 M/sec
    15,187,022,402      cycles                    #    3.798 GHz
   <not supported>      stalled-cycles-frontend
   <not supported>      stalled-cycles-backend
    50,464,295,566      instructions              #    3.32  insns per cycle
     3,948,319,703      branches                  #  987.330 M/sec
           558,902      branch-misses             #    0.01% of all branches

       3.999303452 seconds time elapsed

That's as fast as aklomp's C compiled with GCC, and faster than the C compiled with clang! See https://gist.github.com/marshallpierce/20351d44b29e238fecb821dc87251e5f for some notes with that data from my decode optimization work.

Any reason for not getting this merged?

@alicemaz ping...

sorry bout that. lgtm


Translate the Performance page

Online docs: https://casbin.org/docs/zh-CN/performance
CrowdIn: https://crowdin.com/translate/casbin/108/en-zhcn?filter=basic&value=0

Done.


[Bug]: Logo on Navbar  doesn't redirect to base url

Bug Report
Description
The logo/project icon (of TailoredUI) isn't working as ideally it should redirect the user to the homepage/base url.
Steps to Reproduce
[Outline the steps to reproduce the behavior:]

Go to 'https://tailoredui.netlify.app/'
Click on the SVG icon on the navbar .
it doesn't redirect to any location.

Expected Behavior
Upon clicking the SVG icon/logo , the user should be redirected to the homepage or base URL.
Screenshots

Environment

Operating System: [ Windows, Linux]
Browser: [e.g., Chrome, Firefox]

Additional Information
@sanjay-kv @chandel-aman
Please assign this issue to me under GSsoc'24 tag.

@Ratnesh-Rajput This issue has already been raised #24.

Thanks for addressing the issue so quickly.


HIP support

Added hip support which was added as a backend in Futhark a while back

Thanks! I will merge this and cleanup the clippy issues myself.


Creation of Endpoint to Retrieve Course Information

Is your feature request related to a problem? Please describe.

There is a need for an endpoint that allows users to retrieve detailed information about specific courses offered by a school. This endpoint should facilitate easy access to course data using a combination of school identifier and course details.

Describe the solution you'd like

The implementation of a new RESTful API endpoint following the format: {base_url}/courses/{school_short_name}/{course_subject_catalog}. This endpoint should:

Enable users to GET detailed information for a specific course.
Use the school's short name and the combination of the course's subject and catalog number to uniquely identify and fetch course details.

Describe alternatives you've considered

N/A

Additional context

Endpoint Structure: GET {base_url}/courses/{school_short_name}/{course_subject_catalog}
Parameters:

school_short_name: A concise identifier for the school.
course_subject_catalog: A combination of the course subject and catalog number to uniquely identify the course.

Expected Response: The endpoint should return the following information school,  subject, catalog_number, title, professors

Thanks @angadb27 , This looks good. It covers everything!


Rows for responsive

Right now it's impossible to change number of rows for different screen sizes.
It will be nice to have this feature :)
http://jsfiddle.net/fmo50w7n/266/

+1

any update on this feature? I'm currently using owl-carousel to switch between on row and two row, but I would really like to switch to slick completely.

this is really needed for responsive layouts since if you show 2/3 rows on desktop you definitely need to convert it to 1 row on mobile for this to work. workaround is to manually check the screen size on window resize and use different slick sliders with different settings!

👍

Facing same issue, called setting for different layouts. any update on this?


#17601 - Continuity: SDK's should refresh the token after 30 minutes …

Tested in both Node SDK and C# SDK

@FranciscoPonceGomez,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Add custom domain name to the site

Purchase and implement custom domain name.

Domain will need to be mapped to Azure. See this article for an overview.

How to configure a root domain in an Azure Static Web App.

david-rushton.dev it is!

Suspect the SSL config needs tweaking:

Fixed!


How to get the current Location of DuckRouter?

Given the following code that would exist in a Widget.build method how could I read the current Location or top-most in the stack?
final router = DuckRouter.of(context);
Location location = router. // ??? what method/getter

I tried using router.routeInformationProvider.value.state.location
Location location =
  // ".state" is a LocationState but that is not exported/available
  (router.routeInformationProvider.value.state as dynamic)
  .location as Location;

But this is obviously not an ideal way to access.
Could you expose a type-safe API on DuckRouter that let's us get it?

after some experiment with the hack
extension CurrentLocation on DuckRouter {
  Location? get currentLocation {
    final state = routeInformationProvider.value.state as dynamic;
    try {
      final location = state.location; // ignore: avoid_dynamic_calls
      if (location is Location) return location;
      return null;
    } catch (_) {
      return null;
    }
  }
}

It only provides the initial location. Which is not useful :/ So this maybe would be a feature request?

As a direct answer: you can do this:
    final stack =
        DuckRouter.of(context).routerDelegate.currentConfiguration;
    final currentLocation = stack.locations.last;

However, you will need to keep in mind that this will quickly get complicated if you use stateful locations, because then you might need to dig deeper into that location.
Could you describe what problem you're facing that you would find this useful?

I am using StatefulLocation to build a "shell" widget and want to style a button that is a part of the shell widget if it's the current location.
@override
StatefulLocationBuilder get childBuilder {
  return (BuildContext context, DuckShell shell) {
    final Location location = /* get location here */;
    Color? color<T extends Location>() {
      return (location is T)
          ? Theme.of(context).colorScheme.secondaryContainer
          : null;
    }

    return Row(
      children: [
        SizedBox(
          width: 120,
          child: Column(
            children: [
              TextButton(
                style: TextButton.styleFrom(
                  backgroundColor: color<RouteOneLocation>(),
                ),
                onPressed: () {},
                child: const Text('Route One'),
              ),
            ],
          ),
        ),
        Expanded(child: shell),
      ],
    );
  };

So I do wan to be aware of the StatefulLocation that is mounted..
As I inspect the DuckShellState, I can imagine that it would not be too tricky to expose a currentIndex getter and then build retrieve the from there
Location getLocation(DuckRouter router) {
  final last = router.routerDelegate.currentConfiguration.locations.last;

  if (last is StatefulLocation) {
    //                   this value is not yet available
    return last.children[last.state.currentIndex];
  }
  return last;
}

What I am currently doing as a work around is using a LocationInterceptor and setting a value in my state management through that interceptor but it of course doesn't work for redirect from other interceptor
class CurrentLocationInterceptor extends LocationInterceptor {
  CurrentLocationInterceptor({required this.add, super.pushesOnTop});

  final ValueSetter<Location> add;

  @override
  Location? execute(Location to, Location? from) {
    add(to);
    return null;
  }
}

Thanks for the use case.
Have you tried using onNavigate on DuckRouter? It's a callback that reports about every navigational change.
Alternatively, I think you function should work like this:
Location getLocation(DuckRouter router) {
  final last = router.routerDelegate.currentConfiguration.locations.last;

  if (last is StatefulLocation) {
    //                   this value is not yet available
    return last.state.currentRouterDelegate.currentConfigurations.locations.last;
  }
  return last;
}

the last.state.currentRouterDelegate.currentConfiguration seems like it would work. I did not try it out because currentRouterDelegate was not "correctly" typed to anything except T?/dynamic. Could you expose some interface to that last.state.currentRouterDelegate in order to promote discoverability?

More specifically this is how i used since the Router delegate doesn't have the type i expect RouterDelegate<LocationStack>
if (last is StatefulLocation) {
  // ignore: avoid_dynamic_calls
  return last.state.currentRouterDelegate.currentConfiguration.locations.last as Location;
}

Hmm. I feel conflicted about that. I don't really want to promote this kind of usage, it goes against a lot of the philosophy behind DuckRouter (straightforward, no magic). Does onNavigate work for you?

Does onNavigate work for you?

Note really..  When I set a new value in the ValueNotifer notifyListeners() is called, but this notification happens while the navigation is happening so I get setState() or markNeedsBuild called during build expections.

I don't really want to promote this kind of usage

If you are talking about this https://github.com/collectiveuk/packages/issues/30#issuecomment-2353990047 "solution", then yes I agree. I don't want to do this. Could you expose an API to safely access this value?

Sorry, we're getting deeper into this problem so I just have a few more questions. I am starting to feel like this is an actual problem (and a legit use case), I just want to make sure there is no existing way to solve it.
In your code example here: https://github.com/collectiveuk/packages/issues/30#issuecomment-2351042794. How do you switch children in the duck shell? In theory, when you change child you could take that index and use it to update your color, right? For example:
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      bottomNavigationBar: NavigationBar(
        destinations: ...
        selectedIndex: _currentIndex,
        onDestinationSelected: (int i) {
            widget.shell.switchChild(i);
            setState(() {
              _currentIndex = i;
            });
        },
        backgroundColor: colors[_currentIndex], // <----
      ),
      body: widget.shell,
    );
  }

Because I think my core question is: is this a problem for DuckRouter to solve or for app developers (in their own code)?

No worries! I'm more than happy to work this out. I believe that the router should be the "source of truth" of the current location. Which is why I'm hesitant to hook into the the side effects of the router and user interactions to assume the current location.
In the example with StatefulLocation, it's definitely doable with using the same value as what is passed to shell.switchChild. But there are other factors that impact what is actually set in the router such as an Interceptor or widgets lower in the widget tree will may navigate to other locations - not just what's called with switchChild.
Take this following example
Example App

import 'package:duck_router/duck_router.dart';
import 'package:flutter/material.dart';

void main() => runApp(App());

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp.router(routerConfig: router);
  }
}

final router = DuckRouter(initialLocation: RootLocation());

class RootLocation extends StatefulLocation {
  @override
  String get path => 'root';

  @override
  List<Location> get children => [Child1Location(), Child2Location()];

  @override
  StatefulLocationBuilder get childBuilder => (c, s) => ScaffoldShell(shell: s);
}

class ScaffoldShell extends StatefulWidget {
  ScaffoldShell({super.key, required this.shell});

  final DuckShell shell;

  @override
  State<ScaffoldShell> createState() => _ScaffoldShellState();
}

class _ScaffoldShellState extends State<ScaffoldShell> {
  var index = 0;
  void onTap(int i) {
    widget.shell.switchChild(i);
    setState(() => index = i);
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: widget.shell,
      bottomNavigationBar: BottomNavigationBar(
        // how will I know when a "child" navigates somewhere else
        currentIndex: index,
        items: [
          BottomNavigationBarItem(
            icon: Icon(Icons.home),
            label: 'Page 1',
          ),
          BottomNavigationBarItem(
            icon: Icon(Icons.settings),
            label: 'Page 2',
          ),
        ],
        onTap: onTap,
      ),
    );
  }
}

class Child1Location extends Location {
  @override
  String get path => 'child1';

  @override
  LocationBuilder get builder => (context) => Page1Screen();
}

class Child2Location extends Location {
  @override
  String get path => 'child2';

  @override
  LocationBuilder get builder => (context) => Page2Screen();
}

class Page1Screen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('Page1Screen'),
        TextButton(
          onPressed: () => DuckRouter.of(context).navigate(
            to: Child2Location(),
            replace: true,
          ),
          child: Text('Go to Page2Screen'),
        )
      ],
    );
  }
}

class Page2Screen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('Page2Screen'),
        TextButton(
          onPressed: () => DuckRouter.of(context).navigate(
            to: Child1Location(),
            replace: true,
          ),
          child: Text('Go to Page1Screen'),
        )
      ],
    );
  }
}

Each of the child screens are able to navigate.The _ScaffoldShellState does not know that a navigation event happened and thus does not update its index.
class Page1Screen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text('Page1Screen'),
        TextButton(
          // navigating "inside" the shell
          onPressed: () => DuckRouter.of(context).navigate(
            to: Child2Location(),
            replace: true,
          ),
          child: Text('Go to Page2Screen'),
        )
      ],
    );
  }
}

I want to know how to get the current location in instances like this ^. Does this example help what I'm trying to achieve?

I believe that the router should be the "source of truth" of the current location.

This is key to our conversation I think! My general stance in designing DuckRouter has been that this is not the responsibility of a router. I observe that a lot of other routers do consider this their problem. Because of that, you have to make concessions to the API that I think complicate things, and often even compromise on features. I consider this part of state management, and I do not necessarily see why DuckRouter would have to save this state for the developer. Yes, of course, we track routing internally. But so does the developer. They tell DuckRouter to go somewhere. In our app at Onsi, we do similar things. But we save the state for that in external services from DuckRouter. We use Riverpod but a developer could also use an InheritedWidget, or Blocs, etc;
If I think about how to support this feature to get the current location for example, things quickly become complicated. What exactly is the current location when dealing with nested state? If I have RootLocation containing two locations, which have both navigated somewhere, what exactly is the current location? Is it RootLocation? Is it one of the children? etc. What if one of the child pages shows a dialog on top of the root? I think an app developer implementing DuckRouter is much more able to conclusively answer that question than the router.

So does the mean the answer is to the original question (How to get the current Location of DuckRouter?) "you can not know unless you track it outside of the router"? Also could you share an example of how it can be achieved using riverpod, ChangeNotifer, or Bloc? I don't want to leave future developers without some type of "canonical" solution to this use case

The answer to the original question is that you can find this from the delegate. However, for more advanced use cases the recommendation is to keep track of this yourself. For example, if we want to specify the color of the bottom bar in our stateful location based on what child is selected (and what's happening inside those), we could do something like this when using riverpod:
@riverpod
class BottomBarColorService extends _$BottomBarColorService {
  @override
  Color build() {
    return Colors.red;
  }

  void changeColor(Color color) {
    state = color;
  }
}

Then just watch that value in the bottom bar, and change it whenever you navigate, or change index.

@JaspervanRiet thanks for all your help. I think all my questions are answered (even though it's not exactly what I want), I can achieve what I need to with this info :)


Support masked coordinates for pcolormesh

Description
Currently, the official pcolormesh doesn't support NaN or masked coordinates.
There're several solutions:

Define a new function
Handle the masked values manually

Steps to reproduce
import proplot as plot
import numpy as np

# Figure and sample data
state = np.random.RandomState(51423)
x = y = np.array([-10., -5., 0., 5., 10.])
data = state.rand(y.size, x.size)
fig, axs = plot.subplots()

x[:1] = np.nan
y[:1] = np.nan
axs.pcolormesh(x, y, data)

Expected behavior:
Like pcolor:

Actual behavior:
Traceback (most recent call last):
  File "/home/xin/Desktop/test.py", line 12, in <module>
    axs.pcolormesh(x, y, data)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/ui.py", line 682, in _iterator
    result.append(func(*args, **kwargs))
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 3867, in wrapper
    return driver(self, func, *args, **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 897, in standardize_2d
    return func(self, x, y, *Zs, **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 3867, in wrapper
    return driver(self, func, *args, **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/internals/warnings.py", line 97, in wrapper
    return func_orig(*args, **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/proplot/axes/plot.py", line 2880, in cmap_changer
    obj = func(self, *args, **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/matplotlib/__init__.py", line 1565, in inner
    return func(ax, *map(sanitize_sequence, args), **kwargs)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 6093, in pcolormesh
    X, Y, C = self._pcolorargs('pcolormesh', *args, allmatch=allmatch)
  File "/home/xin/Software/miniconda3/envs/s5p/lib/python3.7/site-packages/matplotlib/axes/_axes.py", line 5660, in _pcolorargs
    'x and y arguments to pcolormesh cannot have '
ValueError: x and y arguments to pcolormesh cannot have non-finite values or be of type numpy.ma.core.MaskedArray with masked values

Proplot version
0.6.3

I think I'll close this as this, as this feature request is probably more appropriate for matplotlib, and simply switching from pcolormesh to pcolor is an easy enough workaround for now.
See the matplotlib docs on differences between pcolor() and pcolormesh().


ARROW-6624: [C++][Python] Add SparseTensor.ToTensor() method

This is to solve ARROW-6624.

@mrkn we discussed this earlier (https://github.com/apache/arrow/pull/4446#issuecomment-503792308). Can you please review if this proposal makes sense?

Codecov Report

Merging #5539 into master will increase coverage by 6.28%.
The diff coverage is 98.98%.

@@            Coverage Diff             @@
##           master    #5539      +/-   ##
==========================================
+ Coverage    83.2%   89.48%   +6.28%
==========================================
  Files         251      796     +545
  Lines       20072   118810   +98738
  Branches     1501        0    -1501
==========================================
+ Hits        16700   106315   +89615
- Misses       3007    12495    +9488
+ Partials      365        0     -365

Impacted Files
Coverage Δ

cpp/src/arrow/sparse_tensor.h
100% <ø> (ø)

cpp/src/arrow/python/numpy_convert.cc
95.02% <ø> (ø)

python/pyarrow/tensor.pxi
79.25% <100%> (ø)

python/pyarrow/tests/test_sparse_tensor.py
100% <100%> (ø)

cpp/src/arrow/sparse_tensor_test.cc
100% <100%> (ø)

cpp/src/arrow/sparse_tensor.cc
99.07% <98.46%> (ø)

go/arrow/ipc/writer.go

js/src/util/fn.ts

go/arrow/memory/memory_avx2_amd64.go

go/arrow/ipc/file_reader.go

... and 925 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 8621a5c...8c01cac. Read the comment docs.

@mrkn Would you have time to review this? You are more acquainted with the sparse formats than I am.

@rok @pitrou I’ll review this today.

Thanks for the review @mrkn :).
I've implemented your suggestions and also rebased on master to get the new tensor names (#5605).

@mrkn thanks for the feedback :). I've made changes, please review.

+1 approved.
I'll merge this.

@rok Thank you very much!

Thanks for your help @mrkn! :)


Adds demo

Please, add demo to show the running application.
After https://github.com/benoitvallon/react-native-nw-react-calculator/pull/15 's merge,
npm run build
cd dist
git init && git add . && git commit -m "Pages"
git remote add github git@github.com:benoitvallon/react-native-nw-react-calculator.git
git push -f github master:gh-pages

I tried it on my side.
my demo
my branch

Thanks for your issue and request for a demo.
The demo is now available at http://benoitvallon.github.io/react-native-nw-react-calculator


Patch our test suite to run multiple Android versions?

Would be cool to check again if we could run multiple version of Android with Travis. I know we struggled a lot last year but maybe we can try again.

Fixed by #44.


It should work with multiple pluses

Input:
a="b"+"c"+"d"
Error:
 Error: BUG! Could not fix range for PlusOp because it has no raw value
  at fixRange (src/utils/parse.js:71:13)
  at src/utils/parse.js:19:5
  at traverse (src/utils/traverse.js:28:25)
  at src/utils/traverse.js:23:9
  at Array.forEach (native)
  at descend (src/utils/traverse.js:14:30)
  at traverse (src/utils/traverse.js:35:5)
  at src/utils/traverse.js:23:9
  at Array.forEach (native)
  at descend (src/utils/traverse.js:14:30)
  at traverse (src/utils/traverse.js:35:5)
  at src/utils/traverse.js:19:11
  at Array.forEach (native)
  at src/utils/traverse.js:17:15
  at Array.forEach (native)
  at descend (src/utils/traverse.js:14:30)
  at traverse (src/utils/traverse.js:35:5)
  at src/utils/traverse.js:23:9
  at Array.forEach (native)
  at descend (src/utils/traverse.js:14:30)
  at traverse (src/utils/traverse.js:35:5)
  at parse (src/utils/parse.js:17:3)
  at convert (src/index.js:40:15)
  at check (test/support/check.js:1:17)
  at Context.<anonymous> (test/decaffeinate_test.js:407:7)

Closed by #44.


[silicon_creator/keymgr] add function to set Owner max key version

This adds a function to the silicon_creator keymgr driver to set the owner max key version. Additionally this updates the on-host unit tests and on-device functest to test this additional function.
Lastly, this updates the on-device functest to crank the keymgr through all possible key states, as will be done for both ES and PROD chips with the updated attestation flow.

Closing as this was merged as part of #20540.


Split symbols keyboard

Replaces #267.
Fixes #266.
Props to @initfortherekt for the original PR (#267) to address this issue which kicked off discussion which led to these more involved changes.

Adds the missing symbols, per #266.
Splits the symbols across two swappable keyboards.

The new swap cycle is: 123 -> !@# -> *[] and then circles back to 123.

The most common symbols (punctuation, most human-friendly) are on the first keyboard, mostly following the layout across the top of a typical physical keyboard).
Less common symbols (more math-related, less human-friendly) are on the second keyboard and will hopefully almost never need to be used in a typical passphrase.

Changes to ALL Keyboard instances across the code:

Changes how the additional_keys are displayed to set them apart from the normal keys and to reduce confusion with the < and > cursor position keys.

Further TODO items for future contributors:

Render the additional_keys with icons, especially the cursor position keys.

Add a popup symbol name when hovering over a symbol. Could be temporarily added to the current position in the TextEntryDisplay:

# As you navigate across the symbols:
yourPassphrase[dollar sign]
yourPassphrase[percent]
yourPassphrase[ampersand]

# Now click to lock that symbol in:
yourPassphrase&

Rationale: Certain symbols are just hard to read clearly, especially ` vs ' and ~ vs -. An explicit "backtick", "tilda", etc readout would hopefully completely eliminate any such errors.

It feels like the key "space" (regardless which size it is) should NOT be included in the list of ADDITIONAL_KEYS... maybe passed-in or appended to what's passed-in??? It's a real char of text that will be added to passphrase, rather than a cursor-control key, and now It's getting colored as if floating instead of tiled (like the rest of the keyboard characters). I like the floating cursor control buttons change, rather than tiled -- its a more intuitive ux, but maybe that value gets diluted when "space" is floating too, instead of tiled like other real char keys.

@newtonick and I went back and forth on the spacebar. I had two justifications:

The spacebar is an abnormal "key" on a physical keyboard as it is, so treating it differently is already a real-world precedent.
Having the entire bottom row set off in the darker rendering style was more visually appealing.

But as always, I defer to @easyuxd.
Also, we always meant to replace the text in those buttons w/proper icons. So we expect further work to happen here.

If these new button color definitions were to become a pattern, what constants/names might make sense in GUIConstants? re: hardcoded greys #000/#999/#e8e8e8

Yeah, that definitely felt sloppy and I kind of suspected that there might already be a good enough constant in there somewhere that I could've used.
Once we hear back from Easy, I'll incorporate any changes he recommends and clean up that constant.
Thanks for taking a look, @jdlcdl!

This is a huge improvement. Great thoughts, @jdlcdl.
I agree with @kdmukai’s rationale on the space key. While it’s not navigational, it makes sense to keep it persistent because that’s the behavior on other keyboards. It also has a larger footprint and is frequently used as an input.
Icons:

Left Arrow: https://fontawesome.com/icons/arrow-left?s=solid&f=classic
Right Arrow: https://fontawesome.com/icons/arrow-right?s=solid&f=classic
Delete: https://fontawesome.com/icons/delete-left?s=solid&f=classic

Additional key color:

If we were to follow the existing pattern, the additional/persistent keys should have the same styling as the rest. I’d suggest adding vertical padding to separate them from the other inputs, but I know how crunched you are for space. The only viable alternative that I see is what you have, using the background fill with an outline. This ‘secondary’ button style doesn’t exist in the design system but there could be a case made for it.
Also: Thoughts on swapping positions of the arrows and space? Might make the arrows easier to reach and align space with common keyboard placement.

@easyuxd what about arrow icons that incorporate a bar element?
https://fontawesome.com/icons/left-from-line?f=classic&s=solid

Though I think probably @SeedSigner's idea (discussed elsewhere) is the best option: navigate up to the TextEntryDisplay and then just use the joystick left/right to move the cursor.
Would take a bunch of work to get that working, but probably worth it when there's time.

@easyuxd what about arrow icons that incorporate a bar element?
https://fontawesome.com/icons/left-from-line?f=classic&s=solid

Somehow I associate these icons with the Home and End keys.
I'm on board with @SeedSigner's solution -- cursor control within the input field would be the most intuitive!

LGTM, tested without issue


Code Changes directory selection dialog is too small to use

We need at least resizers on the left, right and bottom


Added Mesh Python interface

Signed-off-by: ahcorde<EMAIL_ADDRESS>🎉 New feature
This PR is part of this meta ticket https://github.com/ignitionrobotics/sdformat/issues/931
Summary
Added Mesh Python interface
Test it
from sdformat import Mesh

mesh = Mesh()

Checklist

[x] Signed all commits for DCO
[x] Added tests
[ ] Added example and/or tutorial
[ ] Updated documentation (as needed)
[ ] Updated migration guide (as needed)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.

Codecov Report

Merging #942 (d7d813e) into main (6c9b4ad) will decrease coverage by 0.05%.
The diff coverage is 62.50%.

@@            Coverage Diff             @@
##             main     #942      +/-   ##
==========================================
- Coverage   88.14%   88.08%   -0.06%
==========================================
  Files         102      103       +1
  Lines       14706    14738      +32
==========================================
+ Hits        12962    12982      +20
- Misses       1744     1756      +12

Impacted Files
Coverage Δ

python/src/sdf/pyMesh.cc
61.29% <61.29%> (ø)

python/src/sdf/_ignition_sdformat_pybind11.cc
100.00% <100.00%> (ø)

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 6c9b4ad...d7d813e. Read the comment docs.

@osrf-jenkins retest this please


Cargo recompiles hyper and its dependencies every time even if nothing changed

I have multiple crates that belong to the same workspace. Two of them depend on hyper.
Whenever I run 'cargo build' on one of these two, after I ran it on the other, it recompiles hyper and all its dependencies, even if NOTHING changed. Even if something had changed in my source, it wouldn't have to recompile hyper.
This is very frustrating because I often have to switch between the crates and it always takes multiple minutes to compile.
I use 'hyper = "*"' in both Cargo.toml files, and my Cargo.lock file only contains one version of hyper: 0.9.10. I'm also using Iron in one of them, which also uses this version of hyper.
What's worse is that I can't even run both crates at the same time sometimes, because it says "Blocking waiting for file lock on the git checkouts" even though the other crate is not compiling anymore but running already. But I need to run them at the same time because they are server and client and have to communicate.
I would really appreciate any help on this!
I already tried 'cargo clean', it didn't help..

This definitely seems like a bug! Could you run with RUST_LOG=cargo::ops::cargo_rustc::fingerprint=info and gist the logs of a build where it recompiled but it shouldn't have?

@alexcrichton Thanks. So for this test I first ran cargo run on the client, then on the server, which both use hyper and are part of the same workspace. Also both depend on yakshaver/core which is also part of the workspace.
Then I ran cargo run on the client again without having changed ANY source code or config. It rebuilt a lot (maybe all) of the dependencies incl. core (but not hyper this time):
http://dpaste.com/3KWQY9D
Then I ran cargo run on the server again:
http://dpaste.com/2TEJ1KS
It rebuilt the dependencies again, also core.
Summary: It gets a fingerprint error for all the crates for some reason. Why?
Also, I can't run client and server at the same time; when I try, I get Blocking waiting for file lock on the git checkouts on the second one, and it only starts running (= rebuilding everything and then running) after the first of the two finished running. This shouldn't happen either, since there is no git checkout happening!

It looks like the reason for recompiling is "profile configuration has changed", do the two projects have different [profile] configurations?

Blocking waiting for file lock on the git checkouts

Ah so this is actually a bug in Cargo that will be fixed by https://github.com/rust-lang/cargo/pull/3213

And it's kinda weird that this leads to a recompile of everything.

Unfortunately Cargo treats the entire [profile] section as opaque where any change requires a rebuild. Cargo should pull profiles from the workspace to prevent this surprising behavior, but that's also unfortunately a bug right now that it's not implemented :(

So all sub crates will share / inherit the same profile from the workspace Cargo.toml?
Which bug number is it? (I would like to subscribe)

Sure yeah, that's https://github.com/rust-lang/cargo/issues/3206
I think I'm actually going to close this in favor of that as I think it's sorted out, but thanks for the report!


async function userExistinDB does not execute

The execution of this function never happens, log at index.js:242 never get printed:

Made the function synchronous inserting it into main code.


Adding Adeeb

adding myself to the website, please review.

Portrait image needs to be square and iconic (i.e. crop to yourself without so much scenery. Please see other portrait photos.


add 'nextWith' when testing Getters which are returning an Observable

Is your feature request related to a problem? Please describe.
I have a private BehaviorSubject in a service, which I am returning as an Observable. Something like:

I followed the approach to test a getter, but my IDE did not display the usual functions for testing Observables (e.g. nextWith)

Describe the solution you'd like
Although I was able to complete my test without them, it'd make things easier if the 'getters' approach took the return type of the getter itself into account.
Describe alternatives you've considered
I was able to work around the problem by using the function returnValue, which was suggested by the IDE.

Thanks @pielle87 and sorry for the late reply
You can use observablePropsToSpyOn and you'll get this functionality
Does that solve your issue? (if not, feel free to re-open this issue)


Improvement on probe chaos

Codecov Report

Merging #31 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master      #31      +/-   ##
==========================================
+ Coverage   83.62%   83.64%   +0.01%
==========================================
  Files          13       13
  Lines         867      868       +1
==========================================
+ Hits          725      726       +1
  Misses        142      142

Impacted Files
Coverage Δ

charset_normalizer/unicode.py
93.38% <ø> (ø)
:arrow_up:

charset_normalizer/probe_chaos.py
81.87% <100%> (ø)
:arrow_up:

charset_normalizer/probe_words.py
85.29% <100%> (+0.44%)
:arrow_up:

charset_normalizer/version.py
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Listen to substance and concentration for control

Change control to allow also other conditions to listen to (besides level and flow)

Is this specifically for Basin / ConcentrationExternal?

Initially yes, in later stage we also want it to work on the Basin /Concentration table

Are the tables deliberately written into the geopackage file as BasinConcentration / external and BasinConcentration / state in stead of Basin / *? Could this explain why I cannot retrieve the data in these tables with load_structvector(db, config, BasinConcentrationExternalV1) in the core?

@evetion and @visr have been think about this for a while, so I assume it was deliberate.

Should be Basin / *, as added in #1267.


554 tidy oav

Fixes #554
Link to dodal PR (if required): #25
To test:

Check organisation/naming of oav code is sensible/coherent
Run tests with both artemis and dodal branches

Fair enough, in that case, I'd like to get 561_558 merged first, since changes there will affect the work that needs to be done here quite a lot


fastMRI Workload for Regression: JAX

Workload
Task
Regression
MRI reconstruction from subsampled, raw scanner data
Dataset
fastMRI
Model
U-Net (like things)
Reference Implementation
Existing implementations: Facebook (PyTorch) implementation with a model from this paper
Other Info
Website
NeurIPS competition: 2019 (knee), 2020 (brain)

I am currently double-checking the licensing for the fastMRI dataset.
They already gave us positive feedback, so this workload is ready to implement. This is just a note to myself.

This PR https://github.com/mlcommons/algorithmic-efficiency/pull/120 implements the workload.


proofread "Updating separately installed postanalytics" doc

duplicated by https://github.com/wallarm/product-docs-en/pull/136


Phone Auth not working in iOS 16 and above

Description
I'm using IOS 16.1.1 and can't login using Firebase and see the issue on this function :
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in
if let error = error {
print("error 123(error.localizedDescription)")
error.localizedDescription.showToast()
return
}
guard let verificationID = verificationID else {
return
}
self.verifyId = verificationID
self.performSegue(withIdentifier: "segueOPT", sender: nil)
}
I need to verify 2 times and get the error : "An internal error has occurred, print and inspect the error details for more information."
Reproducing the issue
No response
Firebase SDK Version
10.3.0
Xcode Version
13.4.1
Installation Method
CocoaPods
Firebase Product(s)
Authentication
Targeted Platforms
iOS
Relevant Log Output
No response
If using Swift Package Manager, the project's Package.resolved

Expand Package.resolved snippet

Replace this line with the contents of your Package.resolved.

If using CocoaPods, the project's Podfile.lock

Expand Podfile.lock snippet

Replace this line with the contents of your Podfile.lock!

Thanks for reaching out, @ngoccuong11789. I tried reproducing the issue, but I'm able to verify my number and login to my app. May I know if you're using native iOS or react native app?

Thanks for reaching out, @ngoccuong11789. I tried reproducing the issue, but I'm able to verify my number and login to my app. May I know if you're using native iOS or react native app?

Thanks for reaching out me. I'm working on  native iOS, I can't pass this function : PhoneAuthProvider.provider().verifyPhoneNumber.... It always return error on IOS 16, but IOS 15.5 is OK, nps.... Here is the error message : An internal error has occurred, print and inspect the error details for more information.
Thanks,

Hi @ngoccuong11789, could you please share a snipped of where and how you configure Firebase?

Hi @ngoccuong11789, could you please share a code snippet of where and how you configure Firebase?
Additionally, have you been able to drop a breakpoint in the code and print the error details–– it might contain a clue for us as to where things are going wrong.

Hi Sir,
I can't test for now, because of this error : "Error Domain=FIRAuthErrorDomain Code=17010 "We have blocked all requests from this device due to unusual activity. Try again later." UserInfo={NSLocalizedDescription=We have blocked all requests from this device due to unusual activity. Try again later., FIRAuthErrorUserInfoNameKey=ERROR_TOO_MANY_REQUESTS}
"
I will confirm you later after Firebase unblocks my device. Thanks,

Hi @ngoccuong11789, could you please share a code snippet of where and how you configure Firebase?
Additionally, have you been able to drop a breakpoint in the code and print the error details–– it might contain a clue for us as to where things are going wrong.

Hi Sir,
I think the problem is not related to IOS 16, the problem is I sent many request on my device and my device/phone number has blocked all requests, the first message is : "An internal error has occurred, print and inspect the error details for more information." and the next error is : "We have blocked all requests from this device due to unusual activity...."
I need to wait for 1 day and can receive OTP normally....
So I need to close the issue. Thanks for your support.


%kata T15_Oracle_ProductFunction -- operation Oracle_ProductFunction canonical implementation

It would seem that one could implement this using https://docs.microsoft.com/en-us/qsharp/api/qsharp/microsoft.quantum.canon.applycontrolledonbitstring however the implementation is supplying a Bool string typed as an int string.

If you are here, see the following snippet:
    for i in 0 .. (Length(prefix) - 1) {
        if (prefix[i] == 1){
            set pfx w/=i <- true;
        } else {
            set pfx w/=i <- false;
        }

    }

I don't think Task 1.5 from DeutschJozsaAlgorithm kata can be solved using ControlledOnBitString. ControlledOnBitString allows to mark a single basis state that matches a specific pattern, and this task looks for all basis states that have the right parity of the selected bits.
For example, if we're looking at 3-qubit states and a pattern [1, 0, 0], ControlledOnBitString would mark one state, |100⟩, and this task asks for all states in which f(x) = xₒ = 1, that is, states |100⟩, |101⟩, |110⟩, and |111⟩. The oracle in the task represents a balanced function, and the function implemented by ControlledOnBitString would've been unbalanced, though nearly constant.

I don't think Task 1.5 from DeutschJozsaAlgorithm kata can be solved using ControlledOnBitString. ControlledOnBitString allows to mark a single basis state that matches a specific pattern, and this task looks for all basis states that have the right parity of the selected bits.
For example, if we're looking at 3-qubit states and a pattern [1, 0, 0], ControlledOnBitString would mark one state, |100⟩, and this task asks for all states in which f(x) = xₒ = 1, that is, states |100⟩, |101⟩, |110⟩, and |111⟩. The oracle in the task represents a balanced function, and the function implemented by ControlledOnBitString would've been unbalanced, though nearly constant.

I concur, I know a lot more now than I did when I typed this up. I'll close it.


[feat] add Wrapped class

The PR adds a  Wrapped<T> class. This class is used:

to distinguish between loading and ready states. With Wrapped<T>?, null indicates loading, while Wrapped<T> indicates ready.
to distinguish between a previous value whose value is null and a non-existent previous value (this is the case when the value was set only once).

To unwrap a wrapped value, use the getter: wrappedValue.unwrap.
The proposed approach should be preferred over the current T? approach, as T? is not as type-safe (if T is nullable):

with T?, null could be interpreted as either a valid instance of T or as not present.

I also managed to simplify the comparator type to ValueComparator<T>? (thanks to an added getter, async state transitions always result in updates, e.g. loading -> ready). This was done because of the introduction of Wrapped.
What are your thoughts on this feature? Can you think of a better name than Wrapped? Should i change the class member names ending in value to wrappedValue or similar, in case they are Wrapped instances?

I don't like the idea of "wrapping" the value in another class.
It's already a bit verbose to write this:
final resource = createResource(..);
final value = resource.state.value;

but changing it to
final value = resource.state.wrappedValue.unwrap;

It's even more verbose.
Can you provide me a simple example of some code that gives you issues?
I don't understand this problem in particular: "to distinguish between loading and ready states". The resource has a ResourceState value that already handles the [loading, error, data] states.

I see your point as well.
If you look at this method (belonging to ResourceExtensions<T>:
  /// Attempts to synchronously get the value of [ResourceReady].
  ///
  /// On error, this will rethrow the error.
  /// If loading, will return `null`.
  T? get value {
    return map(
      ready: (r) => r.value,
      // ignore: only_throw_errors
      error: (r) => throw r.error,
      loading: (_) => null,
    );
  }

This should be independent of loading, ready and error states. If T is nullable and this method returns null it will be unclear if the async state is data or loading.
Regarding the previous value point, here is a simple example:
class CounterPage extends StatefulWidget {
  const CounterPage({super.key, required this.counter});

  final Signal<int?> counter;

  @override
  State<CounterPage> createState() => _CounterPageState();
}

class _CounterPageState extends State<CounterPage> {
  @override
  void initState() {
    if (widget.counter.previousValue == null) {
      // should do some stuff based on previous value...

      // is its previous valid value null or has counter's value not "
      // "changed yet? a bit unclear...");
    }
    super.initState();
  }

  // ...
}

Regarding your first point.
That getter is just an extension to get the value synchronously.
That doesn't mean you lose the ability to know what state the resource is in.
Just use resource.isReady to make sure it is not in loading or error state.
Regarding the second point, we could add a getter of the type hasPreviousValue that is set to true as soon as the value changes the first time. Without complicating it by adding new classes.

resource.isReady makes sense.
I like your hasPreviousValue suggestion! It is much better than this wrapper class. I will close this PR and I'll make another one adding this getter.


Delete record not working

In the QuoteLineEditor sample code I have deployed it to the out  of the box Quote entity and have referenced the QuoteLineItemEditor.htm file in an IFRAME of the Quote form.
I assume this is the correct procedure as there is no documentation on this.
I get a list of records to appear on the subgrid
I select one of these and click on the Delete button and the record disappears from the list.
However, the record is not physically deleted as I hit refresh on the grid and the record appears back onto the list.
I believe this is a bug?
Also, is there a way to make the grid conform to the 2013/2015 UI style as it like the UI is styled to the 2011 version of CRM?
Thanks

Just found this is by design as the the code does not call the delete CRm webservice.
I assume that idea is to prevent users from easily deleting the record from the system?
Also I have found out how to change the styling to 2013/15.
Just add the following in the htm file above the style tag:

<link href="../../sparkle_/css/2013/sparkle_jquery_ui.css" rel="stylesheet" />
<link href="../../sparkle_/css/2013/sparkle.css" rel="stylesheet" />


Display the count of the borrowed books and wish-listed books

Is your feature request related to a problem? Please describe.

Display the count of books preset in the whitelisted and borrowed books

closing as task is complete