istio-proxy error 504 on GRPC Server stream

Istio : 0.2.10
Kubernetes : 1.7.8 on GKE
Client/Server made with Go 1.9.2 and gRPC 1.6
Overview :
When using the "Server Stream" feature of GRPC/HTTP2, Istio-proxy close the connexion with a 504 error after some timeout.
Details :
I have a GRCP client that connect to my Istioified Micro Service (Useredge). This client do regular POST on  /lab.useredgesvc.UserEdgeSVC/UserEventReport endpoint, which is described in the Proto file as :
rpc UserEventReport (lab.commonmodel.UserEvent) returns (google.protobuf.Empty);
This is working fine.
The client also do a POST request on /lab.useredgesvc.UserEdgeSVC/LiveFeed which is described in the proto file as :
rpc LiveFeed(DeviceMsg) returns (stream lab.commonmodel.AlertEvent);
As you can see, this is a gRPC Stream that the server is supposed to use to send some data to the client when needed.
While the first endpoint is sending data every 10 secs without issue, Istio-proxy always report a 504 error on the Stream endpoint :
"POST /lab.useredgesvc.UserEdgeSVC/LiveFeed HTTP/2" 504 UT 30 24 15002 - "-" "grpc-go/1.6.0" "6db37f84-91d3-91d8-ad4d-14ce5a7ab366" "useredged.dev:12900" "<IP_ADDRESS>:12900"
For testing purpose, I installed the client in one of my non-istio pods, and I request the service of the server pod which is running with the sidecar.
I tried to add debug logs to some istio-proxy modules, without more luck to identify anything useful.
As the Stream call is the first made when the client start, it sounds like some sort of timeout in the istio-proxy as the error only shows up almost 30s after the client first connect.
I'm still not sure if it's a bug or a lack of support for such gRPC call ?

From matt klein (envoy):
there is an issue to add streaming timeouts```
Use route rule to set timeout of zero.

tried it with no luck for now.
Also, by the doc, the timeout duration should be > 1ms.
Am I missing something ?
apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
  name: useredge-livefeed-notimeout
  namespace: dev
spec:
  destination:
    name: useredged
    service: useredged
  httpReqTimeout:
    simpleTimeout:
      timeout: 24h

seems the timeout is applied in Envoy, still, I get the timeout anyway...
{
  "name":"useredged.dev.svc.cluster.local|grpc",
  "domains":["useredged:12900","useredged","useredged.dev:12900","useredged.dev","useredged.dev.svc:12900","useredged.dev.svc","useredged.dev.svc.cluster:12900","useredged.dev.svc.cluster","useredged.dev.svc.cluster.local:12900","useredged.dev.svc.cluster.local","<IP_ADDRESS>:12900","<IP_ADDRESS>"],
  "routes":[{
    "match":{"prefix":"/"},
    "route":{"cluster":"out.fc32a83e4737c7b0c442f1860128e5b37b40129f","timeout":"86400s"},
    "decorator":{"operation":"useredge-livefeed-notimeout"}}]}

On the sidecar Envoy side, the 504 error refers to "upstream request timeout"

I built a test setup so this behaviour could be reproduced as will :

clone the repository https://github.com/prune998/goHelloGrpcStream.git
go in the kubernates directory
deploy the server
note that the file is not istio-ified
deploy the client (a job)

you should see one log line Greeting: Hello world:7788 then Hello Stream world:7788 every 5 seconds.

undeploy the server :
kubectl delete deployment greeter-server
use istioctl to embed the sidecar
istioctl kube-inject -f server.yml --coreDump=false  > server-istio.yml
deploy the server
kubectl create -f server-istio.yml
restart a client

As far as I can tell, I do have 2 lines of log, then a timeout :
greeter-client-zhkss-t1x9d greeter-client 2017/11/13 18:37:54 Greeting: Hello world:7788
greeter-client-zhkss-t1x9d greeter-client 2017/11/13 18:37:59 Hello Stream world:7788
greeter-client-zhkss-t1x9d greeter-client 2017/11/13 18:38:04 Hello Stream world:7788
greeter-client-zhkss-t1x9d greeter-client 2017/11/13 18:38:09 &{0xc4200b4f00}.GetCustomers(_) = _, rpc error: code = Internal desc = stream terminated by RST_STREAM with error code: NO_ERROR

I tried deploying an Istio Rule without any much success :
apiVersion: config.istio.io/v1alpha2
kind: RouteRule
metadata:
  name: helloworld-grpc-notimeout
  namespace: dev
spec:
  destination:
    name: greeter-server
  httpReqTimeout:
    simpleTimeout:
      timeout: 24h

While again, querying envoy, I can see that the rule is taken into account :
{
    "version_info": "hash_49a54897a99388e3",
    "route_config_name": "7788",
    "cluster_name": "rds",
    "route_table_dump": {"name":"7788","virtual_hosts":[{"name":"greeter-server.dev.svc.cluster.local|grpc","domains":["greeter-server:7788","greeter-server","greeter-server.dev:7788","greeter-server.dev","greeter-server.dev.svc:7788","greeter-server.dev.svc","greeter-server.dev.svc.cluster:7788","greeter-server.dev.svc.cluster","greeter-server.dev.svc.cluster.local:7788","greeter-server.dev.svc.cluster.local","<IP_ADDRESS>:7788","<IP_ADDRESS>"],"routes":[{"match":{"prefix":"/"},"route":{"cluster":"out.f9c6e35c82783875ae7ed6a6be48b2d0662a2710","timeout":"86400s"},"decorator":{"operation":"helloworld-grpc-notimeout"}}]}]}
}

Thanks for your investigation. The error does appear to be on Istio side, specifically missing or incorrect timeout_ms data plane value. The docs also need to updated to allow 0 value.

What do you mean by incorrect timeout_ms data plane value ?
It seems the config returned by the RDS endpoint is providing the right timeout_ms value to Envoy... but this value is not taken into account. This is the part I don't understand...

FYI, I tried a timeout of 1000ms, (and 24h) and I still get the 15s timeout anyway :
GET /v1/routes/7788/greeter-server/sidecar~<IP_ADDRESS>~greeter-server-1295887777-g1mr9.staging~staging.svc.cluster.local
{
  "virtual_hosts": [
   {
    "name": "greeter-server.staging.svc.cluster.local|grpc",
    "domains": [
     "greeter-server:7788",
     "greeter-server",
     "greeter-server.staging:7788",
     "greeter-server.staging",
     "greeter-server.staging.svc:7788",
     "greeter-server.staging.svc",
     "greeter-server.staging.svc.cluster:7788",
     "greeter-server.staging.svc.cluster",
     "greeter-server.staging.svc.cluster.local:7788",
     "greeter-server.staging.svc.cluster.local",
     "<IP_ADDRESS>:7788",
     "<IP_ADDRESS>"
    ],
    "routes": [
     {
      "prefix": "/helloworld.Greeter/SayHelloStream",
      "cluster": "out.b2ef919513881d530f7d6df1d04be3dd08966068",
      "timeout_ms": 1000,
      "decorator": {
       "operation": "helloworld-grpc-notimeout"
      }
     },
     {
      "prefix": "/",
      "cluster": "out.b2ef919513881d530f7d6df1d04be3dd08966068",
      "decorator": {
       "operation": "default-route"
      }
     }
    ]
   }
  ]
}

The problem is that we don’t allow 0s timeout ie explicitly disable timeout. The Envoy config should have timeout: 0

Well, when calling the istio-pilot RDS endpoint, I do see the timeout_ms as specified in the RouteRule, so my understanding is that Envoy is getting the value.
While we can't set it to 0 as Istio don't support it, it should support a large value, many seconds or hours.
What I see is that it does not. Whatever the value, the timeout is always 15s...
I'm really confused by this issue...

On Wed, Nov 15, 2017 at 8:05 AM Prune Sebastien THOMAS <
<EMAIL_ADDRESS>wrote:

Well, when calling the istio-pilot RDS endpoint, I do see the timeout_ms
as specified in the RouteRule, so my understanding is that Envoy is getting
the value.
While we can't set it to 0 as Istio don't support it, it should support a
large value, many seconds or hours.
What I see is that it does not. Whatever the value, the timeout is always
15s...

That seems unlikely. Take a look st the generated config files in
istio/pilot/proxy/Envoy/testdata/..-timeout-..json
The bug you are looking for is in proxy/Envoy/route.go. Just remove the
check for >0 timeout value.

I'm really confused by this issue...
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/1667#issuecomment-344467484, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd1ZdiYYQSoceva0WygWV7tzrEMPqks5s2k33gaJpZM4QaCwk
.

Thanks @rshriram.
I think you're refering to :
	// setup timeouts for the route
	if rule.HttpReqTimeout != nil &&
		rule.HttpReqTimeout.GetSimpleTimeout() != nil &&
		protoDurationToMS(rule.HttpReqTimeout.GetSimpleTimeout().Timeout) > 0 {
		route.TimeoutMS = protoDurationToMS(rule.HttpReqTimeout.GetSimpleTimeout().Timeout)
	}

Looking at this code, setting a timeout of, let's say, 120 seconds, should lead to a timeout of 120 seconds right ?
It's not the case.
I changed the > 0 to >= 0 and am re-building the code right now.
But again, when I look at the Pilot answer to the routing request from Envoy, I have something like :
{
  "clusters": [
   {
    "name": "in.7788",
    "connect_timeout_ms": 1000,
    "type": "static",
    "lb_type": "round_robin",
    "hosts": [
     {
      "url": "tcp://<IP_ADDRESS>:7788"
     }
    ],
    "features": "http2"
   },
   {
    "name": "out.19b32f5f880c014c7dc4d1a6c6c12344d412937a",
    "service_name": "greeter-server.staging.svc.cluster.local|grpc-greeter",
    "connect_timeout_ms": 120000,
    "type": "sds",
    "lb_type": "round_robin",
    "features": "http2"
   },
  ]
 }

Still, the 120s timeout is not enforced...

I spent some time testing Envoy using RDS or local config simplified config, and everything is working as expected, still, I hit the 15s timeout when the full config is coming from Pilot.
My expectation so far is that "something" is overriding the timeout somewhere...

OK, so after some more debug, I'm still not sure if I understand clearly what is going on here, but here is what's going on :
client in a pod tries to reach the service:7788
service forward to the server pod, port 7788
an IpTable rule forward traffic from port 7788 to Envoy:15001
Envoy proxy traffic to :7788
Looking at the logs, it seems that Envoy is thinking the "cluster" to use (ie, the interface to join the  application) is not the one it should :
[121][debug][router] external/envoy/source/common/router/router.cc:241] [C89][S15880760059695439290] cluster 'in.7788' match for URL '/helloworld.Greeter/SayHelloStream'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   ':method':'POST'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   ':scheme':'http'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   ':path':'/helloworld.Greeter/SayHelloStream'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   ':authority':'greeter-server:7788'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'content-type':'application/grpc'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'user-agent':'grpc-go/1.8.0-dev'
121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'te':'trailers'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-forwarded-proto':'http'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-request-id':'952c0887-696e-9227-b7e7-5bee7f7ead0c'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-b3-traceid':'8aee6929acee6859'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-b3-spanid':'8aee6929acee6859'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-b3-sampled':'1'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-ot-span-context':'8aee6929acee6859;8aee6929acee6859;0000000000000000'
[121][debug][router] external/envoy/source/common/router/router.cc:286] [C89][S15880760059695439290]   'x-envoy-expected-rq-timeout-ms':'15000'

So here the x-envoy-expected-rq-timeout-ms is explicitely set to 15000, because the right Route with the right timeout is not used.
Also note at the begining that the cluster used is 'in.7788, while my RouteRule is defined to use cluster out.greeter-server.staging.svc.cluster.local|grpc-greeter
So far, my conclusion is that Istio is configuring the timeout for outgoing connections, while in my case, it's the connexion's timeout between sidecar to application that need to be configured.
Again, I'm not sure to understant the whole big picture.
Maybe, if my client application was istio-ified, everything would work. But this test is meant to replicate the issue I had with Istio Ingress, where again, the client is outside the istio Mesh...
I'm going to keep digging, because I still don't understand how the in.7788 cluster got selected (which route led to this). If I can find this, I may be able to set the timeout at the right place.
Another solution would be to force Envoy to apply a timeout=0 to every request going to the in.* clusters ?

@rshriram, could you point me to the right location in the code where the buildInboundHttpRoute is defined ? Is it in Pilote ?
I would like to test the 2nd option.
I'm not a dev (more a sysadmin, maybe a bad SRE :) ), but I would like to implement option 2 and maybe do a PR. Of course, I hope it's in Istio, because my GO is not so bad, but I won't be able to change the  C++ code of Envoy...

So, I did some more more more testing, and compiles Pilot with this change :
func buildInboundRoute(config model.Config, rule *proxyconfig.RouteRule, cluster *Cluster) *HTTPRoute {
        route := buildHTTPRouteMatch(rule.Match)
        route.Cluster = cluster.Name
        route.clusters = []*Cluster{cluster}
        route.WebsocketUpgrade = rule.WebsocketUpgrade
        route.TimeoutMS = 0     <-------------------------------------

I also added some more debug, but from what I see, I'm not in the right place...
Also, I tcpdumped the traffic between Envoy and Pilot, and while Envoy is receiving the cluster config for in.7788, there is no route associated, so the timeout is never set...
I'm still missing something there...
How does Envoy decide to use in.7788 cluster ?
How to add a route to change the timeout ?

On Thu, Nov 16, 2017 at 2:50 AM Prune Sebastien THOMAS <
<EMAIL_ADDRESS>wrote:

So, I did some more more more testing, and compiles Pilot with this change
:
func buildInboundRoute(config model.Config, rule *proxyconfig.RouteRule, cluster *Cluster) *HTTPRoute {
route := buildHTTPRouteMatch(rule.Match)
route.Cluster = cluster.Name
route.clusters = []*Cluster{cluster}
route.WebsocketUpgrade = rule.WebsocketUpgrade
route.TimeoutMS = 0     <-------------------------------------

In resources.go, under httpRoute, I think the timeout_ms field has
omitempty setting. I think that needs to be removed. But you are on the
right track. Also you need to look for the timeout setting in RDS
(route/virtual host) and not in clusters/CDs. That connect timeout is for
tcp connection establishment timeout.
@mattklein123, for gRPC streaming with Envoy as ingress and another Envoy
sidecar on the server receiving inbound traffic, I am suggesting that
timeouts be disabled by setting “timeout_ms: 0” in the route config in both
ends. This should effectively disable timeouts right?
I also added some more debug, but from what I see, I'm not in the right

place...
Also, I tcpdumped the traffic between Envoy and Pilot, and while Envoy is
receiving the cluster config for in.7788, there is no route associated,
so the timeout is never set...
I'm still missing something there...
How does Envoy decide to use in.7788 cluster ?
How to add a route to change the timeout ?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/1667#issuecomment-344731726, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AH0qd3h53_jebv5HaaGExuQ-voBzYAhiks5s21WHgaJpZM4QaCwk
.

@mattklein123, for gRPC streaming with Envoy as ingress and another Envoy
sidecar on the server receiving inbound traffic, I am suggesting that
timeouts be disabled by setting “timeout_ms: 0” in the route config in both
ends. This should effectively disable timeouts right?

Yes for streaming APIs timeouts must be disabled on both ends. We will be adding streaming timeouts soon.

sounds removing the omitempty in the route type is the only thing needed... will submit a PR once my tests are all done

Now I can set the timeout_ms to 0, my Stream gRPC connexions are working fine.
Still, I see the Envoy proxy process restarting every 30 mins, breaking the TCP connexion.
It seems to be the pilot-agent that is restarting it... I'm digging in the doc but can't find any info on that ? Could you help a little ?
Thanks @rshriram

I think it's due to Istio CA re-issuing new certificates. Do you have mTLS
on?
On Thu, Nov 16, 2017 at 12:55 PM Prune Sebastien THOMAS <
<EMAIL_ADDRESS>wrote:

Now I can set the timeout_ms to 0, my Stream gRPC connexions are working
fine.
Still, I see the Envoy proxy process restarting every 30 mins, breaking
the TCP connexion.
It seems to be the pilot-agent that is restarting it... I'm digging in
the doc but can't find any info on that ? Could you help a little ?
Thanks @rshriram https://github.com/rshriram
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/1667#issuecomment-345059447, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJGIxkhwrID6lGQ8O0HqxRc2XroEZF5Vks5s3KE4gaJpZM4QaCwk
.

no mTLS (no auth) used

Can you fetch the logs from the sidecar container? It should print out the
reason for restart. Something is triggering the base config change or certs
change.
On Thu, Nov 16, 2017 at 12:57 PM Prune Sebastien THOMAS <
<EMAIL_ADDRESS>wrote:

no mTLS (no auth) used
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/1667#issuecomment-345059941, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJGIxuK8MvZN-9kp3YEptppxVhrAipwdks5s3KGogaJpZM4QaCwk
.

sure, thanks.

Here are the logs... it seems some certs have been updated, but I'm actually not using mTLS...
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:40.385127891Z I1116 22:24:40.384915       1 watcher.go:121] watchFileEvents: "/etc/certs//..119811_16_11_22_24_40.173021835": CREATE
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:40.385178747Z I1116 22:24:40.385004       1 watcher.go:121] watchFileEvents: "/etc/certs//..119811_16_11_22_24_40.173021835": MODIFY|ATTRIB
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:40.385183943Z I1116 22:24:40.385022       1 watcher.go:121] watchFileEvents: "/etc/certs//..data_tmp": RENAME
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:40.385187374Z I1116 22:24:40.385080       1 watcher.go:121] watchFileEvents: "/etc/certs//..data": CREATE
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:40.385192421Z I1116 22:24:40.385106       1 watcher.go:121] watchFileEvents: "/etc/certs//..119811_16_11_21_27_18.405814915": DELETE
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38530226Z I1116 22:24:50.385135       1 watcher.go:134] watchFileEvents: notifying
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.385773549Z I1116 22:24:50.385542       1 agent.go:186] Received new config, resetting budget
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.385835456Z I1116 22:24:50.385562       1 agent.go:261] Reconciling configuration (budget 10)
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38584879Z I1116 22:24:50.385676       1 agent.go:281] Epoch 1 starting
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.385852678Z I1116 22:24:50.385709       1 config.go:47] writing configuration to /etc/istio/proxy/envoy-rev1.json
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386037191Z {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386080412Z   "listeners": [],
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386086452Z   "lds": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386089667Z     "cluster": "lds",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386092954Z     "refresh_delay_ms": 1000
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38609589Z   },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386098664Z   "admin": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38610154Z     "access_log_path": "/dev/stdout",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386104571Z     "address": "tcp://<IP_ADDRESS>:15000"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386113769Z   },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386118612Z   "cluster_manager": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.3861214Z     "clusters": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386124287Z       {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386126969Z         "name": "rds",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386129923Z         "connect_timeout_ms": 10000,
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386133616Z         "type": "strict_dns",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38613663Z         "lb_type": "round_robin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386148796Z         "hosts": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386152623Z           {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386155372Z             "url": "tcp://istio-pilot.istio-system:8080"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386158498Z           }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386161154Z         ]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386163758Z       },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386166627Z       {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386169466Z         "name": "lds",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386172498Z         "connect_timeout_ms": 10000,
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386175367Z         "type": "strict_dns",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386210864Z         "lb_type": "round_robin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386223118Z         "hosts": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38622608Z           {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386228521Z             "url": "tcp://istio-pilot.istio-system:8080"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38623117Z           }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386233561Z         ]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386235874Z       },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386238238Z       {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386240529Z         "name": "zipkin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38624315Z         "connect_timeout_ms": 10000,
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38624568Z         "type": "strict_dns",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386248163Z         "lb_type": "round_robin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386250723Z         "hosts": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386253121Z           {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386255504Z             "url": "tcp://jaeger-collector.monitoring:9411"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386258054Z           }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386267932Z         ]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386270932Z       }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386273294Z     ],
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386275598Z     "sds": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386278098Z       "cluster": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386280558Z         "name": "sds",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386283138Z         "connect_timeout_ms": 10000,
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386285563Z         "type": "strict_dns",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386288114Z         "lb_type": "round_robin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386290591Z         "hosts": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386293044Z           {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386295349Z             "url": "tcp://istio-pilot.istio-system:8080"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38630873Z           }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386311447Z         ]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386313756Z       },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386324026Z       "refresh_delay_ms": 1000
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386326736Z     },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38633159Z     "cds": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386334011Z       "cluster": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386336514Z         "name": "cds",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386339058Z         "connect_timeout_ms": 10000,
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386341603Z         "type": "strict_dns",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386344111Z         "lb_type": "round_robin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386346761Z         "hosts": [
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386349156Z           {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386351518Z             "url": "tcp://istio-pilot.istio-system:8080"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38635407Z           }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386361352Z         ]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386363823Z       },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386366216Z       "refresh_delay_ms": 1000
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386368644Z     }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386371001Z   },
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386373292Z   "statsd_udp_ip_address": "<IP_ADDRESS>:9125",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386375931Z   "tracing": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386390838Z     "http": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386393667Z       "driver": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386396109Z         "type": "zipkin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386398683Z         "config": {
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38640111Z           "collector_cluster": "zipkin",
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386403821Z           "collector_endpoint": "/api/v1/spans"
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386406441Z         }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.38640882Z       }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386411158Z     }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386413487Z   }
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.386417774Z }I1116 22:24:50.386048       1 watcher.go:258] Envoy command: [-c /etc/istio/proxy/envoy-rev1.json --restart-epoch 1 --drain-time-s 45 --parent-shutdown-time-s 60 --service-cluster greeter-server --service-node sidecar~<IP_ADDRESS>~greeter-server-3388118735-qflpt.staging~staging.svc.cluster.local]
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.39576446Z [2017-11-16 22:24:50.395][54][warning][main] external/envoy/source/server/server.cc:164] initializing epoch 1 (hot restart version=8.2490552)
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.404185037Z [2017-11-16 22:24:50.403][16][warning][main] external/envoy/source/server/server.cc:369] shutting down admin due to child startup
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.404224115Z [2017-11-16 22:24:50.404][16][warning][main] external/envoy/source/server/server.cc:374] terminating parent process
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:50.414544246Z [2017-11-16 22:24:50.414][54][warning][main] external/envoy/source/server/server.cc:332] starting main dispatch loop
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:51.342924137Z [2017-11-16 22:24:51.342][54][warning][main] external/envoy/source/server/server.cc:316] all clusters initialized. initializing init manager
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:52.059701728Z [2017-11-16 22:24:52.059][54][warning][config] external/envoy/source/server/listener_manager_impl.cc:451] all dependencies initialized. starting workers
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:24:52.061471919Z [2017-11-16 22:24:52.061][16][warning][main] external/envoy/source/server/server.cc:98] closing and draining listeners
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.003886567Z [2017-11-16 22:25:52.003][54][warning][main] external/envoy/source/server/drain_manager_impl.cc:62] shutting down parent after drain
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.00394166Z [2017-11-16 22:25:52.003][16][warning][main] external/envoy/source/server/hot_restart_impl.cc:396] shutting down due to child request
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.003947043Z [2017-11-16 22:25:52.003][16][warning][main] external/envoy/source/server/server.cc:291] caught SIGTERM
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.003950378Z [2017-11-16 22:25:52.003][16][warning][main] external/envoy/source/server/server.cc:336] main dispatch loop exited
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.011267042Z [libprotobuf ERROR external/mixerclient_git/src/report_batch.cc:78] Mixer Report failed with: UNAVAILABLE
greeter-server-3388118735-qflpt istio-proxy 2017-11-16T22:25:52.048278355Z [2017-11-16 22:25:52.048][16][warning][main] external/envoy/source/server/server.cc:357] exiting

We might be watching for certs changes even if the certs are not used... This is a bug. An easy workaround is to remove Istio CA which will stop the certs reissue.
cc @myidpt

where to remove the CA ? in Mixer ? Pilot ?

CA is another component that you might have installed as part of
istio.yaml. it's necessary for mTLS, but seems like it cause unnecessary
restarts even when mTLS is off.
On Thu, Nov 16, 2017, 6:25 PM Prune Sebastien THOMAS <
<EMAIL_ADDRESS>wrote:

where to remove the CA ? in Mixer ? Pilot ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/1667#issuecomment-345126491, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AJGIxvV5MKDpM3rv5Mg1Ihj96Wf1VLlZks5s3O6MgaJpZM4QaCwk
.

I removed the CA component... wasn't aware it was there... wait and see...
Thanks again @kyessenov

@prune998 does it work now?

yes @andraxylia

In conclusion PR #1748 is merged and fixed the timeout issues, however long lived connections do not work because of envoy restart (connections longer than the rotating certificates timeout). This includes grpc, tcp, and h2. We need support for long lived connections with mTLS as well @wattli The solution is to add support in pilot for Secret Discovery Service, which is dependent on pilot support for Envoy v2 API #2120

@andraxylia based on https://github.com/istio/istio/issues/1667#issuecomment-351290552, should we mark this issue as a duplicate of #2120?

Envoy has in fact hot restart, I am wondering why is it not working here, and if we really need the SDS.

I have a gRPC stream that is working well without Istio and is breaking with Istio 0.4.0 with mTLS (after some timeout).
Is this a known issue?
Is there any known workaround?

@shucks try upgrading to 0.6.0. I don't use mTLS, but everything is fine without it.

@prune998 I upgraded to 0.6.0 and it works well without mTLS.
When I turn on mTLS the connection stops working a few minutes after being established - this seems like a bug.


Cross-site scripting (XSS) vulnerability CVE-2024-37063

Current Behaviour
https://github.com/advisories/GHSA-2r57-2mrh-ggjv
A cross-site scripting (XSS) vulnerability in versions 3.7.0 or newer of Ydata's ydata-profiling open-source library allows for payloads to be run when a maliocusly crafted report is viewed in the browser.
References
https://nvd.nist.gov/vuln/detail/CVE-2024-37063
https://hiddenlayer.com/sai-security-advisory/ydata-june2024

Expected Behaviour
Secured
Data Description
N/A
Code that reproduces the bug
No response
pandas-profiling version

= 3.7.0, <= 4.8.3

Dependencies
N/A

OS
All OSes
Checklist

[X] There is not yet another bug report for this issue in the issue tracker
[X] The problem is reproducible from this bug report. This guide can help to craft a minimal bug report.
[X] The issue has not been resolved by the entries listed under Common Issues.

Solved with PR https://github.com/ydataai/ydata-profiling/pull/1626
Available with release 4.9.0


Question about the naming convention

If CETL is intended to resemble std, should it not use the same naming convention? One significant deviation is that it uses camelCase or PascalCase where std uses snake_case. There already are some entities that would need to be renamed, but it can be done with (deprecated) aliases to avoid API breakage.

We are already accepting PRs with the new naming convention (#89, #90, #92) so this is considered decided.


How to use sources from config file that was set via flag?

Discussed in https://github.com/urfave/cli/discussions/2032

Originally posted by plandem December 23, 2024
Hi
Sadly, I cant find how to implement this simple setup:
sources := cli.NewValueSourceChain()
app := &cli.Command{
		EnableShellCompletion:  true,
		UseShortOptionHandling: true,
		Before: func(ctx context.Context, cmd *cli.Command) (context.Context, error) {
			config := cmd.String("config")
			if len(config) > 0 {
				configFile := fmt.Sprintf("%s.yaml", cmd.String("config"))
				if _, err := os.Stat(configFile); os.IsNotExist(err) {
					return ctx, fmt.Errorf("could not load config file: %s", configFile)
				}

				sources.Append(cli.Files(configFile))
				return ctx, nil
			}

			return ctx, nil
		},
		OnUsageError: func(ctx context.Context, cmd *cli.Command, err error, isSubcommand bool) error {
			os.Exit(1)
			return err
		},
		ShellComplete: func(ctx context.Context, cmd *cli.Command) {
			fmt.Fprintf(cmd.Root().Writer, "check\nnotify\nvalidate\n")
		},
		Flags: []cli.Flag{
			&cli.StringFlag{
				Name:    "config",
				Aliases: []string{"c"},
				Usage:   "Load configuration from `FILE`",
			},
		},
		Commands: []*cli.Command{
			{
				Name:   "notify",
				Usage:  "Notify Telegram about updates",
				Flags:  []cli.Flag{
					&cli.StringFlag{
						Name:     "token",
						Required: true,
						Usage:    "`TOKEN` of Telegram's bot",
						//Sources:  altsrc.YAML("notify.telegram-chat", ???), // how to use sources/files from 'Before'?
					},
					&cli.StringFlag{
						Name:     "chat",
						Required: true,
						Usage:    "`ID` of Telegram's chat to send updates",
						//Sources:  altsrc.YAML("notify.telegram-chat", ???),  // how to use sources/files from 'Before'?
					},
				}
				Action: notify.Telegram,
			},

Setup is quite typical, tbh - provide  custom config file and use values from it. But from docs, it looks like it may work only with hardcoded names? Any direction? Ofc, I could hack around to get config's file outside from the cli package, but I feel that could miss something and there is a built-in way to achieve it.
Can anybody point me to what direction should I look?
P.S.: v3 of cli

@plandem I have a PoC PR which might help resolve your issue. You may have to customize the value source to read the flag value and load files. I have to think more on this.

@plandem I have a PoC PR which might help resolve your issue. You may have to customize the value source to read the flag value and load files. I have to think more on this.

not sure how to use it :( since its PoC, do you need some feedback or what is the next step to make it possible (i mean original topic of discussion)?


Should we make circuit._prev_moment_available given impact of CCOs ?

Description of the issue
While editing circuits, we often used circuit.prev_moment_operating_on(op.qubits, end_moment_index) to identify the position after which operation op can be inserted. This, however, is no longer correct and can lead to subtle errors, like the one came up during review of https://github.com/quantumlib/Cirq/pull/4944
For ex:
>>> import cirq
>>> q = cirq.LineQubit.range(3)
>>> c = cirq.Circuit(
>>>     cirq.measure(q[0], key='m'),
>>>     cirq.X(q[1]).with_classical_controls('m'),
>>>     cirq.Moment(cirq.X.on_each(q[1], q[2])),
>>> )
>>> print(c)
0: ───M───────────
      ║
1: ───╫───X───X───
      ║   ║
2: ───╫───╫───X───
      ║   ║
m: ═══@═══^═══════
>>> op = c[1][q[1]]
>>> c.prev_moment_operating_on(op.qubits, 1) # Returns None, implies 0 as valid position to insert.

>>> c._prev_moment_available(op, 1) # Returns 1 as the valid position to insert.
1

We should either update (add a flag?) to prev_moment_operating_on s.t. it takes care of CCOs or make _prev_moment_available a public method.
cc @95-martin-orion @daxfohl
Cirq version
0.14dev

As a stretch goal, we should also find all existing usages of prev_moment_operating_on and figure out whether it breaks with CCOs and needs to be updated to use _prev_moment_available.

Can you give an example where taking an operation as input might be too limiting? Circuits only support inserting operations and when asking the previous moment available for insertion, it seems natural to me to take an operation as input.

Can you give an example where taking an operation as input might be too limiting?

This is a fair point - all cases I can come up with eventually want to add an operation anyways, so just using that operation for the check should be fine.
The main reason I raised this is that an operation is strictly more information than the method needs. Taking an operation forces creating a dummy op (e.g. cirq.measure(*qubits, key='k')) if there ever is a case where there isn't a relevant operation to use.

an operation is strictly more information than the method needs

I agree. Maybe we can make this public as it is now and go through a deprecation cycle once we identify need for cases where an operation is not needed?


param-type=Decimal', 'HY105, fail to insert sqlserver when using DecimalField

Hi,
I'm using DJANGO and pyodbc. Recently have created a model and I set up a code to trigger an auto record insert. Unfortunately, everytime when I include the an amount which is a DecimalField(18,2)
the code bugged and told me the parameter type type is not correct. I'm using a sqlserver 2008 R2 as my database, the destination field in DB is a numeric(18, 2)
@receiver(post_save, sender=DossierCtrl)
def create_cashFlowDetail(sender, instance, **kwargs):
print "DossierCtrl post_save triggered"

ct = ContentType.objects.get_for_model(instance)

if instance.chk_go:
    CashFlowDetail.objects.get_or_create(
        object_id = instance.pk,
        content_type = ct,
        nature = instance.nature,
        date_val = instance.date_recu,
        corresp = instance.corresp,
        account = instance.account,
        montant = instance.montant
        )

e: ProgrammingError('Invalid parameter type. param-index=1 param-type=Decimal', 'HY105')
params: (1, Decimal('100000.00'), 1, u'2017-01-02', 1, 3423, 26)
If we look at the error message the param[1] is wired as it's marked as Decimal('100000.00') as the DB cannot read it. Can you look at this and tell me if its a bug?

What version of pyodbc are you using?  It has supported Decimal for quite some time (years).
I've just checked the SQL Server tests and there are a number of decimal tests.  I also checked the parameter handling source and it looks ok.
The error message is certainly from pyodbc itself and the name "Decimal" comes from the class name of the parameter.  Are you sure there isn't another Decimal class and this is not "decimal.Decimal"?

Actually I'm pretty sure there is another Decimal class.  If I comment out decimal support in pyodbc and run a test on Python 3.6, notice that the class name includes the module:
param-type=decimal.Decimal

The Python 2.7 docs state that the tp_name field being printed in the error message should have the format ".".
I'm going to close this because I'm pretty sure something that is not a decimal.Decimal is being passed, but please reopen if that is not the case.
Good luck!

pyodbc.ProgrammingError: ('Invalid parameter type.  param-index=0 param-type=builtin_function_or_method', 'HY105')
print("Enter a Unique Id")
Id=int(input())
print("Enter Name")
Name=str(input())
print("Enter Age")
Age=int(input())
print("Enter Address")
Address=str(input())
cursor = conn.cursor()
SQLCommand = ("INSERT INTO Students(id,Name, Age, Address) VALUES (?,?,?,?)")
Values = [id,Name, Age, Address]
#Processing Query
cursor.execute(SQLCommand,Values)
#Commiting any pending transaction to the database.
cursor.executemany(SQLCommand, Values[:5])
conn.commit()
#closing connection
print("Data Successfully Inserted")
conn.close()


chore: update to moc-0.8.7, matching dfx-0.14.0

Thank you for your contribution to the IC Developer Portal.
Before submitting your Pull Request, please make sure that:

[ ] You have updated the .github/CODEOWNERS file according to your changes.
[ ] You have registered new documents to /sidebars.js if any.

I checked the preview and seems good to me. Can someone approve, maybe @sesi200 or @dprats?


Add CLI option to specify cache

We should let users specify a cache directory for downloading the imagery. This entail adding a cache-dir CLI argument and passing this to CyFiPipeline in predict and predict_point and then adding corresponding tests.

Related, we could use platformdirs for this and use the user_cache_dir they provide


[full-ci] Bump reva

Bump reva to pull in the latest changes from edge.

Please don't merge this yet until the wopiserver situation has been resolved (see https://github.com/cs3org/wopiserver/pull/142)

The wopiserver incompatibility has been resolved. This is ready to be merged from my pov.


Roll engine 7d3e722349e7..d75729006bba (6 commits)

https://github.com/flutter/engine/compare/7d3e722349e7...d75729006bba
git log 7d3e722349e7923115f0b8800022a08c8dd795b3..d75729006bba557f7f55184bca220707ef94c217 --no-merges --oneline
d75729006 Roll src/third_party/skia febc162c7898..38ae3f42fec1 (3 commits) (flutter/engine#9658)
58133abce Roll src/third_party/skia 3de5c6388142..febc162c7898 (2 commits) (flutter/engine#9657)
29342dd30 Roll src/third_party/skia 1e2cb444e0c1..3de5c6388142 (8 commits) (flutter/engine#9656)
b5473560d Pipeline allows continuations that can produce to front (flutter/engine#9652)
8306ee68c Move the mutators stack handling to preroll (flutter/engine#9651)
511b9f23a Roll src/third_party/skia 215ff3325230..1e2cb444e0c1 (12 commits) (flutter/engine#9650)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (jsimmons@google.com), and stop
the roller if necessary.

Trybots failed. These were the failed builds: https://cirrus-ci.com/task/5222340361715712

Commit queue failed; closing this roll.


Update syntax to follow TF 0.11 and later rules

I just updated the syntax around variables and curly braces, in order to silence the warnings made by the syntac deprecation in 0.12.

Terraform 0.11 and earlier required all non-constant expressions to be
provided via interpolation syntax, but this pattern is now deprecated. To
silence this warning, remove the "${ sequence from the start and the }"
sequence from the end of this expression, leaving just the inner expression.

At the same time, the type definitions are no longer strings since 0.11 but are to be used as method calls. More info below:

Terraform 0.11 and earlier required type constraints to be given in quotes,
but that form is now deprecated and will be removed in a future version of
Terraform. To silence this warning, remove the quotes around "list" and write
list(string) instead to explicitly indicate that the list elements are
strings.

sorry this totally blew past my radar.
Thank you for the fixes!


Can't start the app in windows

Hi,
I have set up everything according to the install guide for Windows.
When i run this i get these errors::
schtasks.exe /run /tn "ytdlp2STRM"
[2024-11-21 14:04:27,811] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 2528, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\ProgramData\ytdlp2STRM\ui\routes.py", line 15, in index
    crons = _ui.crons
            ^^^^^^^^^
  File "C:\ProgramData\ytdlp2STRM\ui\ui.py", line 97, in crons
    with open(self.crons_file, 'r') as file:
         ~~~~^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'config/crons.json'
[2024-11-21 14:05:03,734] ERROR in app: Exception on / [GET]
Traceback (most recent call last):
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 2528, in wsgi_app
    response = self.full_dispatch_request()
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1825, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1823, in full_dispatch_request
    rv = self.dispatch_request()
  File "C:\Users\maise\AppData\Local\Programs\Python\Python313\Lib\site-packages\flask\app.py", line 1799, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^
  File "C:\ProgramData\ytdlp2STRM\ui\routes.py", line 15, in index
    crons = _ui.crons
            ^^^^^^^^^
  File "C:\ProgramData\ytdlp2STRM\ui\ui.py", line 97, in crons
    with open(self.crons_file, 'r') as file:
         ~~~~^^^^^^^^^^^^^^^^^^^^^^
FileNotFoundError: [Errno 2] No such file or directory: 'config/crons.json'

There is a file in C:\ProgramData\ytdlp2STRM\config named crons.example.json, rename it to crons.json

There is a file in C:\ProgramData\ytdlp2STRM\config named crons.example.json, rename it to crons.json

Thanks, that did it. 🙌


GorillaViewport1 property error

i have this error
GorillaViewport1.GlobalIllumDetail := 4;
GorillaViewport1.GlobalIllumSoftness := 2;
GorillaViewport1.ShadowStrength := 2;

Which Delphi IDE version do you use (11.0, 11.1, 11.2, 11.3)? It seems you're using a not compatible package without the global illumination feature. Please make sure you installed at least v<IP_ADDRESS>72.

i am using Delphi 11.3

no this is the very first release i install

Currently I have no idea what's wrong. The compiler also seems to complain about the Delphi TThread.Queue method.

Have you installed manually, by GetIt or by our installer?
Do you see the components in the design view of Unit1?

I can offer to help by screen share on Discord if you like?!

this is the version of my RAD as you see

28.0.47991.2819 looking ok. But the billiard table is missing in the 3d view.
Btw: I deleted your screenshot because your e-mail was visible.
Something with the initialization is not working on your maching.
Are you running in a virtual machine?

thank you soo much ,and thank you again for responding
no i am not working on VM , do not warry i am not interrested in this game i want to learn ow to work with component , i need some tutorial , leave the billiards game and work on some tutorial this will help me more .
i need to do ia tank battle game , so i need a 3d frame work n delphi , i think gorilla is a good choice,but ... need help

It's definitely a good choice :)
I will provide some videos as soon as possible.

this what we want,
actully i dont know what to select to go with i have 2 choises
1-GLScene
2-Gorilla
the two week in tutorial

in FMX Delphi when i add about 500 3d object the IDE getting lasy, is gorilla the same as FMX ?
Are there limits to the number of components in the application

It depends on the 3D objects you're using. Generally it's not a good idea to have 500 objects in a gaming scenery. Every object is at least one draw call. And draw calls are the killer of performance.
Gorilla is much faster than standard FMX. You can work with static mesh rendering (meshes stored in the GPU), proxy rendering and GPU instancing (!).
So for example instead of putting 500 tree models into a scene, load a single one instead and render with instances.
Standard FMX renders very slow, because it pushes vertices on each frame to the GPU.

is 500 object too much ?
Doesn't a tree or house, for example, contain more than 100 objects?
i am thinking like that . i am just a begginer

The limit always depends on the rendered objects, the structure, number of vertices, number of textures, texture size, complexicity of the shaders, render passes and many more. I like simple models with good uv-mapping more than complex ones. But sure a house and it's interior can be a lot of objects. We have to see how it works out in a test. Frustum-culling and occlusion culling can help in performance by rendering only visible objects. Unity and Unreal also merging vertices into a single mesh for faster rendering (f.e. Nanite). Therefor Gorilla3D has a simple mesh assembling component.

thank you soo much ... wainting for tutorial

A first tutorial is online: https://www.youtube.com/watch?v=-hGl4AsSxw8

thank you soo much i am waiting on fire

More tutorials coming


Port android code to iOS

Should be easy and likely involves moving pretty much everything into a generic file so that index.android.js and index.ios.js can use the same code.
You'll need iOS to test it.

All good.


Failed to install sharp

Possible install-time or require-time problem

[x] I have read the documentation relating to installation.
[] I have ensured that the architecture and platform of Node.js used for npm install is the same as the architecture and platform of Node.js used at runtime.

Are you using the latest version of sharp?

[] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

I use 0.30.1
If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
Is this a problem with filesystem permissions?
If you are using npm v6 or earlier and installing as a root or sudo user, have you tried with the npm install --unsafe-perm flag?
If you are using npm v7 or later, does the user running npm install own the directory it is run in?
If you are using the ignore-scripts feature of npm, have you tried with the npm install --ignore-scripts=false flag?
What is the complete output of running npm install --verbose --foreground-scripts sharp in an empty directory?

### When I use npm install --unsafe-perm to package, the error is as follows:
npm install --unsafe-perm
><EMAIL_ADDRESS>install /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)

sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.12.2/libvips-8.12.2-linux-x64.tar.br
sharp: Installation error: EPERM: operation not permitted, lchown '/home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp/vendor/8.12.2/linux-x64/lib'
sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
gyp ERR! build error
gyp ERR! stack Error: not found: make
gyp ERR! stack     at getNotFoundError (/root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/which/which.js:13:12)
gyp ERR! stack     at F (/root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/which/which.js:68:19)
gyp ERR! stack     at E (/root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/which/which.js:80:29)
gyp ERR! stack     at /root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/which/which.js:89:16
gyp ERR! stack     at /root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/isexe/index.js:42:5
gyp ERR! stack     at /root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/isexe/mode.js:8:5
gyp ERR! stack     at FSReqCallback.oncomplete (fs.js:192:21)
gyp ERR! System Linux 5.4.172-90.336.amzn2.x86_64
gyp ERR! command "/root/.nvm/versions/node/v14.19.3/bin/node" "/root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp
gyp ERR! node -v v14.19.3
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN<EMAIL_ADDRESS>requires a peer of ajv@>=8 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of webpack@>=2 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^5.9.0 but none is installed.  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-05-19T11_07_55_718Z-debug.log

The  output of running  npm install --verbose --foreground-scripts sharp
<EMAIL_ADDRESS>install /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)

sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.12.2/libvips-8.12.2-linux-x64.tar.br
sharp: Installation error: Download incomplete (connection was terminated)
sharp: Please see https://sharp.pixelplumbing.com/install for required dependencies
npm verb lifecycle<EMAIL_ADDRESS>unsafe-perm in lifecycle false
npm verb lifecycle<EMAIL_ADDRESS>PATH: /root/.nvm/versions/node/v14.19.3/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp/node_modules/.bin:/home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/.bin:/root/.nvm/versions/node/v14.19.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
npm verb lifecycle<EMAIL_ADDRESS>CWD: /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp
npm info lifecycle<EMAIL_ADDRESS>Failed to exec install script
npm timing action:install Completed in 403683ms
npm verb unlock done using /root/.npm/_locks/staging-da72583394bcbc53.lock for /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/.staging
npm timing stage:rollbackFailedOptional Completed in 2886ms
npm timing stage:runTopLevelLifecycles Completed in 464854ms
npm WARN<EMAIL_ADDRESS>requires a peer of ajv@>=8 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of webpack@>=2 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS><6.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^5.9.0 but none is installed.  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm verb exit [ 1, true ]
npm timing npm Completed in 467840ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-05-19T11_25_34_824Z-debug.log

What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?

npx: installed 1 in 2.114s

  System:
    OS: Linux 5.4 Ubuntu 18.04.6 LTS (Bionic Beaver)
    CPU: (4) x64 Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
    Memory: 4.55 GB / 15.46 GB
    Container: Yes
    Shell: 4.4.20 - /bin/bash
  Binaries:
    Node: 14.19.3 - ~/.nvm/versions/node/v14.19.3/bin/node
    npm: 8.3.2 - /home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/.bin/npm

Hi, the salient part of the first log you've provided is:

sharp: Installation error: EPERM: operation not permitted, lchown '/home/jenkins/agent/workspace/wholee-m_feature_dayu/node_modules/sharp/vendor/8.12.2/linux-x64/lib'

This suggests you're trying to use sudo and may have run into one of the npm v8 "features" around filesystem ownership, which is causing quite a lot of backscatter - see https://github.com/npm/rfcs/issues/546
The second log says:

sharp: Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.12.2/libvips-8.12.2-linux-x64.tar.br
sharp: Installation error: Download incomplete (connection was terminated)

This suggests there were networking problems, perhaps temporary, during installation.

Closing due to inactivity but please feel free to reopen with more details if further help is required.

@stuartcornes "tunneling socket could not be established" suggests there's a misconfigured proxy, e.g. HTTPS vs HTTP etc.
https://github.com/lovell/sharp/search?q="tunneling+socket+could+not+be+established"&type=issues
Please open a new installation issue if further help is required.


justMyCode=true throws

We have written the needed data into your clipboard because it was too large to send. Please paste.
Issue Type: Bug
I can't debug into external python packages in container. Here is the error message
Exception has occurred: FileNotFoundError
[Errno 2] No such file or directory: '/root/.local'
  File "/opt/conda/lib/python3.7/posixpath.py", line 171, in islink
    st = os.lstat(path)
  File "/opt/conda/lib/python3.7/posixpath.py", line 429, in _joinrealpath
    if not islink(newpath):
  File "/opt/conda/lib/python3.7/posixpath.py", line 395, in realpath
    path, ok = _joinrealpath(filename[:0], filename, {})
  File "/opt/conda/lib/python3.7/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/opt/conda/lib/python3.7/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)

VS Code version: Code 1.55.2 (3c4e3df9e89829dce27b7b5c24508306b151f30d, 2021-04-13T09:35:57.887Z)
OS version: Windows_NT x64 10.0.19042
Remote OS version: Linux x64 4.15.0-1103-azure
Remote OS version: Linux x64 4.15.0-1103-azure
Remote OS version: Linux x64 4.15.0-1103-azure
Remote OS version: Linux x64 4.15.0-1103-azure
Remote OS version: Linux x64 4.15.0-1111-azure

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-1065G7 CPU @ 1.30GHz (8 x 1498)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
31.59GB (8.22GB free)

Process Argv
--crash-reporter-id d55c72b1-b015-4d65-8eee-9c2e1692c18f

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: ........

OS
Linux x64 4.15.0-1103-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz (24 x 2593)

Memory (System)
440.89GB (91.12GB free)

VM
0%

Item
Value

Remote
Container .......

OS
Linux x64 4.15.0-1103-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz (24 x 2593)

Memory (System)
440.89GB (91.12GB free)

VM
0%

Item
Value

Remote
Container .....

OS
Linux x64 4.15.0-1103-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz (24 x 2593)

Memory (System)
440.89GB (91.12GB free)

VM
0%

Item
Value

Remote
Container .....

OS
Linux x64 4.15.0-1103-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz (24 x 2593)

Memory (System)
440.89GB (91.12GB free)

VM
0%

Item
Value

Remote
SSH: ......

OS
Linux x64 4.15.0-1111-azure

CPUs
Intel(R) Xeon(R) CPU E5-2690 v4 @ 2.60GHz (24 x 2593)

Memory (System)
440.89GB (82.62GB free)

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

vscode-cudacpp
kri
0.1.1

remote-containers
ms-
0.166.1

remote-ssh
ms-
0.65.4

remote-ssh-edit
ms-
0.65.4

vim
vsc
1.20.0

python
ms-
2021.4.765268190

jupyter
ms-
2021.5.745244803

cpptools
ms-
1.3.1

MacOS: 10.15.7
VScode: 1.58.2
Python extension: v2021.8.1105858891
Python version: 3.7.4 & 3.7.10
I am having the same problem. It happens after updating MacOS to Catalina, which does not allow Anaconda's default install location in root folder.  I performed the repair following https://www.anaconda.com/blog/how-to-restore-anaconda-after-macos-catalina-update. The normal running, and debugging are fine.
However, when using justMyCode=true, VScode starts to ask for files in .local, which probably got reallocated.
I got it working once on one project using "@command:python.clearPersistentStorage". but the problem crawl back. Would like to know whether there is an official solution for it.

/extPython


v4 branch - ES6 - not safe for IE11

This comment is specifically for the v4 branch.
It has been written in ES6, which isn't safe for IE11. The first issue comes with the 'class' keyword.
http://caniuse.com/#search=es6 class
It needs compiling down using babel to become safe.
Thanks,
Dale

@DaleMckeown when published the code will be run through babel. https://github.com/Bttstrp/bootstrap-switch/blob/master/package.json#L60


HBASE-28678 Make nightly builds for 3.x java 17 only and add java 17 …

…test for 2.x

https://ci-hbase.apache.org/job/HBase Nightly/job/HBASE-28678/11/
This is for master branch, the failure is because of client integration test, have already filed HBASE-28694 for it.
https://ci-hbase.apache.org/job/HBase Nightly/job/HBASE-28678-branch-2/6/
This is for branch-2 build.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/console in case of problems.

(!) A patch to the testing environment has been detected.
Re-executing against the patched versions to perform further tests.
The console is at https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/console in case of problems.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 40s

Docker mode activated.

-0 :warning:
yetus
0m  2s

Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --author-ignore-list --blanks-eol-ignore-file --blanks-tabs-ignore-file --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+0 :ok:
mvndep
0m 10s

Maven dependency ordering for branch

_ Patch Compile Tests _

+0 :ok:
mvndep
0m  4s

Maven dependency ordering for patch

_ Other Tests _

1m 42s

Subsystem
Report/Notes

Docker
ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6032

Optional Tests

uname
Linux 6d9ed6ddd59e 5.4.0-186-generic #206-Ubuntu SMP Fri Apr 26 12:31:10 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 532a719f8cac81083f3343de66e097a9a0dae1d9

Max. process+thread count
41 (vs. ulimit of 30000)

modules
C:  U:

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/console

versions
git=2.34.1 maven=3.8.6

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 14s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+0 :ok:
shelldocs
0m  0s

Shelldocs was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

_ master Compile Tests _

+0 :ok:
mvndep
0m 11s

Maven dependency ordering for branch

+1 :green_heart:
spotless
0m 42s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m  4s

Maven dependency ordering for patch

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
shellcheck
0m  0s

No new issues.

+1 :green_heart:
spotless
0m 38s

patch has no errors when running spotless:check.

_ Other Tests _

+0 :ok:
asflicense
0m  0s

ASF License check generated no output?

2m 45s

Subsystem
Report/Notes

Docker
ClientAPI=1.46 ServerAPI=1.46 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6032

Optional Tests
dupname asflicense codespell detsecrets shellcheck shelldocs spotless

uname
Linux a3270057cb88 5.4.0-182-generic #202-Ubuntu SMP Fri Apr 26 12:29:36 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 532a719f8cac81083f3343de66e097a9a0dae1d9

Max. process+thread count
44 (vs. ulimit of 30000)

modules
C:  U:

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6032/1/console

versions
git=2.34.1 maven=3.8.6 shellcheck=0.8.0

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.


Extend the configuration and feedback to provide statistical processing support

Hi, I did not get to this. Please, just start with it, and I might finish the API mapping. Thanks!

Test is needed, otherwise done

Please test by 7.2.

@josef-janousek approved, and my attempt was successful as well.


Potential bug in desymmetrization routines

Hi Kyle,
I'm finding strange behaviour when working with desymmetrized wavefunctions. Essentially, I take the wavefunction for Silicon, create a Wavefunction object, then create a desymmetrized copy using Wavefunction.desymmetrized_copy. I then create a MomentumMatrix object for each wavefunction (one for the IBZ and one for the full BZ). Next, I use the MomentumMatrix.get_reciprocal_fullfw function to get the wavefunction coefficients on the G-point grid at a certain k-point and finally, I check to see if the wavefunctions match by calculating < Psi_k | Psi_k >.
I've found that for some k-points, the wavefunctions are considerably different (< Psi_k | Psi_k > << 1). This is pretty strange because the wavefunctions should be identical in the IBZ vs desymmerized versions as I use the same k-point in both cases. I.e.,as the k-point exists in the original wavefunction it shouldn't need to have been mapped at all. I'm thinking this issue could either be:

An issue in the MomentumMatrix class.
Or a more serious bug in the desymmetriyation routines (e.g., the G-point mapping).

I think further investigation of the underlying psuedowavefunction coefficients should hopefully reveal where the issue is occurring. Unfortunately, my c skills are not that great, otherwise I'd have done this myself.
To give you an idea of the scale, I'm working with silicon wavefunctions calculated on an 18x18x18 k-point mesh with 195 k-points in the IBZ. Of the 195 k-points, 26 showed < Psi_k | Psi_k > < 0.5. One thing that may be important: the bad k-point are always on a zone boundary.
I've attached some example code that reproduces this bug. Let me know if you want me to send you representative VASP files for testing.
If you have any thoughts I'd be much appreciated to hear them.
Code to reproduce
import numpy as np
from pawpyseed.core.wavefunction import Wavefunction
from pawpyseed.core.momentum import MomentumMatrix

ibz_wf = Wavefunction.from_directory(path=".")
full_wf = ibz_wf.desymmetrized_copy(time_reversal_symmetry=False, symprec=1e-2)

ibz_mm = MomentumMatrix(ibz_wf, encut=500)
full_mm = MomentumMatrix(full_wf, encut=500)

def get_state(momentum_matrix, kpoint, b_idx=0):
    """Helper function to extract state from momentum matrix."""
    # find the index of the k-point we want
    kdiff = np.linalg.norm(np.array(momentum_matrix.wf.kpts) - kpoint, axis=1)
    if np.min(kdiff) > 0.01:
        raise ValueError("k-point is not in wavefunction")
    k_idx = kdiff.argmin()
    state = momentum_matrix.get_reciprocal_fullfw(b_idx, k_idx, 0)
    return state

nbad = 0
for kpt in ibz_wf.kpts:
    ibz_state = get_state(ibz_mm, kpt, 1)
    full_state = get_state(full_mm, kpt, 1)

    overlap = abs(np.vdot(ibz_state, full_state))
    if abs(1 - overlap) > 0.1:
        nbad += 1
        print(kpt, overlap)

print(nbad)

Outputs:
[0.5 0.  0.


How to use it with Webpack?

I know you have added a simple example but it doesn't work for me.
In general, Webpack plugins start with the new keyword. Example:
new MiniCssExtractPlugin({
    filename: 'css/[name].css',
}),

And not with:
require('unplugin-svg-sprite/webpack')

When I try your example I get the error:
TypeError: require(...) is not a function

require function Node.js core function for module resolution, this error is weired. Please provide a minimal reproduction demo for debug.
Moreover, if you use tailwindcss as a css framework, I recommend you can try to use svg icons by tailwind plugin by https://iconify.design/docs/usage/css/tailwind/#options
Also I create a tailwind plugin tailwindcss-plugin-iconify for more easy to use.

closed as stale


Squeezr suddenly stopped working...

Hi,
Our Squeezr implementation suddenly stopped working after 2 months of running smoothly. Interestingly, it stopped on all sites (dev, test, production) at the same time.
No folders are created, and no cache images or symlinks either. Before everything worked perfectly.
Could you get in touch and help out? I appreciate your help.
Jan

I got it to work locally again, but not on TEST or PRODUCTION. The cookies are properly set, but the images are not being rendered and no symlinks created either.
Below is a copy of our .htaccess file:
`# Use PHP5 Single php.ini as default
AddHandler application/x-httpd-phpbetas .php
#Options +FollowSymlinks
Options +SymLinksIfOwnerMatch
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^media/(.*)$ /uploads/$2 [R=301,L]
Redirect non-existing image cache requests to squeezr
RewriteCond %{REQUEST_URI} !core
RewriteCond %{REQUEST_URI} !plugins
RewriteCond %{REQUEST_URI} !themes
RewriteCond %{REQUEST_URI} !wp
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{ENV:REDIRECT_BREAKPOINT} !\d+px
RewriteCond %{QUERY_STRING} !^([^&]*&)*squeezr=(0|false|no)
RewriteCond %{HTTP_COOKIE} squeezr.images=(\d+px) [NC]
RewriteRule ^(.+)(.(?:jpe?g|gif|png))$ squeezr/cache/$1-%1$2 [NC,E=BREAKPOINT:%1,L]
RewriteCond %{HTTP_HOST} !^paytonbinnings.com$
RewriteRule ^/?robots.txt$ /devbots.txt [L,R=301]
RewriteRule ^properties(/)$ /our-properties [R=301,L]
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]`
Thank you for your assistance!

I'm very sorry but I can hardly help you debugging your very specific setup. As far as I see you're using Wordpress, right? You don't happen to have updated to 4.6 recently? Any chances Wordpress itself does intercept the image requests? What did you do to get it running locally again?

Hi Joschi,
Thank you for your feedback - I appreciate it!
I finally got it back to work on the test and production servers again. Turns out the hosting provider had turned on default caching for all the domains without informing me, and therefore Squeezr was never run anymore. I have a cron job set up to clear the Squeezr cache once a week, so once the cache was cleared the pages always had to load the original images - which are huge (5+MB each). Once I turned the cache off, it all worked smoothly again. Not the first place I would look, so I kept thinking something was suddenly wrong with the .htaccess files.
Thanks again,
Jan

On Aug 19, 2016, at 9:10 AM, Joschi Kuphal<EMAIL_ADDRESS>wrote:
I'm very sorry but I can hardly help you debugging your very specific setup. As far as I see you're using Wordpress, right? You don't happen to have updated to 4.6 recently? Any chances Wordpress itself does intercept the image requests? What did you do to get it running locally again?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jkphl/squeezr/issues/17#issuecomment-241061380, or mute the thread https://github.com/notifications/unsubscribe-auth/AG0zPhmCnzSXyQqN4ArJkvenuazPqB_Qks5qhdVvgaJpZM4Jn8rB.

Oh, glad you could sort this one out! I know too well how it feels when providers change things without notice. Ouch ... ;)

Thanks again

On Aug 19, 2016, at 9:27 AM, Joschi Kuphal<EMAIL_ADDRESS>wrote:
Oh, glad you could sort this one out! I know too well how it feels when providers change things without notice. Ouch ... ;)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/jkphl/squeezr/issues/17#issuecomment-241065831, or mute the thread https://github.com/notifications/unsubscribe-auth/AG0zPjsWiImTH9e5SCiTd87WUMJgPsrGks5qhdl4gaJpZM4Jn8rB.


Spacing and hover effect on Find a Doctor button (navbar)

Description
Solved issue #927, added a hover effect on 'Find a Doctor' button. Resolved some spacing using  tag
Related Issues
Closes #927
Type of PR

[ ] Bug fix
[x ] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Screenshots / videos (if applicable)
 (AFTER PAGE SPACING)
 (BEFORE PAGE SPACING)
 (HOVER EFFECT - COLOR CHANGE)
Checklist

[ x] I have gone through the contributing guide
[ x] I have updated my branch and synced it with project main branch before making this PR
[ x] I have performed a self-review of my code
[x ] I have tested the changes thoroughly before submitting this pull request.
[ x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

Additional context:
[Include any additional information or context that might be helpful for reviewers.]

@Anishkagupta04 pls chk


use "relational.sml"; results in errors.

Hi,
Running https://github.com/julianhyde/morel/blob/main/src/test/resources/script/relational.sml using "use".
Does is this .sml file have dependencies?
use "relational.sml";
Appears to have multiple levels of issues.

Fatal. Keeping the multi-line comments, the interpreter gives up with:

net.hydromatic.morel.parse.TokenMgrError: Lexical error at line 3, column 27.  Encountered: <EOF> after : ""
        at net.hydromatic.morel.parse.MorelParserImplTokenManager.getNextToken(MorelParserImplTokenManager.java:1434)
        at net.hydromatic.morel.parse.MorelParserImpl.jj_ntk_f(MorelParserImpl.java:2787)
        at net.hydromatic.morel.parse.MorelParserImpl.statement(MorelParserImpl.java:2174)
        at net.hydromatic.morel.parse.MorelParserImpl.statementSemicolon(MorelParserImpl.java:2212)
        at net.hydromatic.morel.Shell$SubShell.extracted(Shell.java:477)
        at net.hydromatic.morel.Shell$SubShell$Use.use(Shell.java:541)
        at net.hydromatic.morel.eval.Session.use(Session.java:61)
        at net.hydromatic.morel.eval.Codes$21.apply(Codes.java:323)
        at net.hydromatic.morel.eval.Codes$ApplyCode.eval(Codes.java:2657)
        at net.hydromatic.morel.compile.Compiler.lambda$compileValDecl$17(Compiler.java:610)
        at net.hydromatic.morel.compile.Compiler$1.lambda$eval$0(Compiler.java:99)
        at net.hydromatic.morel.util.ThreadLocals.let(ThreadLocals.java:37)
        at net.hydromatic.morel.compile.Compiler$1.eval(Compiler.java:95)
        at net.hydromatic.morel.Shell$SubShell.lambda$extracted$0(Shell.java:484)
        at net.hydromatic.morel.eval.Session.withShell(Session.java:50)
        at net.hydromatic.morel.Shell$SubShell.extracted(Shell.java:483)
        at net.hydromatic.morel.Shell.run(Shell.java:264)
        at net.hydromatic.morel.Shell.main(Shell.java:88)

Negative Tests? After removing the multi-line comments the interpreter runs to completion but generates multiple instances like this:

Encountered "<EOF>" at line 2, column 18.
Was expecting one of:
    "datatype" ...
    "fun" ...
    "in" ...
    "val" ...

Encountered " "in" "in "" at line 1, column 1.

I'm not at all surprised by this. The problem is that we use the .sml file suffix for two different languages - Morel scripts (such as can be included via the use function) and test scripts (such as can be run using ScriptTest).
The requirements are different. We want tests to echo their input and output, and we want them to print an error and carry on if a command fails.
Both languages support the use function. But when you use use, they assume that the script is in the same language.
It might be possible to unify the languages by adding some built-in functions to control whether scripts echo their input, whether they carry on in the event of errors. These would have to be Morel functions, not merely directives to the shell. We have a few examples of such functions already: Sys.plan, Interact.use, Sys.set, Sys.show.
Also we would need to unify how we treat block comments (* ... *) and blank lines.
In summary, this is a bug, but it is low priority. Contributions welcome.

OK so there are some negative test cases in relational.sml?
That just leaves comment handling to sort out - right?

Sounds about right. We definitely need negative tests (and they can't cause the script to bomb out). I have not analyzed it in detail. As I said, it did not occur to me to run test scripts via use from the shell.


Added settings for app

Added settings file for the app so we have way to define app settings with reasonable defaults, that is possible override in project settings

Current coverage is 90.68% (diff: 88.88%)

Merging #189 into master will increase coverage by 0.04%

@@             master       #189   diff @@
==========================================
  Files            37         38     +1
  Lines          1047       1052     +5
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            949        954     +5
  Misses           98         98
  Partials          0          0

Powered by Codecov. Last update f2f2110...abf631e


[Update Request]: Microsoft.BingWallpaper <IP_ADDRESS>

What type of update are you requesting?
A new version of an existing package
Current Package Identifier
Microsoft.BingWallpaper
Package Version
<IP_ADDRESS>
Please describe the changes you would like to see
There is a new release (<IP_ADDRESS>) available.
Download Page Url: https://bingwallpaper.microsoft.com/
Direct Download Url: https://download.microsoft.com/download/a/b/9/ab92b51f-92ea-4d46-9d21-9446bd20eed8/Installer/<IP_ADDRESS>/Bing/W017/BingWallpaper.exe

[!WARNING]

Duplicate of #174661
There're already 3 attempts for submitting previous version of this package

See #174665
See #166300
See #160817

Warning

Duplicate of [Update Request]: Microsoft.BingWallpaper <IP_ADDRESS> #174661

There're already 3 attempts for submitting previous version of this package

See New version: Microsoft.BingWallpaper version <IP_ADDRESS> #174665
See Microsoft.BingWallpaper version <IP_ADDRESS> #166300
See Microsoft.BingWallpaper version <IP_ADDRESS> #160817

I know, maybe this is the last try to push update for this package (if its still doesn't work)


Add option for dropdownButton

This pull add option "dropdown-menu-right".
To default, the dropdownButton is aligned to left.
The align property if it is set, waits for the 'right' or 'left' values.

@rifton007 Actually, this should go to HtmlHelper::dropdown, and the FormHelper::dropdown should only forward the align option to the HtmlHelper::dropdown (or something similar), could you modify that?

I tried, but I do not understand how to do it.
Could you explain to me how to do it and I would do it with pleasure.
Sorry to not be able to do better.

@rifton007 I'll merge this pull request this week-end to a separate branch and make the change to the test cases before merging it to the master branch.

Thank you Holt 59, I will watch your changes to better understand.
Sorry still not to be able to do it myself.

I have merged this PR to the pr129 branch. I will probably move the part to the Html helper, and add the necessary tests.

I have fixed issue with the PR and the tests:

I have moved the align option to HtmlHelper::dropdown (it probably belongs here rather than in the FormHelper);
I have forwarded the align option from FormHelper::dropdown to HtmlHelper::dropdown (and in the same time added a way to easily add new forwarding options);
I have fix the tests, all that was needed was to add the dropdown-menu-left class to the generated dropdown (since it is now added by default).

Thanks again for the initial PR!

Thank you @Holt59
Thanks to you for this plugin and all the work you do


Vue refactor

This PR is to merge the Vue refactor into master.  This code is the current active release of @ionic/vue

There are a lot of merge conflicts in the changes. Is this PR outdated?

We'll have to clean this up (maybe create a new branch).

Ya sorry I am cleaning this up today


Raised vercel cli version to ^31

Support latest vercel cli

@rcerljenko Thanks for the bump here.  I'm sorry it took so long to merge, I didnt realize anyone was using my fork!

hi... thx but now is actually 32 latest...
can you maybe update to that or just put the latest constraint so that is always up to date?


Unhandled Win32 Exception when using HelixToolkit.WinUI (Reentrancy was detected...)

Describe the bug
An unhandled Win32 exception is thrown when using the WinUI build of HelixToolkit.
Here is the output when the crash occurs:
Exception thrown at 0x00007FFD1E1ACF19 (KernelBase.dll) in WinUiTestApp.exe: WinRT originate error - 0x80004005 : 'Reentrancy was detected in this XAML application. Use a debugger to locate the reentrant code and, if necessary, move that code to an asynchronous event handler. Press OK to exit the application.'. onecore\com\combase\winrt\error\restrictederror.cpp(1016)\combase.dll!00007FFD1FC15A63: (caller: 00007FFD1FBDCA9D) ReturnHr(1) tid(1b80) 8007007E The specified module could not be found. Microsoft.ui.xaml.dll!00007FFC23B20CB7: 8000FFFF - E_UNEXPECTED Unhandled exception at 0x00007FFD1E2AD862 (KernelBase.dll) in WinUiTestApp.exe: 0xC000027B: An application-internal exception has occurred (parameters: 0x0000016FED657A90, 0x0000000000000001).
Here is the stack trace:
StackTrace.txt
The error will occur in different places within the HelixToolkit code, but the top of the stack trace is always ultimately a call to Monitor.Wait, either directly or via a call to something like Parallel.ForEach.
This occurs in Windows App SDK 1.3 and 1.2, but interestingly I could not get it to occur in 1.1.5.
I experience this crash in all HelixToolkit.WinUI builds (2.24, 2.23, 2.22, and 2.21).
This bug was originally reported on HelixToolkit:
https://github.com/helix-toolkit/helix-toolkit/issues/1977#issuecomment-1559381410
Steps to reproduce the bug

Run the attached test application.
WinUiTestApp.zip
Manipulate the camera (pan, orbit, zoom) continuously for several seconds. Pan is left drag, orbit is right drag, zoom is mouse wheel.
The app will sometimes stutter a couple times during camera manipulation, requiring re-gesturing the camera manipulation, but eventually the app will crash, usually within 30 seconds, often much sooner.

Expected behavior
The app should not crash during camera manipulation.
Screenshots
No response
NuGet package version
WinUI 3 - Windows App SDK 1.3.1: 1.3.230502000
Windows version
Windows 10 (21H2): Build 19044
Additional context
This crash is not present in HelixToolkit.UWP, including when WinUI 2 components are in use in the app.

Seems like putting Monitor.Wait inside WinUI CompositionTarget.Rendering event crashes the app.

Hi, currently WinUI doesn't support doing a wait like this in the rendering event.