DNS doesn't not work

I get errors during starting DNS in kube2sky pod:
kubectl logs --namespace=kube-system kube-dns-v9-xajqs kube2sky
Failed to list *api.Endpoints: couldn't get version/kind; json parse error: invalid character '<' looking for beginning of value
Failed to list *api.Service: couldn't get version/kind; json parse error: invalid character '<' looking for beginning of value
I launched this scripts on Ubuntu 14.04 not on OSX.

I just switched to official kubernetes v1.1.2 and seems everything works good

Do you still have this issue? It was that issue that led me to create this funnily enough. I have raised #10 and will update the images later today. I don't see why Ubuntu would impact something running in a container. Once I have updated the images (I already have a project using the latest and works ok), I will update here, could you then test please?

Hello. Yes, I still have this issue. I'm waiting your updates to test :)

@kurakin-oleksandr
Please checkout feature/update_images branch. Works for me on my Mac, here is the log output of the healthz checking the lookup is working.
Let me know how you get on. If ok I will merge pull #11
Thanks
md nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:01 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:03 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:05 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:08 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:09 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:11 Client ip <IP_ADDRESS>:51671 requesting /healthz probe servicing cmd nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:11 Client ip <IP_ADDRESS>:51672 requesting /healthz probe servicing cmd nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:12 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:13 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:15 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:17 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:19 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:21 Client ip <IP_ADDRESS>:51685 requesting /healthz probe servicing cmd nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:21 Client ip <IP_ADDRESS>:51686 requesting /healthz probe servicing cmd nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:21 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:24 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null
2015/12/09 20:51:25 Worker running nslookup kubernetes.default.svc.cluster.local localhost >/dev/null

It doesn't help. I've same problem. Logs from healthz:
2015/12/09 21:24:36 Client ip <IP_ADDRESS>:50177 requesting /healthz probe servicing cmd nslookup kubernetes.default.svc.cluster.local localhost >/dev/null 2015/12/09 21:24:36 Healthz probe error: Result of last exec: nslookup: can't resolve 'kubernetes.default.svc.cluster.local' , at 2015-12-09 21:24:35.054405351 +0000 UTC, error exit status 1

Ah - here's a thought. Did up update config.sh to change the IP where your kubernetes api endpoint is?
For me, because I am running Docker in the VM it is:
export KUBE_SERVER=http:\\/\\/<IP_ADDRESS>:8080

Which is the IP of my endpoint for the containers (kube2sky in particulary) to talk to the kubemaster.
So, as you are running on Linux anyway, isn't your api available on <IP_ADDRESS>:8080?

Yes, sure. I use <IP_ADDRESS> but it's same as <IP_ADDRESS>

So you have changed the KUBE_SERVER value to that and run ./setup_dns.sh and restarted the dns replication controller, and it still doesn't work? Actually that may make sense because it may actually think it is local to the container itself.
If you exec into the kube2sky container and you wget http://<IP_ADDRESS>:8080 do you get the root api response?
If not what if you set up a host entry on your machine?
<IP_ADDRESS> kube.api

Then use that in the KUBE_SERVER?

You're right. It fetches response from wrong server:
 Kubernetes healthz sidecar container /healthz: healthz probe. Returns "ok" if the command given through -cmd exits with 0./quit: Cause this container to exit.

I use another IP (<IP_ADDRESS> - looks like it's docker's). DNS container run!
kubectl exec busybox -ti nslookup kubernetes
Server:    <IP_ADDRESS>
Address 1: <IP_ADDRESS>
Name:      kubernetes
Address 1: <IP_ADDRESS>
Bingo!
Thank you, @justingrayston

Great. I have created #12 to make the Readme clearer. Thanks.


Mazda TI support

This adds the necessary changes to panda for the popular MoreTorque torque interceptor for mazda cars.

@eFiniLan can you review this!

@RedFox102 Thanks for the PR, sorry I'm not familiar with TI, with the changes in safety_mazda, does that increase the limit of controls?
would a separate safety a better option? or you think it's unnecessary? my point is not to affect non-TI user at the same time keeping the changes clean.

It works perfectly fine for TI and non-TI users, you can disconnect the TI and continue using openpilot with just the cars stock LKAS, so no reason to have a separate safety file I think.
Stock LKAS steer_max is 800 as seen here in panda safety, while TI maxes out at 600. In Mazda values.py, there are separate steer_max values for the TI (called TI_STEER_MAX), because if you send a value over 600 the TI will fault.

@RedFox102 THANKS, could you take a look the conflict and fix that please?
@rav4kumar looks fine to me, only concern is the HEALTH_STRUCT changes,
make sure we remember to keep track of it otherwise we will have hard time debugging :joy:

@eFiniLan Yes, done.

@rav4kumar We need the torqueInterceptorDetected packet to update params in controlsd. I'm glad you asked this because I forgot to update controlsd, so it wouldn't have worked. It's done now though.

@rav4kumar We need the torqueInterceptorDetected packet to update params in controlsd. I'm glad you asked this because I forgot to update controlsd, so it wouldn't have worked. It's done now though.

opps.. accidentally closed it, sorry :(


Inhancement of node.js version detections

What version?
0.35.3
Which command?
No response
What happened?
When I install node modules packages, I met this message.
Error: plugin::call_func::failed

  × unexpected character 'v' while parsing major version number

The project using package.json for pin node version like this.
...

  "engines": {
    "node": ">=v18.0.0"
  }

The v makes incorrect. After I remove v works fine.
I think may support start with v node version would be more nice for compatibility to other tools?
Trace logs?
No response
Operating system?
MacOS
Architecture?
arm64

This is reasonable, will look into.


3.6.0-rc1: Controller panics due to metrics round-tripper data race

Pre-requisites

[X] I have double-checked my configuration
[X] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.
[X] I have searched existing issues and could not find a match for this bug
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened? What did you expect to happen?
These two roundtripper wrappers, instantiated here introduce a data race.
To demonstrate, apply this modification to the Makefile
--- a/Makefile
+++ b/Makefile
@@ -223,9 +223,9 @@ controller: dist/workflow-controller
 dist/workflow-controller: $(CONTROLLER_PKG_FILES) go.sum
 ifeq ($(shell uname -s),Darwin)
        # if local, then build fast: use CGO and dynamic-linking
-       go build -gcflags '${GCFLAGS}' -v -ldflags '${LDFLAGS}' -o $@ ./cmd/workflow-controller
+       go build -race -gcflags '${GCFLAGS}' -v -ldflags '${LDFLAGS}' -o $@ ./cmd/workflow-controller
 else
-       CGO_ENABLED=0 go build -gcflags '${GCFLAGS}' -v -ldflags '${LDFLAGS} -extldflags -static' -o $@ ./cmd/workflow-controller
+       go build -race -gcflags '${GCFLAGS}' -v -ldflags '${LDFLAGS} -extldflags -static' -o $@ ./cmd/workflow-controller
 endif

Then execute make test-functional E2E_ENV_FACTOR=2 (make sure to show all logs from make start)
Stack trace of the data race follow below.
This PR adds E2E tests that currently fail, but pass with those roundtripper wrappers commented out. When the race detector is not enabled, the workflow controller panics as follows intermittently during those tests when cleaning up multiple daemon pods in rapid succession:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x4edb27]

goroutine 1070 [running]:
io.ReadAtLeast({0x0, 0x0}, {0xc0015076d0, 0x4, 0x4}, 0x4)
    /usr/local/go/src/io/io.go:335 +0x67
io.ReadFull(...)
    /usr/local/go/src/io/io.go:354
encoding/binary.Read({0x0, 0x0}, {0x2c8e900, 0x41ebf00}, {0x22c3be0, 0xc000be5e24})
    /usr/local/go/src/encoding/binary/binary.go:244 +0xa5
github.com/moby/spdystream/spdy.(*Framer).ReadFrame(0xc001312fc0)
    /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/github.com/moby/spdystream/spdy/read.go:164 +0x49
github.com/moby/spdystream.(*idleAwareFramer).ReadFrame(0xc00092c140)
    /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/github.com/moby/spdystream/connection.go:167 +0x1e
github.com/moby/spdystream.(*Connection).Serve(0xc0008ba2c0, 0xc000727200)
    /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/github.com/moby/spdystream/connection.go:341 +0x265
created by k8s.io/apimachinery/pkg/util/httpstream/spdy.newConnection in goroutine 251
    /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/connection.go:94 +0x127

Both the data race and panic still occur when reverting the changes in that PR other than the additional tests.
P.S. I observed several other data races when I enabled the race detector, I strongly suggest using race detector-enabled binaries in CI. There may be several more latent issues hiding.
Version(s)
ce7f9bfb9b45f009b3e85fabe5e6410de23c7c5f
Paste a minimal workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
 I observed several other data races when I enabled the race detector, I strongly suggest using race detector-enabled binaries in CI. There may be several more latent issues hiding.

👀 I didn't know you could build -race, thought it was only test -race

👀 I didn't know you could build -race, thought it was only test -race

Yep, build -cover too, so you can get coverage data from e2e as well unit tests.

Upon further testing, it is specifically the metrics RoundTripper that causes the panic, but the logs one alone produces this other data race.
==================
WARNING: DATA RACE
Read at 0x00c0006a8ee8 by goroutine 177:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewUnfinishedWorkSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:268 +0x193
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:240 +0x19d
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/cron.NewCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/cron/controller.go:84 +0x4bb
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:270 +0x3dd
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap16()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x5d

Previous write at 0x00c0006a8ee8 by goroutine 176:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewUnfinishedWorkSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:268 +0x271
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:240 +0x19d
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/gccontroller.NewController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/gccontroller/gc_controller.go:52 +0x67a
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runGCcontroller()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:260 +0x1f4
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap15()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x5d

Goroutine 177 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x281d
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa

Goroutine 176 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x272e
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa
==================
==================
WARNING: DATA RACE
Read at 0x00c000418510 by goroutine 177:
  runtime.growslice()
      /usr/local/go/src/runtime/slice.go:177 +0x0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewUnfinishedWorkSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:268 +0x1c9
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:240 +0x19d
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/cron.NewCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/cron/controller.go:84 +0x4bb
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:270 +0x3dd
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap16()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x5d

Previous write at 0x00c000418510 by goroutine 176:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewUnfinishedWorkSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:268 +0x20c
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:240 +0x19d
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/gccontroller.NewController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/gccontroller/gc_controller.go:52 +0x67a
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runGCcontroller()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:260 +0x1f4
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap15()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x5d

Goroutine 177 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x281d
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa

Goroutine 176 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x272e
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa
==================
==================
WARNING: DATA RACE
Read at 0x00c0006a8f68 by goroutine 177:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewLongestRunningProcessorSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:280 +0x193
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:241 +0x1c7
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/cron.NewCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/cron/controller.go:84 +0x4bb
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:270 +0x3dd
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap16()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x5d

Previous write at 0x00c0006a8f68 by goroutine 176:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewLongestRunningProcessorSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:280 +0x271
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:241 +0x1c7
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/gccontroller.NewController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/gccontroller/gc_controller.go:52 +0x67a
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runGCcontroller()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:260 +0x1f4
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap15()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x5d

Goroutine 177 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x281d
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa

Goroutine 176 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x272e
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa
==================
==================
WARNING: DATA RACE
Read at 0x00c0004185d0 by goroutine 177:
  runtime.growslice()
      /usr/local/go/src/runtime/slice.go:177 +0x0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewLongestRunningProcessorSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:280 +0x1c9
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:241 +0x1c7
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/cron.NewCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/cron/controller.go:84 +0x4bb
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runCronController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:270 +0x3dd
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap16()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x5d

Previous write at 0x00c0004185d0 by goroutine 176:
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).NewLongestRunningProcessorSecondsMetric()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:280 +0x20c
  k8s.io/client-go/util/workqueue.(*queueMetricsFactory).newQueueMetrics()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/metrics.go:241 +0x1c7
  k8s.io/client-go/util/workqueue.newQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:88 +0x153
  k8s.io/client-go/util/workqueue.NewWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/queue.go:59 +0x157
  k8s.io/client-go/util/workqueue.NewDelayingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/delaying_queue.go:67 +0x9f
  k8s.io/client-go/util/workqueue.NewRateLimitingQueueWithConfig()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:71 +0x15c
  k8s.io/client-go/util/workqueue.NewNamedRateLimitingQueue()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/util/workqueue/rate_limiting_queue.go:87 +0xf0
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*Metrics).RateLimiterWithBusyWorkers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/work_queue.go:133 +0x16a
  github.com/argoproj/argo-workflows/v3/workflow/gccontroller.NewController()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/gccontroller/gc_controller.go:52 +0x67a
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runGCcontroller()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:260 +0x1f4
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap15()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x5d

Goroutine 177 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:365 +0x281d
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa

Goroutine 176 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:364 +0x272e
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa
==================

Similarly, in addition to the data race in the original post, running with just the metrics RoundTripper produces additional data races
==================
WARNING: DATA RACE
Read at 0x00c000f1e600 by goroutine 197:
  crypto/tls.(*Config).Clone()
      /usr/local/go/src/crypto/tls/common.go:897 +0x95c
  crypto/tls.dial()
      /usr/local/go/src/crypto/tls/tls.go:153 +0x35b
  crypto/tls.(*Dialer).DialContext()
      /usr/local/go/src/crypto/tls/tls.go:219 +0x10a
  k8s.io/apimachinery/pkg/util/httpstream/spdy.(*SpdyRoundTripper).dialWithoutProxy()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go:321 +0x304
  k8s.io/apimachinery/pkg/util/httpstream/spdy.(*SpdyRoundTripper).dial()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go:177 +0x2b4
  k8s.io/apimachinery/pkg/util/httpstream/spdy.(*SpdyRoundTripper).Dial()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go:154 +0x133
  k8s.io/apimachinery/pkg/util/httpstream/spdy.(*SpdyRoundTripper).RoundTrip()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/httpstream/spdy/roundtripper.go:343 +0x5b2
  github.com/argoproj/argo-workflows/v3/workflow/metrics.metricsRoundTripper.RoundTrip()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/metrics/metrics_k8s_request.go:53 +0x91
  github.com/argoproj/argo-workflows/v3/workflow/metrics.(*metricsRoundTripper).RoundTrip()
      <autogenerated>:1 +0x97
  k8s.io/client-go/transport.(*userAgentRoundTripper).RoundTrip()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/transport/round_trippers.go:168 +0x4f2
  net/http.send()
      /usr/local/go/src/net/http/client.go:259 +0x9a6
  net/http.(*Client).send()
      /usr/local/go/src/net/http/client.go:180 +0x14e
  net/http.(*Client).do()
      /usr/local/go/src/net/http/client.go:725 +0x11b5
  net/http.(*Client).Do()
      /usr/local/go/src/net/http/client.go:590 +0x6a6
  k8s.io/client-go/rest.(*Request).request()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/rest/request.go:1023 +0x3ac
  k8s.io/client-go/rest.(*Request).Do()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/rest/request.go:1063 +0x119
  github.com/argoproj/argo-workflows/v3/pkg/client/clientset/versioned/typed/workflow/v1alpha1.(*workflows).Update()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/pkg/client/clientset/versioned/typed/workflow/v1alpha1/workflow.go:117 +0x2a7
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*wfOperationCtx).persistUpdates()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/operator.go:761 +0xaaf
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*wfOperationCtx).operate.func1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/operator.go:191 +0x46
  runtime.deferreturn()
      /usr/local/go/src/runtime/panic.go:605 +0x5d
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).processNextItem()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:891 +0xefe
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runWorker()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:806 +0xec
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runWorker-fm()
      <autogenerated>:1 +0x33
  k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:226 +0x41
  k8s.io/apimachinery/pkg/util/wait.BackoffUntil()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:227 +0xc4
  k8s.io/apimachinery/pkg/util/wait.JitterUntil()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:204 +0x10a
  k8s.io/apimachinery/pkg/util/wait.Until()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:161 +0x4e
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap18()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:370 +0x17

Previous write at 0x00c000f1e600 by goroutine 172:
  k8s.io/client-go/transport.TLSConfigFor()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/transport/transport.go:88 +0x24b
  k8s.io/client-go/rest.TLSConfigFor()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/rest/transport.go:57 +0x51
  k8s.io/client-go/transport/spdy.RoundTripperFor()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/transport/spdy/spdy.go:38 +0x3b
  k8s.io/client-go/tools/remotecommand.NewSPDYExecutor()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/client-go/tools/remotecommand/spdy.go:46 +0x39
  github.com/argoproj/argo-workflows/v3/workflow/common.ExecPodContainer()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/common/util.go:93 +0xf84
  github.com/argoproj/argo-workflows/v3/workflow/signal.ExecPodContainerAndGetOutput()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/signal/signal.go:49 +0xe6
  github.com/argoproj/argo-workflows/v3/workflow/signal.SignalContainer()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/signal/signal.go:45 +0x764
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).signalContainers()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:675 +0x1d5
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).processNextPodCleanupItem.func2()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:564 +0x6dd
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).processNextPodCleanupItem()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:593 +0x3cf
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runPodCleanup()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:539 +0x47
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).runPodCleanup-fm()
      <autogenerated>:1 +0x21
  k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext.func1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:259 +0x46
  k8s.io/apimachinery/pkg/util/wait.BackoffUntil.func1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:226 +0x41
  k8s.io/apimachinery/pkg/util/wait.BackoffUntil()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:227 +0xc4
  k8s.io/apimachinery/pkg/util/wait.JitterUntil()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:204 +0x10a
  k8s.io/apimachinery/pkg/util/wait.JitterUntilWithContext()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:259 +0xd2
  k8s.io/apimachinery/pkg/util/wait.UntilWithContext()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/vendor/k8s.io/apimachinery/pkg/util/wait/backoff.go:170 +0x5c
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run.gowrap12()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:359 +0x17

Goroutine 197 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:370 +0x29d1
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa

Goroutine 172 (running) created at:
  github.com/argoproj/argo-workflows/v3/workflow/controller.(*WorkflowController).Run()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/workflow/controller/controller.go:359 +0x2316
  main.NewRootCommand.func1.1.gowrap1()
      /home/andrew/git/src/github.com/meln5674/argo-workflows/cmd/workflow-controller/main.go:151 +0xaa
==================

Smoking gun has been  identified, will make PR as soon as tests finish running.

cc @isubasinghe as we've talked about races many times before (e.g. #10807 (comment)) and @Joibel regarding metrics

Yeah I am not really surprised by the data races, golang doesn't give enough to catch these at compile time.
We should enable -race in CI though, I did actually assume this was already done.

I did actually assume this was already done.

I think we have little to no pre-existing Go SMEs, with a lot of us learning as we go.
The race detector just gives warnings though, right? Or can we make it error out in CI? Because otherwise we'll still miss the warnings in the logs unless someone passes through them

@agilgur5 it does exit with a non-zero exit code and could be detected in the CI, but I presume its not in CI because of how long it takes? It's basically a fuzzer not a static analysis tool and needs to brute force the search space effectively.
I would personally still have it in CI maybe running on the releases only or on a weekly cadence on main at least.

One thing I noticed in running the e2e tests locally is that, by default, the "kit" setup doesn't show logs for the operator, nor does it fail if either the server or controller crash, both of which seem counter to the point of an e2e test. There really ought to be some part of the CI setup that dumps the logs to stdout/err at the end disables restarts and causes the test to fail because there's nothing to actually act upon those tests, unless there's a test that specifically interrogates behavior after a restart.

I think we have little to no pre-existing Go SMEs, with a lot of us learning as we go. I know you and Alan have been learning some of the tooling and idioms and might have the most Go knowledge these days

While it may be a little pompous to describe myself as a Go SME, I have been writing in it professionally for about 6 years at this point, and we leverage Argo in quite a few places at my current employer, so if that experience is of use to you, it would be to my direct benefit to offer it beyond just this one bug, especially considering this particular issue ended up blocking my other PR whose functionality we are eagerly awaiting.

but I presume its not in CI because of how long it takes? It's basically a fuzzer not a static analysis tool and needs to brute force the search space effectively.

The performance hit to the app itself is relatively small on the scale of an automated test, the main issue is that it substantially increases compile times, and also requires a complete separate compile step (including recompiling all dependencies with the detector) compared to the "release" binaries, but I agree that a scheduled fuzz run plus as a gate before any numbered release is the best approach for the immediate future.

but I presume its not in CI because of how long it takes?

That was one reason why I never added it myself, though the original reason is probably that folks didn't know about it.
In https://github.com/argoproj/argo-workflows/issues/10807#issuecomment-2090959022, I mentioned running it nightly or weekly. The race detector docs say "memory usage may increase by 5-10x and execution time by 2-20x.". The lower end of that would be feasible per PR.

I would personally still have it in CI maybe running on the releases only or on a weekly cadence on main at least.

I'd suggest nightly to make it easier to narrow down regressions. Not that we'd necessarily check it nightly, but we could back through each nightly run's history at least. I'll write up an issue for this.

It's basically a fuzzer not a static analysis tool and needs to brute force the search space effectively.

That's what I thought before too, but apparently it's not per the docs. I can't seem to find the docs I read earlier that made me think that. It's actually an instrumentation tool, similar to code coverage, and detects races via instrumentation.
As such though, it only detects races that happen during run-time and not all theoretical races, so only a subset of conditions that we would be testing for, and we definitely miss some races in tests.
For reference for other folks in this thread, Isitha and I have previously discussed rewriting the core of Argo in a language with a more intelligent compiler, such as in Rust or Pony, which will detect at compile time a lot of issues we've had. "The core" is basically DAG processing / state machine, i.e. #13502.
Notably, that actually wouldn't cover the case of this issue, as this is in the networking / metrics stack, which makes heavy usage of k8s libraries that have first-class Go support.

There really ought to be some part of the CI setup that dumps the logs to stdout/err at the end

Dumping the logs does actually already happen on CI

nor does it fail if either the server or controller crash

A test case itself should fail if there's a crash, so this should still result in a test failure.

While it may be a little pompous to describe myself as a Go SME [...] so if that experience is of use to you, it would be to my direct benefit to offer it beyond just this one bug

You and Mason, another recent contributor, both seem to have substantially more Go experience than me at least (Argo is effectively the largest Go project I've ever worked on, and probably the one I've wrote the most Go code for as well, since I tend to be architect and/or reviewer and/or debugger far more often than writer in my day job these days), so I think that's a fair statement to make to me at least as it is self-evident 😅
And yea all contributions are welcome and we are definitely in need of more contributors too! See also the Sustainability Effort. We'd be happy for more help, especially from someone who knows the Go ecosystem well! 🙂

the main issue is that it substantially increases compile times, and also requires a complete separate compile step (including recompiling all dependencies with the detector)

Now that I've re-read the race detector docs a few times over, it sounds like go test -race would be enough for 99% of our tests, as nearly all of them run via go test. So that could simplify the CI part a good bit if we don't need a separate build step.
But if we're writing a scheduled variant instead of a per PR job, it would require a whole new GHA job anyway, so a different compile step wouldn't actually be that much more effort either

I would personally still have it in CI maybe running on the releases only or on a weekly cadence on main at least.

I'd suggest nightly to make it easier to narrow down regressions. Not that we'd necessarily check it nightly, but we could back through each nightly run's history at least. I'll write up an issue for this.

Wrote up https://github.com/argoproj/argo-workflows/issues/13661


python310Packages.gcal-sync: 3.0.0 -> 4.0.0

Description of changes
https://github.com/allenporter/gcal_sync/releases/tag/4.0.0

Things done

Built on platform(s)

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

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

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 199874 run on x86_64-linux 1

5 packages built:

home-assistant-component-tests.google
python310Packages.gcal-sync
python310Packages.ical
python39Packages.gcal-sync
python39Packages.ical


Quarterly report, Q3 2024

This will be due in mid-Sept 2024, along with Q4 budget.
Ideally, start looking at it in mid-August

Draft report: https://docs.google.com/document/d/1ZJeuLJ_5GYUjxZiUUEfXHkMfDTJoH11wjLmsTU-K3n0/edit?usp=sharing


[New parser] Minus sign after paren not accepted

SSCCE:
repro =
  (-2)

Error:
-- PARSE ERROR -------------------------------------------------------- Main.elm

Something went wrong while parsing an expression (in parentheses) in repro's
definition.

9|     (-2)
         ^
I was expecting to see a closing paren.

This also happens for non-literals, such as f (-myValue |> g) (which is less minimal but more compelling).

Thanks for the report, should be fixed with the latest commit. This was a tricky case because (-) and (-2) and all the dot stuff all needs to work!


Release 1.31.0

What
Release 1.31.0

[x] New Time Filter Option
[x] Update styling on feedback form (Non-JS)
[x] Keywords metat tag removed
[x] Homepage graceful degradation
[x] Increase number of In Focus tiles from 4 to 8

Noelles work I think that is contained in this would be good if someone else can verify/sanity check:

[x] Mobile 'other download options' box position
[x] Beta Badge overflow fix (renderer side)

@andre-urbani @rav-pradhan Can you please link any of your tickets that are contained in this release (so we can track what this contains and if everything has been signed off or not) - Going through Noelle's work too to try and identify which ones are in here.
How to review
Check that nothing has slipped into the release that shouldn't be in it
Check that everything in this release has been PO signed off
Who can review
Anyone except me

I think we'll want to make sure the homepage controller is released first, to ensure the new flags (hasFeaturedContent / hasMainFigures) are being read correctly in the renderer


Added table for RPi 2 and RPi B+ pinout

Added table for RPi 2 and RPi B+ pinout. Also deleted whitespace in first table
Signed-off-by: Ian Johnson<EMAIL_ADDRESS>

Merged with ff2ce93fc9085a0454feb62de256279a84d5dc2a. Thanks alot!


[QST] KerasSequenceLoader on GCP and Unsupported .version 7.6; current version is '7.4'

How to use KerasSequenceLoader on a GCP instance?
I'm training my model on AI Platform in GCP, where I submit my code as a docker container. The code has been tested on a spawned VM instance where it runs properly.
However when running it on AI Platform I'm getting errors like:
ptxas application ptx input, line 9; fatal   : Unsupported .version 7.6; current version is '7.4'

This actually comes from numba and is related to a mismatch between version of the drivers vs package installed (at least that's how I understand this).
I've tried using different images as a base but it actually does not help much the version in image is still too high (either 7.6 or 7.7, depending on the image). So, is there a way to run my code properly and reliably on GCP AI Platform?
Perhaps I should use some older version of the image that would have older package installed, but if so - which version would that be?
I've been trying to run the following base images:

nvcr.io/nvidia/merlin/merlin-tensorflow:22.11
nvcr.io/nvidia/merlin/merlin-training:22.05 - this one is used here: https://github.com/GoogleCloudPlatform/nvidia-merlin-on-vertex-ai

Both failed.
Note: Here's a way to solve it when having access to the machine: https://github.com/numba/numba/issues/7006

Solved, solution can be found here: https://github.com/GoogleCloudPlatform/nvidia-merlin-on-vertex-ai/issues/27


Fix or avoid various test failures that are showing up in CI

Relevant issues:

gh-17004
gh-16926
gh-16949
gh-17056

Okay, this fixes all the known older problems that I wanted to fix. Just one new problem with gfortran on Azure Ubuntu (unrelated to changes in this PR). I'll add one more fix, hopefully that helps.

I agree that the OpenBLAS issues do need investigation, but that is a separate task from fixing CI so we can sensibly work on other PRs.

I am checking that these days, so far no smoking guns.

The PROPACK issues may require a separate discussion for the next release. There are so many issues that at this point it would not be unreasonable to completely remove that functionality from SciPy.

I am slowly warming up to this idea as well.

Ah, great to hear you are looking into the issues @ilayn. I will mark the linked issues for the 1.10.0 release, so that we at least revisit them before the next release and can assess if we should really disable some functionality as @WarrenWeckesser suggests. It's not so easy to do this based on detected openblas version reliably, but that would be one option.


Add working days delta method

It would be interesting to implment a methon that gets working days between two given dates. Ie:
def get_working_days_delta(begin, end):
    '''
    Get working days between two dates
    '''
    days = 0
    temp_day = begin
    while temp_day <= end:
        if cal.is_working_day(temp_day):
            days += 1
        temp_day = temp_day + td(days=1)
    return days

interesting idea.

Perfect! Nice work, thanks for that!


Clean up complexity of the Issue Comment Handler

Changelog

Update Issue Comment Handler to have less complexity, movedlogic into the command handlers

/label enhancement

/approve

/merge

/merge


xdb: added NULLString

Coverage increased (+0.005%) to 85.79% when pulling 2c8eec73fbeb679c1f8b8d38793139ee7aaa337a on dissoupov into 72708984c21143d9f329fe8302f29b85bba2d0e4 on main.


grub: fix NoneType error when the recipe is used on other boards than…

… HiKey
If the recipe is used by other boards than Hikey, it triggers an
exception because the CMDLINE_ROOT_* variables aren't always set:
Exception: TypeError: argument of type 'NoneType' is not iterable
Make sure we ship default cfg files, even if they are HiKey specific.
Rework the function to set GRUB_CFG: set a default value to grub_cfg, add
a test to check if our variable isn't None.
Layer that override the recipe can just have a SRC_URI_append with their
own cfg files and invoke do_deploy_prepend() to set GRUB_CFG as they wish.
Reported-by: Ricardo Salveti<EMAIL_ADDRESS>Signed-off-by: Fathi Boudra<EMAIL_ADDRESS>

hmm. this looks a bit hacky.. if the config files are specific to hikey they should be in SRC_URI only for hikey. or maybe we should use COMPATIBLE_MACHINE. either way this doesn't look good on non Hikey platforms..

It is hacky as before. The cfg file has always been HiKey specific and for eMMC boot. So even if we want to fix that, I think it's yet another patch for a behavior that has always been there since this recipe exists.

Side note, SRC_URI won't work, it will leave cfg empty and will fail in grub-mkimage. So if we want to fix the machine specific bits, COMPATIBLE_MACHINE might be the right approach.

so well, right... never looked at it before.. go ahead with this change, it's much needed anyways as it's completely broken now..

I'm opening a bug for the 2nd part fix. Your point is valid and we need to address it.


Inherit NORMALS from parent mesh when breaking apart

This won't matter in 99% of cases, but I don't assume I know everything about meshes and how they can be utilized in 2D. Currently, they are just set to [0,0, 1.0] for all vertices when breaking down a mesh. We can easily just take the normals from the parent if they exist and if not use that as a fallback.

Merged #15


how can i check if a meeting has ended in amazon-chime-react-native-demo.

hi team,
1 - i have created a react native app for video session using chime .
2- I am saving the details of the video session in my mongoDB database. example video session starting date and time.
My problem:
1- I want to get the meeting id of video session which has already ended previously. Is there any api in chime through which i can get the lists of my meeting ID which has already ended. If not Kindly suggest some idea how can i achieve this.

Hi @rnqayush,
There is no direct API for it. However, each client with receive a callback when meeting is ended. Our RN demo has bridged this event to RN layer as OnMeetingEnd where you can update your db afterwards.

How can I subscribe to others end the Meeting session, the OnMeetingEnd is not evoked when the meeting is ended.


Fix typos in cabgen config

Docs Build status updates of commit 6176a09:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docset/mapping/cabgenConfig.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


TCGC: Flatten Response Decorator

Is there a good way to flatten an operation response into its individual pieces? (similar to alias/spread maybe?)
i.e I have an operation that returns ReceiveResult(List[ReceiveDetails]) and I want to just return List[ReceiveDetails]
seen here:
https://github.com/Azure/azure-rest-api-specs/blob/9df71d5a717e4ed5e6728e7e6ba2fead60f62243/specification/eventgrid/Azure.Messaging.EventGrid/main.tsp#L296

a post paging operation? my idea is to provide a general way to map client method to service operation (project tom?).

@tadelesh do you have a vague outline yet? i agree with what you're proposing that it should be more generic

Closing in favor of https://github.com/Azure/typespec-azure/issues/1167


Ctrl-B in inspector code pane broken

Inspector code pane claims to handle Ctrl-B but hot key doesn't work.

Ctrl-B added to additionalAccelerators in inspector

the debug-it should be on the menu too.

debug-it is in the Jadeite menu now as well. Fixed in 3.1.0pre-release3


[.NET] Deprecation warnings not updated for fontStyles->fontTypes rename

Platform

.NET HTML
.NET WPF

Description
FontStyle was renamed to FontType, but an older deprecation warning wasn't updated to reflect this:
https://github.com/microsoft/AdaptiveCards/blob/16172639b4aa70c7461e7b2b52824ae6d5c68d25/source/dotnet/Library/AdaptiveCards/Rendering/AdaptiveHostConfig.cs#L29-L39

@nesalang can you pick this up? This should be part of our October patch. Thanks

@nesalang can you pick this up? This should be part of our October patch. Thanks

sure


Add clipArea support to WebGLBlock

CanvasBlock supports node.clipArea whereas WebGLBlock does not.  This was discovered in https://github.com/phetsims/wave-interference/issues/322

No time for this enhancement currently, and I am OK with the slightly buggy screenshots. Deferring.


dark-mode : finale :)

WIP DO NOT MERGE

about
widgets
browser (soon)

okey : )

@andrewstech it is still Updating Deploy Preview on editing the first post :(

the text is not visible

@andrewstech it is still Updating Deploy Preview on editing the first post :(

Will investigate

@yashash1511 can you pull the updates I made in test and add to this pull request before I merge it

@yashash1511 can you pull the updates I made in test and add to this pull request before I merge it

done


Fix: Timeout request after 10s by default

But this is the client timing out, right? It's not the actual server HTTP status code.

Yes, at this point we sent request but server has not responded for 10s and now we should "close" connection. There is no 408 status  from the server.
Ideally that should hot happen , and server should always send an error or request should not taken logger than 10s. But it may happen if server is running (not 500) but not responsive
Do you think having that status code is confusing ?

I think it could be a little misleading if you're trying to debug the error and the UI says the error is a 408 from the API, but it's actually not.


Allow caching data for AES GCM

Description
Actually, if you want to update multiple buffer in AES GCM with the same context, size of input buffers must be a multiple of 16 (except for the last one). I add the possibilty to update multiple buffers with no condition on there size with the same context.
Motivation
For work, i had to change the cryptography library used in the Cisco libsrtp from OpenSSL to mbedtls. I encountered difficulty with some unit tests:
One of the test was to encrypt a large buffer (1024 bytes) in multiple time and decrypt it in multiple time too. However, the size of the cutting was not the same during encryption and decryption.
Modification
I have used the code for the AES CBC part and modify it to be functionnal with AES GCM. I modified the mbedtls_cipher_update to cache data and mbedtls_cipher_finish to encrypted the last cached data.
I had to modify some output value in AESGCM tests because mbedtls_cipher_update return value behavior changed and added some tests case.
Additional comments
I already made a pull request for this subject but the modification i made was not at the right level (i made them into the gcm.c function directly without using unprocessed_data provided in mbedtls_cipher_ctx structure). So i delete my old pull request and create a new one with the correct  #modification.
Todos

[ ] Documentation
[ ] Changelog updated

Steps to test or reproduce

Generate a 1024 bytes random buffer
Cut it into two buffers of different size (for example one of 24 bytes and one of 1000 bytes)
Encrypt the two buffer and concatenate them to have the encrypted buffer
Cut the encrypted into two buffers of different size but choose different size from the way you cut it for the encryption part (for example 1000 bytes for the first buffer and 24 for the second)
Decrypt them
The result of the decryption is not the initial plaintext buffer.

@Bizyroth Thank you for your contribution!
We will look into this

Any news?


Sort and limit API

I need to write code like this
//pure mongo
db.foo.find().sort({_id:1}).limit(50);

but find the the API for Dart makes me write code like this
db.collection ("foo").find(where.sortBy('_id'))..limit = 5;

There is no actual sort method on Cursor so you have to include it in the ModifierBuilder and limit turns out to be a field, which looks odd from a user perspective.
For the sorting issue, if the implementation of a Cursor sort (String fieldName, {bool descending: false}) is too involved then its ok.
On the other hand, limit could be turned into a function easily but it would be a breaking change. Cascade operators .. let you chain operations, but the rest of the API uses normal . access to methods that tend to be chainable, mixing both styles if you want to do everything in a single line is confusing.

I need to write code like this
//pure mongo
db.foo.find().sort({_id:1}).limit(50);

Selector parameter of find method can express all that. Limit, skip, field projection. With it you can write code like this:
db.foo.find(where.sortBy('_id').limit(50));

See example in tests:
Future testLimitWithSortByAndSkip(){
  Db db = new Db('${DefaultUri}mongo_dart-test','testLimitWithSortByAndSkip');
  int counter = 0;
  Cursor cursor;
  return db.open().then((c){
    DbCollection coll = db.collection('testLimit');
    coll.remove();
    for(int n=0;n<600;n++){
      coll.insert({"a":n});
    }
    cursor = coll.find(where.sortBy('a').skip(300).limit(10));
    return cursor.forEach((e)=>counter++);
  }).then((v){
    expect(counter,10);
    expect(cursor.state,State.CLOSED);
    expect(cursor.cursorId,0);
    return db.close();
  });
}

Thanks @vadimtsushko ! Looks much better.
I want to contribute with some documentation but I don't feel I know Mongo well enough. I'll create something basic but it would help if you create a skeleton and the community can complete it.

I'm sorry for neglecting wiki and documentation in general.
I currently have very little time for anything beyond my actual work.
I you will manage to put something on wiki I'll try to revise it and edit if necessary as soon as possible.


Github build succeeds when heroku release tasks fail

Hi,
Thanks for the tool! I found that if the build fails in heroku you cause the GitHub action to fail as well, which is great. However, if the release tasks fail in heroku the GitHub action does not fail, as I would have expected.
Is it possible to cause the github action to fail if a release task fails?
For example, see this build: https://github.com/Riverside-Healthcare/extract_management/runs/2679015731?check_suite_focus=true
You can see there was an error in my release task:

And if you check the heroku log you can see the deploy failed because the release failed:

I'd expect that if a release fails, the GitHub action would fail.
Thanks for checking this out!

Confirmed this is still an issue

Hi, @christopherpickering and @danthedaniel - First of all, I want to apologize for the late reply.
I have tested the following case with many different approaches and was not able to reproduce it. In my case, an error during the release phase always raised an exception.

Could you provide me with some steps to reproduce? This would help me a lot.

This action relies on status codes returned from the CLI - so as long as Heroku CLI returns, a non-error status code exception will not be raised.

Thanks! I ended up changing my workflow since then and don't have a running example anymore. Maybe @danthedaniel does.
But basically, If you have a "release_tasks.sh" file that is runnable (chmod -x? or something)  with gibberish in it,  and release: ./release-tasks.sh in your heroku.yml, the build should fail right?
It must be a valid file, runable, and findable by the release step, but with an incorrect command.

I still get this one, by having a command inside my ./release-tasks.sh fail. In heroku it is marked as a fail, so I guess heroku isn't giving you feedback that it failed? What do you think about prepping for ERROR on line starts in the heroku output?

Actually, I don't think heroku marked it as an error...


Creating WVD file

This looks like a great project, but I can't find any documentation on how to create a WVD file, so it unusable.  Can you advise on how to do this on a new install of UBUNtU?

@darrenaf
I can confirm this script does work.  I've no idea of your technical ability but here are a few hints which should help get you on your way.

google pywidevine wvd and you should find what you need easily enough.  the file you need is generated by running a certain command after installing a certain package with pip
pay attention to the html file in the keys subfolder of this repo.  running it gives you the other bits you need
-config.py needs amending in 3 places with the info you'll have if you complete the above

Im sure it does work and it certainly is brilliant.    The only issue I have is I cant find anything obvious as to where ai find the device_private_key and device_client_id_blob.    Also, theres no mention of what security level is best for your project (1 or 3) and whether the WVD should be ANDROID or CHROME.    Ive set up everything and its all working, just requires this last file to finish it.

On Oct 7, 2024 at 02:59, williamcorney  @.***>  wrote:
@darrenaf
I can confirm this script does work. I've no idea of your technical ability but here are a few hints which should help get you on your way.
google pywidevine wvd and you should find what you need easily enough. the file you need is generated by running a certain command after installing a certain package with pip
pay attention to the html file in the keys subfolder of this repo. running it gives you the other bits you need
-config.py needs amending in 3 places with the info you'll have if you complete the above
—
Reply to this email directly,   view it on GitHub, or   unsubscribe.
You are receiving this because you were mentioned.Message ID:  @.***>

Do you have a working CDM ?  Those files are within your cdm folder.

There’s a lot of very informative posts on this topic on https://forum.videohelp.com/threads/404994-Decryption-and-the-Temple-of-Doom

Level 3
I don’t believe it matters as long as you’ve got a working CDM


Normal the game is programmed to use by default an AZERTY keyboard layout (due to my Keyboard).
Go to Settings in the main menu and in the Input tab you should be able to configure for your layout.


Does'nt support CentOS 7.

As said in the eBot forum, ur script does'nt support CentOS 7 (any version of CentOS, actually xD).
I have some requests and suggestions for ur script (also, a hope that u can help me solve my eBot problem), how can i contact you?
Thanks in advance.
Best Regards,

Hello!
The best way to contact me is on Twitter.
Here it is: https://twitter.com/Vince52fr
See you there!


Typeahead issues

Just looking at the Typehead demo that's on the library's official website, it doesn't seem to work right.

Example 1, for "Asynchronous results"
Type in "Mosc", nothing comes up. Then press "o", suddenly 2 items come up, then "w", for "Moscow", it is found, but strangely, wasn't shown before on the list. That is wrong.

Example 2, for "Custom templates for results"
Type in something and select any item found. Now hit Backspace to remove the last symbol. The select list appears totally out of place.

Tested in Chrome version 33

This does not appear to be issues with typeahead itself.
The second one is a demo site issue, and PRs are welcome fixing it.

Closing, as it appears this has been fixed.


Incorporate Radiks documentation into official docs

@Sahana-Srinivasan should have a write up for the tutorial work she did on todos --- also any work on Stack it.  This suffices tutorials.
See also @hstove's solution for the proof-of-id problem for data in a Radiks environment.

https://github.com/blockstack-radiks/radiks/pull/44


Unable to access the Github Repository

While trying to access the GitHub Repository using the following link:
https://netspective-labs.github.io/sql-aide/contributors/how-to-start-contributing/[link-to-github-repo](https://github.com/netspective-labs/sql-aide/issues)
it shows. 404 error. Please help me to get the access.

Thanks for creating this issue @Gowtham-V-CGVAK, I am looking into it. But for issues page you can navigate to.
https://github.com/netspective-labs/sql-aide/issues

Thanks @Gowtham-V-CGVAK for the report and @ovbutt for the fix!


Assign warrior id before writing instructions to core

Should resolve #83 - initial core colours

I still thing this is a canvas eager clear issue, will look into it after merging this


Add option to not clear the debug terminal for each run (an option to keep the previous functionality)

Quite recently around a week ago, I updated to version 1.88. I found that the debug terminal functionality changed.
Previous behavior

Launch a debug configuration defined in launch.json with setting "console": "integratedTerminal" and "type": "node".
An integrated debug terminal will start and run the configured run, then complete.
The integrated terminal stays open.
I run a command in the same terminal to start a sub-shell, for example: aws-vault exec <my AWS profile>
Once again I launch the same debug configuration.
VSCode will reuse the integrated terminal, and now execute in the sub-shell.

Current behavior
Same on steps 1-5. However in step 6:

The terminal is killed and created again, so I can no longer run debugging in the sub-shell.

Request
Add a setting that allows you to reuse the integrated terminal like before.
Justification
There are instances where you want to do a one-off additional setup for your debug environment. In my case, I need AWS credentials through AWS Vault. I don't want to set up credentials each time, and because I want the launch configuration to be accessible for multiple developers in the team and they may want to use different profiles, I can't have a hardcoded step to run first.
The simplest solution is to give developers the flexibility to make adjustments in their terminal and reuse it for these particular cases. It also allows you to easily edit the environment between each run without needing to adjust launch configurations or tasks.
Thank you for your consideration!
If you have an existing solution to my problem, feedback on that is very much welcome!

+1.  I was was relying on the old behaviour for similar functionality.
We have a shell script we run: source fetch-secrets.sh which queries AWS secrets manager and defines all the secrets as vars in the current env.
On first run of the debugger with integrated terminal, this script would not have run, and our application would throw an error that secrets were missing.
But the debug terminal would stay open, so I could run the script myself, then relaunch the debugger.
Now that the behaviour has changed, and a new terminal is launched every time, I do not know how to prep the environment with this shell script prior the Node task starting in the debug terminal.

This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


Button to trigger modal links to the wrong modal ID (bs v4)

First of all thanks for this amazing project! Finally I can drop the jQuery library.
On the example page  the data-target of the Modal is linking to the wrong ID.

Ah yes, thanks. Will make required changes asap.

Updated, please check the new demo page and the new Wiki pages!


Unable to locate setting

Our company being located in the United States does not have the option to enable "Key Vaults" in the above specified location. Has this setting been moved to another location? How would we enable this?

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

ID: f3cbd223-bc3b-55cf-86e7-67454161dfbb
Version Independent ID: 71938814-0e21-121d-6fb7-467416dc4c2e
Content: Set up advanced threat protection for Azure Key Vault
Content Source: articles/security-center/advanced-threat-protection-key-vault.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@cbrandon2
Thanks for your feedback! We will investigate and update as appropriate.

@cbrandon2 you need to have a subscription with resources in it in order for that setting to show on those resources. Do you have this there?

In order for this to show up you need to have a subscription with resources in it. I am able to see it in mine where I have those things, but not where I do not have them. If you still have an issue seeing this please post to MSDN and we will gladly assist you there.  https://social.msdn.microsoft.com/Forums/en-US/home?forum=AzureKeyVault


Prevent hover/click on disabled .close links

The .close is supported with <a>, but it is still hoverable/clickable when it is disabled with the .disabled class. This PR prevents hover/click on disabled .close links.
Demo:

Before: https://codepen.io/anon/pen/KBwaLv
After: https://codepen.io/anon/pen/KBzRbg

Unfortunately, pointer-events is not supported in IE10

yes, the same as https://getbootstrap.com/docs/4.1/components/buttons/#disabled-state

I’ll add commit later to prevent visual changes on IE10.

@MartijnCuppens: LGTY?

I still can't merge until the GitHub situation is over :P

@ysds: can you fetch upstream and rebase?

@ysds: this is not a rebase.

@XhmikosR yes.. I made some mistake. What should I do?

Let me fix it for you. You can read a bit about interactive git rebase for the future :)

Thanks :)


"Month" view completely hang and not rendering data.

"Month" view  is not rendering its completely hang when we pass data
I tried below data and not working.
https://github.com/acro5piano/react-native-big-calendar/blob/main/rndemo/App.tsx
I have also tried enrichedEventsByDate but nothing rendering on screen.

<Calendar
      events={[]} //passing empty because value passed in enrichedEventsByDate
      date={date}
      activeDate={date}
      weekStartsOn={1}
      scrollOffsetMinutes={480}
      overlapOffset={mode == CalendarMode.DAY ? 100 : 25}
      mode={mode}
      height={HEIGHT}
      calendarCellStyle={styles.cellStyle}
      onPressEvent={onPressEvent}
      onPressCell={onPressCell}
      headerContainerStyle={genericStyles.marginTop20}
      swipeEnabled={true}

      eventsAreSorted={true}
      isEventOrderingEnabled={true}
      enableEnrichedEvents={true}
      enrichedEventsByDate={eventsNew}

      onSwipeEnd={onSwipeEnd}
      onPressDateHeader={onPressDateHeader}
      onPressMoreLabel={onPressMoreLabel}
    />
    ```

**React native version: 0.73.6**
react-native-big-calendar: "^4.13.2",
xcode: 15.3

try data with 50+ events for month to reproduce


Unable to read from Slave Pod

I manged to deploy a StatefulSet with following commands,
  containers:
  - image: mongo
    name: mongo
    command:
      - mongod
      - "--replSet"
      - rs0
      - "--smallfiles"
      - "--noprealloc"

From the logs, a master was assigned successfully and all Pods are in sync.
However, when trying to connect (through Nodejs app), I am only able to interact with the master, the salves return the following error:
MongoError: not master and slaveOk=false:null
In order to accept reading from slave, I have defined the following attributes:
var c_opt = {server:{auto_reconnect:true,poolSize: settings.mongoConnectionPoolSize}, slave_ok: true };
mongodb.connect(mongourl, c_opt, function(err, conn){

Still, I am getting the same error, how to properly enable slave read?

I am also getting similar error. The primary (master) is working great. But the 2 secondaries (slaves) are not. Here is what I get after I bash to mongo-1 or mongo-2 (the secondaries):
rs0:SECONDARY> show dbs
2018-02-26T21:54:26.010+0000 E QUERY    [thread1] Error: listDatabases failed:{
	"operationTime" : Timestamp(1519682056, 1),
	"ok" : 0,
	"errmsg" : "not master and slaveOk=false",
	"code" : 13435,
	"codeName" : "NotMasterNoSlaveOk",
	"$clusterTime" : {
		"clusterTime" : Timestamp(1519682056, 1),
		"signature" : {
			"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
			"keyId" : NumberLong(0)
		}
	}
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:65:1
shellHelper.show@src/mongo/shell/utils.js:813:19
shellHelper@src/mongo/shell/utils.js:703:15
@(shellhelp2):1:1

But, when I do it on mongo-0 (primary) it shows the databases:
rs0:PRIMARY> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

I checked rs.status() on each one of them and it looks correct to me. The "me" field has the respective :<port_number> and the "ismaster" and "secondary" fields all look correct. For the slave, I can see that the "primary" also got assigned correctly with the :<port_number> of the primary mongo instance.
It will be great to have a solution to this problem.
Thanks,
Amit

I think I found a workaround. I think by default the read is not enabled on the secondaries. So I went to the mongo shell for each of mongo-1 and mongo-2 and ran this command
rs.slaveOk()
That solved the problem. Now all my primaries and secondaries are working great. I tested, by inserting a document in primary and reading it from secondaries.
Hope this helps.
Thanks,
Amit

Hello, I'm facing the same issue here.
I did rs.slaveOk() on each pod, however, that only worked for a while, and after that, the error came back.
Any ideas how we can make this a permanent change?


Moving project_root as an attribute to config object; plus tests throughout. Closes #540

Overview
Moving project_root to the Config obj as a convienience method. It helps cut down passing around a project root where needed.
Tests throughout. Ran it on a project.

Closes #540

/do-e2e-tests


[nvim, configuration] env variables in settings.json

Hello. I'm using cquery in neovim with LanguageClient-Neovim for almost 3 month, and there is one thing that bothered me all the time. I've tried to google this, but no luck, so I decided to gently ask here.
I'm sharing my configuration of neovim between 3 PCs: work pc, my tiny laptop, and home pc. Because I can't choose username at work, I can't make universal path to the cache folder, which cquery uses. I don't want to use default /tmp/cquery because project I'm working at is kinda huge, and my neovim lags for several minutes while indexing is in process. I'm not sure if it is an issue with cquery, or LCN, or neovim itself, but that's not the point for now.
I'd like to use my home directory to store cache: ~/.cache/cquery, so I've tried to use environment variables for this, but I don't know how to do it in .json. I've googled, some people say that it is depended on plugin that uses this json file. I'm not sure that this can be applied to my situation, but I've tried to use ${env.HOME} as suggested in some thread:
{
        "initializationOptions": {
                "cacheDirectory": "${env.HOME}/.cache/cquery"
        }
}

However this just creates ${env.HOME} directory at my project root. So how could I use my $HOME variable in initialization section? Or I'd like to drop settings.json entirely and configure everything in my .vimrc if possible.

I'd recommend you file this in the LanguageClient-Neovim repro, since this is specific to that client (ie, vscode + sync solves this problem). cquery does not handle arbitrary path expansion.

btw, one option is to use symlinks to normalize all paths

You mean that ~/.config/nvim/settings.json file is related to NCM?

@jacobdufault I've opened and issue in the LCN repo, and @autozimu advised me to ask here about adding to cquery option like this: cquery --cacheDirectory=/path/to/desired/cache/dir. So It can be used inside neovim's config, and settings.json will be not needed in this case at all.

Adding support for this also helps a lot more other users as well.
Since this argument is requied, I’ve seen too many guides asking users to create settings file just for this single one argument, which sounds overkilled to me.


[regtool] Native support for multi-bit regwen

Add support in regtool for multi-bit regwen.
Ideally, the multiple bits of the regwen should be used differently to gate the register being written.
We do not need to support arbitrary bit-length of regwen, but it would be good to have an option of maybe 1/2/4.
When multi-bit, ANY value that does not correspond to the "enable" value should be "disabled".
For example, assume a 4b regwen where 4b1010 is "enabled".
This means all other values, 4b0000, 4b1111, 4b1110, 4b0011 etc are considered "disabled" and will not allow the target register to be written.

@rswarbrick
@cindychip
@weicaiyang
FYI

Sounds like a good idea. Are you happy to encode the "enabled" value in the hjson? In which case, we can probably support arbitrary lengths reasonably easily. For example, we could add an hjson field like regwen_value: "b1010" to the register that's used as a write-enable (defaulting to b1). Here, the RHS is a binary string which gives both value and length. (Hint: it's painful to use a bare number here, because you run into problems where it gets interpreted in base 10; I spent an irritated afternoon making sense of this for the OTBN encoding stuff).

ah, so one of the reasons I was thinking fixed values, is mostly because it "might" be easier for us to work out where to connect the multiple bits to a register write.  So if we allow arbitrary length, and arbitrary values, it might be harder to determine on the fly how to use each bit of regwen to qualify the write.
Just as an example, I was thinking for example...if the regwen were 2 bits, bit0 could be used to qualify the wen, bit1 could be used to select new or old data, etc.  What do you think? It's not impossible, but I wasn't sure it would be worth the effort.

Hmm, I don't think I understand, sorry. Can you elaborate on what you mean with bit1?

So, If I understand correctly, this is to use mubi as regwen and the reggen submodule (prim_reg?) absorbs the regwen as a mubi input port not one bit en port right?
+1 for this idea.

+1 We also need this for the DMA in OT-integrated. I will look into adding support for the reggen tool for this.

Support for this is currently buggy, see https://github.com/lowRISC/opentitan/issues/19774.
Needs to be fixed for both integrated and PROD.


How to disable queryString?

This feature is very easy to bring mongodb injection vulnerability .

mongodb injection vulnerability

This isn't co-body's duty


how to show object list type correctly ?

I aim to store messages and display them using the map function,
but I encountered an issue.
The error message indicates: 'Property 'msg' does not exist on type 'ObservablePrimitiveBaseFns<msgtype|undefined>.'
so I delete  and try to show data using map
and error messaeg disappeared.
type msgtype = {
	id: number
	msg: string
	name: string
}
export default function Home() {
	//const state$ = observable({ messages: [] });
	const state$ =
		useObservable({ msg: [] as msgtype[], })
	const add = () => {
		state$.msg.push({
			id: 0,
			msg: "hi",
			name: "yoon"
		})
		console.log(state$.get());
	}
	return (

				{state$.msg.map((m) => (

{m.msg.get()}

				))}

			<Input type="text" />
			<Button onClick={add} > click</Button>

	)
}

Despite successfully adding a new 'msg' object using 'push' and confirming its addition in the log, there is an obstacle in displaying the list in the return statement through the map function.
I attempted to resolve the issue by changing 'useObservable' to 'observable(),' but this modification did not resolve the problem. How can I address this issue effectively?"

You need to make the component reactive to changes first. See the first section on the introduction to React page for how to do that: https://legendapp.com/open-source/state/react/react-introduction/
The easiest option to get started is enableReactTracking():
import { enableReactTracking } from "@legendapp/state/config/enableReactTracking";

enableReactTracking({
    auto: true,
});


Applying the latest version of react-native and ES7

ReactNative.createElement and createClass are deprecated on the latest version of React.
Modifying GiftedListView.js and the example application (GiftedListViewExample) with ES7 and the latest react-native.

release note about 'deprecated'
https://github.com/facebook/react-native/releases/tag/v0.25.1

+1 :)

+1


Monitor metrics from multiple projects

Fixes issue #55

This needs to be re-based on master.

Closing in favor of https://github.com/prometheus-community/stackdriver_exporter/pull/105

Hello, it is ok to take multiple project but it still the problem to pass multiple credential? any idea please

Hello, it is ok to take multiple project but it still the problem to pass multiple credential? any idea please


Dashboard Not Working

What am I doing wrong here?

This is not a bug. You also where helped in the discord.

Wdym?

This is not a bug.


Android: the build fails with compileSdkVersion 33

🐛 Bug Report
I have to bump compileSdkVersion to 33 because of dependencies on other packages. Compilation fails:
/dev/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-3.2.1/android/src/main/java/com/baseflow/geolocator/GeolocatorLocationService.java:134: warning: [deprecation] stopForeground(boolean) in Service has been deprecated
stopForeground(true);
^
error: warnings found and -Werror specified
/dev/flutter/.pub-cache/hosted/pub.dartlang.org/geolocator_android-3.2.1/android/src/main/java/com/baseflow/geolocator/permission/PermissionUtils.java:27: warning: [deprecation] getPackageInfo(String,int) in PackageManager has been deprecated
.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
^
1 error
2 warnings
FAILURE: Build failed with an exception.
Expected behavior
Compilation succeeds.
Reproduction steps
add compileSdkVersion 33 to build.gradle, try to build
Configuration
Version: 8.2.1
Platform:

[ ] :iphone: iOS
[x] :robot: Android

it doesn't work for me!

Same problem

same problem. Did anyone find the solution?

@mvanbeusekom I maintain a Flutter package that I try to keep compatible with the latest Flutter 2 version (2.10.5), because Flutter 3 introduces too many breaking changes at the moment. It would've been great if you could've fixed this issue without breaking Flutter 2 compatibility.

@mvanbeusekom I maintain a Flutter package that I try to keep compatible with the latest Flutter 2 version (2.10.5), because Flutter 3 introduces too many breaking changes at the moment. It would've been great if you could've fixed this issue without breaking Flutter 2 compatibility.

I don't see how these changes are breaking compatibility with Flutter 2. The only changes made are upgrading the JAVA compileSdkVersion and some changes in the JAVA code working around the deprecated API since the release in Android API 33. This is completely unrelated to Flutter and should work perfectly fine in Flutter 2 (as long as you make sure you update the compileSdkVersion in your android/app/build.gradle file and set it to 33 as documented in the README and release notes.

Hi @martin-braun,
Since the different packages part of the geolocator plugin used different Dart SDK and Flutter versions I decided to create a PR (see #1102) and straighten things out.
The result is that the geolocator will depend on Dart SDK 2.15.0 and Flutter version 2.8.0 going forward (at least until it's time to upgrade to a higher Flutter version).
This should solve your problem as the error indicates you are not compiling against Dart SDK 2.17.0 (which comes with Flutter 3.0.0, but can also be installed separately).

C:\src\flutter.pub-cache\hosted\pub.dartlang.org\audio_service-0.18.4\android\src\main\java\com\ryanheise\audioservice\AudioService.java:312: warning: [deprecation] stopForeground(boolean) in Service has been deprecated
stopForeground(!config.androidResumeOnClick);
^
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\audio_service-0.18.4\android\src\main\java\com\ryanheise\audioservice\AudioService.java:586: warning: [deprecation] stopForeground(boolean) in Service has been deprecated
stopForeground(false);
^
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\audio_service-0.18.4\android\src\main\java\com\ryanheise\audioservice\AudioService.java:795: warning: [deprecation] get(String) in BaseBundle has been deprecated
final KeyEvent event = (KeyEvent)mediaButtonEvent.getExtras().get(Intent.EXTRA_KEY_EVENT);
^
error: warnings found and -Werror specified
C:\src\flutter.pub-cache\hosted\pub.dartlang.org\audio_service-0.18.4\android\src\main\java\com\ryanheise\audioservice\AudioServicePlugin.java:1142: warning: [deprecation] get(String) in BaseBundle has been deprecated
Object value = bundle.get(key);
^
1 error
4 warnings
FAILURE: Build failed with an exception.

Hi, I have the seame issue when I updated my project to the Flutter V3.7.

The issue is reproducable with geolocator 8.2.1. Flutter version 2.10.5
Updating geolocator version to 9.0.0 fixes the issue without any further changes necessary.

it doesn't work for me!

how to resolve this issue bro please tell me

same problem. Did anyone find the solution? Well, i find a solution if we just reduce the size of andorid sdk version 33 to 32 and implement old version of geolocator then there is no problem

well how if when run debug its say must upgrade into 33 , after fix this , i got a new error for geo location Zzzz


[Chat][Service] Participants list from SDK to Redux State as Map

Purpose

Gets the participants list from the SDk into our Redux store

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type
What kind of change does this Pull Request introduce?

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Documentation content changes
[ ] Other... Please describe:

Pull Request Checklist

[ ] Public API changes
[ ] Verified for cross-platform
[ ] Synced with iOS, Web team
[ ] Internal review completed
[ ] UI Changes

[ ] Screen captures included
[ ] Tested for Light/Dark mode
[ ] Tested for screen rotation
[ ] Tested on Tablet and small screen device (5")
[ ] Include localization changes

[ ] Tests

[ ] Memory leak analysis performed
[ ] Tested on API 21, 26 and latest
[ ] Tested for background mode
[ ] Unit Tests Included
[ ] UI Automated Tests Included

How to Test

Run unit tests in ChatActionHandlerUnitTest
Run unit tests in ParticipantsReducerUnitTest

What to Check
Verify that the following are valid:

requestChatParticipants() should be called when onChatInitialized() and list of participants should be sent to ChatServiceListener.handleInfoModel()

@microsoft-github-policy-service agree [company="Traversient Inc"]


[Typography Helpers] Small-text center doesn't work with other classes

How can we reproduce this bug?

I made a div with class row.
Two divs are inside one large-3 and one large-9
I gave them the classes medium-text-center and small-text-center

What did you expect to happen?
On a large screen the texts should be aligned left.
On a medium screen it should be aligned center, and it does that successfully.
On a SMALL screen it should be aligned centered aswell but instead it aligns left just like large, however i did not specify a large align with a class so that would inherit the default left align style.
What happened instead?
It is centered left but it has the class small-text-center
Test case:
http://codepen.io/anon/pen/mEyMMj

Because Foundation is mobile-first, there is no class small-text-center.
Just use the text-center class (and if you need specific behavior for medium / large screens, use medium-text-center / large-text-center).
You can see here how these classes are generated: https://github.com/zurb/foundation-sites/blob/develop/scss/typography/_alignment.scss
$-zf-zero-breakpoint variable being equal to small by default: https://github.com/zurb/foundation-sites/blob/master/scss/util/_breakpoint.scss#L21
The documentation should probably be clearer on that point.

@Deckluhm Good answer!
@arnotypografics
You can use .large-text-left or .large-text-right to override the CSS.


Enhancement consider memtable in flush while reducing load me…

Proposed changes
We should consider memory which are being flushed from memtable to disk when trying to reduce memory by flushing memtable. Otherwise, we might not release memory space as expected. (e.g. lots of large memtable is in flush, the reduce_mem_usage method picks some small memtables to flush, it can't release enough memory and also can generate lots of small segments, which can cause -238 error)
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

Does it affect the original behavior:

[ ] Yes
[ ] No
[ ] I don't know

Has unit tests been added:

[ ] Yes
[ ] No
[ ] No Need

Has document been added or modified:

[ ] Yes
[ ] No
[ ] No Need

Does it need to update dependencies:

[ ] Yes
[ ] No

Are there any changes that cannot be rolled back:

[ ] Yes (If Yes, please explain WHY)
[ ] No

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 40.41 seconds
load time: 566 seconds
storage size:<PHONE_NUMBER>3 Bytes
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20221021044234_clickbench_pr_32229.html


Start a scraping/data mining project for Marko, pull financial reports from SEC

data scraping / data mining project started at:
https://github.com/deeptendies/mining-sec-edgar

@markomijovic
fyi
@mklasby @rmsouza01 @Karenzhang7717 @tongxu95
give me some 👍 or lgtm then we can close this issue