arm64 architecture missing from ingress and egress gateway deployment manifest

Bug Description
The arm64 CPU architecture is missing in the list of architectures provided in node affinity for ingress and egress gateway deployments. This makes the ingress and egress gateway pods stuck in the pending state because the node affinity condition does not match. The pods report following error:
'0/1 nodes are available: 1 node(s) didn''t match Pod''s node affinity/selector.'
Here is the describe output from one of the pods:
`kubectl  describe pod -n istio-system istio-ingressgateway-8f568d595-pqn88
Name:           istio-ingressgateway-8f568d595-pqn88
Namespace:      istio-system
Priority:       0
Node:
Labels:         app=istio-ingressgateway
chart=gateways
heritage=Tiller
install.operator.istio.io/owning-resource=unknown
istio=ingressgateway
istio.io/rev=default
operator.istio.io/component=IngressGateways
pod-template-hash=8f568d595
release=istio
service.istio.io/canonical-name=istio-ingressgateway
service.istio.io/canonical-revision=latest
sidecar.istio.io/inject=false
Annotations:    prometheus.io/path: /stats/prometheus
prometheus.io/port: 15020
prometheus.io/scrape: true
sidecar.istio.io/inject: false
Status:         Pending
IP:
IPs:
Controlled By:  ReplicaSet/istio-ingressgateway-8f568d595
Containers:
istio-proxy:
Image:       docker.io/istio/proxyv2:1.10.3
Ports:       15021/TCP, 8080/TCP, 8443/TCP, 31400/TCP, 15443/TCP, 15090/TCP
Host Ports:  0/TCP, 0/TCP, 0/TCP, 0/TCP, 0/TCP, 0/TCP
Args:
proxy
router
--domain
$(POD_NAMESPACE).svc.cluster.local
--proxyLogLevel=warning
--proxyComponentLogLevel=misc:error
--log_output_level=default:info
--serviceCluster
istio-ingressgateway
Limits:
cpu:     2
memory:  1Gi
Requests:
cpu:      10m
memory:   40Mi
Readiness:  http-get http://:15021/healthz/ready delay=1s timeout=1s period=2s #success=1 #failure=30
Environment:
JWT_POLICY:                   third-party-jwt
PILOT_CERT_PROVIDER:          istiod
CA_ADDR:                      istiod.istio-system.svc:15012
NODE_NAME:                     (v1:spec.nodeName)
POD_NAME:                     istio-ingressgateway-8f568d595-pqn88 (v1:metadata.name)
POD_NAMESPACE:                istio-system (v1:metadata.namespace)
INSTANCE_IP:                   (v1:status.podIP)
HOST_IP:                       (v1:status.hostIP)
SERVICE_ACCOUNT:               (v1:spec.serviceAccountName)
CANONICAL_SERVICE:             (v1:metadata.labels['service.istio.io/canonical-name'])
CANONICAL_REVISION:            (v1:metadata.labels['service.istio.io/canonical-revision'])
ISTIO_META_WORKLOAD_NAME:     istio-ingressgateway
ISTIO_META_OWNER:             kubernetes://apis/apps/v1/namespaces/istio-system/deployments/istio-ingressgateway
ISTIO_META_MESH_ID:           cluster.local
TRUST_DOMAIN:                 cluster.local
ISTIO_META_UNPRIVILEGED_POD:  true
ISTIO_META_ROUTER_MODE:       standard
ISTIO_META_CLUSTER_ID:        Kubernetes
Mounts:
/etc/istio/config from config-volume (rw)
/etc/istio/ingressgateway-ca-certs from ingressgateway-ca-certs (ro)
/etc/istio/ingressgateway-certs from ingressgateway-certs (ro)
/etc/istio/pod from podinfo (rw)
/etc/istio/proxy from istio-envoy (rw)
/var/lib/istio/data from istio-data (rw)
/var/run/secrets/istio from istiod-ca-cert (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-m5v48 (ro)
/var/run/secrets/tokens from istio-token (ro)
Conditions:
Type           Status
PodScheduled   False
Volumes:
istiod-ca-cert:
Type:      ConfigMap (a volume populated by a ConfigMap)
Name:      istio-ca-root-cert
Optional:  false
podinfo:
Type:  DownwardAPI (a volume populated by information about the pod)
Items:
metadata.labels -> labels
metadata.annotations -> annotations
limits.cpu -> cpu-limit
requests.cpu -> cpu-request
istio-envoy:
Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
istio-data:
Type:       EmptyDir (a temporary directory that shares a pod's lifetime)
Medium:
SizeLimit:
istio-token:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  43200
config-volume:
Type:      ConfigMap (a volume populated by a ConfigMap)
Name:      istio
Optional:  true
ingressgateway-certs:
Type:        Secret (a volume populated by a Secret)
SecretName:  istio-ingressgateway-certs
Optional:    true
ingressgateway-ca-certs:
Type:        Secret (a volume populated by a Secret)
SecretName:  istio-ingressgateway-ca-certs
Optional:    true
kube-api-access-m5v48:
Type:                    Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds:  3607
ConfigMapName:           kube-root-ca.crt
ConfigMapOptional:
DownwardAPI:             true
QoS Class:                   Burstable
Node-Selectors:
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type     Reason            Age                 From               Message

Warning  FailedScheduling  50s (x3 over 2m1s)  default-scheduler  0/1 nodes are available: 1 node(s) didn't match Pod's node affinity/selector.`
Version
istioctl  version
client version: 1.11.4
control plane version: 1.11.4
data plane version: 1.11.4 (2 proxies)

kubectl version
Client Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:59:11Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"darwin/arm64"}
Server Version: version.Info{Major:"1", Minor:"21", GitVersion:"v1.21.2", GitCommit:"092fbfbf53427de67cac1e9fa54aaa09a28371d7", GitTreeState:"clean", BuildDate:"2021-06-16T12:53:14Z", GoVersion:"go1.16.5", Compiler:"gc", Platform:"linux/arm64"}

Additional Information
No response

We don't publish arm64 images so I would not expect the deployment to claim arm64 is supported?

I see arm64 related tar files available. What are those for? Does that only depend on istioctl? If yes, is the target cluster supposed to be running only amd64, s390x and ppc64le architectures?

Yeah it's for istioctl only
We only publish amd64 so I don't know why those other architectures are there tbh

Is there a doc somewhere in this repository which has all these details related to hardware requirements?

@gpsingh-1991 In the fact, maybe next release will add the node affinity/selector beta.kubernetes.io/arch:arm64, Refer https://github.com/istio/istio/pull/35648.
In addition, you can set this in the operator cr, such as :
$ kubectl -n istio-system get iop -oyaml
...
spec:
    components:
      ingressGateways:
      - enabled: true
        k8s:
          affinity:
            nodeAffinity:
              preferredDuringSchedulingIgnoredDuringExecution:
              - preference:
                  matchExpressions:
                  - key: beta.kubernetes.io/arch
                    operator: In
                    values:
                    - arm64
                    - amd64
                weight: 2
              requiredDuringSchedulingIgnoredDuringExecution:
                nodeSelectorTerms:
                - matchExpressions:
                  - key: beta.kubernetes.io/arch
                    operator: In
                    values:
                    - arm64
                    - amd64

Hi @zackzhangkai , thank you for the work around. I already applied this when I got stuck here but, the arm64 tar in release is misleading or incomplete without this change being present there.

@zackzhangkai that was already merged, so it might come in the next release cycle? do you happen to know?

Adding this change is not likely to help users beyond niche cases - this
does NOT add support for arm64 images in Istio's release which is another
effort. Just wanted to clarify.
On Tue, Nov 23, 2021 at 8:00 AM erabii @.***> wrote:

@zackzhangkai https://github.com/zackzhangkai that was already merged,
so it might come in the next release cycle? do you happen to know?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/35794#issuecomment-976764402, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEYGXLYK47CFZWF76XNYXDUNO277ANCNFSM5G6XWTMA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

I see! thank you for the clarification.


bench: compare performance to other native sorters

I guess your algorithm is simpler to have better performance? Would be nice to have some numbers.
See https://github.com/nvim-telescope/telescope.nvim/wiki/Extensions#sorter

I'm not sure if the algorithm is simpler. It is designed to be more accurate than other sorters. It's absolutely faster than the lua sorters, but it is probably similar in performance to fzf and fzy.
But that is a good point, some benchmarks might be nice.


Not sure why it still says it but...

Failed to initialize DropboxCloudStorage
Everything is up to par to your readme.

Are you running a prebuilt binary, or from the source code you built yourself ?
If you run from the code, could you set some breakpoints in order to get a bit more information ?

Hello TanukiSharp, I am running a prebuilt binary and it has write access. I also created a new dropbox account to test it on (because my previous one already had been used previously. Both of them aren't working. I will test it more to let you know if it works or not. Thanks for a response.

Actually I just figured out I introduced a huge bug in version 1.0.5 (a dependency is missing) and I fixed it in version 1.0.6 which I just uploaded, if you could try this one.
I'm sorry for the trouble you encountered with version 1.0.5.
Please let me know if version 1.0.6 fixed your problem.

1.0.6 is working perfectly, thanks a lot. I am glad we resolved this issue.


Raise exception if assign charges fails

Awesome, thanks!
Do you want a test molecule that fails this?

Do you have one offhand?  I tried rapamycin and paclitaxel, but they seemed to work fine.

Try something unphysical?
On Thu, Apr 23, 2015 at 8:43 PM, Kyle Beauchamp<EMAIL_ADDRESS>wrote:

Do you have one offhand? I tried rapamycin and paclitaxel, but they seemed
to work fine.
—
Reply to this email directly or view it on GitHub
https://github.com/choderalab/gaff2xml/pull/93#issuecomment-95763704.

Yes, I have a bunch.
Here's one:
https://gist.github.com/jchodera/7833b895fd66d6ff5411

OK, this was a bit more subtle than I had thought, as charging can go wrong during both Omega and AssignPartialCharges.  I'm now checking both statuses and raising exceptions.


Bug when activating stackScroll before stackScrollTouchDrag at the same time. #338

Fix for Issue #338.
Both stackScroll  & stackScrollTouchDrag were using the same toolName for setting options.
This was creating a condition of options being overridden.

Coverage increased (+0.01%) to 4.224% when pulling 515ac632fd49b4c106fb5f1920f00397d4c8c8dc on vaibhav2383:master into 1600043b143a4a9f927a0f41c28e2c2aa0aa6bda on cornerstonejs:master.

Thanks!


introduce super-user semantics?

Is your enhancement proposal related to a problem? Please describe.
Currently, we have two types of threads:

Supervisor threads, which run at maximum CPU privilege level. On systems without memory protection, all threads are supervisor threads.
User threads, which run at an unprivileged CPU level. Memory access is restricted, with the kernel performing operations on the user thread's behalf via system calls.

Right now, we forbid a lot of operations from user mode, even though it would be technically possible to do so via system calls:

Manage memory domains
Assign arbitrary permissions to threads and kernel objects
Use kernel objects / drivers without being granted permission first
Any other operation which we would not want to allow untrusted code to run
Install driver callbacks

Currently, main() starts in supervisor mode and the usual programming idiom is to do all these special tasks in the beginning of the application, and then once complete drop privileges to user mode.
With a monolithic Zephyr, the split between kernel and application is not well-defined. As we aim towards introducing modular applications, and a clear split between kernel code/data and app code/data, we may need the ability to have Zephyr's main start
not in supervisor mode, but as a "super user" thread which can take care of these initialization tasks and then drop its privileges, running in unprivileged mode the entire time.
With this in place, we may consider deprecating k_thread_drop_to_user().
Describe the solution you'd like
We do not want to introduce the notion of user accounts to Zephyr. For "super user" I am thinking along the lines of a flag that gets cleared.
For the specific case of driver callbacks, this is a nasty problem to be tackled separately, see https://github.com/zephyrproject-rtos/zephyr/issues/25950
For the other mentioned operations, this seems simple:

Add a K_SUPER_USER flag to threads. Only supervisor mode or other super-user threads can create these.
Add new syscalls that are only allowed by K_SUPER_USER (like for mem domains), and relax all permissions checks if K_SUPER_USER is active for the current thread
Add an API to drop super-user privileges

Describe alternatives you've considered
I am not 100% certain this is necessary yet, we may be able to get by for quite a while with the current scheme, I am thinking this will be more of a necessity once we have applications which are built separately from Zephyr and do not link against Zephyr either (i.e. only talk to the kernel via syscalls). We may also need this if we link applications in a different address space than the kernel.
Not starting on this until we get much further along in virtual memory enabling, at which point we can re-assess priority.

Well... there doesn't seem to be a need for this right now. Reopen if needed.


[Cluster / SF as SP] Appropriate error logs should be printed when user login fails to an SP

Solution 4 in doc [1].
Preconditions:-
Follow the document [2] and configure Single Sign-on in Salesforce

login with a non-admin user as described in ticket [3]
Check the IS logs

Expected results:-

If a login fails then an appropriate error should be logged in IS

Actual results:-

No error logs related to login failure in IS except for the logs provided below.

TID: [-1] [] [2018-01-19 07:12:36,072]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusterMessageListener} -  Received ClusteringMessage: ClusterCacheInvalidationRequest{tenantId=-1234, tenantDomain='carbon.super', messageId=af873db3-c0fd-4414-a263-8c0e0fde014c, cacheManager=IdentityApplicationManagementCacheManager, cache=$__local__$.AuthenticationRequestCache, cacheKey=org.wso2.carbon.identity.application.authentication.framework.cache.AuthenticationRequestCacheKey@9c964c52}
TID: [-1] [] [2018-01-19 07:12:49,514]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusterMessageListener} -  Received ClusteringMessage: ClusterCacheInvalidationRequest{tenantId=-1234, tenantDomain='carbon.super', messageId=19247bf9-d9ba-4933-9bc7-556eae4d36e4, cacheManager=IdentityApplicationManagementCacheManager, cache=$__local__$.AuthenticationContextCache, cacheKey=org.wso2.carbon.identity.application.authentication.framework.cache.AuthenticationContextCacheKey@71af7dc6}
TID: [-1] [] [2018-01-19 07:12:49,600]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusterMessageListener} -  Received ClusteringMessage: ClusterCacheInvalidationRequest{tenantId=-1234, tenantDomain='carbon.super', messageId=39f43163-32b5-4670-96a2-a2bb427d0eca, cacheManager=IdentityApplicationManagementCacheManager, cache=$__local__$.SAMLSSOSessionDataCache, cacheKey=org.wso2.carbon.identity.sso.saml.cache.SessionDataCacheKey@71af7de5}
TID: [-1] [] [2018-01-19 07:12:49,604]  INFO {org.wso2.carbon.core.clustering.hazelcast.HazelcastClusterMessageListener} -  Received ClusteringMessage: ClusterCacheInvalidationRequest{tenantId=-1234, tenantDomain='carbon.super', messageId=537cbc0d-6720-42d3-a2fa-d77223980a20, cacheManager=IdentityApplicationManagementCacheManager, cache=$__local__$.AuthenticationResultCache, cacheKey=org.wso2.carbon.identity.application.authentication.framework.cache.AuthenticationResultCacheKey@9c964c52}

[1] https://medium.facilelogin.com/thirty-solution-patterns-with-the-wso2-identity-server-16f9fd0c0389
[2] https://docs.wso2.com/display/IS540/Logging+in+to+Salesforce+using+the+Identity+Server
[3] https://github.com/wso2/product-is/issues/2121

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


feat: [sc-17206] ens_cure

Story details: https://app.shortcut.com/ps-web3/story/17206

A lot of changes again, watch out for outdated docstrings, etc.

Now we have 2 errors for empty names/labels:

DisallowedNameError.EMPTY_NAME: the input is empty, not curable
CurableErrorType.EMPTY_LABEL: empty label detected (abc..eth), curable

It is ready to merge, but I can't do it.


can't mount "Read/Write"

I can mount only "Read Only".... this problem applies to all the games I have.
What are the requirements for mounting "Read/Write" ?

Is fixed in 18330161d6088498887d9a77e03487b3ad4627b8


License?

This project has no license. This potentially makes it non-free by default.

@dualscyther
Thanks for the input, An official MIT license was added
Don't forget to make a PR if you push things forward


Question about the weight calculation

https://github.com/THUDM/LongWriter/blob/4b78b665b13fc7fbd1093dcd15d9425501133941/train/main.py#L74
I noticed that in the DataCollatorForLMPackDataset, the pre-computed weight is divided by 30.
What is the meaning of the scalar 30 here?

Hi, dividing by 30 in here is to prevent overflow in case the value is too large, it won't affect the result.

Get the point! Thx!


Token must be specified for push to hub

For some reason is not working as expected, the token permission is write, but still not working.
Yesterday was working but now is not.
!autotrain llm --train --project_name mistral-7b-mj-finetuned --model mistralai/Mistral-7B-v0.1 --data_path . --use_peft --use_int4 --learning_rate 2e-4 --train_batch_size 12 --num_train_epochs 3 --trainer sft --target_modules q_proj,v_proj --push_to_hub --repo_id ranonrat/mistral-7b-mj-finetuned

output
raceback (most recent call last):
  File "/usr/local/bin/autotrain", line 8, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/autotrain.py", line 47, in main
    command = args.func(args)
  File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/run_llm.py", line 14, in run_llm_command_factory
    return RunAutoTrainLLMCommand(args)
  File "/usr/local/lib/python3.10/dist-packages/autotrain/cli/run_llm.py", line 415, in __init__
    raise ValueError("Token must be specified for push to hub")
ValueError: Token must be specified for push to hub

@ranon-rat , I am facing the same issue . Did you found any way to resolve this .

Allthough I wouldn't recommend it, you could pass on your token as a param like so:
--token "your token here"
The proper sollution should be:
from huggingface_hub import notebook_login
notebook_login()

But i've encountered issues with that aswell

as @remcovg89 said with your command pass --token


Document how to add Windows self-hosted runners

This PR documents the process we used @voltrondata to add Windows self-hosted runners to be managed by the actions-runner-controller. It specifies changes that need to be made to the cert-manager and the actions-runner-controller. It also specifies how to deploy RunnerDeployment's configured for Windows.

@ian-flores Thank you so much for your efforts and contribution ❤


expose the infinispan http endpoint in the external infinispan deployment

Description
We would need access to both the infinispan console as well as the rest endpoint to be able to write reproducible automation to READ, DELETE cache stats.
one we way found to be working was to add a expose yaml block to the Infinispan CRD as shown below
expose:
    host: keycloak-kamesh-keycloak.apps.XXXXXX.openshiftapps.com
    type: Route

Discussion
No response
Motivation
No response
Details
No response

That seems correct to me. host is optional and, if not set, it is generated automatically based on the namespace and service name.


Flycheck seems to think it's processing (FlyC*) when ycmd is enabled

When I produce errors in my C++, I'd expect the status line to say FlyC:42/0 giving me the number of errors. Instead I see FlyC*; according to a different issue I think this says that flycheck still is in the state where it thinks it's processing?

Ignore me, I had an old version of flycheck via a different packaging mechanism ...

whew. I was about to really confused.


"Remove all Apps" also removes Calculator

I think the calculator is used a lot, unlike the other apps, which is why i think it shouldnt be removed at all.

Additionally... it's still in the start menu, but when you try to open it nothing happens. Took me a while to figure out I'd removed it.


[Q]: please, suggest tagging strategy!

Let's say I have several notes about fruits in general. There are combined using tag #fruits. Then there are some notes about apples (tag #apples) and oranges (#oranges).
This gives smth like this in the tagtree:
> apples
	- green apple
	- red apple
	...
> fruits
	- note about fruits
	- bananas
	- another note about fruits
	...
> oranges
	- oranges are orange
	- sweet orange
	...

If I change #apples and #oranges tags to #fruits/apples and #fruits/oranges the result looks like this:
> fruits
	> apples
		- green apple
		- red apple
		...
	> oranges
		- oranges are orange
		- sweet orange
		...
	- oranges are orange
	- sweet orange
	- green apple
	- red apple
	- note about fruits
	- bananas
	- another note about fruits
	...

What I want is to have something like this:
> fruits
	> apples
		- green apple
		- red apple
		...
	> oranges
		- oranges are orange
		- sweet orange
		...
	- note about fruits
	- bananas
	- another note about fruits
	...

Any idea if this is possible at all? Please, suggest tagging strategy! Thanks!

Thank you for asking me!
Sounds like the behaviour when 'All intermediates' is set to 'Hide items'.
Could you please try this configuration?
(But it getting be weird with enabling Use Virtual tags. please disable it once)

Hey, hey, hey!
This is exactly what I wanted!
Thanks for pointing me to this setting: it works perfectly in my example.
I'll try it on a 'real life' vault and write back in a couple of days...
TafFolder is really deep! 👍

I experimented a little bit further. Thanks for pointing me to the Hide items preference - I was never able to understang it before! ;) Sorry for bothering you, but I still have two questions/issues here.
First one:

I'm creating four notes aaa1, aaa2, aaa3 and aaa4. All notes are tagged with #aaa tag:

Now, let's say I want to hide aaa2 from the root. I'm setting Hide items to Only intermediates of nested tags and tagging aaa2 like this: #aaa/bbb. So far so good:

Now I'm tagging aaa3 like this: #aaa #todo, and (surprisingly) it is removed from the root as well:

Clearly this is not what I expected, as there are no explicit nested tags in aaa3: #aaa #todo. Can we override this somehow? I'm pretty happy with the possibility to hide intermediates of nested tags, but I still want to be able to add other non-nested tags without hiding the note when using Only intermediates of nested tags Hide items option.
Second one:
I'm pretty sure there should be a way to unhid the note somehow. For example: I want notes aaa2 and aaa4 to be tagged with two tags: #aaa and #bbb:

Now I want aaa2 to be hidden from the root, so I'm changing #aaa #bbb to #aaa/bbb:

Oops, now both aaa2 (#aaa/bbb) and aaa4 (#aaa #bbb) are hidden. Any way to unhid the aaa4?
Thanks for your time!

To summarise this: I think, enabling Hide intermediates of nested tags should automatically enable the difference between nested and plain non-nested tags with the same name (unless Don not treat nested tags as dedicated levels is enabled as well).
This means, that #aaa tag is different from the #aaa portion of the #aaa/bbb tag and behaves as an usual plain tag and not the intermediate of the nested tag. If so, we can use nested tags if we want to hide notes (#aaa/bbb) and plain tags if we want a usual behaviour.
This solves both the issues from my previous message.


refactor!: add an Scm abstraction

Rather than assuming we are using GitHub create an Scm interface that abstracts the git source.
We do not have immediate plans to implement any other sources, but this refactor allows us to future-proof this.

Note: this is merging into a v14-next branch which will be for the v14 major version

Whenever I've tried to create an abstraction for a concrete service, when the second implementation of the service actually arrived it violated all my assumptions and I had to start over.  So, in short, I don't think we should attempt to make the SCM abstract until we have a second SCM ready to be plugged in.

it violated all my assumptions and I had to start over

I agree

attempt to make the SCM abstract until we have a second SCM ready to be plugged in

I think this refactor might be too daunting for an external contributor to attempt if they wanted to contribute a new SCM (like Gitlab or gerrit). My reason for proactively creating it is to unblock someone from attempting it.


guardrails bug fixes and IT for creating guardrails

Description
[Describe what this change achieves]
Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

why decided to no longer use english detections?

Just not introduce this feature in the first version. We will add it back in next release.


Pr localization of views - Privacy

Describe the changes you have made in this PR -
localize CV Privacy Module
improve structure of ERB template
localize ERB template
respective translation directory for translations
Screenshots of the changes (If any) -

Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

cc @tachyons


Disables the use of a terminal to activate an environment

Temporarily disabled until we update to use the latest VSC API.
(also reading files unnecessarily instead of caching it)
Basically this code restores the old behaviour.

Codecov Report

Merging #9967 into master will decrease coverage by 0.12%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master    #9967      +/-   ##
==========================================
- Coverage    61.2%   61.07%   -0.13%
==========================================
  Files         564      564
  Lines       30078    30082       +4
  Branches     4550     4550
==========================================
- Hits        18408    18373      -35
- Misses      10640    10682      +42
+ Partials     1030     1027       -3

Impacted Files
Coverage Δ

src/client/interpreter/serviceRegistry.ts
100% <100%> (ø)
:arrow_up:

src/client/interpreter/activation/service.ts
41.09% <60%> (-45.67%)
:arrow_down:

src/client/common/utils/platform.ts
64.7% <0%> (-11.77%)
:arrow_down:

src/client/linters/pydocstyle.ts
86.66% <0%> (-2.23%)
:arrow_down:

src/client/datascience/debugLocationTracker.ts
76.56% <0%> (-1.57%)
:arrow_down:

src/client/common/process/proc.ts
14.49% <0%> (-0.73%)
:arrow_down:

Continue to review full report at Codecov.

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


Store only top 29 devices from scan by RSSI

This commit changes the scanner to only store the top 29 devices (SCAN_DEVICES_PER_CHUNK) in any scan. This should allow us to deal with situations where there are many nearby devices without having to make major codebase changes.
This change functions by sorting the scan struct by RSSI and then setting scan.num to truncate the struct. We only do this if there were more than SCAN_DEVICES_PER_CHUNK in a scan, so the behavior in any other case is unchanged.
Testing Methodology:
For a given test I:

Used the get_mock_adv_report_for_badge_with_id(id) function to generate mock BLE advertising reports for the specified number of devices. (The code for this function can be viewed in commit f3bf81a that removed it, but in short in mocked a device with id id and RSSI -100 + id.
Watched the UART logs to ensure that the specified number of devices were stored correctly, verifying expected RSSI vs ID.
Requested the data for that scan over BLE, and ensured the scan contained the correct number of devices with the expected RSSI - ID pairings.

I performed this test for the number of scan devices = 0, 1, 28 (just under one chunk), 29 (one chunk exactly), 30 (one chunk plus one device), 50 (one chunk plus some), 100 (max num devices per scan), and 105 (excess of max num devices per scan, additional devices should just be ignored).
I also performed an additional test where I mocked out some devices in addition to the iBeacon I had, which verified the code worked with an iBeacon, and that the sorting works even when two devices have the same RSSI.

I should add I've mostly tested this by mocking out devices into the BLEAdv event handler. If you could test in a place with actually many many devices, that would be great.

This seems to fix bug #70  as well


SAK-50536 profile Remove little used features

https://sakaiproject.atlassian.net/browse/SAK-50536

Farewell social networking in my baby! 😢
Great to see this tool is still around though 😄

@steveswinsburg I know, I know. You tried your best to keep users in Sakai and stop them drifting off to MySpace :) It was funny pruning the properties files and just taking a trip down memory lane. 33K lines of code removed - all that effort. Anyway, that's what we need to do, trim, reduce redundancy etc. Portal chat's gone. The connections manager, that's gone. Actually, that reminds me - I need to remove the connections bits from Roster.

I had a dream that Sakai would defeat Facebook and Twitter simultaneously. But MySpace 😆

@steveswinsburg You didn't account for MySpace. It outflanked us all.

I have grown in my abilities and won't make that mistake again. Already working on a way to take it down.

@steveswinsburg I can't even remember what Profile 1 was

Pretty awesome, thanks all!


Provide extension suggestion for wam created projects

Vscode has the ability to provide suggested extensions for projects. See here for documentation.

Solved in e90510eccdaee76c5b918925c3bb80205f599cd8


Disable DEBUG flag '--v=99'

Disable flag that is causing AWS example to fail.
Related issues:

https://github.com/adieuadieu/serverless-chrome/issues/179
https://github.com/adieuadieu/serverless-chrome/issues/170

Can somebody please merge this into master and make a new release? It's super tedious making this change directly in node_moduels after every install.

I'm still having this issue on install - bumping the request to have this merged in 👍

Can this be merged in?

Hello, everyone! I am not saying that this shouldn’t be merged in, but I would like to let y’all know that there is a better workaround than editing the files in node_modules.
Instead of calling launch  as await launch(), you can call it as await launch({flags: ["--v=-99"]}) and everything works as expected. (You could also replace --v=-99 with --v=0 if you would prefer.)
The default when no --v flag is used is 0.


Convert LIKE to ranges

Added a plan test verifying the pushdown end-to-end.

My only concern is that this optimization may break if something upstream replaced LIKE with a function call

I agree, that's why i added a plan test that verifies things end-to-end, at the connector table handle level.
When we move away into more powerful predicate pushdowns, things like TupleDomain will gain "better versions of themselves", and this test (every such test) will need to be updated for the new API, but it will be still applicable to verify mechanics on the higher level. And we will be able to make educated decisions on any potential steps backwards if absolutely needed.

Applied

Ship it!


Is it possible to set the path to toastr.js? Or set it relative?

I have an app that I am supporting that was recently upgraded to .NET Core 3.1 and I am getting a new error where it can't find the toastr.js file.  It was previously using NToastNotify 5.0.9, I upgraded that to 6.1.3.  My application sits under a subfolder from root on my site, and I'm getting a 404 error when it tries to load toastr.js.  It looks like the code snippet is coming from the output of @await Component.InvokeAsync("NToastNotify") and is building the code location of <script src="/_content/NToastNotify/toastr.js?something"></script>.  In my case, that path should be relative to my application, not the site root.
Is it possible to specify the path to be relative or something?  It looks like one of the PRs possibly might address what I'm running into (https://github.com/nabinked/NToastNotify/pull/116) I also had to manually create the folder structure and copy toastr.js as described in this issue (https://github.com/nabinked/NToastNotify/issues/122).
Thanks for any help!

merged #116 should fix your issue now.


Rename 'Values' to 'Const'

Or "Constant". Or "Constants". We talked a bit about this in #19. The thing about our "Values" module is that it only refers to constants, not variables. This is a super useful distinction that becomes more obvious when looking at validation code.
Accompanying change should consider changing ToValue and FromValue to also use "constant" (or whatever) in the name.

@teh thoughts?

I'm still not convinced that's a good idea name-wise (like with literals). The distinguishing feature of Values IMO is that they are dynamically typed, not that they are constant?
I may be too old-school but for me constants and literals are values that are typed directly into the program code, e.g. like in http://www.cplusplus.com/doc/tutorial/constants/ - skimming the spec I think graphql thinks about constants similarly (e.g. in me(arg: String = "hello") "hello" is a const)
There are other traditions (like physics) where constants are forever-fixed values (like ℏ).
The spec also talks about "values" (input value, float values).
Maybe I'm misunderstanding what you are proposing?

distinguishing feature of Values IMO is that they are dynamically typed

That distinguishes them from Haskell code, but not from the rest of the GraphQL AST.

constants and literals are values that are typed directly into the program code

Literals are that. Constants are more complicated.
e.g. 3.1416 is a literal. const float pi = 3.1416 defines a constant. pi is a constant.

graphql thinks about constants similarly (e.g. in me(arg: string = "hello") "hello" is a const)

Yes, but in the following, me(arg: string = $greeting), $greeting is a variable and also a value (both in spec terms -- https://facebook.github.io/graphql/#Value -- and in parser terms https://github.com/jml/graphql-api/blob/master/src/GraphQL/Internal/AST.hs#L189). When we do variable substitution, it becomes me(arg: string = "hello"), where "hello" is a non-variable value.  Having a term for "values that aren't variables" that isn't "Value" would be very useful. GValue.Value is definitely not self-explanatory.
Note also that the spec uses "Const" as a qualifier on the kinds of Value, and uses that qualifier to restrict what a Default value can be (see https://facebook.github.io/graphql/#DefaultValue).
All that said, I don't want to convince you against your will. If you find a proposed name misleading, we shouldn't use it.

From reading I'm not sure we're talking about the same issue but I'm also not sure where the misunderstanding happens. I'm thinking about e.g. BooleanValue here - would you rename that to BooleanConst?
Maybe let's do this IRL :)

I'm talking about renaming:

GraphQL.Value to GraphQL.Const
GraphQL.Value.Value to GraphQL.Const.Const
no strong opinions about constructor names

#66 does enough of this to keep me happy.


Code Inquiry

Dear author, when I reproduced your code on my device recently, there was a small problem, can I ask you for advice? When I run the code in paillier mode, the GPU is NVIDIA-A100-80GB-PCIe(mig-3g.40gb):1, and the cpu is AMD EPYC 7713 64-Core Processor. However, the encryption time I run is about 630s, the decryption time is about 178s, and the overall training time is 4100s, which is 2.3 times longer than the experimental data you provided. When I run DP mode and plain mode, the experimental data is basically similar to what you provided. Why does this happen when I run Paillier? If you reply, be very grateful!

The device is mentioned in the README on line 567 as follows:

Device: GPU clusters of School of Computer Science at USTC (with 10 Intel(R) Xeon(R) Silver 4210 CPUs and 1 Nvidia GeForce RTX 2080Ti GPU

You may want to check whether the computation is utilizing the GPU. Currently, the Paillier implementation is not parallel, but it can be optimized by implementing CUDA functions to accelerate.


Webhook documentation disappeared?

This article used to have webhook documentation. where did that go?

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

ID: 73fb7e76-fb80-c420-2efe-e3ca3a27b749
Version Independent ID: 07a42557-deb3-e4b3-3f14-f26a27be49c2
Content: How to use batch transcription - Speech service - Azure Cognitive Services
Content Source: articles/cognitive-services/Speech-Service/batch-transcription.md
Service: cognitive-services
Sub-service: speech-service
GitHub Login: @PanosPeriorellis
Microsoft Alias: panosper

@markti We are checking this and will get back to you.

the current REST-API version (Speech Service 2.0) isn't supporting webhooks. There was a 2.1 preview for some time available, which isn't officially supported.
The API is being updated according to Azure API standards and the next API/batch release will include webhooks and be officially supported. It will be available (planned) in the next couple of month.


Getting gpt-4 does not exist despite having access

When I run 'research' I get
openai.error.InvalidRequestError: The model: gpt-4 does not exist
I do have access to the GPT-4 API as far as I'm aware. I've used it in other projects and I'm using premium. I also replaced GPT-4 varaible in config.py > self.smart_llm_model = os.getenv("SMART_LLM_MODEL", "gpt-3.5-turbo-16k")
I'm still getting the same message. I'm using docker, so perhaps it's just rebuilding the codebase from somewhere I haven't changed? I'm no developer.

You can run the docker with the env var:
docker run -e SMART_LLM_MODEL=gpt-3.5-turbo-16k -d your_image

Hi @nathanael, were you able to solve it?

Closing for now. The solution is either to have a valid API key with gpt-4 or changing SMART_LLM_MODEL=gpt-3.5-turbo-16k in the config file.


[0.8-preview] x-repeat standalone issue

<!doctype html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <link rel="import" href="../../neoprene/components/polymer/polymer.html">
</head>
<body>

<template is="x-repeat" id="repeat">
  <div>{{id}}</div>
</template>

<script>

  var t = document.querySelector('#repeat');
  t.items = [{id: 0}, {id: 1}, {id: 2}];

</script>

</body>
</html>

got error: Uncaught TypeError: Cannot set property '_ctor' of undefined templatizer.html:54

diggin-up an old issue. I am getting this specific error on a Universal Windows App that I'm attempting to build - it seems that even with the check on line 103 thru 105 that template.content is also undefined so the test is assigning the undefined template.content instead of the undefined template._content - as both are undefined then _ctor still cannot be accessed when using the code as it stands. I am unclear why template.content and template._content are BOTH undefined though so I can't really help with that bit of diagnosis.

ok I think it's safe to ignore me - I have got further by changing my polyfill reference from webcomponents-lite.js to webcomponents.js


web.DataReader with Yahoo not getting correct data set

Hi,
I am not sure if this issue is related to Pandas or Yahoo Finance however whenever you try to load a stock data with anything different than a 3 at the end of the ticker it returns the wrong number of points.
For instance, if one fixes the start_date and end_date variables and set s="GOLL4.SA" it will return a different number of points than s="EMBR3.SA" for the same time span. Also, the first point is shifted 1 day.
Below is a print of the issue:
$Loading from the web stock EMBR3.SA data...
             Open   High    Low  Close   Volume  Adj Close
Date
2013-01-01  14.45  14.45  14.45  14.45        0      14.03
2013-01-02  14.57  14.82  14.36  14.73  2206900      14.30
2013-01-03  14.72  14.82  14.55  14.56  2323400      14.14
...           ...    ...    ...    ...      ...        ...
2015-02-27  26.10  26.17  24.82  24.90  5060700      24.90

[562 rows x 6 columns]

$Loading from the web stock SUZB5.SA data...
             Open   High    Low  Close    Volume  Adj Close
Date
2013-01-02   7.15   7.44   7.15   7.40   6356000       7.19
2013-01-03   7.44   7.48   7.26   7.34   4037300       7.13
2013-01-04   7.35   7.41   7.14   7.19   7911800       6.98
...           ...    ...    ...    ...       ...        ...
2015-02-27  12.05  12.26  11.93  12.06   6909200      12.06

[532 rows x 6 columns]

I have tested with other tickers that follow this pattern and all of them have the same problem. By the way, I am looking into brazilian stocks, so the rule for the symbols is "XXXX[3 or 4 or 5].SA" where XXXX are letters.

@danielfmva Can you raise this issue at https://github.com/pydata/pandas-datareader/issues? (we are moving this functionality over there)


Crash in realm::SlabAlloc::do_translate

We have encountered 2 crashes in our app in realm::SlabAlloc::do_translate.
Realm version: 2.10.1
iOS version: 10.3.3
Dependency manager: Cocoapods version 1.3.1
Crash logs:
Crashed: fi.ukkterveyspalvelut.exsed.movesense.database
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x6e6f70736552227b

Crashed: fi.ukkterveyspalvelut.exsed.movesense.database
0  Realm                          0x101091674 realm::SlabAlloc::do_translate(unsigned long) const + 384
1  Realm                          0x10113bca4 realm::Group::attach(unsigned long, bool) + 88
2  Realm                          0x10113bca4 realm::Group::attach(unsigned long, bool) + 88
3  Realm                          0x101140d68 realm::Group::advance_transact(unsigned long, unsigned long, realm::_impl::NoCopyInputStream&) + 324
4  Realm                          0x10101a514 void realm::SharedGroup::rollback_and_continue_as_read<realm::_impl::NullInstructionObserver>(realm::_impl::NullInstructionObserver*) + 392
5  Realm                          0x101016c28 realm::_impl::transaction::cancel(realm::SharedGroup&, realm::BindingContext*) + 452
6  Realm                          0x100fcf7f0 -[RLMRealm cancelWriteTransaction] + 28
7  Realm                          0x100fcfa64 -[RLMRealm dealloc] + 60
8  libobjc.A.dylib                0x187b62134 (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 836
9  libswiftObjectiveC.dylib       0x1024ece48 autoreleasepool<A>(invoking:) +<PHONE_NUMBER>
10 ExSed                          0x1001510b0
11 ExSed                          0x10009b4fc
12 libdispatch.dylib              0x187f9a9e0 _dispatch_call_block_and_release + 24
13 libdispatch.dylib              0x187f9a9a0 _dispatch_client_callout + 16
14 libdispatch.dylib              0x187fa8ad4 _dispatch_queue_serial_drain + 928
15 libdispatch.dylib              0x187f9e2cc _dispatch_queue_invoke + 884
16 libdispatch.dylib              0x187faaa50 _dispatch_root_queue_drain + 540
17 libdispatch.dylib              0x187faa7d0 _dispatch_worker_thread3 + 124
18 libsystem_pthread.dylib        0x1881a3100 _pthread_wqthread + 1096
19 libsystem_pthread.dylib        0x1881a2cac start_wqthread + 4

Crashed: fi.ukkterveyspalvelut.exsed.movesense.database
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000000000000

Crashed: fi.ukkterveyspalvelut.exsed.movesense.database
0  Realm                          0x101125674 realm::SlabAlloc::do_translate(unsigned long) const + 384
1  Realm                          0x1011aa0c0 realm::BpTreeNode::get_bptree_leaf(unsigned long) const + 460
2  Realm                          0x1011aa0c0 realm::BpTreeNode::get_bptree_leaf(unsigned long) const + 460
3  Realm                          0x10122afc8 realm::IntegerNodeBase<realm::Column<long long> >::aggregate_local_impl(realm::QueryStateBase*, unsigned long, unsigned long, unsigned long, realm::SequentialGetterBase*, int) + 588
4  Realm                          0x1011f7d20 realm::Query::aggregate_internal(realm::Action, realm::DataType, bool, realm::ParentNode*, realm::QueryStateBase*, unsigned long, unsigned long, realm::SequentialGetterBase*) const + 312
5  Realm                          0x1011fcb1c realm::Query::count(unsigned long, unsigned long, unsigned long) const + 476
6  Realm                          0x100fce740 realm::Results::size() + 184
7  Realm                          0x1010688bc -[RLMResults count] + 28
8  RealmSwift                     0x101659204 _T010RealmSwift7ResultsC5countSifg + 52
9  RealmSwift                     0x10165a324 _T010RealmSwift7ResultsCyxGs10CollectionA2A6ObjectCRbzlsAEP5count13IndexDistanceQzfgTW + 32
10 ExSed                          0x1001e167c
11 ExSed                          0x1001e5818
12 ExSed                          0x1001b1e78
13 ExSed                          0x1001af504
14 ExSed                          0x1001a82b8
15 ExSed                          0x1001a58bc
16 ExSed                          0x1001a590c
17 libswiftObjectiveC.dylib       0x10253ce3c autoreleasepool<A>(invoking:) +<PHONE_NUMBER>
18 ExSed                          0x1001a50b0
19 ExSed                          0x1000ef4fc
20 libdispatch.dylib              0x182bbe9e0 _dispatch_call_block_and_release + 24
21 libdispatch.dylib              0x182bbe9a0 _dispatch_client_callout + 16
22 libdispatch.dylib              0x182bccad4 _dispatch_queue_serial_drain + 928
23 libdispatch.dylib              0x182bc22cc _dispatch_queue_invoke + 884
24 libdispatch.dylib              0x182bcea50 _dispatch_root_queue_drain + 540
25 libdispatch.dylib              0x182bce7d0 _dispatch_worker_thread3 + 124
26 libsystem_pthread.dylib        0x182dc7100 _pthread_wqthread + 1096
27 libsystem_pthread.dylib        0x182dc6cac start_wqthread + 4

@lha-ryq Sorry to hear you're hitting this. Probably it seems a Realm file was corrupted. Could you please share as much information as you can about this? Ideally, a sample project that we can use to reproduce the problem.

Hi @kishikawakatsumi, sorry for late response.
Those crashes were seen only once. Probably the Realm file was not corrupted because users could use the app and database after launching the app again.

Unfortunately, without a reproduction case there's not much we can do. You can try upgrading to 3.0.1, which contains a newer version of the underlying database engine with bugfixes.

I had a single user get into this state, no idea how to reproduce and was fixed have delete

Smells like a memory pressure event, maybe something got into a funky state? Just throwing out a  bad guess, is it possible a super long running session (no termination lifecycle events) created such a large realm file that on the subsequent relaunch shouldCompactOnLaunch caused a system jettison from memory pressure event which i could see generating a somewhat nonsensical stacktrace
config.shouldCompactOnLaunch = { totalBytes, usedBytes in
            // totalBytes refers to the size of the file on disk in bytes (data + free space)
            // usedBytes refers to the number of bytes used by data in the file

            // Compact if the file is over 100MB in size and less than 50% 'used'
            let oneHundredMB = 100 * 1024 * 1024
            return (totalBytes > oneHundredMB) && (Double(usedBytes) / Double(totalBytes)) < 0.5
        }

Closing this issue due to no recent activity. Please comment if you have additional information that may help reproduce this issue.


Add current sat recursive endpoint

Discussion: https://github.com/ordinals/ord/discussions/2200

I'd actually argue that we shouldn't provide an endpoint that  returns the current sat, for a few reasons:

The sat which is inscribed is known at inscribe time, and doesn't change. So, the inscriber can just include the sat number / rarity / whatever in the inscription, and no endpoint is needed.
If you want to calculate the rarity, number, etc, someone can inscribe a helper JS library which calculates these things, which is then available from any inscription via recursion.
If an endpoint which returned the current sat was provided, it would be something like /sat/INSCRIPTION_ID, and the caller would be required to provide the correct inscription ID, so there would be no guarantee that the current inscription ID was passed. The caller could pass any inscription ID, to make the endpoint return any inscribed sat.

Closing this for the reasons above, although this doesn't actually cover what's discussed in #2200. Opening #2277 to track.


Add Prometheus publisher

Hi @DmitryTsepelev - is there a way at the moment to collect memory usage/allocations with Prometheus? I already have the exporter configured in Rails. Thanks

Not yet 😞this story is supposed to be about adding some tooling to sent things to the Prometheus

Hi :)
I may actually have found a way using the prometheus exporter in combination with io_monitor's AS notification, but I am having this now https://github.com/DmitryTsepelev/io_monitor/issues/16
Still experimenting.


[Cleanup] Add clang builds in travis

This PR

adds clang builds in travis and
adapts the sources not to rise any warnings/errors in clang (in progress)

Following files have classes with unused private members. I thought adding UNUSED_ATTRIBUTE could temporary help to get rid of the clang warnings, but apparently gcc doesn't support this for class members. So we should take a look at all of these and remove them if possible.
/src/include/codegen/operator/update_translator.h
/src/include/codegen/type/type_system.h
/src/include/common/exception.h
/src/include/concurrency/local_epoch.h
/src/include/executor/hash_join_executor.h
/src/include/index/bloom_filter.h
/src/include/logging/logical_checkpoint_manager.h
/src/include/logging/logical_log_manager.h
/src/include/network/postgres_protocol_handler.h
/src/include/optimizer/child_property_generator.h
/src/include/optimizer/cost_and_stats_calculator.h
/src/include/optimizer/property_enforcer.h
/src/include/optimizer/query_property_extractor.h
/src/include/optimizer/query_to_operator_transformer.h
/src/include/optimizer/stats.h
/src/include/optimizer/stats/hyperloglog.h
/src/include/optimizer/tuple_sample.h
/src/include/storage/tile_group_header.h

In addition the linker fails because of missing symbols in protobuf, I haven't yet figured out why. The linker doesn't get any paths for protobuf, but with gcc it works somehow.
../lib/libpeloton-d.so.0.0.5: undefined reference to `google::protobuf::Message::InitializationErrorString() const'
../lib/libpeloton-d.so.0.0.5: undefined reference to `google::protobuf::Message::GetTypeName() const'
../lib/libpeloton-d.so.0.0.5: undefined reference to `google::protobuf::internal::empty_string_'
../lib/libpeloton-d.so.0.0.5: undefined reference to `__atomic_compare_exchange'
../lib/libpeloton-d.so.0.0.5: undefined reference to `__atomic_load'
../lib/libpeloton-d.so.0.0.5: undefined reference to `google::protobuf::internal::StringTypeHandlerBase::New()'

Cmake can be configured to use clang as follows:
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang-3.7 -DCMAKE_CXX_COMPILER=clang++-3.7 ..

I discussed this PR with Marcel last week. He stated that he would likely not complete this PR, but create a new PR for clang builds in Travis. Therefore closing this PR.


Add support for BIN/CUE images, "ISO" images and tar.gz archives

This adds support for distributions in the following formats:

Gzipped tar (.tar.gz)
BIN/CUE image format
"ISO" format (raw SGI disklabel)

Haven't tried booting a SGI machine with this yet (still downloading some of the needed files), but this seems to make the right motions.

Right now, the VM seems to go through the motions of extracting data out of bin/cue images as well as "ISO" images (really, raw SGI disklabel images).
I'm having fun and games with my old SGI RM5200 O2: looks like the fan isn't working, so the machine goes into a thermal shutdown… and sometimes Ethernet doesn't initialise properly (MAC address appears as ff:ff:ff:ff:ff:ff) so clearly the machine needs some TLC to get working properly (the problem is intermittent).
So I'll open this up for others to check out while I get the last bit of working SGI hardware I have working.

Well… I've just gotten rid of the hardware that I was going to test this with.  The O2 pretty much died and refused to power on (might just be the PSU) so was unable to try this out.
However, I leave this open for others to try out and report back.

hey, thanks for the PR, I guess I hadn't really logged into github in a while and didn't notice this had been submitted. It's been a little while since I've worked on this project but I'll take a look at it.
I did actually write an entire "version 2" of irixboot that eliminates the whole image extraction process and just uses a ton of overlay mounts but I didn't get it to where I was happy with it before moving on to other things.
Sorry to hear that your hardware failed on you. Power supply failure is a common problem unfortunately.


Client does not connect to server

Current Behavior
When starting client I get the following error message (yes I started the server first):
"error_game_js5connect"
Expected Behavior
Client should load up and I should be able to login
Steps to Reproduce the Problem

Start server
Start client

The last step of the :run task is spinning and I get the following output on the run task:
runTask.txt

I have the same problem
Did you ever figure it out @iisayboom

You're error is right there in the console.
You're not using the 181 cache.
What you'll have to do is update the NPC IDs in the plugins or remove them.


Slow-motion working when i try to write anything

Description
What steps will reproduce the problem?

#I have a macbook pro 2020 and i just reset it cause of the my python codes where in spyder is working so slow. I tried everything to fix it bu it just dosn't work normal still. In my other computer which is mac pro 2015, i have a anaconda spyder in it too and it is working so fast, i never have a problem about in there. I check all upgraders they don't have a problem about that. I just want my spyder work normal(fast) like my other computer. I tried to dowload other version of spyder but it just won't dowloading. dowloading just keep moving for hours never got an end  .
 The problem is you're using Big Sur, which is unsupported yet by Spyder.
Please try this workaround and let us know if it works for you:
http://docs.spyder-ide.org/current/faq.html#troubleshooting-macos-bigsur

Closing due to lack of response.


build: windows-sys 0.48.0 → 0.52.0

[x] Tested on all platforms changed
[x] Added an entry to CHANGELOG.md if knowledge of this change could be valuable to users
[x] Updated documentation to reflect any user-facing changes, including notes of platform-specific behavior Seemingly not necessary?
[x] Created or updated an example program if it would help users understand this functionality

D'oh, meant to file against upstream (https://github.com/rust-windowing/glutin/pull/1680).


Need to avoid updating URI prefix of instantiated parts

When parts are instantiated from a registry, then they should not have their URIs manipulated when they are submitted as part of another design.

Duplicate


Enhanced the readme to express additional info.

Basic Architecture
Overview of modules available
Implementation detail

Codecov Report

Merging #19 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master      #19   +/-   ##
=========================================
  Coverage     17.72%   17.72%
  Complexity        5        5
=========================================
  Files             7        7
  Lines            79       79
  Branches          4        4
=========================================
  Hits             14       14
  Misses           64       64
  Partials          1        1

Continue to review full report at Codecov.

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

Updated based on code review comments


more specific registry index not found msg

What does this PR try to resolve?
covers #12576
How should we test and review this PR?
test covers exact text, so a review and passing tests.

Thanks!
@bors r+

:pushpin: Commit 3393fdc528a2284e95b665d55d2e42a1f34a3d22 has been approved by epage
It is now in the queue for this repository.

:hourglass: Testing commit 3393fdc528a2284e95b665d55d2e42a1f34a3d22 with merge 0b6cc3c75f1813df857fb54421edf7f8fee548e3...

:sunny: Test successful - checks-actions
Approved by: epage
Pushing 0b6cc3c75f1813df857fb54421edf7f8fee548e3 to master...


added more time calib. injections in IDB + units

i added all the time nixes from here: https://github.com/i4Ds/STIXCore/issues/59
and also added units during the time calibration
now you can do direct
integration_time = packets.get_value('NIX00405')
instate of: integration_time = packets.get_value('NIX00405') * 0.1 * u.s
there is a "problem" with NIX00405 sometime it looks like +1 is used sometime not.
in the idb it is now configured as :  NIX00405 | (NIX00405 + 1) * 0.1  [seconds]
@samaloney can you please check if this is all used in the right way
also all test in test_bsd.py will not pass as some if the times now have some tiny differences.

Codecov Report

Merging #94 (e9a0783) into master (26fa557) will increase coverage by 2.63%.
The diff coverage is 94.36%.

@@            Coverage Diff             @@
##           master      #94      +/-   ##
==========================================
+ Coverage   81.38%   84.01%   +2.63%
==========================================
  Files          45       45
  Lines        3341     3497     +156
==========================================
+ Hits         2719     2938     +219
+ Misses        622      559      -63

Impacted Files
Coverage Δ

stixcore/io/fits/processors.py
42.85% <ø> (+14.28%)
:arrow_up:

stixcore/products/level1/quicklook.py
64.47% <ø> (ø)

stixcore/tmtc/packets.py
83.78% <57.14%> (+0.98%)
:arrow_up:

stixcore/datetime/datetime.py
86.36% <85.36%> (+6.67%)
:arrow_up:

stixcore/products/level0/quicklook.py
92.22% <85.88%> (+6.91%)
:arrow_up:

stixcore/tmtc/parameter.py
89.77% <90.00%> (-1.37%)
:arrow_down:

stixcore/products/product.py
86.98% <91.48%> (-0.09%)
:arrow_down:

stixcore/idb/manager.py
92.44% <92.85%> (+0.17%)
:arrow_up:

stixcore/processing/engineering.py
91.54% <97.50%> (+2.36%)
:arrow_up:

stixcore/data/test.py
100.00% <100.00%> (ø)

... and 13 more

Continue to review full report at Codecov.

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

@samaloney
so unfortunately this PR gets a bit large.
While rebase  to your latest PR i had to fix some more issues.
currently this also addresses:  #100, #78, #65
i started to build up the lookup for which IDB to use for witch time ranges within a fits file (product)
this information is already present in the product and used for the calibration but this data is not persisted into the fits file (L0 in order to uses for the L0toL1 process) this should aligne with: #85
also i deactivated timing assertations in tests marked in the review.

Ok I'll have a look through this and run locally. I wish GitHub was smatter about diffs I don't get why the code I committed is showing up again.

I wish GitHub was smatter about diffs I don't get why the code I committed is showing up again.

the rebase was somehow strange. Did you fix some things directly in my PR? During the rebase i had the feeling the system is asking me twise about the same changes. Showing me merge conflicts twice ...

So some of the coarse times have changed
0640971950f00000 -><PHONE_NUMBER>f00000
and the fine times now always seem to be all zeros which I don't think is correct
0659402958f32767 -><PHONE_NUMBER>f00000
0642038403f32767 -><PHONE_NUMBER>f00000
but I don't really have a good way to test what the real answers should be?


Update the .editorConfig file for JS/TS files

I've merged in the JS/TS related settings into the .editorConfig file. These settings match the ones in the botbuilder-js repo, and originally come from the VSCode github repository.

Opened against the wrong branch (master). New PR has been opened against the v4 branch. Closing this one out.


Imgur no longer allows API V2

This is pretty bad since it means you need an account to use the API (v3) I believe. I'm going to make sure if I can update this to the new API, but it might be a non-fixable issue.

Hi,
I use RedditBoost (awesome work!) but I also develop Better TweetDeck and it uses the Imgur API v3. The only individual needing an account is me, the developer to get some Imgur API keys. I guess it should not be too hard for you to update your code in that case :) (Feel free to watch BTD's implementation if you want)

Hey @eramdam, after looking at your source and checking out the docs, I think you're right. I'll try to get to it sometime this weekend, I appreciate your help!

@Salgat Well, I know my users never had to create an Imgur account so I guess in your case it should be pretty easy.
Btw: I wanted to contribute to the project but the given Typescript command fails with
error TS6082: Only 'amd' and 'system' modules are supported alongside --out.
I never did any Typescript (for now!) so I don't know how safe it is to modify tsconfig.json so maybe you will want to update your README :)

Hmm, seems to be related to the newest version of TypeScript, I'll check out what's going on.

@eramdam Alright sorry for that, fixed and tested the issue; the develop branch now has the fixed tsconfig.json.


merge: dev to stage

merge: dev to stage

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


test and enable threaded mode of the client

watch out for client RPC objects implementation issues.
blocked by #12

note that the cache needs to be switched from "simple" to thread safe


Join & Quit Messages of groups are broken

Describe the bug
Im using ChatManager on my setup and tested these versions for use join & quit messages of groups feature but its broken on these versions: 3.7.7, 3.8.0 BETA-3, 3.9.1+BETA, eea5b4a. Tested every version at 1.19.4 Paper and all of them are broken.
The bug is i want to configurate a xxx rank join message but if a xxx rank player join, its joining with default join message of group.
Steps to reproduce
Step 1. Install ChatManager
Step 2. Try to configurate join & quit messages of groups
Step 3. Give the correct permissions to correct groups
Step 4. Save config changes
Step 5. Restart Server & Reload Plugin
Step 6. Give the configurated group to yourself and try to join to server

Can you share your config.yml?
https://mclo.gs/

https://mclo.gs/ymjPECq (Deleted some configurations on join & quit messages of groups. The deleted things won't solve to issue)

Can't reproduce


Enable S3 Intelligent Tiering on SK and PS Data

https://aws.amazon.com/s3/storage-classes/intelligent-tiering/
This is an AWS product that automaticaly changes the S3 tier based on access patterns, without decreasing availability / latency
Please review the docs, and determine if there are benefits / blockers to enabling this for the data your team stores in S3
cc: @kelvich  FYI

@jcsp @arssher can you please look into how much work to set this up?

fyi: https://github.com/neondatabase/cloud/issues/9474

This is probably a no-brainer for the safekeeper objects that we keep forever but almost never read.
I anticipate that savings for pageserver objects will be quite limited:

Most idle tenants' objects will not fall off the end of a 30 day window, because of availability checks waking them up (for small tenants an availability check will touch most objects).  We would have to implement a truly deep sleep mode for such tenants
Old versions would be good candidates for archival, but we already have a 30 day retention on those, so they wouldn't fall into the infrequent access tier.
Default PITR window (7 days for pro users) is much shorter than 30 days, so usually there won't be old deltas to offload.

In any case, it should be harmless to turn it on for pageserver (but do not offload objects beyond the "Archive Instant Access tier", we can't handle the multi-hour latencies to get objects from "Archive access tier" or "Deep Archive Access tier").

I think we can offload safekeeper objects way more quickly than the 30/90 days that intelligent tiering needs for the transition. It's a bit more complicated to set up lifecycle rules though than to enable intelligent tiering.
I'll put up a PR.


Clarify that Gradient.colors/offsets are returned by-copy

To address confusion over the use of the value
In the future it would be interesting to have some mechanism for warnings for some specific uses like:
gradient.offsets.clear()

Could alternatively add a note to the class description with example code

Thanks!

Thank you!


added aarch64 to install script

Closes #474
Description
I made the install script work on docker container on an M1 mac.
A similar PR #475 has already been merged, but this wasn't for linux/arm64 (aarch64).

For contributor use:

[x] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[x] Code follows the standards mentioned here
[ ] Updated relevant documentation
[x] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report

Merging #506 (f3fdfa0) into master (db6d9af) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #506   +/-   ##
=======================================
  Coverage   55.05%   55.05%
=======================================
  Files          37       37
  Lines        2007     2007
=======================================
  Hits         1105     1105
  Misses        758      758
  Partials      144      144

Flag
Coverage Δ

unittests
55.05% <ø> (ø)

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

Continue to review full report at Codecov.

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


Fix deployer CLI example

Fixes minor inconsistency introduced in the deployer refactor.

I think then 2 pages each for v0.9 and v0.10 of the docs will need updating too:

https://docs.api3.org/airnode/v0.9/grp-providers/docker/deployer-image.html#remove-with-deployment-details
https://docs.api3.org/airnode/v0.9/reference/packages/deployer.html#remove-with-deployment-details

Wait, that won't work actually. You now have to provide the full address not just the short version.

I think then 2 pages each for v0.9 and v0.10 of the docs will need updating too:
* https://docs.api3.org/airnode/v0.9/grp-providers/docker/deployer-image.html#remove-with-deployment-details

* https://docs.api3.org/airnode/v0.9/reference/packages/deployer.html#remove-with-deployment-details

Yes, I will update the docs as well, I just didn't get to it yet.

Wait, that won't work actually. You now have to provide the full address not just the short version.

🤦 Sorry, bad morning for me.


embrace v4.45.0

Pls update on Docker Hub
https://github.com/v2fly/v2ray-core/releases/tag/v4.45.0

Done.


Make network namespace lifecycle management optional

Port of #1378 to master.
Signed-off-by: Mrunal Patel<EMAIL_ADDRESS>

/test all

Passed first time. Trying integration rhel again.

/test integration_rhel

@rhatdan @wking @runcom Looks like this PR does indeed workaround the RHEL issue. two successful runs in a row :)

LGTM

LGTM


Do not calculate errors on time fit parameters, fixes #1420

The errors were calculated using a different fit method, which makes them invalid for the actual results.
Since they don't seem to be used anywhere, just removing them is the best option I think.

If they were to be used, that would be at a higher level than ctapipe right now (protopipe, lstchain...), no?

Yes. But they are wrong at the moment, require running a second fitter (which impacts performance quite badly).

Yes. But they are wrong at the moment, require running a second fitter (which impacts performance quite badly).

I agree. I was just pointing out that "not used anywhere here" does not mean useless.
For now better remove them than having wrong parameters.

This is technically an API change

Not only technical. But we have already merged some, next will be 0.10


Whether similar to PUBLIC_URL is supported[✨]

Is your feature request related to a problem?
I need to publish assets (css and js) to the CDN, so I came up with something like PUBLIC_URL for create-react-app or asset_Prefix for next. Has Qwik been implemented or considered for implementation?
Describe the solution you'd like
Adding a configuration similar to the PUBLIC_URL of create-react-app or assetPrefix of next makes it easier to deploy the project。
Reference：
create-react-app:  https://create-react-app.dev/docs/advanced-configuration
next:  https://nextjs.org/docs/app/api-reference/next-config-js/assetPrefix
Describe alternatives you've considered
Perhaps there is an implementation of vite? I can't find it.
Additional context
No response

We don't but this should be trivial for you to work around....
export const MyImg = (props) => {
  return <img src={'https://my-cdn/path/' + props.src} {...props}/>
};

Would that work?

Thank you for your answer.
I said the assert is that qwik generated js and CSS, such as http://localhost:3000/p/build/q-1d36ff58.js.
I see vite has the relevant configuration, but it does not work。
vite.config.ts:
`import { defineConfig } from "vite";
import { qwikVite } from<EMAIL_ADDRESS>import { qwikCity } from<EMAIL_ADDRESS>import tsconfigPaths from "vite-tsconfig-paths";
export default defineConfig(() => {
return {
plugins: [qwikCity(), qwikVite(), tsconfigPaths()],
experimental: {
renderBuiltUrl(filename: string) {
return 'http://cdn.myDomain.com/' + filename + '?pid=va'
},
},
preview: {
headers: {
"Cache-Control": "public, max-age=600",
},
},
};
});
`

I need clarification on your question. Qwik as part of the build, creates the JS files. These files need to be hosted on the same URL as the server. (Do you want to host them elsewhere? that can be done, one just needs to update the q:base attribute.)

Yes, I want to host them elsewhere。How to update the q:base attribute.

@ldw1216 check out your entry.ssr.ts file, you can set it there

@wmertens  Really work！But there are new problems，a cross-domain error occurred in the js request。
I set the base: 'http://<IP_ADDRESS>:5176/build/',  Then access it with http://localhost:5176, display error MissingAllowOriginHeader 。
export default function (opts: RenderToStreamOptions) {
  return renderToStream(<Root />, {
    manifest,
    ...opts,
    base: process.env.NODE_ENV === 'production' ? 'http://<IP_ADDRESS>:5176/build/' : opts.base,
    // Use container attributes to set attributes on the html tag.
    containerAttributes: {
      lang: "en-us",
      ...opts.containerAttributes,
    },
  });
}

Thinks to @wmertens  @mhevery  ， It's OK by modifying the entry.node-server.tsx.
server.on("request", (req, res) => {
  if (req.url?.includes('/build')) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type');
  }
  staticFile(req, res, () => {
    router(req, res, () => {
      notFound(req, res, () => { });
    });
  });
});```

Alright, closing this 👍

@wmertens 确实有效！但是又有新问题了，js请求出现跨域错误。 我设置了base: ' http://<IP_ADDRESS>:5176/build/ '，然后用http://localhost访问： 5176 , 显示错误 MissingAllowOriginHeader 。
export default function (opts: RenderToStreamOptions) {
  return renderToStream(<Root />, {
    manifest,
    ...opts,
    base: process.env.NODE_ENV === 'production' ? 'http://<IP_ADDRESS>:5176/build/' : opts.base,
    // Use container attributes to set attributes on the html tag.
    containerAttributes: {
      lang: "en-us",
      ...opts.containerAttributes,
    },
  });
}

I adopted this solution. It seems that most of the js files can be placed on the cdn, but there are a small number of static resources that are still not placed on the cdn and are still obtained from the build path of the ssr service.

it only affected js files not png and css files. same issue #3759


id in route does not work

Hi and thanks for this project. I have played with it a lot, learned a lot and like it.
I tested to add a own data layer and a controller and basic crud actions. It seem that if you use id the id part disapare. This happens also for the Home controller in the samples. (I have tested ef sql and ef sql identity server)
So if you in Home/about/456 and
` public IActionResult About(int? id)
{
ViewData["Message"] = "ID " + id + " Your application description page.";
        return View();
    }

`
The id is null.
Jan

there are a lot of starterkits, please be specific about which starterkit you are talking about, so I can know what code is involved

oh wait I see you mentioned ef sql, will check it

ok, figured it out by setting log level to debug to see which route it matched, the problem is this route was catching the request because it is registered first and also matches:
routes.MapRoute(
                name: "errorhandler",
                template: "{controller}/{action}/{statusCode}"
                );

but since the param in the action method was id not statusCode, the model binder ignored it
I fixed it by changing the route to:
routes.MapRoute(
                name: "errorhandler",
                template: "Home/Error/{statusCode}"
                );

which is more specific to match so it falls through to the default route
I will fix it in all the starterkits and post here once I push the changes.
Thanks for letting me know!

ok, this issue is fixed in the starterkits
Thanks Again!

OK Thanks, I will be back if I find more.


no rigidBody to remove if not initialized

I have a use case to start an experience with physx system disabled, so with autoLoad:false, I have some entities with physx-body in the scene though waiting to initialize, but I'm not necessary enabling physx if I don't need it. So when I remove the scene, I get the error
physics.js:665 Uncaught TypeError: Cannot read properties of undefined (reading 'release')
at i.removeBody (physics.js:665:10)
at n.remove (physics.js:965:17)

because those physx-body were never initialized.
just adding a check
if (!this.rigidBody) return; in remove() like we do in update() fixes the issue.

Seems sensible


Enable grafana feature to enable mixed datasources in Explore

Feature toggles https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/feature-toggles/#alpha-feature-toggles
Config ref: https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#feature_toggles
Ref: #2431

Manually tested via support deploy

RTD failed will investigate and file issue if needed


[Event Request] codeunit 17 "Gen. Jnl.-Post Reverse" - OnReverseOnBeforeCheckFAReverseEntry

Hello, can you please add a new Event OnReverseOnBeforeCheckFAReverseEntry in codeunit 17 "Gen. Jnl.-Post Reverse" ?
            ReverseGLEntry(
              GLEntry2, GenJnlLine, TempCustLedgEntry,
              TempVendLedgEntry, TempEmployeeLedgerEntry, TempBankAccLedgEntry, NextDtldCustLedgEntryEntryNo, NextDtldVendLedgEntryEntryNo,
              NextDtldEmplLedgEntryNo, FAInsertLedgEntry);
        until TempRevertTransactionNo.Next() = 0;

        IsHandled := false;
        OnReverseOnBeforeCheckFAReverseEntry(FALedgEntry, FAInsertLedgEntry, ReversalEntry2, GenJnlPostLine, IsHandled);
        if not IsHandled then

        if FALedgEntry.FindSet() then
                repeat
                    FAInsertLedgEntry.CheckFAReverseEntry(FALedgEntry)
                until FALedgEntry.Next() = 0;

        if MaintenanceLedgEntry.FindFirst() then
            repeat
                FAInsertLedgEntry.CheckMaintReverseEntry(MaintenanceLedgEntry)
            until FALedgEntry.Next() = 0;

        FAInsertLedgEntry.FinishFAReverseEntry(GLReg);

   [IntegrationEvent(false, false)]
    local procedure OnReverseOnBeforeCheckFAReverseEntry(var FALedgEntry: Record "FA Ledger Entry"; var FAInsertLedgEntry: Codeunit "FA Insert Ledger Entry"; var ReversalEntry2: Record "Reversal Entry"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var IsHandled: Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 10893.


get export from leaf directly

GEOSgcm_GridComp will be changed to adapt MAPL3 under which the function that adds all export from child would not work in setservice. Here we circumvent this by accessing the grand child's export directly.  This PR has been tested.

@weiyuan-jiang Is this to go into develop or release/MAPL-v3? Just checking to make sure.

@weiyuan-jiang Is this to go into develop or release/MAPL-v3? Just checking to make sure.

I think both. But before I change GEOSgcm_GridCopm, the MAPL-v3 is still not working.

I think both. But before I change GEOSgcm_GridCopm, the MAPL-v3 is still not working. I need to reverse some of my changes in gcm grid comp

@weiyuan-jiang: Is this ready for merging into develop (ie, not MAPL-v3)?  If so, I can approve and merge.  Or do you want to wait until it works for both develop and release/MAPL-v3?  If so, we need to add the "contingent" label.


Alignment issues with Eigen datatypes and vectorization

Hi there,
first of all, thanks for this easy-to-use and well documented library!
There however seem to be alignment issues with the Eigen datatypes when compiling the library and software including its headers, which can lead to segmentation faults with compiling with vectorization (SSE) enabled. This probably is the case as you use Eigen datatypes like Eigen::Vector2d as a member of a structs/classes or in stl containers, like here:
https://github.com/ethz-asl/grid_map/blob/master/grid_map_core/include/grid_map_core/Polygon.hpp#L206
See https://eigen.tuxfamily.org/dox-devel/group__DenseMatrixManipulation__Alignement.html for more information on the particular issues.
As far as I can see:

best would be to adapt the code to use the Eigen allocators with correct alignment for vectorization
second best to use Eigen::DontAlign datatypes to prevent alignment issues
third best to at least warn the user to turn off Eigen vectorization as otherwise it can lead to hard-to-debug segmentation faults
(see Eigen docs linked above for details on each of the three options)

Dear @mjschuster, thanks a lot! This might actually be an issue and I can look into this at a later point. If you have a suggestion on how to implement this fix, feel free to create a PR.

Dear @pfankhauser, thanks!
It'd be great if you could have a look at this. I myself probably won't have the time for a pull request on this issue anytime soon. My suggestion would be to go through the code and see if its possible to

use Eigen aligned allocators for all structs / classes having fixed-size vectorizable Eigen datatypes as members (see https://eigen.tuxfamily.org/dox-devel/group__TopicStructHavingEigenMembers.html) (that should be easy)
make sure not to pass Eigen objects by value (see https://eigen.tuxfamily.org/dox-devel/group__TopicPassingByValue.html)
use Eigen aligned allocators for all stl containers with fixed-size alignable Eigen datatypes or classes containing them (see https://eigen.tuxfamily.org/dox-devel/group__TopicStlContainers.html)  (this might be the most difficult / annoying part)

As a workaround so far, I just deactivated vectorization by defining EIGEN_DONT_VECTORIZE and EIGEN_DISABLE_UNALIGNED_ARRAY_ASSERT as suggested in https://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html to keep ABI compatibility.
I however suspect that typical operations performed on grid maps could greatly benefit from vectorization - it would be interesting to have a speed comparison.
(As far as I understand it, this is only about explicit vectorization in the Eigen library. So a good compiler with appropriate optimization settings might still be able to add some vectorization through SSE etc. instructions on its own -- though probably less optimal?)

Hi all,
as we had some alignment related crashes with grid_map, I added a small fix concerning the alignment issues with Eigen. Although I did not have time to thoroughly look through all the code, I added a missing  EIGEN_MAKE_ALIGNED_OPERATOR_NEW in the GridMap class, which has fixed-size Eigen members.
I would like to contribute this fix via a pull request, but I think I might not have the permission to push a branch to the repo. As this is my first pull request, it might be, that I am doing something wrong. Could you please allow me access, or you could just add the two following two lines at the end of GridMap.hpp:
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Best regards

Thanks, @ThomasEmter! I merged your PR and extended it with other places where this code had fixed-size Eigen members. Let me know if we need to work more on this issue or you have any other problems.

Dear Péter!
Thank you very much for fixing the other places. We did not have any crashes anymore with my fix already.
Best regards,
Thomas
P.S.: And thank you for this great mapping tool ☺
Von: Péter Fankhauser<EMAIL_ADDRESS>Gesendet: 3 May, 2017 19:28
An: ethz-asl/grid_map<EMAIL_ADDRESS>Cc: Emter, Thomas<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Betreff: Re: [ethz-asl/grid_map] Alignment issues with Eigen datatypes and vectorization (#88)
Thanks, @ThomasEmterhttps://github.com/ThomasEmter! I merged your PR and extended it with other places where this code had fixed-size Eigen members. Let me know if we need to work more on this issue or you have any other problems.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/ethz-asl/grid_map/issues/88#issuecomment-298979506, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMDgBpPjvZP46mwd5MCyB4fzHbkdE7UFks5r2LkogaJpZM4L5ksS.

Thanks @ThomasEmter @pfankhauser !
While these fixes should address some of the alignment issues, I think there still are some more (and more complicated) ones left, in particular with respect to my second and third bullet point in the comment above.
For example in https://github.com/ethz-asl/grid_map/blob/master/grid_map_core/include/grid_map_core/Polygon.hpp#L206 you create a std::vector of Position, which is a typedef to Eigen::Vector2d (see https://github.com/ethz-asl/grid_map/blob/master/grid_map_core/include/grid_map_core/TypeDefs.hpp#L18).
According to https://eigen.tuxfamily.org/dox-devel/group__TopicStlContainers.html you should use the Eigen allocators then: "In practice you must use the Eigen::aligned_allocator (not another aligned allocator), and #include <Eigen/StdVector>.", e.g. something like:
std::vector<Position, Eigen::aligned_allocator<Position> >  vertices_;
In addition, according to https://eigen.tuxfamily.org/dox-devel/group__TopicPassingByValue.html these Eigen types should not be passed by value, as is done for example in https://github.com/ethz-asl/grid_map/blob/master/grid_map_core/include/grid_map_core/Polygon.hpp#L157 and many other places.
Thus, while it might work for now without crashes, there are several places left that can cause trouble in the future...

Hi all,
Thanks  @mjschuster for pointing out other Eigen aligment issues.
I fixed all std::vector Eigen aligment issues I could find. I hope I have found all and I also did not find any other std container type in the code that would need fixing.

Hi all,
I tested the alignment fixes with the current master and rebased the fixes accordingly.


DispatchHttpCall from OnTick causes 'runtime error: nil pointer dereference'

I want to load and cache some data into the filter.
func (ctx *rootContext) OnTick() {
	updateRules()
}

func updateRules() {
	hs := [][2]string{{":method", "GET"}, {":authority", "some_authority"}, {":path", "/path/to/service"}, {"accept", "*/*"}}

	if _, err := proxywasm.DispatchHttpCall(clusterName, hs, "", [][2]string{},
		5000, httpCallResponseCallback1); err != nil {
		proxywasm.LogCriticalf("dipatch1 httpcall failed: %v", err)
	}
}

And it causes 'runtime error: nil pointer dereference'. Is it a bug ? Is it possible somehow to solve this ?

seems like a bug in this SDK. Thanks for your report! I will look into this.

seems like a bug in this SDK. Thanks for your report! I will look into this.


Episode Metadata Season and Episode Numbering Mixed Up For Three Digit Seasons/Episodes

I'm trying to update the summary of an episode, and it's giving me an error: "Metadata error: episode 309 of season 66 not found"
My config file:
metadata:
  "Series Name":
    episodes:
      S309E66:
        summary: >-
              Test content

--- This looks for S66E309, and fails because no episode found

However, if I change it to swap the season and episode number it works. The messaging in the console prints the incorrect episode (S66E309), but it's actually affecting S309E66.
metadata:
  "Series Name":
    episodes:
      S66E309:
        summary: >-
              Test content

--- This looks for S309E66, and succeeds because episode was found

fix is in develop

I'm experencing this issue on develop branch again.

can you give me the output

In the YML config, Test Show is set to override the summary on S300E66, and the episode exists in Plex
[2021-04-22 17:43:27,879] [plex.py:795]               [INFO]     | Updating episode S66E300 of Test Show...                                                         |
[2021-04-22 17:43:28,030] [util.py:313]               [DEBUG]    | Traceback (most recent call last):                                                                 |
                                                                 |   File "//plex_meta_manager.py", line 108, in start
                                                                 |     config.update_libraries(is_test, collections_to_run, resume_from)
                                                                 |   File "/modules/config.py", line 456, in update_libraries
                                                                 |     try:                        library.update_metadata(self.TMDb, test)
                                                                 |   File "/modules/plex.py", line 799, in update_metadata
                                                                 |     episode_dict = meta[methods["episodes"]][episode_str]
                                                                 |   File "/usr/local/lib/python3.9/site-packages/ruamel/yaml/comments.py", line 826, in __getitem__
                                                                 |     return ordereddict.__getitem__(self, key)
                                                                 | KeyError: '66'
                                                                 |
[2021-04-22 17:43:28,031] [plex_meta_manager.py:111]  [CRITICAL] | '66'
[2021-04-22 17:43:28,031] [plex_meta_manager.py:112]  [INFO]     |

It's updating episodes properly now. The messaging is still incorrect, where is says:
Updating episode S66E300 of Test Show...
Detail: title updated to ______________________

It should be
Updating episode S300E66 of Test Show...
Detail: title updated to ______________________


Additional coverage in db dumps

Provides additional coverage for db dumps (additional expression types, predicates, indices, views of views).

This change is


predict linear layer's input is just hidden states but in original paper, they combined with [L(word_embed+Wh+Uc)]

Hi,
Thx for your great tutorial with nice guide and code. After I read decoder's code, I found that you just use lstm's hidden states to compute the next word's prob.  Following here:
preds = self.fc(self.dropout(h))
In original paper, they combined with last word's vector and transed context vector and hidden states
L(Eyt-1+Wht+Uz) and their Theano's as follows:
logit = get_layer('ff')[1](tparams, proj_h, options, prefix='ff_logit_lstm', activ='linear')
if options['prev2out']:
     logit += emb
if options['ctx2out']:
    logit += get_layer('ff')[1](tparams, ctxs, options, prefix='ff_logit_ctx', activ='linear'
logit = tanh(logit)

They controlled whether to use the other two vector. So, did you compare the results of using and not using these extra information.
Thx very much!

Hi. I asked myself the same question at the beginning. But then I realized that the context vector is being fed to the input of the LSTM rather than combining it with the hidden state. I guess it yields the same results

@Hayao41 Thanks, I see. It seems I missed equation (7) in the paper. Nope, haven't tried it. Do let me know if you do.
For others reading this issue, @Hayao41 is pointing out that the paper-authors are adding an additional transform on h_t, i.e. a"hidden-to-output function" as proposed in this other paper, and combining it with the context vector (transformed) and previous word's embedding. This combination is the input to the word-predicting linear layer (as opposed to just h_t like I have done). It probably does squeeze out some more performance.
@fawazsammani As I see now, the context vector and word embedding are being fed both to the LSTM and to the final linear transformation that predicts the word-scores, whereas I'm feeding them only into the LSTM.

@fawazsammani Hi, in original paper, author fed linear-transformed current hidden state, previous word embedding and current context vec into prediction layer like equation above. LSTM's input is last time step's hidden state,  previous word embedding and current context vec, difference here.
@sgrvinod Thx for discussion, I will have a try to compare which is better and will post my results later. And I have another question is the coefficient Beta. In my opinion, Bata is a scalar to control when to attend to image, but in your code, Beta is a vector (batch size x encoder_dim). Thus, it means every element in context vector has a gate coefficient. But in original paper, Beta is a global scalar, thus:
Beta * context_vector, where Beta is (batch size x 1).
and the code in original implementation as following:
if options['selector']:
    sel_ = tensor.nnet.sigmoid(tensor.dot(h_, tparams[_p(prefix, 'W_sel')])+tparams[_p(prefix,'b_sel')])
    sel_ = sel_.reshape([sel_.shape[0]])
    ctx_ = sel_[:,None] * ctx_

here,  the sel_ is beta.  Is sel_'s shape is (batch size x 1) or (batch size x encoder_dim) ? I'm not familiar with theano, so I didn't understand what the sel_'s shape is.
Thx for discussion.


Remove generic parameter for Popen in x.py

It seems generic parameter for Popen is not supported in python with version less than 3.8 (supported in python >= 3.9).
Hence the docker build process will fail because ubuntu:focal has python 3.8 in its apt repo, which makes the nightly build fail to push to the docker hub. :rofl:

Thank you!


Fix indexing constructors with generic parameters

Previously in the case of a constructor like A<Int>(value: 1) Fn->getLoc() returned the location of >(value: 1) while the actual location we're looking for is correctly the start of A<Int>(value: 1). This adjusts the location we're looking up to use the start location of the constructor instead.
Fixes: https://github.com/apple/swift/issues/54532

@swift-ci please test

the failure here is actually real, the problem is with nested types it moves the initializer to the parent type, which is wrong 😕

fixed that failure with a new way to compute the correct location that seems to work in all cases

this breaks the Foo.init case by putting a reference to the constructor on both Foo and .init. New test incoming

pushed a version w/ that new case fixed, and ((A))(value: 1) 🙃

@swift-ci please test

@swift-ci please test

I hope re-pushing cancels previously running tests 😬

I hope re-pushing cancels previously running tests

It does (or more accurately, triggering the tests again cancels any previous runs) :)

@swift-ci please test

@swift-ci please test


Group player browse categories

When creating a group player, set its browse modes to all modes included in members.

Implemented in 1.1 branch.


Incremental Docs Needed

As a potential contributor, I need help with way-finding to get started with contributing to this POC work. Currently, our README is pretty empty in that it only contains a random snippet of code, not explaining what it does or when it needs to be run.
Obviously the nature of POC work is subject to frequent change and so documenting certain things just doesn't make sense until they are further solidified. That said, surely there is some level of detail that can be provided so users can stand up the development environment in the basic sense.
I think documenting the basic steps required to stand the app up in "hello world" fashion would be good to do, particularly around how to handle authentication. Otherwise requests to http://syndesis-server-syndesis.xxx.xxx.xx.x.nip.io/api/v1/ fail and the initial developer experience isn't so fruitful.

I wrote a README documenting how the project is organized here, and how to make the first setup here.
Hope it helps.

I think the readme probably satisfies this, unless @seanforyou23 there's any outstanding items we should add?

@elvisisking if you can think of any other first-timer doc improvements feel free to chime in here too :-)

Those README updates were exactly what I was hoping for. LGTM - I'll go ahead and close this, @elvisisking feel free to reopen or create a new issue if you find the need.


[NTV-342] Video Element Cell

📲 What
Adding video elements to Campaign Tab so they are playable with sound and fullscreened as per these designs.
🤔 Why
Mirror the Web and Android on the Campaign Story tab feature.
🛠 How
Details to come.
👀 See
Trello, screenshots, external resources?

Before 🐛
After 🦋

Coming soon.

✅ Acceptance criteria

[ ] Projects with videos are displayed (with/without thumbnail) and played back/paused/fullscreened in landscape and portrait.

⏰ TODO

[x] Fix parser
[x] Fix lag when scrolling to cell
[x] Test with multiple cells being played/paused/scroll away/back
[ ] Write tests.

SwiftFormat found issues:

File
Rules

Kickstarter-iOS/Views/Cells/HTML Parser/VideoViewElementCell.swift:67:1
warning: (indent) Indent code in accordance with the scope level.

Kickstarter-iOS/Views/Controllers/ProjectPageViewController.swift:627:1
warning: (blankLinesAtStartOfScope) Remove leading blank line at the start of a scope.

  Generated by :no_entry_sign: Danger

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger