Rancher agent error Stat fs failed. Error: EOF

rancher/agent       v0.8.2
Platform: AWS EC2 (ami-6c14310f)
OS: ubuntu 14.04.3 LTS
Kernel: 3.13 (after a dist upgrade)
I'm seeing this error continuously in the logs when I start a new rancher agent. I have plenty of disk space free.
What could be the issue ? I suspect it could be some permission issue. I run the docker run command as sudo.
Thanks,

Could you paste the full log entry and output of docker version ?

Sorry here it is:
docker version
Client:
Version:      1.9.1
API version:  1.21
Go version:   go1.4.2
Git commit:   a34a1d5
Built:        Fri Nov 20 13:12:04 UTC 2015
OS/Arch:      linux/amd64
Server:
Version:      1.9.1
API version:  1.21
Go version:   go1.4.2
Git commit:   a34a1d5
Built:        Fri Nov 20 13:12:04 UTC 2015
OS/Arch:      linux/amd64

Could you paste the full log?

Here is the full log from a rancher-agent restart:
INFO: Starting agent for 72945F5AAB009137D33D
INFO: Access Key: 72945F5AAB009137D33D
INFO: Config URL: http://x.x.x.x:8080/v1
INFO: Storage URL: http://x.x.x.x:8080/v1
INFO: API URL: http://x.x.x.x:8080/v1
INFO: IP: <IP_ADDRESS>
INFO: Port:
INFO: Required Image: rancher/agent:v0.8.2
INFO: Current Image: rancher/agent:v0.8.2
INFO: Using image rancher/agent:v0.8.2
INFO: Downloading agent http://x.x.x.x:8080/v1/configcontent/configscripts
INFO: Updating configscripts
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//configscripts current=
INFO: Running /var/lib/cattle/download/configscripts/configscripts-1-f0f3fb2e1110b5ada7c441705981f93a480313a324294321cff467f0c3e12319/apply.sh
INFO: Sending configscripts applied 1-f0f3fb2e1110b5ada7c441705981f93a480313a324294321cff467f0c3e12319
INFO: Updating pyagent
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//pyagent current=
INFO: Running /var/lib/cattle/download/pyagent/pyagent-1-9e3dcab12585149a65d818082279708965cd826df1937a55b24f48428f8f0c06069547103e24f5f4562a2db5d4805d60/apply.sh
INFO: Updating host-api
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//host-api current=1-1dcc85d77415faddc4d6d204d2bd622d835de4b5ee4b472651419b58189c474a
INFO: Already up to date
INFO: Sending host-api applied 1-1dcc85d77415faddc4d6d204d2bd622d835de4b5ee4b472651419b58189c474a
INFO: Updating agent-binaries
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//agent-binaries current=1-4200f9b686342da8e941359211b1d8c5f98877ae293d0ead231d43507f1c9eae
INFO: Already up to date
INFO: Sending agent-binaries applied 1-4200f9b686342da8e941359211b1d8c5f98877ae293d0ead231d43507f1c9eae
INFO: Updating python-agent
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//python-agent current=1-5fa9b53964d8b1335257916f7b4687aec2e17c9516e578f5406f29160eec1cd1
INFO: Already up to date
INFO: Sending python-agent applied 1-5fa9b53964d8b1335257916f7b4687aec2e17c9516e578f5406f29160eec1cd1
INFO: Updating cadvisor
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//cadvisor current=1-4d2b4356ab14bc1fa7ec7cd83f35b7e975a16cea01634683b577c9498c98de25
INFO: Already up to date
INFO: Sending cadvisor applied 1-4d2b4356ab14bc1fa7ec7cd83f35b7e975a16cea01634683b577c9498c98de25
INFO: Updating volmgr
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//volmgr current=1-c813690c24ae9a12f0792378c78a48f447b243517233d7969b99baefbea5af15
INFO: Already up to date
INFO: Sending volmgr applied 1-c813690c24ae9a12f0792378c78a48f447b243517233d7969b99baefbea5af15
INFO: Sending pyagent applied 1-9e3dcab12585149a65d818082279708965cd826df1937a55b24f48428f8f0c06069547103e24f5f4562a2db5d4805d60
INFO: Starting agent /var/lib/cattle/pyagent/apply.sh
INFO: Executing /var/lib/cattle/pyagent/main.py
INFO: Updating host-config
INFO: Downloading http://x.x.x.x:8080/v1//configcontent//host-config current=host-config-1-0b0dbea0d48096d7db75512ba9f42c68c1fa706781dc90b52a8d91efa7441221
INFO: Already up to date
INFO: Sending host-config applied 1-0b0dbea0d48096d7db75512ba9f42c68c1fa706781dc90b52a8d91efa7441221
time="2016-02-01T05:10:19Z" level="info" msg="Starting event router."
 url="ws://x.x.x.x:8080/v1/connectbackend?token=eyJhbGciOiJSUzI1NiJ9.eyJleHAiOjE0NTQzMDM3MTAsInN1YiI6ImNhdHRsZSIsImlzcyI6Imh0dHA6XC9cL2NhdHRsZS5pbyIsInJlcG9ydGVkVXVpZCI6IjQ3MjhkYzg2LWMxNTUtNDE4Yi05ZGRmLWI3NzRkNjY1ZWZmMCIsImlhdCI6MTQ1NDMwMzQxMCwia2lkIjoiZGVmYXVsdCJ9.PUpT7O1NN_bLH2QRfCF9yUUSNhWynssUzUviBv_hn9nQYp6qqBSmvATAYZLh3h-hvRLbswf6t1YJIeI9P7aWDS1OsN3Mczg3XrCsAEr6SPvyShBb9wubXBZ1yy-oPiZS5nKkB7lH31WDzBBzQrbDU8iKCs-k1PGdXgaAcy8Vf3qzv17NEArsMoUJE5GMNlOc4pUwXJqThuadxumB_KT3TgVx-MIQvCqu-QhSWLEvCox6ktq3jC3VoCCFmRW757cAix39iRldfzitpyPpF6Oji6wZNrMs7TJVPh8wbDb5yKq4ZxzBXlcMFPg6nYK19ooKa3QrVPboOGTLAwB1ktX1EA"
I0201 16:10:19.861452 26689 storagedriver.go:132] No backend storage selected
I0201 16:10:19.861504 26689 storagedriver.go:134] Caching stats in memory for 2m0s
I0201 16:10:19.861558 26689 manager.go:128] cAdvisor running in container: "/docker/7bd647f0e4bf761fe0afff130e6ca93c1d351e64b8e36371b585d1034f3bd801"
I0201 16:10:19.991806 26689 fs.go:108] Filesystem partitions: map[/dev/mapper/docker-202:1-404746-7bd647f0e4bf761fe0afff130e6ca93c1d351e64b8e36371b585d1034f3bd801:{mountpoint:/var/lib/docker/devicemapper/mnt/7bd647f0e4bf761fe0afff130e6ca93c1d351e64b8e36371b585d1034f3bd801 major:252 minor:2 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-10a3e49e42f5013d570362a8a58b7e712d2d2a37f7f980126f20e85dd421bb57:{mountpoint:/var/lib/docker/devicemapper/mnt/10a3e49e42f5013d570362a8a58b7e712d2d2a37f7f980126f20e85dd421bb57 major:252 minor:4 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-5c82c3cc36324e35f646d5da183e84701cfa6a8fcda426716cbf960407ca3647:{mountpoint:/var/lib/docker/devicemapper/mnt/5c82c3cc36324e35f646d5da183e84701cfa6a8fcda426716cbf960407ca3647 major:252 minor:7 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-efd827b194e1627c57f96357db794c4720f9489b8559167fd7d4f89cffe01851:{mountpoint:/var/lib/docker/devicemapper/mnt/efd827b194e1627c57f96357db794c4720f9489b8559167fd7d4f89cffe01851 major:252 minor:5 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-dcd1eff0429767203b91cbf51a93e54b8b2479c6ddbfd33c14ecb4cd88230178:{mountpoint:/var/lib/docker/devicemapper/mnt/dcd1eff0429767203b91cbf51a93e54b8b2479c6ddbfd33c14ecb4cd88230178 major:252 minor:6 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-85505d277c6e7d4d91dadaf9db31aa6ae48b8a1c6408eb17f454ae34c4f88a30:{mountpoint:/var/lib/docker/devicemapper/mnt/85505d277c6e7d4d91dadaf9db31aa6ae48b8a1c6408eb17f454ae34c4f88a30 major:252 minor:8 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-b05a972c55808033d319771c97d037377994c44a48706330e3031e3292e06b37:{mountpoint:/var/lib/docker/devicemapper/mnt/b05a972c55808033d319771c97d037377994c44a48706330e3031e3292e06b37 major:252 minor:12 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-bcb690dbea549a21715144d435244a6df5236dbd0f07d1656eb21adc461f4467:{mountpoint:/var/lib/docker/devicemapper/mnt/bcb690dbea549a21715144d435244a6df5236dbd0f07d1656eb21adc461f4467 major:252 minor:11 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-202a267d6e0c7c4ee94c7945076c6351f820ad1619743d776b905e8bd333b870:{mountpoint:/var/lib/docker/devicemapper/mnt/202a267d6e0c7c4ee94c7945076c6351f820ad1619743d776b905e8bd333b870 major:252 minor:13 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-168cfb4fdd50b069e9dbf48fe03a030c901c3e29d1356e3c186c0f427cc44279:{mountpoint:/var/lib/docker/devicemapper/mnt/168cfb4fdd50b069e9dbf48fe03a030c901c3e29d1356e3c186c0f427cc44279 major:252 minor:14 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-d8b8b456694f30701219fd65a234dc4807252ed9dc31726af7f171912fbd5346:{mountpoint:/var/lib/docker/devicemapper/mnt/d8b8b456694f30701219fd65a234dc4807252ed9dc31726af7f171912fbd5346 major:252 minor:15 fsType: blockSize:0} /dev/mapper/docker-202:1-404746-82109450de747c456db833a8529b6018583b639505788374276cd62cb505a911:{mountpoint:/var/lib/docker/devicemapper/mnt/82109450de747c456db833a8529b6018583b639505788374276cd62cb505a911 major:252 minor:9 fsType: blockSize:0} /dev/disk/by-uuid/05d65782-9d6d-4859-b412-923240f25c94:{mountpoint:/ major:202 minor:1 fsType: blockSize:0} docker-202:1-404746-pool:{mountpoint: major:7 minor:0 fsType:devicemapper blockSize:128}]
E0201 16:10:19.997013 26689 fs.go:211] Stat fs failed.  Error: EOF
I0201 16:10:20.391489 26689 manager.go:255] Recovery completed
I0201 16:10:20.400449 26689 cadvisor.go:96] Starting cAdvisor version: - on port 9344
E0201 16:10:21.352490 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:22.351871 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:23.351687 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:24.353763 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:25.351250 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:26.351048 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:27.354794 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:28.352457 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:29.350933 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:30.351506 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:31.350934 26689 fs.go:211] Stat fs failed. Error: EOF
E0201 16:10:32.355118 26689 fs.go:211] Stat fs failed. Error: EOF

What version of Rancher are you running?
Can you explain your set up a little more? Based on the logs it looks like there are a lot of existing containers on the agent, so was this an existing host in Rancher and you are re-adding it into Rancher?

I'm running rancher 0.51.0
That is correct I have been re-provisioning the rancher-agent server several times and attaching it to the rancher-server but with a different cattle IP each time. It's just a simple 1 agent -> 1 server.

I see this same error when added an existing host running multiple containers deployed through other means to a Rancher environment.

I still see this error when I run rancher agent the very first time to a rancher server.
Could this be an issue with Ubuntu trusty ?

We're also seeing this issue.
E0218 21:25:31.614922 02216 fs.go:211] Stat fs failed. Error: EOF
E0218 21:25:32.620072 02216 fs.go:211] Stat fs failed. Error: EOF
E0218 21:25:33.618092 02216 fs.go:211] Stat fs failed. Error: EOF

Rancher version v0.59.0, rancher-agent v0.9.2,  rancher-agent-instance v0.8.0, Docker 1.9.1, ubuntu 14.04, EC2 ami-fce3c696.
This is happening on multiple machines with different 'histories' in terms of when they were added to Rancher, what containers have been run, etc. We just spun up a fresh machine this morning, added to Rancher, and same error coming from rancher agent logs.

I'm getting
time="2016-02-25T16:54:34Z" level="error" msg="Error getting container info." error="request \"http://<IP_ADDRESS>:9344/api/v1.3/containers/system.slice/docker-7162ad4a78f17142edf3837d5cb5b169443db701adb2cef3b5048919b25d78dc.scope\" failed with error: \"failed to get container \\\"/system.slice/docker-7162ad4a78f17142edf3837d5cb5b169443db701adb2cef3b5048919b25d78dc.scope\\\" with error: unknown container \\\"/system.slice/docker-7162ad4a78f17142edf3837d5cb5b169443db701adb2cef3b5048919b25d78dc.scope\\\"\"" id="7162ad4a78f17142edf3837d5cb5b169443db701adb2cef3b5048919b25d78dc"

This issue no longer happens when switching /var/lib/docker to btrfs. So it seems related to devicemapper / ext4 at least.

@tombmurphy can you describe how you migrated to btrfs?

Sorry I did not migrate an existing instance, I spun up a separate instance and mounted a btrfs volume. Still using Ubuntu 14.04 and it no longer has the error.

Hmm, I moved /var/lib/docker to a btrfs volume and am still getting the errors.
Do you the whole machine needs to be btrfs?

Hi, I just found that error:
level="error" msg="Error getting container info." error="request \"http://<IP_ADDRESS>:9344/api/v1.3/containers/system.slice/docker-<...id...>.scope\" failed with error: \"failed to get container \\\"/system.slice/docker-<...id...>.scope\\\" with error: unknown container \\\"/system.slice/docker-<...>.scope\\\"\"" id="<...id...>"
in my case appears to be correct because this is a error response from cadvisor api, valid endpoint seems to be:
api/v1.3/containers/docker/<...id...>
because using this endpoint I can get stats information in json, that by my understanding exactly that rancher-agent tries to get...
how? where? I can fix that to make my setup works.
Thanks.
Rancher v0.61.0-rc3, rancher-agent v0.9.2, Docker 1.10.2, Debian 8

To add to details: we've tested on completely fresh machines, same issue. All running the default 14.04 AMI from AWS "Ubuntu Server 14.04 LTS (HVM), SSD Volume Type", in both US-East-1 and US-West-2. We have done this on machines with EBS+2xSSD drives along with standard EBS-only (i.e. t2-micro).  Would really like to know if there is any progress on this - it is spamming our logs (we ship all logs from Docker). I don't want to simply exclude the Rancher logs because ultimately that would be a critical component to keep track of, though as it stands its unusable given the volume of these logs.

I am using logspout, and did filter out these messages with:
filter {
    if ([message] =~ /^E0303/) {
        drop{}
    }
}

(though I feel a bit unclean doing it this way)

Looks like this error is bubbling up from cadvisor: https://github.com/google/cadvisor/blob/master/fs/fs.go#L270

It was on line 211 back in release 0.19, so rancher-agent must be using an older version: https://github.com/google/cadvisor/blob/release-v0.19/fs/fs.go#L211 .  Perhaps related to https://github.com/google/cadvisor/pull/976 ?

We are no longer using cadvisor as of v1.2.0 instead we're using docker stats for container stats and https://github.com/shirou/gopsutil for host stats.
Also, we have re-factored our old agent into an agent written in go. If you still face this issue, please comment on it.


[BACKLOG-15721] UX requested changes to type column text color and la…

…st saved column header changed to modified
@bmorrise

Build Completed
:white_check_mark: This pull request has passed all validations.
Build Commands
mvn -B -fn -f plugins/file-open-save/core/pom.xml clean install && mvn -B -f plugins/file-open-save/core/pom.xml site

Cleanup Commands
mvn -B -f plugins/file-open-save/core/pom.xml build-helper:remove-project-artifact

Changed files
  plugins/file-open-save/core/src/main/javascript/app/components/files/files.component.js
  plugins/file-open-save/core/src/main/javascript/app/components/files/files.css


Unable to generate Enterprise PGO Optimized native image for Helidon MP Helloword app

Not able to use PGO feature from GraalVM EE to generate an optimized native image for helidon MP helloworld microservice
Environment Details

Helidon Version: 2.0.1
Helidon MP
JDK version:11-20.1.0
OS: Mac OS 10.15.6 (19G73)
Docker version (if applicable):

Problem Description
0- Set GRAALVM_EE_HOME and JAVA_HOME
$env | grep HOME
GRAALVM_HOME= ~/Java/graalvm-ce-java11-20.1.0/Contents/Home
GRAALVM_EE_HOME=~/Java/graalvm-ee-java11-20.1.1/Contents/Home
JAVA_HOME=~/Java/graalvm-ee-java11-20.1.1/Contents/Home
PGO is an enterprise feature so we will be  using GRAALVM_EE_HOME

Generate the helidon Microservice using https://helidon.io/docs/latest/#/mp/guides/02_quickstart

Build the JAR, and Run it with PGOInstrument option
$GRAALVM_EE_HOME/bin/java -Dgraal.PGOInstrument=hello.iprof -jar target/helidon-hello.jar
The profile is generated properly.

Use the generated iprof file to build an optimized a native image.
$GRAALVM_EE_HOME/bin/native-image --pgo=hello.iprof -jar target/helidon-hello.jar
Here the process stops with  **Duplicate key on some classes , JBoss, glassfish , jersey etccc**
.... Error
safe access!
[helidon-helloworld:86188]     (clinit):   1,169.95 ms,  3.45 GB
[helidon-helloworld:86188]     analysis:  89,275.73 ms,  3.45 GB
Fatal error:java.lang.IllegalStateException: java.lang.IllegalStateException: Duplicate key [org.glassfish.jersey.internal.inject.Providers$$Lambda$2920dae572260e2b5caab4b3632779bc6caaa7d4.apply:0] (attempted merging values [J@581b579 and [J@da09471)

the native image generation process without PGO option is working

Hello,
you cannot run native-image on the jar file itself - you are missing mandatory libraries that are used when running using our maven plugin.
There are two ways to resolve this:

Use Helidon maven plugin, and add a native-image.properties file to your resources/META-INF/native-image/group-id/artifact-id/native-image.properties with Args=--pgo=hello.iprof, then run mvn clean package -Pnative-image and a native image is built as expected (tried this)
Add the following dependency to your project (this will add two jars to your libs directory that are mandatory if you want to build a Helidon MP application using native image):

                <dependency>
                    <groupId>io.helidon.integrations.graal</groupId>
                    <artifactId>helidon-mp-graal-native-image-extension</artifactId>
                </dependency>

As there was no reaction from original submitter, I am closing this issue.
The feature works, it just requires adding correct dependencies when building native image.

I @tomas-langer , sorry will check this and revert to you, was busy with some others stuffs. But for native image without pgo i can create it from jar for this example with no issue.


How to use zepto

How to use zepto

@mcdnf  for App Framework 3 ?  Just include it instead of jQuery.  For 2.2, it's not supported

When my project have 10000+ pages, App Framework 3  can  working?

Sadly it's not so simple. Actually it fails in the first lines (line 12) of following code:
/**
 * af.shim.js
 * @copyright Intel 2014
 * @author Ian Maffett
 * @description jQuery helper functions for App Framework
 */
/* jshint eqeqeq:false */
(function($,window){
    "use strict";
>  jQuery.event.props.push("touches");
    jQuery.event.props.push("originalTouches");
    jQuery.event.props.push("changedTouches");

Is there anything I can do about it?

Hey @JoeSchr  - thanks for pointing this out.  It should be easy to fix.  I'll try to look into it today.


Merge GO:1903756    regulation of transcription from RNA polymerase II promoter by histone modification

This term and children should be  done with GO cam
MF specific histone modification part_of transcription term

follow on from
https://github.com/geneontology/go-ontology/issues/11583

@bmeldal

note there is also a complex annotation ComplexPortal:CPX-1384
Is this merge OK with you ?

I'm going to move the complex to its current parent term of GO:0006357 regulation of transcription by RNA polymerase II because GO:0034401 chromatin organization involved in regulation of transcription has the tag "do not manually annotate".

Ah good point

Isn't that a little weird @ValWood ?  (GO:0034401 chromatin organization involved in regulation of transcription has the tag "do not manually annotate".)
Children are:
'chromatin organization involved in negative regulation of transcription'
'chromatin silencing at centromere outer repeat region'
'chromatin silencing at centromere'
'chromatin silencing at rDNA'
'chromatin silencing at silent mating-type cassette'
'chromatin silencing at subtelomere'
'chromatin silencing at telomere'
'chromatin silencing by small RNA'
'chromatin silencing'
'chromatin-mediated maintenance of transcription'
'heterochromatin assembly involved in chromatin silencing at centromere outer repeat region'
'heterochromatin assembly involved in chromatin silencing by small RNA'
'heterochromatin assembly involved in chromatin silencing'
'heterochromatin maintenance involved in chromatin silencing at centromere outer repeat region'
'heterochromatin maintenance involved in chromatin silencing'
'heterochromatin organization involved in chromatin silencing'
'methylation-dependent chromatin silencing'
'transfer RNA gene-mediated silencing'
We want the annotation to specify telomere/hererochomatin/centromere ...?

That's not how it looks in QuickGO. There is only one child: GO:0097549 chromatin organization involved in negative regulation of transcription,
that has one child: GO:0070868 heterochromatin organization involved in chromatin silencing
that has 2 children and so on.
I agree, the ontology doesn't look right.
And one cannot annotate to a neutral or positive activity...

Isn't that a little weird @ValWood ? (GO:0034401 chromatin organization involved in regulation of transcription has the tag "do not manually annotate".)

I remember a discussion that if you knew this you should be able to use one of the children. I think it was one of the very first 'do not annotates'. That said, I still think it's a weird term....
and the entire branch needs bringing up to date. The problem is the field has moved on a lot  since the early 'silencing terms' were added.

hmm, it was odd when it had no children:
https://github.com/geneontology/go-ontology/issues/11856

OK I am finalizing this merge. I will remove the taxon constraints for now.
I will create a new tickets to review this branch.
Pascale


Todos App tutorial fails to start due to dependency error

When pulling the Todos App repo, if you perform yarn && yarn run start, the process will fail to start with the following error:
The react-scripts package provided by Create React App requires a dependency:

  "jest": "24.9.0"

Don't try to install it manually: your package manager does it automatically.
However, a different version of jest was detected higher up in the tree:

  /Users/patrick/src/todos/node_modules/jest (version: 25.5.4)

Manually installing incompatible versions is known to cause hard-to-debug issues.

According to @aulneau, this is caused because jest is listed in the dependencies of the@stacks/connect package, rather than the devDependencies.  Resolve this dependency error.

@aulneau did you mention wanting to take this one or might someone else on the team be best?

The dependencies are now fixed - we're just waiting on the package to be published and the dependency to updated in the todos tutorial itself.


Fix GitHub headers

Also:

fix the Docker image
update deps

Coverage decreased (-0.008%) to 97.691% when pulling d8dfcbb8ba6c85cbf107ce6527599600531461ac on fix/github into b6472aaeb7b8abc97d42d885a7438a04537c10dd on master.


Add doc blocks generated by IDE helper

As per https://github.com/spatie/laravel-activitylog/discussions/950
Closes https://github.com/spatie/laravel-activitylog/issues/951

@Gummibeer Nothing to pressure but I am not sure if you were notified about this so just pinging.

Have you run Larastan test on this and it fixes @Gummibeer issue?

https://github.com/spatie/laravel-activitylog/releases/tag/4.4.1

Thanks for pointing it out @fabio-ivona. Just added a PR with the fix


os/signal.Notfiy: filter out runtime-generated SIGURG?

This program, when running under go 1.14, will show a huge number of SIGURG are received even though none should be (no network IO, no explicit kills).
https://play.golang.org/p/x7hFjPZnrg5

package main

import (
	"fmt"
	"os"
	"os/signal"
	"syscall"
	"time"
)

func main() {
	ch := make(chan os.Signal, 1)
	signal.Notify(ch, syscall.SIGURG)

	for {
		select {
		case sig := <-ch:
			fmt.Printf("received %v: %s\n", sig, time.Now())
		default:
			_ = new(int) // generate some GC activities
		}
	}
}

https://go.googlesource.com/proposal/+/master/design/24543-non-cooperative-preemption.md changes to use SIGURG to preempt goroutines, which is fine, but I think os/signal.Notify should filter out those runtime generated SIGURGs.
The reason I found this is that I have a program that happens to use SIGURG as a custom signal like SIGUSR1, which works fine with previous Go releases. I understand that it should probably use SIGUSR1, but still I think os/signal should hide any signals generated by the runtime as it's irrelevant for the user and an implementation detail.
/cc @aclements thoughts?

I got the roughly same issue regarding SIGURG. Say this example:
package main

import (
	"fmt"
	"os"
	"os/signal"
	"runtime"
	"syscall"
)

func main() {
	s := make(chan os.Signal, 1)
	signal.Notify(s)
	go func() { // mocking preemption
		for {
		}
	}()
	for {
		switch signal := <-s; signal {
		case os.Interrupt, os.Kill, syscall.SIGABRT, syscall.SIGTERM:
			fmt.Println("stopped")
			return
+		case syscall.SIGURG:
+			runtime.Gosched()
		default:
                         // .. some work for unhandled signals, do not expect SIGURG ..
			fmt.Printf("unhandled signal: %v\n", signal)
		}
	}
}

where a program before 1.14 doesn't expect SIGURG, but has to take care of SIGURG and call runtime.Gosched() go avoid tight loop.
This is kind of incompatible of the previous Go code (code behavior change).

The reason I found this is that I have a program that happens to use SIGURG as a custom signal like SIGUSR1

Right. It was an explicit decision to pass these through to the program, in case the program is using SIGURG. Unfortunately, the runtime can't tell if a signal is "runtime generated" and thus can't filter it out. Because the kernel combines signals, it's not even well-specified what it would mean for a received signal to be runtime-generated because the kernel could have combined a runtime-generated signal with a signal from another source.
@changkun, I don't really understand your program. First, I don't understand the need for Gosched there. There's no tight loop, and even if there were, I don't see what that Gosched would accomplish. Second, if a program is going to subscribe to all signals, rather than passing specific signals of interest to signal.Notify, then it should be prepared to receive any signal. There are lots of reasons lots of signals get sent. For example, if I ran that program in a terminal emulator and started resizing the window, it would begin streaming warnings about unexpected SIGWINCHes.

@aclements I hope I could make my point clear this time.
First, this loop is in my program somewhere, works as expected. Completely silence:
	for {
		switch signal := <-s; signal {
		case os.Interrupt, os.Kill, syscall.SIGABRT, syscall.SIGTERM:
			fmt.Println("stopped")
			return
		default:
                         // .. some work for unhandled signals, do not expect SIGURG ..
			fmt.Printf("unhandled signal: %v\n", signal)
		}
	}

After upgrade to 1.14, the default branch start gets many SIGURG signals, which is unexpected before. Therefore, a fix must be patched:
	for {
		switch signal := <-s; signal {
		case os.Interrupt, os.Kill, syscall.SIGABRT, syscall.SIGTERM:
			fmt.Println("stopped")
			return
+		case syscall.SIGURG:
+			runtime.Gosched()
		default:
                         // .. some work for unhandled signals, do not expect SIGURG ..
			fmt.Printf("unhandled signal: %v\n", signal)
		}
	}

for the ignoring of unexpected SIGURG signal in my program. You can argue that the user should responsible for all possible incoming signals, but if it doesn't appear before, then I consider this is a behavior change.
Do not get confused by the runtime.Gosched(), it means nothing (well, maybe a user may guess SIGURG massively appears, then its case will become a tight loop branch. Note that I am just saying and knowing that the preemption signalling is not tight).

@minux I don't see how it is possible even in principle for os/signal to filter out signals generated from the runtime package.  Do you have any suggestions as to how that could be done?

signal.Notify is to capture process-targeted signal, right? The preemption signals are thread-targeted. Maybe we can filter signals that sigcode is SI_TKILL (at least on Linux)?

That would not work if the kernel combines signals with different sigcode. Does it?

As far as I can tell, the Linux 5.3.12 kernel does combine signals with a different si_code value.  In __send_signal I see
	if (legacy_queue(pending, sig))
		goto ret;

and
static inline bool legacy_queue(struct sigpending *signals, int sig)
{
	return (sig < SIGRTMIN) && sigismember(&signals->signal, sig);
}

where signals->signal is the set of pending signals.

Yeah, it's very difficult to filter out runtime-generated SIGURG without
also occasionally remove a real SIGURG.
I guess, a slightly better solutions is to make sure the runtime only uses
SIGURG when it's necessary.
My program can tolerate occasional spurious SIGURG, but in the current
runtime implementation, it's occurring too frequently.
(Just like the example program I posted, it contains enough preempt points
that forced preemption shouldn't be necessary.)
Perhaps we can repurpose this issue to "runtime: only use forced preemption
when necessary"? Thoughts?

I found a lot of SIGUSR will failed the runtime/regex testes of mips64le due to timeout.
https://farmer.golang.org/temporarylogs?name=linux-mips64le-mengzhuo&rev=dcf0929de6a12103a8fd7097abd6e797188c366d&st=0xc010fd8ea0

@mengzhuo Can you open a separate issue for that?  It sounds like the program is having a hard time making progress, which seems more like #37741.  Thanks.

Perhaps we can repurpose this issue to "runtime: only use forced preemption when necessary"?

I've considered delaying the first attempt to use signals until some time after we've tried cooperative preemption and it's failed. Most of the time cooperative preemption responds very quickly. I'm not sure what to set that threshold to, though, since every millisecond of delay there is a millisecond added to STW if there's anything not cooperating.

Could you also provide a build option to enable (or never enable) preemptive? Runtime env flags would presumably override that...

That option already exists (GODEBUG=asyncpreemptoff=1), but, as it says on the tin, it's meant for debugging.

I wrote, "... provide a build option ..." e.g. a compiler flag.


esformatter doesn't preserve newlines

For some reason esformatter won't preserve any newlines. My config:
    "jsx": {
        "attrsOnSameLineAsTag": false,
        "maxAttrsOnTag": 1,
        "firstAttributeOnSameLine": false,
        "alignWithFirstAttribute": false,
        "spaceInJSXExpressionContainers": "",
        "JSXExpressionsSingleLine": false,
        "htmlOptions": {
            "indent_size": 4,
            "max_preserve_newlines": 10,
            "preserve_newlines": true
        }
    },

Is there anything I can do about this? The problem is that it reformats my Text and span attributes which changes the way text is displayed, so formatting actually introduces bugs :(

hi @fab1an, sorry for the issues on preserving new lines
can you please send me the following:

A sample of code previous to formatting
A sample of formatted code with the issue
A sample of the desired output

And thanks for your time!

Any news on this?

hi @fab1an, I'm sorry I haven't had the time yet to take a look to it.
It seems simple though, if someone wants to help with this PRs are welcome!
Regards

I don't have time for more than spotting simple bugs either :-/.
I've looked through the code, and from what I see esformatter-jsx send the html "between" the jsx separately through js-beautify. If I'm right this is the reason the options regarding newlines don't work, because there are none.

This is a dupe of https://github.com/royriojas/esformatter-jsx/issues/22

Part of the problem is https://github.com/royriojas/esformatter-jsx/blob/master/src/format-jsx.js#L155 ( return removeEmptyLines(code.toString()); ) which calls removeEmptyLines on the source regardless of the preserve_newlines option. It should probably not do that.

Hi @jamtat you're right. The code needs some refactor. Really hate that I'm so busy these days, that I can't really make any progress on these issues. :( That said. PR's are most than welcome.

I made a fork earlier and pushed a commit to conditionallly remove blank
lines but it has a bug that inserts whitespace around JSXExpressions (I
think?) Which means most of the tests fail. I'll keep having little
attempts at fixing it and PR when the tests pass :)
On Mon, 10 Apr 2017 at 19:03, Roy Riojas<EMAIL_ADDRESS>wrote:

Hi @jamtat https://github.com/jamtat you're right. The code needs some
refactor. Really hate that I'm so busy these days, that I can't really make
any progress on these issues. :( That said. PR's are most than welcome.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/royriojas/esformatter-jsx/issues/75#issuecomment-293030393,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOtg2t7lZAuK3snc4NOBp_pumO70yRkks5rum8FgaJpZM4ItZJv
.


Introduce convective inhibition in JANUS

[ ] Include convective inhibition criterion in the dry adjustment scheme
[ ] Introduce moist convection in adjustment

Speed up time stepping via either:

[ ] Method 1: calling entire fortran code from AEOLUS (may require lots of work on the fortran side to generalise to multi-component atmospheres)
[ ] Method 2: wrapping the fortran call to SOCRATES in a python script (involves less intrusion on main AEOLUS code, but may be slower depending on what is the time-limiting step)

Is this still reasonable to do or should we focus on developing this in AGNI? @hinnes97 @nichollsh

I think that we should do this in AGNI. However, it might be useful to have it in both? I don't know how much work it would take to implement it inside JANUS.

Hi! Sorry for missing this -  I think AGNI makes more sense, since we can actually self consistently solve for the radiative gradient in the inhibited layers. I don't know if this is possible in JANUS?

Superseded by AGNI developments.


Support date times in date fields

This PR supports RFC3339 formatted datetimes in date fields. The datetimes are read and stored with maximum available precision.
The following points could still be addressed:

[ ] With the current implementation the string "19 94" is parsed as "1994". Should this be fixed?
[x] Roundtrips are not fully idempotent: the offset Z turns into +00:00.
[ ] The tests are relatively limited, perhaps property-based tests could be implemented to improve this.
[x] Dates could also support conversion from/to YAML hashes.

Technically, this is a breaking change, since the Date struct got new fields. For the future, this could be fixed by adding #[non_exhaustive] to the struct definition.
Fixes #30.

I have a change request with regards to error handling in the parse function. The parsing error should be reported instead of panicking or silently ignoring the malformed date.

Yes, the panic was an oversight. Ignoring the ParseErrorKind::TooShort has been deliberate however, since chrono's RFC3339 parser expects a full datetime, including offset. I've documented this in an additional commit.

If at all possible, whitespace should not be accepted within the dates' numbers. However, if this is not possible with chrono without preprocessing, we could keep the current behavior. Alternatively, unscanny could be used for a small custom RFC3339 parser instead of chrono. I wanted to get rid of the regexes in favor of unscanny parsers anyways.

There's no need to fix chrono's parser. The problem is in hayagriva and can be fixed rather simply.
However, I've noticed that by ignoring ParseErrorKind::TooShort, we also accept dates like 1994-. If we want to fix this, we would probably have to implement a custom RFC3339 parser anyways. This could also be an opportunity to improve the error handling, since chrono's errors are admittedly not good.
Should we go down that road?

I am okay with the roundtrip conversion from "Z" to "+00:00". Is there a semantic difference between the Zulu timezone and "+00:00"? At any rate, they specify the same time zone right now and I think that's unlikely to change unless the IETF wants to break the world.

No, there's no semantic difference. It's purely syntactical.

Aren't YAML date hashes a bit niche? At any rate, I think they are not within the scope of this PR.

Breaking changes are fine at this stage. I do not think that Date needs a #[non_exhaustive]. Changes to the struct will likely change the semantics of all of its fields and also change what users can express and thus choose to, so the notification to library consumers that something is up is warranted.

I think we could improve type safety by using an enum instead of options. That way, encoding "impossible" configurations like year + day, but no month would become impossible. The existing members could then be accessors on the enum. Does that sound good?

Hi @reknih, just a quick follow-up. Have you had some time to review the fixes and think about the questions?

Hey @m-haug, @reknih is currently on vacation, so you'll probably have to wait some more.
On a side note, I'm curious about the enum thing. I see that it would prevent impossible configurations, but wouldn't there be lots of boilerplate and overlapping variants?

Thanks for the heads-up and the feedback!
Yes, there would probably be some duplication in the enum itself, since "larger" variants, like a full datetime, have to contain the same information as "smaller" variants, like a date or a year only. This also depends on some other decisions surrounding the design of the parser. For example, should a time always contain a minute, or is an hour specification sufficient?
However, I don't think there would necessarily be lots of boilerplate when using the enum design, especially on the consumer side. By providing accessors (month / get_month), the existing interface could mostly be preserved (apart from requiring a method call). Internally, some boilerplate would probably be necessary to provide the accessors, but thanks to pattern matching with or-patterns that should also be limited.
It should also be possible to provide mutations capabilities in the enum design, albeit with more effort. Of the top of my head, I can see

precision-preserving operations, like set_month,
narrowing operations, like round_to_month or truncate_to_month,
and widening operations, like append_month.

The naming is obviously open to bike-shedding. The first and the third category may have some overlap, depending on the chosen semantics. For example, set_day on a date containing only year and month could automatically widen the date once.
If you have further feedback, or see anything that I may not have considered yet, I'd be thrilled to hear about it.

The enum + methods design sounds good, in principle. One other consideration is whether it's a public enum or a private enum within a struct. That way we could also enforce that the individual fields are within bounds. It might also make sense to have a Date and a Time struct/enum which could be composed in a Datetime struct with Date and Option<Time> fields.

Is there still interesting in completing this?

Closed because of inactivity. #30 will remain open to track this.


Any change for a newer release with support for Telemetry 1.0?

I've noticed the mix.exs is already up-to-date, but hex.pm doesn't include any version with that change added (latest is 1.0.9 is before that).
Any change for a new release? Any work missing where help is welcome?
Thank you a lot! 🙇

Released!


Instructions on how to deploy to github pages

Heyy @glauberramos @pamo could you elaborate regarding the subject of the issue ? Thanks!

github pages is for static sites. This would require removing the dependency on node so that everything ran client-side.

Oh, and everything would be public on gh-pages including things like API keys. So its a nice idea but not realistic.


would you please explain some questions on your code?

Hello, I am a newbie to Rust. After I read the code in lib.rs, I find some keywords like "wrap" and "no_wrap". I almost google the whole the internet with rust "no_wrap". However, I can't figure out anything about it. I guess they are used to match Result type. Where do they come from? Even in rust source code, I don't find them.

no_wrap is the keyword which is user defined, got it, closed


AudioSwitch crashes when adjusting volume with foobar

I had this problem with some old version and it still persists with 2.0 RC6.
Lets say I have foobar playing a song and AudioSwitch running. Everything works fine.
But as soon as I click on the volume bar in foobar, AudioSwitch crashes instantly.
Same happens when I adjust the volume in the Windows volume mixer:
http://push2.anukthewolf.com/a/2015-05-10_11-46-06.png
I assume AudioSwitch doesn't like individual app volume changes.

Seems to work after a PC restart, let's see how long..

Nope, still happens sometimes

i can confirm this

nope, still happens with RC7

Can you please tell me both what Windows versions are you using, also, is it happening regardless of what is currently playing the audio (chrome, foobar, firefox, iTunes etc) or it happens always? First of all I'd like to get some information about what you both might have in common. This doesn't happen to me and I can adjust all the volumes separately from the mixer and also from different music players. I'd very much like to get to the bottom of this with your help. Thank you guys for your reports!

Okay, I'm using Windows 8.1 64-bit.
I just tested what you asked for and the problem only seems to come up when adjusting foobar's volume in Audioswitch itself, in foobar or in the Windows audio mixer, no matter if there's a song playing in foobar or not. If I start a video in Chrome and adjust the volume in the volume mixer, everything works as expected.

ughh this is now weird. I just installed foobar for that purpose, to test it, and on my Windows 10 build 10130 it works. I have Win 8.1 x64 at work, I will do the same test on Monday when I get there. This now really puzzles me, I can change the volume from where I want to either during playing or while stopped, no issues at all.

As I have said, this only seems to happen on pass-through outputs, so it's hard to test if you don't have one.
One more test:
5. Foobar: Default Audio Device (thus same as AS); AS: S/PDIF pass-through -> Still crash.
Thought that might make a difference but it doesn't

search for "SafeSet(newVolume, newMute);" in the solution and put a breakpoint on that. Look what are the values that are coming in or try to step in with F11 and see what's happening. I don't have digital audio on either of my PC's, only on HTPC computer but currently I don't see any remotely sane way to debug AS there. If you can't get anywhere with this then I probably have to look into some remote debugging...

Okay, so I just set a breakpoint in there and it successfully stopped as soon as I changed the volume in foobar.
Here is a screenshot of the values:
http://push.anukthewolf.com/a/2015-05-31_17-02-20.png
I also stepped through the method and saw that it invokes the "newMethodWithFloatArg" (but couldn't step in there as well), then went out of SafeSet, returned 0 and crashed after all that.

Hi guys,
sorry for the late response.
I tried to investigate the problem but unfortunately I couldn't recreate it anymore.
Maybe because just yesterday I switched to Win10 build 10130.
I use S/PDIF aswell as HDMI for playback. After update to 10130 I
had to set the output bitrate from 24 to get sound working.
Could this be responsible for this problem?
Unfortunately I'm no programmer, so can't help with breakpoints 'n' stuff.
Regards

Hey SigHunter,
thanks for the tip, I just changed my bitrate to 16 and since then it works without a problem, even if I put it back to 24 bit.. I'll restart my pc and report if anything stops working

I think I made a bit of progress with this:
Did some program starting/stopping and changing bitrates and wrote down each step, this way I could replicate the crash almost everytime:
Initial situation: 24bit, foobar stopped, AS stopped
start foobar -> start AS -(still works)> set to 16bit -(still works)
start foobar -> start AS -(still works)> stop AS -> set to 16bit -> start AS -(still works)
set to 16bit -> start foobar -> start AS --> Crash -> set to 24bit -> start AS --> Crash -> restart foobar -> start AS -> no crash anymore
set to 16bit -> start wmp   -> start AS --> Crash -> set to 24bit -> start AS --> Crash -> restart wmp    -> start AS -> no crash anymore
It seems a bit weird but both of the players seem to do something if there is a new bitrate set that wasnt set when they've been run the last time. And AS probably just can't handle that. But that still doesn't explain why it happens on every computer restart when the bitrate should be set to a known value.

I installed foobar on my HTPC together with Visual Studio 2013 remote debugging tools and I can replicate the crash when changing the separate volume of that stream which goes to digital output. I managed to trace it to the audioses.dll where it crashes on the line:
AudioSes.dll!CLockedList<ATL::CComPtr,0,1>::ForEachEntry()
I investigated it and it seems it's a problem with threading on the software that listens to the events (AudioSwitch). There doesn't seem to be any answers around it anywhere, so currently I don't see any other option than to either ignore the problem or rework a huge part of AS into C++ code where this threading is done manually, which is 1000 times more difficult but supposedly it would work. Not sure that I like either of these options. We would need some advice by someone who has deep knowledge of CoreAudioAPI and AudioSessions.

Ah okay, nice to know that you found the source of the problem. As it seems to work with Windows 10, I'll try to live with the problem until Win 10 is out or update to the Insider preview.
If no one knows an answer to this, I'd just wait because the effort is not worth it for just two people having the problem^^

I just uploaded the new RC8, try that. I found the problem - for some strange legacy reasons I also assigned to the base session for volume notifications, this is actually not necessary since I also assign to the master volume of the MMDevice anyway, I don't need those changes from sessions at all (facepalm). Since I was able to remove also a lot of code then I won't commit the code before I get at least one +1 for solving it and that it works any other way also as expected, no glitches. For me it seems to work perfectly, so I'm really positive about this :) Waiting for your feedback!

Oh that sounds great, thanks for your efforts!
Just installed it and had some problems getting it to run because some settings.xml hotkey entries had invalid values. After deleting those it seems to work pretty nice, I had no luck reproducing the problem so far, even with the ways I found before.
Here's the log. These entries basically say that "SwitchPlaybackDevice" is not a valid value for HotkeyFunction. After the first launch I deleted that line and then it obviously said that "SwitchRecordingDevice" isnt one either. After that I deleted all of them xD
Log Entry: 03.06.2015 20:41:45
System.InvalidOperationException: Fehler im XML-Dokument (9,11). ---> System.InvalidOperationException: Instanzvalidierungsfehler: 'SwitchPlaybackDevice' ist kein gültiger Wert für HotkeyFunction.
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read6_HotkeyFunction(String s)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read9_Hotkey(Boolean isNullable, Boolean checkType)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read11_Settings(Boolean isNullable, Boolean checkType)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read12_Settings()
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
bei System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)
bei AudioSwitch.Classes.Settings.Load()
bei AudioSwitch.Classes.Program.Main(String[] args)
Log Entry: 03.06.2015 20:43:42
System.InvalidOperationException: Fehler im XML-Dokument (9,11). ---> System.InvalidOperationException: Instanzvalidierungsfehler: 'SwitchRecordingDevice' ist kein gültiger Wert für HotkeyFunction.
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read6_HotkeyFunction(String s)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read9_Hotkey(Boolean isNullable, Boolean checkType)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read11_Settings(Boolean isNullable, Boolean checkType)
bei Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderSettings.Read12_Settings()
--- Ende der internen Ausnahmestapelüberwachung ---
bei System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
bei System.Xml.Serialization.XmlSerializer.Deserialize(TextReader textReader)
bei AudioSwitch.Classes.Settings.Load()
bei AudioSwitch.Classes.Program.Main(String[] args)

Same here, crashed, then I deleted the whole %appdata%\Audioswitch (or was it %localappdata%, can't remember :D) and it started. so far no crash, thanks

ohhh yea I added one requested feature there where you can select either next or previous device with a hotkey and I also changed the function names... I should start using some migration code for these things, I'm sloppy :( But great to hear that it works otherwise :)


DisplayedProperty should support displaying through PDOM tree too

Discovered while working on https://github.com/phetsims/tambo/issues/131. @jonathanolson and I see a bug in DisplayedProperty where if a Node is displayed through the PDOM (through pdomOrder), but is hidden through the main instance tree, then DisplayedProperty won't be correct. I wrote some unit tests for this over in https://github.com/phetsims/tambo/issues/131 but couldn't get it running. For now I will leave some lines of code commented out, with TODOs to this issue.

@jonathanolson, can you please comment back in each line linked to this issue (4 total), and note the failing test. I can't really see what is going on. Can you give guidance, or perhaps we can debug together so that I could gain some tools for debugging instance/pdomInstance trees.

Checking a few debugging bits. The relevant pdom instance on aNode has invisibleCount=1, so it's set its peer to invisible and is showing up as NOT visible due to that.

The code seems to explicitly count something as invisible if its normal trail has an invisible node, so the test seems correct.

Gotcha. Thanks! Then the work we did this morning will never work to expose a Node that is displayed in the PDOM but not visible in the instance tree. Perhaps that isn't possible? I don't know. I'll need to think about this more.


core drawer / core header panel - hides scroll bar

I am using a combination of core drawer and  core header panel. When I am in a desktop browser with the page long enough the scroll bar is partially or totally hidden behind the header. This is fine for mobile as there are no scroll bars, but for a desktop browser people still use the scroll bar. I think this should be handled by the component based on the height of the content and the height of the window(if the scroll is shown, put a right-margin on the header.) Example of the bug at http://xmenu.menu - just resize window until scroll is needed.
Thanks
Tim

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


[Feature Request] Add customisability to how features are stacked

Currently when we pass a transform (eg. Percentile) and an aggregate (eg. Mean) primitive with max_depth=2, dfs() outputs both PERCENTILE(MEAN()) and MEAN(PERCENTILE()) features
Is there a way to limit this behaviour to just Aggregate(Transform) or vice versa (Transform(Aggregate)) only? If not, can this be added as a new feature?

@rohan-gt even though they look the same, those are different features that when calculated would have different values. have you taken a look at the drop_contains or drop_exact parameters to ft.dfs to filter features out before calculation?

@kmax12 I'm aware that they're two different features. I want to only keep the Aggregation(Transform) features since they are more meaningful. Yes I've seen the drop_contains and drop_exact parameters but they can't used to generalize when you have to drop across multiple feature combinations (eg. if I have to drop PERCENTILE(MEAN()) and ABSOLUTE(MAX())) because there are too many combinations to account for. It would be useful if there's a way to define the stacking pipeline like Transform -> Aggregate or Aggregate -> Transform only


Error type is different if responseType: "blob" is specified

Environment
Using the useFetch() composable from Nuxt 3.4.2
Reproduction
const { error } = useFetch("/api/xyz", {
  responseType: "blob"
})

// if an error is returned, the `data` field won't be properly filled (it's an empty JSON object)

const { error } = useFetch("/api/xyz")

// if an error is returned, the `data` field will be correct and contain all the fields (statusMessage, data, etc)

Describe the bug
The error object returned by the useFetch composable from Nuxt 3.4.2 which uses ofetch under the hood won't be the correct type if the responseType is defined as "blob" (and maybe other types, didn't investigate).
The data field will be an empty JSON object and therefore the data field given in the createError() call won't be available, as well as other non-transformed fields such as message.
Additional context
No response
Logs
No response

@pi0 Can this be moved to nuxt ?

A reproduction from nuxt/nuxt repository would be appreciated 👍🏼 (if it is reproducable with ofetch only we can keep tracking here)


Call GitHub workflow to build a container image for each commit

this effectively builds main and latest for each commit to the
main branch.
Signed-off-by: Juan Antonio Osorio<EMAIL_ADDRESS>

Codecov Report

Merging #46 (6128e82) into main (f463201) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #46   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            8         8
  Lines          269       269
=========================================
  Hits           269       269

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 f463201...6128e82. Read the comment docs.


minRows last page bug

When I use minRows={1}, on last page if more than one items they will be stretched.
(one element)

(more than one element)

I can fix it using .rt-tr-group{ flex: 0 0 auto;}

This is in v6, which we are no longer actively working on. Please consider trying the alpha version of React Table.


feat: add rpc local_node_info

resolve https://github.com/nervosnetwork/ckb-light-client/issues/118

Codecov Report
Base: 79.55% // Head: 79.07% // Decreases project coverage by -0.47% :warning:

Coverage data is based on head (1afe2c0) compared to base (22d809c).
Patch coverage: 0.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #123      +/-   ##
===========================================
- Coverage    79.55%   79.07%   -0.48%
===========================================
  Files           23       23
  Lines         4851     4880      +29
===========================================
  Hits          3859     3859
- Misses         992     1021      +29

Flag
Coverage Δ

unittests
79.07% <0.00%> (-0.48%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/service.rs
64.73% <0.00%> (-2.21%)
:arrow_down:

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

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


Determine if covalent subprocess starts successfully

Description
The covalent CLI currently starts a FastAPI server as a subprocess when covalent start is invoked, the PID is persisted to disk subsequently and covalent status just checks the existence of this PID file.

The relevant methods can be found in: covalent_dispacther._cli.service.py

Any errors that may be present when starting the subprocess are currently suppressed and the PID file is persisted even if the subprocess fails to start. As a result we want to then:

Not persist the PID file if the subprocess failed to start (so covalent status does not get confused)
Display the subprocess error to the end user (more on UX below)
Enhance covalent status to determine if the covalent process is stopped, swapped out of memory, or in a zombie state

Acceptance Criteria

[ ] Display an error message and don't persist PID if there is an error when starting subprocess
[ ] Display additional information in covalent status if subprocess is unhealthy
[ ] Must satisfy UX provided below
[ ] Update tests and ensure they pass locally and in the PR

UX
covalent start
Red[Error:] Bold[Covalent was unable to start due to the following error:]
Light Grey[{stack trace}]

Status:
Sunny day
covalent status
Covalent server is running at http://localhost:48008.

Error states
covalent status
Covalent server is unhealthy: zombie process /out of memory/process stopped

@wjcunningham7 I would like to take a stab at this issue. Could you assign it to me?

@WingCode Issues with bounties will be assigned one at a time, just let me know when you're finished with this one and I will assign the next one of your choosing.


K8s Glue agent on Kubernetes fails silently

Hi!
We use the k8s glue agents on Kubernetes to enqueue experiments as pods. Occasionally we encounter that an enqueued experiment does not get picked up by the agent. I did some digging and found the following error in the logs:
FATAL ERROR:
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 710, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.6/http/client.py", line 1377, in getresponse
    response.begin()
  File "/usr/lib/python3.6/http/client.py", line 320, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.6/http/client.py", line 281, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.6/ssl.py", line 1012, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 874, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

  File "/usr/lib/python3.6/ssl.py", line 1012, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 874, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
ConnectionResetError: [Errno 104] Connection reset by peer

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/requests/adapters.py", line 449, in send
    timeout=timeout
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 786, in urlopen
    method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
  File "/usr/local/lib/python3.6/dist-packages/urllib3/util/retry.py", line 550, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.6/dist-packages/urllib3/packages/six.py", line 769, in reraise
    raise value.with_traceback(tb)
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 710, in urlopen
    chunked=chunked,
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 449, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/lib/python3.6/http/client.py", line 1377, in getresponse
    response.begin()
  File "/usr/lib/python3.6/http/client.py", line 320, in begin
    version, status, reason = self._read_status()
  File "/usr/lib/python3.6/http/client.py", line 281, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/lib/python3.6/socket.py", line 586, in readinto
    return self._sock.recv_into(b)
  File "/usr/lib/python3.6/ssl.py", line 1012, in recv_into
    return self.read(nbytes, buffer)
  File "/usr/lib/python3.6/ssl.py", line 874, in read
    return self._sslobj.read(len, buffer)
  File "/usr/lib/python3.6/ssl.py", line 631, in read
    v = self._sslobj.read(len, buffer)
urllib3.exceptions.ProtocolError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/commands/worker.py", line 1560, in daemon
    gpu_queues=dynamic_gpus,
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/glue/k8s.py", line 827, in run_tasks_loop
    level="INFO",
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/commands/events.py", line 99, in send_log_events
    return self.send_events(list_events=log_events, session=session)
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/commands/events.py", line 58, in send_events
    sent_events += send_packet(lines)
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/commands/events.py", line 32, in send_packet
    'add_batch', data=jsonlines, headers={'Content-type': 'application/json-lines'}, session=session
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/commands/base.py", line 127, in post
    return session.post(service=self.service, action=endpoint, *args, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/session.py", line 300, in post
    json=json or kwargs)
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/session.py", line 308, in _manual_request
    json=json or kwargs)
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/backend_api/session/session.py", line 377, in send_request
    json=json,
  File "/usr/local/lib/python3.6/dist-packages/clearml_agent/backend_api/session/session.py", line 305, in _send_request
    method, url, headers=headers, auth=auth, data=data, json=json, timeout=timeout)
  File "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.6/dist-packages/requests/adapters.py", line 498, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', ConnectionResetError(104, 'Connection reset by peer'))

It seems that something went wrong in the connection when posting the experiment (?). This leads to our experiment not being scheduled at all (seems the k8s glue scheduler gets sort of stuck after encountering this error. I did a restart of the agent and it worked immediately.
Proposed fix
It would be great if the clearml-agent is actually allowed to crash when it encounters an exception. When running on Kubernetes it will make sure the pod is restarted.
Maybe we could add a new config option that could be checked if the exception here:
https://github.com/allegroai/clearml-agent/blob/26e62da1a8fb4b66361a5d6a4d852d50b1e0a158/clearml_agent/commands/worker.py#L1553
This check then differentiates if the exception should be propogated or caught. What do you guys think?

@nielstenboom sounds good, care to suggest a PR? 🙂

For sure! I'll have a crack at it tomorrow

Let me know what you think of this PR @jkhenning!
https://github.com/allegroai/clearml-agent/pull/123


Loading arbitrary suite module, adding gym registration

This PR aims to modify a wrapper that can wrap DMC environments to be used as a gym.Env.
Major modifications are:

Separating make() with registration. Previously, calling dmc2gym.make() will leave no room to further change the kwargs in environment-making. Now we require users to register selected suite-based environments in gym.registry, then use dmc2gym.make(). Users can also pass kwargs to dmc2gym.make().
Various changes in wrappers.py

DMCWrapper.seed(): aligning with seeding scheme in gym.Env. The wrappers' seed needs to point to the Task object's seed embedded in the DMC environment. (this feature has passed unit-test)
DMCWrapper.render(): we included render mode beyond "rgb_array" (this return np.array), such as "human" (returns PIL.Image object) and "grey" (returns one-channel np.array)
DMCWrapper._env initialization: initial wrapper has dm_control.suite.load embedded in its instantiation, we instead pass a suite_load_fn to the wrapper to load arbitrary dm_control environments.

At a high-level I think we should figure out our strategy here.
I would think maintaining a fork of dmc2gym long-term would be a better strategy. Major reasons are:

I don't think the upstream repo will have a major change in the near future. The latest change was 13 months ago.
Our changes of wrappers.py to accommodate our self-specified suite by directly loading the module itself seems significant. It's working well for us, but it's quite useless for the light-weighted version in the upstream repo. In the end, I envisage we will have to use a branch different from the upstream master.
dmc2gym is critical for us to integrate imitation and our suite. I would like to maintain a quick PR-merge loop at least in the short term.

float64 seems like more precision than is really needed for MuJoCo, curious what broke with np.float32? Also wondering if we should just have dtype=s.dtype instead?
The original break was from a seals test for dtype match between observation and observation_space. observations.dtype. I plan to make further changes here to preserve the Dict structure of the observation when it's converted to space following gym.mujoco_env.

Thanks for the review! Major updates:

Removed any make() function in __init__.py. Keeping make() will make how to load wrapped environments quite confusing.
Wrote a guide about how to load wrapped environments in README.md.
Resolving comments in wrapper.py.

I don't think the upstream repo will have a major change in the near future. The latest change was 13 months ago.

Fair point.

It's working well for us, but it's quite useless for the light-weighted version in the upstream repo. In the end, I envisage we will have to use a branch different from the upstream master.

Seems right there's no case for upstreaming wrappers.py. If that was the only set of changes we couldn't upstream, we could just move wrappers.py back into the main RFT repo, but I take the point that we're likely to need to make changes elsewhere.

dmc2gym is critical for us to integrate imitation and our suite. I would like to maintain a quick PR-merge loop at least in the short term.

I think I framed the options as mutually exclusive, but we can also do both -- have our own fork, and cherry-pick commits for PRs to upstream.
Overall don't feel that strongly about this though.

Thanks for the review! Overall I think cherry-picking commits for PRs to upstream makes sense, especially for those edits on render(), seed(). But eventually, I suppose we'll still need to keep registration.py and wrapper.py in our fork, because both of them involve loading the suite.load method.
I'll merge this branch into main for our use, and would submit PRs to the upstream when we stabilize our branch.


refa: remove cap_dac_override

We need this to access the container runtime socket, as our container is running as non-root, but the mounted hostPath is typically owned by root. Setting the fsGroup doesn't work for hostPath volumes.


add --pull flag for podman create&run

Requirement from https://github.com/containers/libpod/issues/3575#issuecomment-512238393
Fixes: #3734
Added --pull for podman create and pull to match the newly added flag in docker CLI.
missing: default value, podman will pull the image if it does not exist in the local.
always: podman will always pull the image.
never: podman will never pull the image.
Signed-off-by: Qi Wang<EMAIL_ADDRESS>

Does this line up with Docker functionality?  Or at least it's just added functionality and won't break previous scripts?

I think this lines up with Docker functionality. And this hasn't been added to the current docker release. I just tried this functionality with nightly build of the docker CLI https://download.docker.com/linux/static/nightly/x86_64/

@QiWang19 all kinds of test unhappiness

I think we had reservations about the old patches for this from @haircommander but I don't think they're related to the code as written here.

@mheon there were reservations about that patch (https://github.com/containers/libpod/pull/2618) because it was addressing functionality that seemed like it existed in upstream docker, but didn't. this patch is much better, as it actually mirrors docker functionality that made it in.

/approve
Tagging for 1.5.1

@QiWang19

always: podman will always pull the image.

Is there an option to pull only when there is a newer image? (newer of not exist)

Is there an option to pull only when there is a newer image? (newer of not exist)

@abitrolly I think this PR https://github.com/containers/libpod/pull/2618/files implemented --update can check the newer image and pull it. But this PR hasn't been merged.
@rhatdan @haircommander do we want to reopen that PR and add --update?

@QiWang19 there were some fundamental problems that @mtrmac found with that PR, and I never found any corresponding functionality in the docker cli. The closest they have is what you're adding here. I am not inclined to reopen #2618 and rebase, but feel free to take it over if you want it :)

@QiWang19 It should be here.  I would think default would be to pull if there is a newer version.

@rhatdan the problem is ordering based on "newer" is challenging (ref: https://github.com/containers/libpod/pull/2618/files#r265337423). I also like @mtrmac's comments about the registry being the source of truth.

Fixes: #3734

Fixes: #3734

Are there plans to support that for build as well? Currently, build has --pull-always.

For now no plan to support --pull("always"|"missing"|"never") for build.
build also has --pull(pull the image if not present (default true))
Do we want to change build? make --pull and --pull-aways to --pull same as create and run in this PR.

@QiWang19 Lets get this merged, then we can look at Buildah.

For now no plan to support --pull("always"|"missing"|"never") for build.
build also has --pull(pull the image if not present (default true))
Do we want to change build? make --pull and --pull-aways to --pull same as create and run in this PR.

I definitely prefer the "new" --pull flag of this PR but it is causing an inconsistency in our CLI since the one for build is a simple boolean. I am certain that this will confuse users if it's being released as is.

@QiWang19 Lets get this merged, then we can look at Buildah.

This is affecting podman-build already. Merging this PR will cause the inconsistency.
I think we can fix the inconsistency by cheating a bit and make podman build --pull understand missing,always,never,true,false ... true,false to be backward compatible.

the podman build --pull bool flag is defined in BudResults buildah/pkg/cli/common.go, it should be changed in build so podman build can accept string "missing|always|never"
:fearful: hard to cheat

Code LGTM

This patch can get in. Can not change or cheat --pull for podman build or buildah bud in this PR.

/lgtm

This patch can get in. Can not change or cheat --pull for podman build or buildah bud in this PR.

I think we should have first applied that change to Buildah, then revendor and change the code here. @QiWang19, can you open a PR at Buildah to address it? I really want this flag to be consistent across commands (and tools).


[Bug] Variables in loop are not detected as used

If the variable is at the end of the loop, it will not be detected as used:
${counter}    Set Variable    1
WHILE    ${counter} < 10
    Log To Console    ${counter}
    ${counter}    Evaluate ${counter} + 1
END

Same for FOR loops. Robocop should imedietely mark such variable as used if it's in the loop and was already used in current scope.
Be careful to still catch following issue:
WHILE    ${counter} < 10
    ${not_used}    Keyword
END

Hi @bhirsz ,
When user send ${counter} as an argument then we are observing this issue again. Below is the code snipped along with package versions. Request your help to resolve this issue. Thank you
Unused Variable Rule Validation     [Arguments]    ${counter}     WHILE    ${counter} < 10         Log To Console    ${counter}         ${counter}    Evaluate    ${counter} + 1     END
robotframework-robocop               4.1.1
robotframework                       5.0.1
Python 3.9.10

@gs-grmadhu
Thanks for the report, I will check it.

I can reproduce the bug - I fixed it, it will be part of the next release.

Released in 4.2.0

Hi @bhirsz ,
we are observing this issue again. Below is the code snippet along with package versions. Request your help to resolve this issue. Thank you
*** Settings ***
Documentation    Testing the unused variable
Library    Collections

*** Variables ***
${count}    4

*** Keywords ***
Testing Unused Variable
    [Arguments]    ${list}
    FOR    ${itemObject}    IN    @{list}
        Set To Dictionary    ${itemObject}    displayOrder=${count}
        ${count}    Evaluate    ${count} + 1
    END

robotframework-robocop 4.2.0
robotframework 5.0.1
Python 3.9.10

Thanks for testing it quickly - most likely I didn't cover FOR loop arguments in the change. I will fix it.

@gs-skkavuri
Fixed the issue in the Robocop 4.2.1. Let me know if there are still some issues with this rule - the implementation is due to refactor, but we should at least work on bugs. With every issue our regression test base grows so we at least shouldn't have the same issue again, just similar or uncatched edge cases.


feat(export): add export all files to zip

Closes #22
This PR:

Adds a new download file tokens.zip which unzips to include the full tokens directory with dark and default subdirectories & all included files.
Adds webpack && typescript to the plugin workflow.

Plugin source code now lives in plugins/export-patternfly-tokens/src and compiles to plugins/export-patternfly-tokens/dist, which is the final code used by Figma, by running yarn build:plugin.
Prior individual JSON file download links are unchanged.  Note that plugins dist directory has been committed to allow for plug-and-play for designers rather than having to compile code, but I'm open to alternate suggestions.

@evwilkin has the process changed enough for the readme to be updated?

@srambach yes thanks for the catch, I'll update the README 👍


Add set_delegate_take command to btcli

@ifrit98 Please let me know what branch this should be merged into, as it seems staging isn't the right one either.


Missing paragraph break when the play begins

There should be a paragraph break here:

I put in a paragraph break instead of a line break. Again, I'll wait to close this til I verify it, but this looks like a quick fix. Thanks for this--line breaks are always a pain for programmer testing but others' transcripts make them so clear in a way my own transcripts don't.
Also I tidied up the text to make sure that, yes, people can be mean about looks, but they can be even worse.


Pull down to refresh support

Hi. Can you add support for pull down to refresh? Or can you suggest me a solution for it? Thanks

I will add pull to refresh support soon.

Hi, I've been waiting for three months. When can you add it?

Same here. Cannot use it without refresh support...

Hi @kspo,
Any progress in PTR?! Using this and appreciating it but we need pull to refresh functionality.
If you lay down the specs of how you see the implementation we can try to implement it and create a PR.

Any update ?


Generate compact control

Currently, the systolic array generator naively generates a seq of par to enable the compute and data movement groups. However, this means that for the same systolic array, as the size of the input data increase, the control FSM gets massive.
The compiler should instead generate a while loop to represent the steady state of the computation (enable all PEs) and have some cleanup/startup control for flushing/filling the systolic array.
I bet if we do this, we'll have a smaller resource footprint than the Dahlia generated designs.

That sounds cool. Ideally, down the road, this could even mean that a fixed-size systolic array could process variable data sizes (i.e., with a run-time-specified loop bound).

This was done thanks to @calebmkim's effort on the static paper!


[1853] EY - course details summary component

Context
https://trello.com/c/tpUYFEEI/1853-m-ey-course-details-summary-component
Changes proposed in this pull request

route is shown if draft and if non early years route

Guidance to review

 [M] EY - course details summary component


Add default inter-cluster security group rules

A magnum cluster gets spun up with some default rules for the workers and cp nodes to communicate with each other. E.g. Kubelet API 10250 rule. Is there a way we can add additional ports at deployment with the same pattern? I have some ports that I need to add to each cluster for monitoring, such as 9100 for node-exporter and 10249 for kube-proxy ...

This has been a reoccuring issue that is being brought up, however, there are some challanges in here:

If the user would use the pre-existing security groups, it would work until there is a change in the cluster which would result in a reconcile and their changes would disappear, this is a no go.
If the user would add a new security group to the VMs, that wouldn't work due to the fact that the autoscaler can add/remove and reconciles can make changes
If we had a label called allowed_ports or something, it would not be super useful because of the limitation of the Magnum API not allowing you to change labels after the fact.. so that means if you ever want to make a change down the line.. not possibel

The only possible reasonable solution I can think of is that we create 2 extra security groups (perhaps one for control plane and one for workers) and then you can make changes to them with different rules.  Unfortunately, this is not great for users who want to use something like Terraform to manage their infrastructure since you can't know ahead of time the name of the security group/etc.
I think the best way to go about this is probably looking into making a change to the Magnum API to make the label r/w and then have a list of ports that are opened in that way.

Another thing that we can do is loosen up inter-VM cluster traffic, by looking at few other examples:

AWS seems to configure allowing all inbound traffic inside the security group (allowing all internal traffic) and all outbound traffic to the internet.  They seem to allow you to modify the security group but it would automatically recreate the allow all internal traffic, so things are not "locked down".
GKE seems to also do the same as allowing all inter-VM traffic as well.

With this, I think it would make sense to allow all in cluster traffic out of the box to improve usability:
https://github.com/kubernetes-sigs/cluster-api-provider-openstack/blob/3c742d2cd136ca2c64b1245a97230ae038eafe84/docs/book/src/clusteropenstack/configuration.md?plain=1#L483-L486


[CSM-208] Don't print Greek letter mu to the console

Greek letter mu breaks things.

M E M N O

2⃣ K 1⃣  7⃣


Should I/O be Serialized, or should we accept text/base64/etc.. and parse?

It might be nice to have an API that accepts anything and does heuristics. If that fails it will return an error.
That could be frustrating for users that already have a SessionDescription/JSON though? We could provide two APIs (one for JSON/one for text?)

Having a single magical interface would be great :) Most folks are likely copying/pasting an SDP from somewhere else, rather than using the tool programmatically

:+1: These are the inputs I see.

SDP
SessionDescriptionInit (JSON that has Type+SDP field)

These values may be base64 encoded.

that makes sense. would be great to be able to autodetect it. Especially for new users of WebRTC, the difference might not be very clear. We could perform these steps:

checking if base64 encoded
checking if JSON
extracting SDP
indicating to user which type we've identified


[Snyk] Security upgrade @angular-devkit/build-angular from 0.1102.19 to 13.3.2

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to fix one or more vulnerable packages in the `npm` dependencies of this project.

Changes included in this PR

Changes to the following files to upgrade the vulnerable dependencies to a fixed version:

frontend/package.json

Vulnerabilities that will be fixed
With an upgrade:

Severity
Priority Score (*)
Issue
Breaking Change
Exploit Maturity

551/1000  Why? Recently disclosed, Has a fix available, CVSS 5.3
Regular Expression Denial of Service (ReDoS) SNYK-JS-MINIMATCH-3050818
Yes
No Known Exploit

(*) Note that the real score may have changed since the PR was raised.
Check the changes in this PR to ensure they won't cause issues with your project.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.
For more information:
🧐 View latest project report
🛠 Adjust project settings
📚 Read more about Snyk's upgrade and patch logic

Learn how to fix vulnerabilities with free interactive lessons:
🦉 Regular Expression Denial of Service (ReDoS)

Checkmarx AST – Scan Summary & Details – 1858b88f-d590-484a-83bc-6bba027fd8f4
New Issues

Severity
Issue
File / Package
Scan Engine

HIGH
Array Without Maximum Number of Items (v3)
/swagger.yml: 41
CxKICS

HIGH
CVE-2022-36313
Npm-file-type-4.4.0
CxSCA

HIGH
CVE-2022-36313
Npm-file-type-5.2.0
CxSCA

HIGH
CVE-2022-36313
Npm-file-type-11.1.0
CxSCA

HIGH
CVE-2022-36313
Npm-file-type-6.2.0
CxSCA

HIGH
CVE-2022-36313
Npm-file-type-3.9.0
CxSCA

HIGH
Cxc7705965-e0f0
<EMAIL_ADDRESS>CxSCA

MEDIUM
Additional Properties Too Permissive
/swagger.yml: 30, 33, 36, 40, 43
CxKICS

MEDIUM
Default Response Undefined On Operations (v3)
/swagger.yml: 21
CxKICS

MEDIUM
Global Server Object Uses HTTP
/swagger.yml: 4
CxKICS

MEDIUM
JSON Object Schema Without Type (v3)
/swagger.yml: 21, 22
CxKICS

MEDIUM
Maximum Length Undefined (v3)
/swagger.yml: 32, 35, 39, 45
CxKICS

MEDIUM
Numeric Schema Without Format (v3)
/swagger.yml: 39
CxKICS

MEDIUM
Numeric Schema Without Maximum (v3)
/swagger.yml: 39
CxKICS

MEDIUM
Numeric Schema Without Minimum (v3)
/swagger.yml: 39
CxKICS

MEDIUM
Pattern Undefined (v3)
/swagger.yml: 32, 35, 39, 45
CxKICS

MEDIUM
Response Code Missing (v3)
/swagger.yml: 21
CxKICS

Fixed Issues

Severity
Issue
File / Package
Scan Engine

HIGH
CVE-2020-28469
Npm-glob-parent-3.1.0
CxSCA

HIGH
CVE-2021-23449
Npm-vm2-3.9.3
CxSCA

HIGH
CVE-2021-23555
Npm-vm2-3.9.3
CxSCA

HIGH
CVE-2021-44906
Npm-minimist-0.2.1
CxSCA

HIGH
CVE-2022-21213
Npm-mout-1.2.3
CxSCA

HIGH
CVE-2022-24771
Npm-node-forge-0.10.0
CxSCA

HIGH
CVE-2022-24772
Npm-node-forge-0.10.0
CxSCA

HIGH
Cx347a3da7-ba99
Npm-node-forge-0.10.0
CxSCA

MEDIUM
CVE-2022-0122
Npm-node-forge-0.10.0
CxSCA

MEDIUM
CVE-2022-24773
Npm-node-forge-0.10.0
CxSCA


qiskit.circuit.reset -> which helps in resettting qubit to |0> state

reset feature which is available on qiskit is required in braket to make use of less number of qubits and make programs efficient and small. Please add it as soon as possible as I am implementing Shor's Algo and reset functionality makes it faster and efficient.

Note this would be required in order to address https://github.com/qiskit-community/qiskit-braket-provider/issues/186


Please publish "supported releases" information in a structured format (JSON, XML, YAML, RDFa, etc)

(This is used to request new product features, please visit https://discuss.istio.io for questions on using Istio)
Describe the feature request
I would like to see the Istio team publish the "supported releases" matrix, as seen in an HTML table here:
https://istio.io/latest/docs/releases/supported-releases/
as a structured file format (I don't really care what format, any of JSON, XML, YAML, etc would be fine I think) at a well known URL. This would allow us to easily import that information into a local database, where we would want to use it to help ensure that Istio versions are kept current and compatible, especially in the face of automatic upgrades of, eg AKS clusters.
Describe alternatives you've considered
We could scrape the page linked above and parse the data out of the HTML, but web scraping is notoriously brittle, as people who author web pages are not typically thinking about having any sort of "contract" with consumers who consume the page by scraping it. So pages tend to get reorganized, restyled, etc. in ways to break scrapers.
Affected product area (please put an X in all that apply)
[ ] Ambient
[ X] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[ ] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context
N/A

Just to add another thought to this: another cool way to handle this might be with embedded RDFa.
https://rdfa.info/
https://www.w3.org/TR/rdfa-primer/
https://en.wikipedia.org/wiki/RDFa
Then the endpoint could stay the same, but anybody trying to extract the compatibility matrix in a structured form would have a consistent way to do that without relying on css selectors, or arbitrary whims of the HTML layout.

https://github.com/istio/enhancements/blob/master/features.yaml is probably what you're looking for

https://github.com/istio/enhancements/blob/master/features.yaml is probably what you're looking for

Thanks, that does look interesting and potentially useful, but in a different context.  For now, unless I'm missing something, that's not quite what I had in mind. I just want the matrix mapping Istio versions to the corresponding supported AKS versions, in some (any) structured format so it will be easy to import and use programmatically.

@keithmattix  - That said, you inspired me to dig deeper into the Istio repo(s) and I think I did actually find what I was looking for. It seems like the compatibility matrix is here in yaml format:
https://github.com/istio/istio.io/blob/master/data/compatibility/supportStatus.yml
I think this is exactly what I need.  I'll try to verify that everything I need is there, and if it is I can close this issue.

Ah yes i misread your initial issue. Glad you found what you're looking for though!

I was going to ask if the work in https://github.com/istio/istio.io/pull/12834 didn't satisfy what you were looking for.

I was going to ask if the work in istio/istio.io#12834 didn't satisfy what you were looking for. We did cherry-pick that back to release-1.17 so it is used by istio.io as well as preliminary.istio.io

Yep, that looks like exactly what I need. I just wasn't aware that that existed when I first opened this.


feat(store_event): add pc and robidx debugging information for store event

Should we merge this now?

Should we merge this now?

Yes, thanks.


Extend pvsc script

See #3837
This PR:

Changes the subprocess.run to have shell=False
Handles failed commands by printing the command output (stderr) to the screen
Adds --repo and --branch options to the setup command

@brettcannon
I just had a look and it's documented already, and it's OS-specific. This only applies to POSIX-systems:
On POSIX with shell=True, the shell defaults to /bin/sh. If args is a string, the string specifies the command to execute through the shell. This means that the string must be formatted exactly as it would be when typed at the shell prompt. This includes, for example, quoting or backslash escaping filenames with spaces in them. If args is a sequence, the first item specifies the command string, and any additional items will be treated as additional arguments to the shell itself. That is to say, Popen does the equivalent of:

https://docs.python.org/3/library/subprocess.html#popen-constructor
If you're all using Windows but this only applies to POSIX, I could put a switch in?

Ugh, it figures it wouldn't quite be so straight-forward.  Let's go with shell=False and see if we bump into any more issues.
Only thing left to do, @tonybaloney , is to add a news entry file in under Code Health mentioning your changes and thanking yourself!

@brettcannon done! news entry added, (btw the docs suggest using the issue # as the name of the file, but the other files in that directory were using the PR number, so I followed that)

It actually should be the issue number. If others have used the PR number I need to go fix them.

I went ahead and renamed the file.

It actually should be the issue number. If others have used the PR number I need to go fix them (and please let me know who got this wrong as we need to fix those).

I went back through them, I read it wrong. They were named after the issue #


Allow only node version 14 and above

Currently if someone uses node version 12, since node v12 doesn't support optional chaining, project breaks for them.
We can add a check on project level that we'll only support node v14 and above

I want to take up this issue. Please assign


Artifactory instance of packages.adoptium.net does not contain Temurin but shows old AdoptOpenJDK packages

See the IP addresses:
❯ host packages.adoptium.net
packages.adoptium.net is an alias for packages-adoptium-net.customers.jfrog.net.
packages-adoptium-net.customers.jfrog.net is an alias for endpointdns-gcprod-use1-lb.jfrog.io.
endpointdns-gcprod-use1-lb.jfrog.io has address <IP_ADDRESS>

❯ host adoptopenjdk.jfrog.io
adoptopenjdk.jfrog.io is an alias for endpointdns-gcprod-use1-lb.jfrog.io.
endpointdns-gcprod-use1-lb.jfrog.io has address <IP_ADDRESS>

There is no t directory with the temurin packages anymore in both artifactory instances:
https://adoptopenjdk.jfrog.io/ui/repos/tree/General/deb/pool/main
https://packages.adoptium.net/ui/repos/tree/General/deb/pool/main
Please take a look! This is critical because all mirrors and remote-repos out there, including our own, don't show temurin packages anymore. Please make the temurin packages available under packages.adoptium.net again.
Could it be that a cname switch of your Artifactory instances has gone wrong?

@nudgegoonies thanks for raising this bug, it appears to be an issue on the JFROG end. I've raised an urgent ticket so will hopefully hear back from them soon. I'll keep this issue updated


Ternary In Interpolated String Doesn't Work As Expected

The code below is from this page (in several places):
public override string ToString() => $"The light is {isOn: \"on\", \"off\"}";

It outputs 'The light is True' or 'The light is False', in .NET Core 3.1 (C# 8.0) and .NET Framework 4.8 (C# 7.3).
I don't think there is a way of fixing this using that syntax (?).  If we want it to say 'The light is on' or 'The light is off' we need:
public override string ToString() => $"The light is {(isOn ? "on" : "off")}";

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

ID: 646641fc-f698-5633-5f6b-2eb5f0c03d7f
Version Independent ID: c6e0d402-962e-4b6c-b1f4-4e91eb585692
Content: Create mixin types using default interface methods
Content Source: docs/csharp/tutorials/mixins-with-default-interface-methods.md
Product: dotnet-csharp
Technology: csharp-advanced-concepts
GitHub Login: @BillWagner
Microsoft Alias: wiwagn

Thanks for pointing this out @rich-newman You are correct.
I've added this to the current sprint to address.


ImportError: libcublas.so.9.0: cannot open shared object file

ImportError: libcublas.so.9.0: cannot open shared object file
I have checked the tensorflow-gpu version.It is 1.13.2.Its cuda counterpart should be 10.
However, mine was 9, so I installed tensorflow version 1.12.0,

This is an issue with tensorflow-gpu installation not with tape specifically, so not sure I can help.


Access Depthmap Frame Intrinsics from Viewer ROS .bag Files

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Kernel Version (Linux Only)
n/a

Platform
PC

SDK Version
n/a

Language
MATLAB 2020b

Segment
Other

Issue Description
I'm using the Viewer software to record and save depthmaps from my D435 to ROS .bag files. I would like to access the camera frame intriniscs from the ROS .bag files.
I'm using the depthmap decimation post-processing filter, which changes the camera intrinsics for the depthmaps. This makes them different than the calibrated instrincs available via the SDK and calibration table in the Viewer.
I'm using the frame intrinsics to perform deprojection on processed depthmaps to pointclouds {x,y,z} data. Because I'm processing my depthmaps I'm unable to just read the pointclouds from the device for my application.
So far, I've read the topics and messages in the ROS .bag file in MATLAB 2020b, trying to identify the frame intrinsics.
Thank in advance.

Hi @jrder   Is the solution that you require dependent on MATLAB, please?  If it is possible for you to use Python, the link below has a script for extracting the intrinsics of each frame from a bag.
https://github.com/IntelRealSense/librealsense/issues/7309

Hi @MartyG-RealSense, I have to use MATLAB, my depthmap processing is done there.
However, the thread you linked is exactly what I need. I didn't know that you could read the bag file with the SDK. I should be able to replicate the process in MATLAB.
Thank you.

It's great to hear that the link was helpful - thanks very much for the update!

Hi @MartyG-RealSense, I've been able to write a function similar to the linked issue in MATLAB. However, the playback fails when waiting for the 16th frame of a 48 second recording.
I've read other similar issues, where they use a playback object to set_real_time to false, and ensure that the repeat_playback option for the configuration is set to false.
Any further help would be appreciated.
Below is my MATLAB code so far.
function [frameset] = rs2_readRosbag(filename)
%% Read ROS .bag file created from Intel Realsense Viewer Recording
% by jrder
% date April 6, 2021
% inputs: ROS .bag filename / absolute file path
% outputs: array of frame objects

arguments
  filename
end

%% initializations for replaying bag file
  % configuration
  cfg = realsense.config();
  % pipeline
  pipe = realsense.pipeline();
  % frameset empty array
  frameset = [];
  % frameset counter
  counter = 0;
  % frameset while loop condition
  frames_exist = true;

%% replay bag file
  % replay file through configuration
  cfg.enable_device_from_file(filename,false);
  % stream bag file through pipeline
  profile = pipe.start(cfg);
  % create playback object
  playback = profile.get_device().as('playback');
  % set real time to false to catch all frames
  playback.set_real_time(false);

%% count number of frames and append to frameset array
  % while loop through frames until error occurs
  while frames_exist
    % attempt to collect frame
    try
      % read frame
      fs = pipe.wait_for_frames(); <--------------------- fails here after counter reaches 15
      % append frame to frameset array
      frameset = [frameset fs];
      % increment counter
      counter = counter + 1;
    catch
      % when error occurred, write text
      fprintf('number of frames %2.0f\n',counter);
      % set while loop condition to false
      frames_exist = false;
      % exit loop
      break
    end
  end
  % stop bag file replay
  pipe.stop();

end

If the above code is Python then that would explain the program stopping after the 15th frame.  This is a known effect of using an append in Python to save frames into a collection.
https://github.com/IntelRealSense/librealsense/issues/946
The link below provides details of two different methods that have been used in the past to avoid this limitation.
https://github.com/IntelRealSense/librealsense/issues/8652#issuecomment-804993692

Thanks very much @jrder for sharing your solution  :)


Replace the occurrences of certain words

Description:
Replace these words on the tooling repos.
Suggested Labels:

Suggested Assignees:

Affected Product Version:
OS, DB, other environment details and versions:
Steps to reproduce:
Related Issues:

Checked the following repositories for the words,
developer-studio
devstudio-tooling-bps
devstudio-tooling-dss
devstudio-tooling-ei
devstudio-tooling-esb
devstudio-tooling-platform
No occurrences were found in the UI of the integration studio