Support multiple entry points

Currently, onnx-mlir has not yet fully supported multiple entry points in a model, e.g. We assume there is only a single entry point, that is run_main_graph and provide omInputSignature() and omOutputSignature() functions for querying the input/output of the entry point. However, we would like to extend these signature functions in order to support multiple entry points.
Example of a multi-entry-point code:
module {
  func private @test_add(%arg0 : tensor<10xf32>, %arg1 : tensor<10xf32>) -> tensor<*xf32> {
    %0 ="onnx.Add"(%arg0, %arg1) : (tensor<10xf32>, tensor<10xf32>) -> tensor<*xf32>
    "std.return"(%0) : (tensor<*xf32>) -> ()
  }
  func private @test_relu(%arg0 : tensor<10xf32>) -> tensor<*xf32> {
    %0 ="onnx.Relu"(%arg0) : (tensor<10xf32>) -> tensor<*xf32>
    "std.return"(%0) : (tensor<*xf32>) -> ()
  }
  "onnx.EntryPoint"() {func = @test_add, numInputs = 2 : i32, numOutputs = 1 : i32, signature = ""} : () -> ()
  "onnx.EntryPoint"() {func = @test_relu, numInputs = 1 : i32, numOutputs = 1 : i32, signature = ""} : () -> ()
}

There are two approaches to supporting multiple entry points:

Reuse function names omInputSignature and omOutputSignature, and allow users to pass an entry point name to query its signature, e.g. omInputSignature("run_test_add").
For each entry point name, e,g. run_test_add, create two functions run_test_add_in_signature() and run_test_add_out_signature() to query its signatures.

Though approach 1 reuses function names, we cannot reuse the function content and we need to generate complicated code, e.g. generating blocks and condition branches at LLVM level for searching the signature of the given entry point name.
Meanwhile, approach 2 does not reuse the function names but it is straightforward to implement. We simply use a dynamic name, e.g run_test_add_in_signature depending on the entry point name, instead of a fixed name omInputSignature. There is no change to the function content and no searching needed.
I prefer approach 2. However, I am a bit concerned about changing the function names since onnx-mlir users are using those names.

I don't know how much complexity option #1 adds to the internal code but from the backward compatibility point of view option #1 is preferred. Typically, you would designate a "default" entry point so that the existing omInputSignature() and omOutputSignature() would return signatures for the default entry point and add the new functions omInputSignature(entry_point_name) and omOutputSignature(entry_point_name). This works well for C++ and Java. For C existing code will have to be changed since it does not support same function with different signature. But that's typically a small price to pay.
Also from a general code practice, hard code entry point name into the function name like option #2 is also less desirable since it would force users to write code like
if (entry_point_name == "test_add")
    run_test_add_in_signature();
else if (entry_point_name == "test_relu")
    run_test_relu_in_signature();
...

In other words, it forces users to write code that maps an entry point name to its corresponding signature function. This complexity should be contained in the runtime internal code. Since it's machine generated so less error prone. And you probably already have some logic to map an entry point name to its corresponding signature functions anyway in order to implement option #2. Since the runtime is internally implemented in C++, it shouldn't be too hard to do the mapping with the
std::map construct.

@gongsu832 so, looks like approach 2 eases the burden on users. omInputSignature is a function emitted in LLVMIR, so it cannot be overloaded. If we provide only omInputSignature(entry_point_name), is it fine for C, C++, and Java interfaces? They should know the default entry point is "run_main_graph" and pass it to omInputSignature.

@tungld You mean approach 1 eases the burden on users? It should be fine if we provide only omInputSignature(entry_point_name). C/C++ callers will have to make a small change to existing code. Java has its own wrapper inputSignature() around omInputSignature() so we can just add the new inputSignature(entry_point_name) wrapper without requiring Java code change.

@tungld You mean approach 1 eases the burden on users?

Yes, my mistake. I mean approach 1.

@tungld,
I think we must be very clear on what the "entry point" are. It may be self evident to us now, but this is important for the user as they are exposed to these names. Is it correct that these "entry point" are actually the symbol of the compute function? If so, they are exposed to the user as if you have a statically linked compute function, like in many of our examples, we expect the user to define and then call entry_point(inputTensorList), and if the user is working with dynamic libraries, the user is expected to do a `dlsym(entry_point).
I agree with @gongsu832 that we should have functions to get the signatures that passes the entry point name. But this starts to feel like we have a data structure for each entry point.
struct EntryPointStruct {
  char *entryPointName;
  char *inputSignature;
  char *outputSignature;
}

That feel preferable to having hardwired functions to get the signatures, as if we have multiple entry point, we must start to enumerate/generate to get the right function for a solution 1
if (entry_point_name == "test_add")
    run_test_add_in_signature();
else if (entry_point_name == "test_relu")
    run_test_relu_in_signature();

(since the name are constants, probably test the address of the constant is enough).


Error installing wheel with "invalid version"

Version: uv 0.2.29
I'm not sure if this is intended or not:
uv pip install https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl

Fails with
error: The wheel filename "es_anonimization_core_lg-any-py3-none-any.whl" has an invalid version: expected version to start with a number, but no leading ASCII digits were found

However, the equivalent pip command is able to install the wheel:
pip install https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl
Collecting es-anonimization-core-lg==any
  Downloading https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl (587.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.8/587.8 MB 1.5 MB/s eta 0:00:00

In our current design this is intentional -- we require that wheels always have valid wheel filenames, and that isn't a valid filename (since it's omitting the version).

We should support this, requires some refactors though.

Version: uv 0.2.29
I'm not sure if this is intended or not:
uv pip install https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl

Fails with
error: The wheel filename "es_anonimization_core_lg-any-py3-none-any.whl" has an invalid version: expected version to start with a number, but no leading ASCII digits were found

However, the equivalent pip command is able to install the wheel:
pip install https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl
Collecting es-anonimization-core-lg==any
  Downloading https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl (587.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 587.8/587.8 MB 1.5 MB/s eta 0:00:00

Apologies for the intrusion. Could you please specify which version of pip you are using?
I have tested this with pip version 24.2 and encountered the following error:
pip install https://huggingface.co/PlanTL-GOB-ES/es_anonimization_core_lg/resolve/main/es_anonimization_core_lg-any-py3-none-any.whl
ERROR: Invalid requirement: 'es-anonimization-core-lg==any': Expected end or semicolon (after name and no valid version specifier)
    es-anonimization-core-lg==any

Sure, I'm using pip 24.0, which seems to work fine. I will report to the creator of the wheel to see if they can follow the naming conventions. The confusing part here is that with pip seems to work (at least in some versions), so the wheel mantainers may not have noticed that the naming is incorrect.

Looking at pip release notes maybe this is related to this issue https://github.com/pypa/pip/issues/12063
It seems that starting with pip 24.1b1 the wheel I used as an example is no longer installable with pip https://pip.pypa.io/en/stable/news/#b1-2024-05-06

I'm experiencing the same issue using uv pip to install a spacy model via hugging face. The url given by hugging face for the wheels file seems only (?) to provide "any" as the version number. Agreed with @albertotb that from the pip issue referenced it seems like this is probably something hugging face will need to update. I've open a new issue huggingface/huggingface_hub#2637

Yes, the workaround I'm using is to stick with pip to install those HuggingFace models and pin pip<24.0. I guess you could also host a clone of such HuggingFacel models but with the correct naming. That is not ideal if they are being updated regular, but it's probably fine for most models.

can the wheel also be downloaded and renamed?


Generate pip package

I would like simplify the usage of the tool by end user to avoid downloading the zip package.
The solution for this is to generate pip package to run it in the following way:
pip install javacore-analyser
python -m javacore-analyser --input-data=/tmp/javacores --output-report=/tmp/javacore-analyser-report
The alternative solution is to generate executable for each version which simplifies the usage of the tool (and end user does not require python). More information here: https://pyinstaller.org/en/stable/

I started working on this according to https://packaging.python.org/en/latest/tutorials/packaging-projects/ and it requires rebuilding folder structure.
Once I have done it, the tests (which run from a different directory) fail with missing packages. I found, that this requires changing the declarations of imports:
https://stackoverflow.com/questions/4142151/how-to-import-the-class-within-the-same-directory-or-sub-directory
@PiotrAniola82 can we talk about that? I am not sure if I didn't miss anything.

It looks, it is written that way even in Python standard library, e.g. https://github.com/python/cpython/blob/main/Lib/re/_compiler.py

I stuck again on this. @PiotrAniola82 this is something we need to meet again to work on.


[BUG]could not upgrade static pod, timeout waiting for static pod kube-system/yurt-hub-xxx to be running

All other Pods are running, with only yss-upgrade-worker-yurt-hub.
default        nginx-node2-7cb6c5fdbc-7zzq6                   1/1     Running            0                32m
kube-flannel   kube-flannel-ds-cj8z2                          1/1     Running            0                32m
kube-system    coredns-wbpwh                                  1/1     Running            0                32m
kube-system    kube-proxy-86g8d                               1/1     Running            0                32m
kube-system    raven-agent-ds-5qhxk                           1/1     Running            2 (52m ago)      98m
kube-system    yss-upgrade-worker-yurt-hub-node2-65d4cdf959   0/1     Error              0
kube-system    yurt-hub-node2                                 1/1     Running            0                31m

kube-system    yss-upgrade-worker-yurt-hub-node2-65d4cdf959   0/1     Error              0
logs:
I0319 09:28:14.178337   17976 upgrade.go:35] FLAG: --hash="65d4cdf959"
I0319 09:28:14.178637   17976 upgrade.go:35] FLAG: --help="false"
I0319 09:28:14.178662   17976 upgrade.go:35] FLAG: --kubeconfig=""
I0319 09:28:14.178673   17976 upgrade.go:35] FLAG: --manifest="yurthub"
I0319 09:28:14.178681   17976 upgrade.go:35] FLAG: --mode="AdvancedRollingUpdate"
I0319 09:28:14.178690   17976 upgrade.go:35] FLAG: --name="yurt-hub-node2"
I0319 09:28:14.178698   17976 upgrade.go:35] FLAG: --namespace="kube-system"
I0319 09:28:14.178706   17976 upgrade.go:35] FLAG: --timeout="2m0s"
I0319 09:28:14.179044   17976 upgrade.go:88] Create upgrade space success
I0319 09:28:14.179247   17976 upgrade.go:106] Auto prepare upgrade manifest success
I0319 09:28:14.179395   17976 upgrade.go:112] Auto upgrade backupManifest success
I0319 09:28:14.179672   17976 upgrade.go:118] Auto upgrade replaceManifest success
I0319 09:28:14.179721   17976 util.go:75] WaitForPodRunning namespace is kube-system, name is yurt-hub-node2
F0319 09:30:14.652184   17976 upgrade.go:48] could not upgrade static pod, timeout waiting for static pod kube-system/yurt-hub-node2 to be running
goroutine 1 [running]:
k8s.io/klog/v2.stacks(0x1)
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:1026 +0x90
k8s.io/klog/v2.(*loggingT).output(0x1be27e0, 0x3, {0x0, 0x0}, 0x400024c930, 0x0, {0x14bebdd?, 0x40001140f0?}, 0x0?, 0x0)
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:975 +0x5f4
k8s.io/klog/v2.(*loggingT).printf(0x400024fb80?, 0x109bbf0?, {0x0, 0x0}, {0x0, 0x0}, {0xfe1316, 0x20}, {0x40001140f0, 0x1, ...})
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:753 +0x184
k8s.io/klog/v2.Fatalf(...)
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:1514
github.com/openyurtio/openyurt/cmd/yurt-node-servant/static-pod-upgrade.NewUpgradeCmd.func1(0x400007ef00?, {0x4000516690?, 0x5?, 0x5?})
/build/cmd/yurt-node-servant/static-pod-upgrade/upgrade.go:48 +0x258
github.com/spf13/cobra.(*Command).execute(0x400007ef00, {0x4000516640, 0x5, 0x5})
/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:944 +0x5f4
github.com/spf13/cobra.(*Command).ExecuteC(0x400007e000)
/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068 +0x368
github.com/spf13/cobra.(*Command).Execute(...)
/go/pkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992
main.main()
/build/cmd/yurt-node-servant/node-servant.go:53 +0x2dc
goroutine 34 [chan receive, 2 minutes]:
k8s.io/klog/v2.(*loggingT).flushDaemon(0x0?)
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:1169 +0x60
created by k8s.io/klog/v2.init.0
/go/pkg/mod/k8s.io/klog/v2@v2.9.0/klog.go:420 +0x150
Environment:

OpenYurt version:
helm search repo openyurt
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
openyurt/openyurt               1.2.1           1.2.1           A Helm chart for openyurt
openyurt/pool-coordinator       1.3.1           1.3.0           A Helm chart for OpenYurt pool-coordinator comp...
openyurt/raven-agent            0.4.1           0.4.1           A Helm chart for Kubernetes
openyurt/yurt-app-manager       0.1.3           0.6.0           The controller manager that contains the nodepo...
openyurt/yurt-coordinator       1.4.0           1.4.0           A Helm chart for OpenYurt yurt-coordinator comp...
openyurt/yurt-dashboard         0.1.1           0.7.0           Dashboard for openyurt
openyurt/yurt-manager           1.4.3           1.4.0           A Helm chart for OpenYurt yurt-manager component.
openyurt/yurthub                1.4.1           1.4.0           A Helm chart for OpenYurt YurtHub Component

Kubernetes version (use kubectl version):
1.23.0

OS (e.g: cat /etc/os-release):
ubuntu

Kernel (e.g. uname -a):
5.10

others
/kind bug

@Ssspade Thanks for raising the issue.

I0319 09:28:14.179044 17976 upgrade.go:88] Create upgrade space success
I0319 09:28:14.179247 17976 upgrade.go:106] Auto prepare upgrade manifest success
I0319 09:28:14.179395 17976 upgrade.go:112] Auto upgrade backupManifest success
I0319 09:28:14.179672 17976 upgrade.go:118] Auto upgrade replaceManifest success
I0319 09:28:14.179721 17976 util.go:75] WaitForPodRunning namespace is kube-system, name is yurt-hub-node2
F0319 09:30:14.652184 17976 upgrade.go:48] could not upgrade static pod, timeout waiting for static pod kube-system/yurt-hub-node2 to be running

As the above logs, manifest file of YurtHub static pod has been replaced, but YurtHub static pod failed to restart. so would you like to check the following details:

check the YurtHub manifest file: /etc/kubernetes/manifests/yurthub.yaml, the contents of this file is upgraded or not?

dump the logs of kubelet component(journalctl -u kubelet &> kubelet.log), and check the reason why YurtHub static pod failed to restart.

Thanks for your attention.
I would like to ask, what is the purpose of "yss-upgrade-worker-yurt-hub-xxx"?
When I first modified the yurthub.yaml file and placed it in the directory /etc/kubernetes/manifests/, it started to create and run. However, due to incorrect modifications in my yurthub.yaml file, yurt-hub-node2 could not run properly. Therefore, I deleted the yurthub.yaml file, re-modified it, and placed it back in the directory /etc/kubernetes/manifests/. After doing so, yurt-hub-node2 ran successfully, but "yss-upgrade-worker-" encountered an error.
I manually deleted the pod "yss-upgrade-worker-" to restart it, but upon checking the kubelet logs, I did not find any relevant logs, neither on the node nor on the master.

Thanks for your attention.
I would like to ask, what is the purpose of "yss-upgrade-worker-yurt-hub-xxx"?
When I first modified the yurthub.yaml file and placed it in the directory /etc/kubernetes/manifests/, it started to create and run. However, due to incorrect modifications in my yurthub.yaml file, yurt-hub-node2 could not run properly. Therefore, I deleted the yurthub.yaml file, re-modified it, and placed it back in the directory /etc/kubernetes/manifests/. After doing so, yurt-hub-node2 ran successfully, but "yss-upgrade-worker-" encountered an error.
I manually deleted the pod "yss-upgrade-worker-" to restart it, but upon checking the kubelet logs, I did not find any relevant logs, neither on the node nor on the master.

Sorry, my previous reproduction method was a bit flawed.
I deleted yurthub.yaml and recopied it to the directory /etc/kubernetes/manifests/. The logs for yurt-hub-xxx are as follows:
I0320 09:32:53.103470       1 util.go:289] start proxying: get /apis/apps.openyurt.io/v1beta1/nodepools?limit=500&resourceVersion=0, in flight requests: 1
I0320 09:32:53.103765       1 tlsconfig.go:178] "Loaded client CA" index=0 certName="client-ca-bundle::/var/lib/yurthub/pki/ca.crt" certDetail="\"kubernetes\" [] validServingFor=[kubernetes] issuer=\"<self>\" (2024-03-12 08:43:04 +0000 UTC to 2034-03-10 08:43:04 +0000 UTC (now=2024-03-20 09:32:53.10367724 +0000 UTC))"
I0320 09:32:53.104143       1 util.go:289] start proxying: get /api/v1/services?limit=500&resourceVersion=0, in flight requests: 2
I0320 09:32:53.104455       1 tlsconfig.go:200] "Loaded serving cert" certName="serving-cert::/var/lib/yurthub/pki/yurthub-server-current.pem::/var/lib/yurthub/pki/yurthub-server-current.pem" certDetail="\"system:node:node1\" [serving] groups=[system:nodes] validServingFor=[<IP_ADDRESS>,<IP_ADDRESS>] issuer=\"kubernetes\" (2024-03-20 07:46:26 +0000 UTC to 2025-03-20 07:46:26 +0000 UTC (now=2024-03-20 09:32:53.10435406 +0000 UTC))"
I0320 09:32:53.104524       1 secure_serving.go:200] Serving securely on <IP_ADDRESS>:10268
I0320 09:32:53.104601       1 dynamic_serving_content.go:129] "Starting controller" name="serving-cert::/var/lib/yurthub/pki/yurthub-server-current.pem::/var/lib/yurthub/pki/yurthub-server-current.pem"
I0320 09:32:53.104678       1 tlsconfig.go:240] "Starting DynamicServingCertificateController"
I0320 09:32:53.104699       1 dynamic_cafile_content.go:155] "Starting controller" name="client-ca-bundle::/var/lib/yurthub/pki/ca.crt"
E0320 09:32:53.105635       1 gc.go:181] could not list keys for kubelet events, specified key is not found
E0320 09:32:53.105669       1 gc.go:181] could not list keys for kube-proxy events, specified key is not found
I0320 09:32:53.106652       1 util.go:289] start proxying: get /api/v1/namespaces/kube-system/configmaps?fieldSelector=metadata.name%3Dyurt-hub-cfg&limit=500&resourceVersion=0, in flight requests: 3
I0320 09:32:53.108302       1 util.go:248] yurthub list configmaps: /api/v1/namespaces/kube-system/configmaps?fieldSelector=metadata.name%3Dyurt-hub-cfg&limit=500&resourceVersion=0 with status code 200, spent 1.50208ms
I0320 09:32:53.110921       1 approver.go:191] current filter setting: map[coredns/endpoints/list:map[servicetopology:{}] coredns/endpoints/watch:map[servicetopology:{}] coredns/endpointslices/list:map[servicetopology:{}] coredns/endpointslices/watch:map[servicetopology:{}] kube-proxy/endpoints/list:map[servicetopology:{}] kube-proxy/endpoints/watch:map[servicetopology:{}] kube-proxy/endpointslices/list:map[servicetopology:{}] kube-proxy/endpointslices/watch:map[servicetopology:{}] kube-proxy/services/list:map[discardcloudservice:{} nodeportisolation:{}] kube-proxy/services/watch:map[discardcloudservice:{} nodeportisolation:{}] kubelet/configmaps/get:map[inclusterconfig:{}] kubelet/configmaps/list:map[inclusterconfig:{}] kubelet/configmaps/watch:map[inclusterconfig:{}] kubelet/pods/list:map[hostnetworkpropagation:{}] kubelet/pods/watch:map[hostnetworkpropagation:{}] kubelet/services/list:map[masterservice:{}] kubelet/services/watch:map[masterservice:{}] nginx-ingress-controller/endpoints/list:map[servicetopology:{}] nginx-ingress-controller/endpoints/watch:map[servicetopology:{}] nginx-ingress-controller/endpointslices/list:map[servicetopology:{}] nginx-ingress-controller/endpointslices/watch:map[servicetopology:{}]] after add
I0320 09:32:53.111522       1 util.go:289] start proxying: get /api/v1/namespaces/kube-system/configmaps?allowWatchBookmarks=true&fieldSelector=metadata.name%3Dyurt-hub-cfg&resourceVersion=476411&timeout=5m32s&timeoutSeconds=332&watch=true, in flight requests: 3
I0320 09:32:53.206474       1 util.go:248] yurthub list nodepools: /apis/apps.openyurt.io/v1beta1/nodepools?limit=500&resourceVersion=0 with status code 200, spent 102.901ms
I0320 09:32:53.206547       1 serializer.go:200] schema.GroupVersionResource{Group:"apps.openyurt.io", Version:"v1beta1", Resource:"nodepools"} is not found in client-go runtime scheme
I0320 09:32:53.207393       1 util.go:289] start proxying: get /apis/apps.openyurt.io/v1beta1/nodepools?allowWatchBookmarks=true&resourceVersion=476486&timeoutSeconds=578&watch=true, in flight requests: 3
I0320 09:32:53.208631       1 util.go:248] yurthub list services: /api/v1/services?limit=500&resourceVersion=0 with status code 200, spent 104.39578ms
I0320 09:32:53.212136       1 util.go:289] start proxying: get /api/v1/services?allowWatchBookmarks=true&resourceVersion=476878&timeout=9m56s&timeoutSeconds=596&watch=true, in flight requests: 3
E0320 09:32:53.538807       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:32:53.538887       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:32:58.194780       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:32:58.194836       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:03.757531       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:03.757566       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:08.020620       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:08.020678       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:13.837857       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:13.837916       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:18.661483       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:18.661539       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:23.089416       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:23.089471       1 ota.go:66] Get pod list failed, specified key is not found
E0320 09:33:28.518469       1 storage_wrapper.go:141] could not list objects for kubelet/pods.v1.core, specified key is not found
E0320 09:33:28.518503       1 ota.go:66] Get pod list failed, specified key is not found

The Edge node kubelet logs are as follows:
Mar 20 09:33:25 node1 kubelet[393]: E0320 09:33:25.510726     393 controller.go:187] failed to update lease, error: Operation cannot be fulfilled on leases.coordination.k8s.io "node1": the object has been modified; please apply your changes to the latest version and try again
Mar 20 09:33:31 node1 kubelet[393]: E0320 09:33:31.201961     393 dns.go:157] "Nameserver limits exceeded" err="Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is:  <IP_ADDRESS> fdae:7c79:ff46::1"
Mar 20 09:33:35 node1 kubelet[393]: E0320 09:33:35.859105     393 controller.go:187] failed to update lease, error: Operation cannot be fulfilled on leases.coordination.k8s.io "node1": the object has been modified; please apply your changes to the latest version and try again
Mar 20 09:33:45 node1 kubelet[393]: E0320 09:33:45.374661     393 dns.go:157] "Nameserver limits exceeded" err="Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: <IP_ADDRESS> fdae:7c79:ff46::1"
Mar 20 09:33:47 node1 kubelet[393]: E0320 09:33:47.522655     393 controller.go:187] failed to update lease, error: Operation cannot be fulfilled on leases.coordination.k8s.io "node1": the object has been modified; please apply your changes to the latest version and try again
Mar 20 09:33:57 node1 kubelet[393]: E0320 09:33:57.623901     393 controller.go:187] failed to update lease, error: Operation cannot be fulfilled on leases.coordination.k8s.io "node1": the object has been modified; please apply your changes to the latest version and try again
Mar 20 09:34:07 node1 kubelet[393]: E0320 09:34:07.951674     393 controller.go:187] failed to update lease, error: Operation cannot be fulfilled on leases.coordination.k8s.io "node1": the object has been modified; please apply your changes to the latest version and try again

The normally running yurt-hub is re-created through kubelet after the failure of yss-upgrade-worker.

@Ssspade It seems that Yurthub component have not worked correctly. would you like to show me the fully Yurthub logs?

During the execution of yss-upgrade, the logs for yurt-hub are recorded in the file named "yurt-hub-during-yss.log".

yurt-hub-during-yss.log
After 2 minutes, if yss-upgrade fails, yurt-hub will restart and its logs will be written to the file named "yurt-hub.log".

yurt-hub.log

During the execution of yss-upgrade, the logs for yurt-hub are recorded in the file named "yurt-hub-during-yss.log".  yurt-hub-during-yss.log After 2 minutes, if yss-upgrade fails, yurt-hub will restart and its logs will be written to the file named "yurt-hub.log".
yurt-hub.log

@Ssspade It seems that yurt-manager component is not installed correctly, because NodePool CRD is not found in your cluster.
In your logs file, there are some errors about NodePool resource as following:

I0326 02:14:43.771606       1 serializer.go:200] schema.GroupVersionResource{Group:"apps.openyurt.io", Version:"v1beta1", Resource:"nodepools"} is not found in client-go runtime scheme

@Ssspade Would you like to upload the detail metrics about yurthub component?
you can get the metrics on the node by execute the command: curl http://<IP_ADDRESS>:10267/metrics

Of course, I'm very willing to. The installation process, I referred to the official website。
curl http://<IP_ADDRESS>:10267/metrics，log：
curl_metric.log

During the execution of yss-upgrade, the logs for yurt-hub are recorded in the file named "yurt-hub-during-yss.log".  yurt-hub-during-yss.log After 2 minutes, if yss-upgrade fails, yurt-hub will restart and its logs will be written to the file named "yurt-hub.log".
yurt-hub.log

@Ssspade It seems that yurt-manager component is not installed correctly, because NodePool CRD is not found in your cluster.
In your logs file, there are some errors about NodePool resource as following:

I0326 02:14:43.771606       1 serializer.go:200] schema.GroupVersionResource{Group:"apps.openyurt.io", Version:"v1beta1", Resource:"nodepools"} is not found in client-go runtime scheme

I use the command to view it:
root@master:~# kubectl get crd
NAME                                 CREATED AT
gateways.raven.openyurt.io           2024-03-21T09:29:27Z
nodepools.apps.openyurt.io           2024-03-21T09:29:26Z
platformadmins.iot.openyurt.io       2024-03-21T09:29:26Z
yurtappdaemons.apps.openyurt.io      2024-03-21T09:29:26Z
yurtappoverriders.apps.openyurt.io   2024-03-21T09:29:26Z
yurtappsets.apps.openyurt.io         2024-03-21T09:29:26Z
yurtstaticsets.apps.openyurt.io      2024-03-21T09:29:26Z

Of course, I'm very willing to. The installation process, I referred to the official websitev1.4。 curl http://<IP_ADDRESS>:10267/metrics，log： curl_metric.log

@Ssspade From the metrics of yurthub, only yurthub itself send reqeusts to kube-apiserver through yurthub, and other components have not sent requests to kube-apiserver through yurthub.

node_yurthub_in_flight_requests_collector{client="yurthub",resource="configmaps",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="configmaps",subresources="",verb="watch"} 1
node_yurthub_in_flight_requests_collector{client="yurthub",resource="nodepools",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="nodepools",subresources="",verb="watch"} 1
node_yurthub_in_flight_requests_collector{client="yurthub",resource="services",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="services",subresources="",verb="watch"} 1

Have you used yurtadm join to add node into this cluster? or use kubeadm join command to add node?

During the execution of yss-upgrade, the logs for yurt-hub are recorded in the file named "yurt-hub-during-yss.log".  yurt-hub-during-yss.log After 2 minutes, if yss-upgrade fails, yurt-hub will restart and its logs will be written to the file named "yurt-hub.log".
yurt-hub.log

@Ssspade It seems that yurt-manager component is not installed correctly, because NodePool CRD is not found in your cluster.
In your logs file, there are some errors about NodePool resource as following:

I0326 02:14:43.771606       1 serializer.go:200] schema.GroupVersionResource{Group:"apps.openyurt.io", Version:"v1beta1", Resource:"nodepools"} is not found in client-go runtime scheme

I use the command to view it:
root@master:~# kubectl get crd
NAME                                 CREATED AT
gateways.raven.openyurt.io           2024-03-21T09:29:27Z
nodepools.apps.openyurt.io           2024-03-21T09:29:26Z
platformadmins.iot.openyurt.io       2024-03-21T09:29:26Z
yurtappdaemons.apps.openyurt.io      2024-03-21T09:29:26Z
yurtappoverriders.apps.openyurt.io   2024-03-21T09:29:26Z
yurtappsets.apps.openyurt.io         2024-03-21T09:29:26Z
yurtstaticsets.apps.openyurt.io      2024-03-21T09:29:26Z

@Ssspade yes, from the metrics of yurthub, it seems that you installed yurthub before yurt-manager installation. would you like to tell me how do you add your node into cluster?

Of course, I'm very willing to. The installation process, I referred to the official websitev1.4。 curl http://<IP_ADDRESS>:10267/metrics，log： curl_metric.log

@Ssspade From the metrics of yurthub, only yurthub itself send reqeusts to kube-apiserver through yurthub, and other components have not sent requests to kube-apiserver through yurthub.

node_yurthub_in_flight_requests_collector{client="yurthub",resource="configmaps",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="configmaps",subresources="",verb="watch"} 1
node_yurthub_in_flight_requests_collector{client="yurthub",resource="nodepools",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="nodepools",subresources="",verb="watch"} 1
node_yurthub_in_flight_requests_collector{client="yurthub",resource="services",subresources="",verb="list"} 0
node_yurthub_in_flight_requests_collector{client="yurthub",resource="services",subresources="",verb="watch"} 1

Have you used yurtadm join to add node into this cluster? or use kubeadm join command to add node?

I have used kubeadm join to add node. The way to install openyurt is on Kubernetes. I haven't completed the "Join Nodes-Configure Kubelet (2.3)" step yet.

curl http://<IP_ADDRESS>:10267/metrics

@rambohe-ch My OpenYurt was installed on top of an existing Kubernetes cluster and node.
Firstly, I followed the installation guide to install the master node, and then, according to the node joining guide(2. Install OpenYurt node components), I installed the OpenYurt Node component on the existing Kubernetes nodes.
If I disregard errors from the yss-upgrade component and proceed with the "Join Nodes" step. curl http://<IP_ADDRESS>:10267/metrics log is curl-metric.log.
Additionally, my physical environment consists of an x86 master node and ARM64 edge nodes. I'm unsure if this might have any impact.

I made the following modifications, and the static pod upgrade function is running normally:
(1) Downgraded Kubernetes version: v1.23.0 to v1.22.11
(2) Downgraded Flannel version: latest to v0.18.1
Thank you for your assistance.


训练时弹出提示

e = Input and output sizes should be greater than 0, but got input (H: 0, W: 175) output (H: 128, W: 128)

Did anyone see these during training？

It seems that the size of the input image patch is 0. Please make sure that you use the correct input data.

I got the same errors during training. The code is the original code without changing. The data paths are correct. Does anyone know what is the reason for this?


Hide line indicators

Is it possible to hide the line indicators seen below?

Just added this as well. Its configurable, but enabled by default

Thanks


Run OpenWhisk in Mesos

Create DCOS packages to deploy the OpenWhisk components.
This issue depends on https://github.com/openwhisk/openwhisk/pull/2081

@ddragosd now the images are being built and pushed to dockerhub https://hub.docker.com/u/openwhisk/ including a couchdb-snapshot

PR opened openwhisk/openwhisk-devtools#20.

The work for deploying on Mesos is moved into https://github.com/apache/incubator-openwhisk-deploy-mesos repo.


Does this library allow you to post to instagram

Is there some way I can post an image with this library to instagram?

No, therefore, you need to be a Facebook Marketing Partner(*) and use the new Instagram Graph API version. You can't do this with the legacy Instagram API.
(*) At the time of writing this comment.


Feature: Add development environment setup

This PR adds enhanced support for github codespaces, as well as VS Code remote containers. With this change, a developer can create a new codespace and automatically have access to build and test the code without needing to setup their environment manually.

Thanks!


Storage issues on XPS 15 9560 due to kernel regression; failing cryptsetup

There are several reports of storage issues all on this one laptop model here, so I am filing a bug: https://discourse.nixos.org/t/nvme-drive-not-detecting-after-calameres-initiates/32108/
Live posts of me doing debugging: https://matrix.to/#/!DBFhtjpqmJNENpLDOv:nixos.org/$9zWPOBSxYIou5aEGILjwnDFgEJLuIi7JTuUUo7iQkyw?via=nixos.org&via=matrix.org&via=tchncs.de
Results of testing on my machine yesterday:
Kernels I believe are ok: 6.4.9, 6.1.44
Kernels I believe are bad: 6.5.0, 6.5.1, 6.1.51, 6.1.49(?)
Debug log of a failing boot: https://gist.github.com/lf-/58fb6bfd13e4f3d09d8e2c39b279b46a
Describe the bug
Various storage-not-detected/io error symptoms on the XPS 15 9560, with the internal SSD. Seems to not matter massively what SSD it is, since there are people having it with the original SSD as far as I can tell.
Reproduced on this aftermarket drive (there's a firmware rev in here somewhere right?):
$ nvme id-ctrl /dev/nvme0
<snip>
mn        : WD Blue SN570 1TB
fr        : 234110WD
rab       : 4
ieee      : 001b44
cmic      : 0
mdts      : 7
cntlid    : 0
ver       : 0x10400
rtd3r     : 0x7a120
rtd3e     : 0xf4240
oaes      : 0x200
ctratt    : 0x2
rrls      : 0
cntrltype : 1
<snip>

Most relevant part of failed boot log:
Sep 04 11:56:38 localhost kernel: nvme nvme0: controller is down; will reset: CSTS=0xffffffff, PCI_STATUS=0xffff
Sep 04 11:56:38 localhost kernel: nvme nvme0: Does your device have a faulty power saving mode enabled?
Sep 04 11:56:38 localhost kernel: nvme nvme0: Try "nvme_core.default_ps_max_latency_us=0 pcie_aspm=off" and report a bug
Sep 04 11:56:38 localhost kernel: nvme 0000:04:00.0: Unable to change power state from D3cold to D0, device inaccessible
Sep 04 11:56:38 localhost kernel: nvme nvme0: Disabling device after reset failure: -19
Sep 04 11:56:38 localhost systemd-cryptsetup[169]: Device /dev/disk/by-uuid/b80aedf8-ddd4-46fa-8d09-5215d5f286b9 READ lock released.
Sep 04 11:56:38 localhost systemd-cryptsetup[169]: IO error while decrypting keyslot.
Sep 04 11:56:38 localhost systemd-cryptsetup[169]: Keyslot 0 (luks2) open failed with -5.

I have not yet tried the alleged workaround given in the message here. I might try it on NixCon hacking day when I don't need my computer to work.
Steps To Reproduce

Use bad kernel
???
Suffering

Expected behavior
Disk works, system boots.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
This is a regression between nixos-unstable revisions ce5e4a6 and 3efb0f6 which I have debugged to be kernel-version induced. systemd and cryptsetup versions are constant across both
Notify maintainers
@TredwellGit @Ma27 @NeQuissimus @alyssais @thoughtpolice

Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 6.4.9, NixOS, 23.11 (Tapir)
, 23.11.20230902.e569908`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.17.0`
 - nixpkgs: `/etc/nix/inputs/nixpkgs`

plausibly might be: https://marc.info/?l=linux-kernel&m=169282223025290&w=2

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nvme-drive-not-detecting-after-calameres-initiates/32108/16

Thankyou, this is really valuable testing effort I just did not have the chance to get to

Upstream bug https://bugzilla.kernel.org/show_bug.cgi?id=217802

I have filed a PR to just patch the kernels to revert the offending commit. It seems to have restored the 6.1 series to booting properly, at least. The rest of them I will set building overnight on my fast machine and test later.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/nvme-drive-not-detecting-after-calameres-initiates/32108/14

@lf- @kgreunke I've merged the revert for now, but it would be really great if you could test what's supposedly the actual fix and send them a Tested-by if it works for you.

Yep I just compiled that patch now that I fixed my desktop computer, going to test it tomorrow.
For reference, the patch is this one (you may have crlf related problems after downloading the raw version of the message and git am<EMAIL_ADDRESS>

Looks like they still didn't get any Tested-by.  Could somebody please?  I really don't want to have to keep a patch around forever for this.

I have tested it, but Gmail on Android is very unable to send plain text emails. When I get to my computer I'll send them one.

I have what looks very like this bug on a Dell 7090 micro with two NVMe drives running unstable; error occurs about once a day, always on the Crucial P3 2TB drive.  I have just taken the system backlevel to kernel 6.1.94 and will monitor and report back.

That's going to be a different bug, whatever it is. Best of luck!!
I hope you can pull kernel logs, though I understand these things have their way of making themselves hard to diagnose. A possible suggestion: can you run journalctl -f and dmesg -w over ssh from another machine, tee'd into a file, perhaps? It should at least cause logs to survive the disk screwing up, if that's in fact what's going on.

Happened after three days


[VEN-2877] Deploy XVS Vault and XVS Store on Base Sepolia

Description

Resolves #
Checklist

[ ] I have updated the documentation to account for the changes in the code.
[ ] If I added new functionality, I added tests covering it.
[ ] If I fixed a bug, I added a test preventing this bug from silently reappearing again.
[ ] My contribution follows Venus contribution guidelines.

deployments/basesepolia_addresses.json wasn't updated. I suppose it is because the source branch the needed config wasn't available. I would rebase this branch on top of the new develop


[BUG] NVMe drive can be added multiple times in host config in UI

Describe the bug
When editing the host disk config, an NVMe drive can be added multiple times.
To Reproduce

Go the a host configuration screen in the Harvester UI
Add an NVMe drive
Add the same NVMe drive

Expected behavior
When selecting a drive, it should be removed from the Add Disk drop down menu.
Environment:

Harvester ISO version: 1.0.0-rc1

Additional context
Add any other context about the problem here.

https://gist.github.com/janeczku/a70f94912848e88a24b8df1d48eb7c33

Disks can be selected multiple times.

Still, both the parent device and the already existing partition can be selected from the drop down.

The devices mentioned in the ndm output also don't exist on the system.
crw------- 1 root root 244,  0 Dec  2 09:44 /dev/nvme0
brw-rw---- 1 root disk 259, 10 Dec  2 09:44 /dev/nvme0n1
brw-rw---- 1 root disk 259, 16 Dec  2 09:44 /dev/nvme0n1p1
crw------- 1 root root 244,  1 Dec  2 09:44 /dev/nvme1
brw-rw---- 1 root disk 259,  5 Dec  2 09:44 /dev/nvme1n1
brw-rw---- 1 root disk 259, 12 Dec  2 09:44 /dev/nvme1n1p1
crw------- 1 root root 244,  2 Dec  2 09:44 /dev/nvme2
brw-rw---- 1 root disk 259,  8 Dec  2 09:44 /dev/nvme2n1
brw-rw---- 1 root disk 259, 17 Dec  2 09:44 /dev/nvme2n1p1
crw------- 1 root root 244,  3 Dec  2 09:44 /dev/nvme3
brw-rw---- 1 root disk 259,  7 Dec  2 09:44 /dev/nvme3n1
brw-rw---- 1 root disk 259, 13 Dec  2 09:44 /dev/nvme3n1p1
crw------- 1 root root 244,  4 Dec  2 09:44 /dev/nvme4
brw-rw---- 1 root disk 259,  9 Dec  2 09:44 /dev/nvme4n1
brw-rw---- 1 root disk 259, 15 Dec  2 09:44 /dev/nvme4n1p1
crw------- 1 root root 244,  5 Dec  2 09:44 /dev/nvme5
brw-rw---- 1 root disk 259, 11 Dec  2 09:44 /dev/nvme5n1
brw-rw---- 1 root disk 259, 14 Dec  2 09:44 /dev/nvme5n1p1

time="2021-12-02T10:09:30Z" level=info msg="Scan block devices of node: bmitacnapc1n01"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme0c0n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme0c0n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme0c0n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme1c1n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme1c1n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme1c1n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme2c2n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme2c2n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme2c2n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme3c3n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme3c3n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme3c3n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme4c4n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme4c4n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme4c4n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme5c5n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme5c5n1 : exit status 2\n"
time="2021-12-02T10:09:30Z" level=warning msg="failed to read disk uuid of /dev/nvme5c5n1 : exit status 2\n"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme0c0n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme0c0n1"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme1c1n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme1c1n1"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme2c2n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme2c2n1"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme3c3n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme3c3n1"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme4c4n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme4c4n1"
time="2021-12-02T10:09:31Z" level=warning msg="failed to generate GUID for device nvme5c5n1"
time="2021-12-02T10:09:31Z" level=info msg="Skip adding non-identifiable block device /dev/nvme5c5n1"

Hi @alexdepalex. Have some quetions about the environment. Thanks.

Do we enable multipath or use dual port NVMe disks in that environment?
Do we enable any software RAID in the environment?

There's no multipathing or software raid.  I guess I can reproduce it.
It's about private nvme namespace. I use qemu to emulate NVMe and add following args.
The shared=off in the last line is the most important property.
-device nvme-subsys,id=nvme-subsys-0,nqn=subsys0
-device nvme,id=nvme-ctrl-0,serial=deadbeef,subsys=nvme-subsys-0
-drive file=/path/to/nvm-1.img,format=raw,if=none,id=nvm-1
-device nvme-ns,drive=nvm-1,shared=off

And here is the result:

Since node-disk-manager are not interested in namespace but partition. I propose we can simply skip namespaces. Feel free to comment.

Turns out that it is both a UI bug and a backend enhancement, not what I guess in the beginning.
In the edit mode, the dashboard should not display the same device twice if it is already selected. For the backend, it should reject bad payload from the client but it doesn't.

@weihanglo does that bug also explain why disk manager looks for non-existent devices? https://github.com/harvester/harvester/issues/1608#issuecomment-984482993

@weihanglo does that bug also explain why disk manager looks for non-existent devices? #1608 (comment)

They are two separate issues. For "non-existent devices", if you refer to /dev/nvme0c?n?, those are NVMe private namespaces located in /sys/block, where disk manager collects disk/partition info. They causes no harm during scanning devices. I just need further survey to make sure it's safe to skip them.

✅ Verified that the same disk cannot be added twice with https://github.com/harvester/dashboard/pull/186/commits/3807b7f0ad0cc20ffaea768e442a4ad5c67681e3
❓ I tend to disable parent device option when a child device has been selected (and vice versa). Can we resolve this within the same issue? Or creating another issue is better?

Sure, let me fix it.

Verified this issue should be fixed.

Test Information

Environment: qemu/KVM 2 nodes
Harvester Version: master-5d6f3db0-head
ui-source Option: Auto

Verify Steps:

Install Harvester with 2 nodes
Power off 2nd node
Update VM's xml definition (by using virsh edit or virt-manager)

Create nvme.img block: dd if=/dev/zero of=/var/lib/libvirt/images/nvme.img bs=1M count=4096
update <domain type="kvm"> to <domain type="kvm" xmlns:qemu="http://libvirt.org/schemas/domain/qemu/1.0">
append xml node into domain as below:

  <qemu:commandline>
    <qemu:arg value="-drive"/>
    <qemu:arg value="file=/var/lib/libvirt/images/nvme.img,if=none,id=D22,format=raw"/>
    <qemu:arg value="-device"/>
    <qemu:arg value="nvme,drive=D22,serial=1234"/>
  </qemu:commandline>

Power on 2nd node
login to dashboard, then click Edit Config on 2nd node
Navigate to Disks tab, then add the NVMe disk from the drop-down list of Add Disk
The NVMe disk should disappear from the drop-down list
Cick Save, Edit Config on 2nd node again
The NVMe disk should not able to be added again


Support Websockets

A tiny brief history: https://twitter.com/seanybingbong/status/958359534615056394
Currently I'm able to do all of my GraphQL transactions via websockets with Apollo Link like so:
const client = new ApolloClient({
  link: WebsocketLink(), //
  cache: new InMemoryCache(),
});

I already need a websocket connection for my app so I thought I could use it to do all my GraphQL transactions since GraphQL doesn't care about transport. My app hardly has any Apollo-specific, so I thought I'd give urql a shot, but I'd still like to keep using websockets since the timing benefits over HTTP are nice (though, somewhat unnoticeable).
Maybe doing something like url: "wss://path.to/socket" in urql would trigger the use of websockets?

There's no de-facto standard for GraphQL over Websockets, not even for subscriptions. That being said, in v0.3+ we do support subscriptions:

https://github.com/FormidableLabs/urql/pull/75 (Initial implementation with example)
https://github.com/FormidableLabs/urql/pull/79 (Ability to update query results with subscription events)

Unfortunately the docs aren't quite ready yet, but v0.3 is available as a prerelease.
And if you'd like to implement some kind of custom transport layer, in v0.3 we now have "exchanges" which are kind of like Apollo's links. We even have an experimental package that allows you to use apollo-links with urql: http://github.com/kitten/urql-exchange-apollo
There's also no docs for that yet either (sorry) but here's an example snippet: https://twitter.com/_philpl/status/996325272009011200
So all in all v0.3 supports these custom usages :+1: Hope that works for you. Please let us know

@kitten Not opening a new issue since the answer might be "write your own exchange", but I've noticed that the subscriptionExchange can only be used for subscriptions. (At least the current version of) subscription-transport-ws allows for transporting all three of queries, mutations, and subscriptions over the WS connection, and this makes a lot of sense if you're already standing up the connection to service subscriptions.
Would supporting this be difficult? I see that currently the subscriptionExchange filters out anything which is not a subscription, but presumably simply removing this filtering would not be enough. Another thing which is a slight issue is that the top-level Client expects a url as one of its options (but I guess this is an issue with any exchange which does not actually fetch from this "main" URL).

@mjadczak It wouldn't be hard to make this happen per se, but it relies a lot on how the server and subscription-transport-ws handle subscriptions specifically. The subscriptionExchange however is built not to specifically rely on subscription-transport-ws and is only for subscriptions not for websockets in general.
That being said this would definitely be a candidate for a new exchange package, i.e. @urql/ws-exchange or something of that kind :+1:

The subscriptionExchange however is built not to specifically rely on subscription-transport-ws

export interface SubscriptionExchangeOpts {
  // This has been modelled to work with subscription-transport-ws
  // See: https://github.com/apollographql/subscriptions-transport-ws#requestoptions--observableexecutionresult-returns-observable-to-execute-the-operation
  forwardSubscription: SubscriptionForwarder;
}

😛
I get it though. Sounds like a candidate for a "help wanted" issue then? Could you reopen this one, or shall I file a new one?

@mjadczak we don't plan to add all exchanges to this main repository and instead want more of them to be build separately. So feel free to get started on one and reach out to me directly if you need any help 👍
In the future we might convert this repo to a mono repo to accommodate for more packages though, although we'd prefer not to do this just yet 🙂

Any updates on this? Would be really cool if we can send other forms of queries (Mutations etc...) via websocket

@AlaaZorkane Three year old issues aren't really insightful. you may want to check this though ✌🤗https://formidable.com/open-source/urql/docs/advanced/subscriptions/

Thanks! I actually always have that page open I don't know how I missed that part lol, appreciate the fast response 🙌


receve buffer size too small

https://github.com/psygames/UnityWebSocket/blob/89aedd6c3b2c6cde99a7ef0e30801393498a8357/Assets/UnityWebSocket/Scripts/Runtime/Implementation/NoWebGL/Default/WebSocket.cs#L221
receive buffer size too small, also send buffer size ?

fixed in 2.6.0


[5.7] Make sure "Hide Deprecated" is not shown, when API changes are enabled

Rationale: Modifies the Navigator tags to now show "Hide Deprecated" tag, if API changes are available.
Risk: Medium
Risk Detail: Changes the logic that shows tags
Reward: Medium
Reward Details: Users no longer will see Deprecated items, even though they clicked Hide Deprecated.
Original PR: https://github.com/apple/swift-docc-render/pull/375
Issue: rdar://94295219
Code Reviewed By: @mportiz08
Testing Details: Tested manually in the browser and added unit tests.

@swift-ci test


Update CONTRIBUTORS.csv

Current behavior

Proposed changes

Checks

[x] All commits in this Pull Request are signed and Verified by Github.
[x] All commits in this Pull Request follow the Ockam commit message convention.
[x] There are no Merge commits in this Pull Request. Ockam repo maintains a linear commit history. We merge Pull Requests by rebasing them onto the develop branch. Rebasing to the latest develop branch and force pushing to your Pull Request branch is okay.
[x] I have read and accept the Ockam Community Code of Conduct.
[x] I have read and accepted the Ockam Contributor License Agreement by adding my Git/Github details in a row at the end of the CONTRIBUTORS.csv file in a separate pull request to the build-trust/ockam repository. The easiest way to do this is to edit the CONTRIBUTORS.csv file in the github web UI and create a separate Pull Request, this will mark the commit as verified.

@abhiraj-mengade Thank you for accepting the CLA and taking time to contribute!!
Welcome to the Ockam Community 🥳
If you have questions, as you explore, join us on the contributors discord channel https://discord.gg/bewvnm6zqS

We'll merge this shortly.


Polygon stroke not properly clipped

Example

Just a heads up: this is normal if the size of the stroke is bigger than the Buffer size in the MVT request. Also, unless you want to clip twice, the stroke should be applied before clipping (I don't know if that's being done now).

I think this may need a really high effort (and time) to be fixed, and common width values don't show this artifact.
There are a lot of involved pieces here:

Backend tiling
CARTO VL clipping
CARTO VL line generation
CARTO VL tile-by-tile rendering

Reducing the number of tiles in common scenarios would fix this in those cases and that would imply many other advantages.

For now, we don't plan on tackling this. I'm closing the issue. Let's review this decision if we find there is more demand for this to be supported.


Why does ZeRO not support float32 training?

Why is ZeRO restricted to fp16? Any pointer/caveat on how to enable/fix ZeRO with fp32? Thanks!
File "./finetune.py", line 265, in <module>
    fit(args)
  File "./finetune.py", line 153, in fit
    dist_init_required=False
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/__init__.py", line 121, in initialize
    config_params=config_params)
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/engine.py", line 146, in __init__
    self._configure_with_arguments(args, mpu)
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/engine.py", line 435, in _configure_with_arguments
    param_dict=self.config_params)
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/config.py", line 488, in __init__
    self._do_sanity_check()
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/config.py", line 615, in _do_sanity_check
    self._do_error_check()
  File "/usr/local/lib/python3.7/dist-packages/deepspeed/runtime/config.py", line 640, in _do_error_check
    assert self.fp16_enabled, "DeepSpeedConfig: ZeRO is only supported if fp16 is enabled"
AssertionError: DeepSpeedConfig: ZeRO is only supported if fp16 is enabled

@eric-haibin-lin, thanks for your question. ZeRO is currently targeted for only fp16, i.e., mixed-precision training, which is required to train large models with billions/trillions of parameters. Generalizing ZeRO to fp32 training is on our roadmap, but currently of low-priority, unfortunately.

@eric-haibin-lin, thanks for your question. ZeRO is currently targeted for only fp16, i.e., mixed-precision training, which is required to train large models with billions/trillions of parameters. Generalizing ZeRO to fp32 training is on our roadmap, but currently of low-priority, unfortunately.

when will deepspeed support fp32 ?

@butterluo, deepspeed already supports fp32, but ZeRO currently supports only fp16.

Any updates on this issue?


feat: Daily Quests

Implements #29

Somewhat functional daily quest has been completed, I think its ready to be merged, I'll continue to monitor this if any issues arises, for now it works as intended


Create megatripco

I don't understand what you're doing here, can you please explain this pull request?

Appears to be spam.


CMS version bump

Description

Motivation and Context

Screenshots (if appropriate)
Upgrade notes (if appropriate)

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue) labeled with bug
[ ] New feature (non-breaking change which adds functionality) labeled with enhancement
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[ ] My code follows the code standards of this project.
[ ] My change requires updating the documentation. I have updated the documentation accordingly.

Codecov Report

Merging #758 (5421acc) into main (f866a76) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff            @@
##               main     #758   +/-   ##
=========================================
  Coverage     64.15%   64.15%
  Complexity      151      151
=========================================
  Files            28       28
  Lines           371      371
  Branches         31       31
=========================================
  Hits            238      238
  Misses          112      112
  Partials         21       21

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Clarify the cluster-context for joning cluster.

/cc @marun @shashidharatd @onyiny-ang

This is being fix at https://github.com/kubernetes-sigs/federation-v2/pull/157 by @font


Mixed Precision ISAI

This PR makes the ISAI preconditioner support reduced precision storage format.
It is based on Tobias' mp spmv approach for ell, which is slightly changed to use an accessor on both the matrix values and the input vector, for now always using the ValueType of the output vector as arithmetic type.
Points I would like to discuss are:

The ISAI matrix is now stored in ell. Without breaking interface, we would need to convert this to csr when retrieving the preconditioner matrix with get_approximate_inverse().
I introduced GKO_INSTANTIATE_FOR_EACH_VALUE_INDEX_AND_STORAGE_TYPE in types.hpp to make this work. I'm not really happy with having this additional to the mixed value and index types Tobias already introduced, maybe we can find a better way.
The preconditioner matrix is stored in the precision of StorageType. When retrieving the preconditioner matrix of a preconditioner with ValueType, I'm not 100% sure which precision the returned matrix should be stored in. For now, I went with converting it to ValueType.
For now, the storage type of the preconditioner matrix is a template. Another option would be to have it as a factory parameter somehow, for that I didn't find a nice way to do it yet though.
To support half precision storage, I think Ell will have to fully support half.

Todos:

[x] Wait for https://github.com/ginkgo-project/ginkgo/pull/690 to be merged
[x] Wait for https://github.com/ginkgo-project/ginkgo/pull/708 to be merged
[x] Wait for https://github.com/ginkgo-project/ginkgo/pull/717 to be merged

@fritzgoebel All dependencies for this PR are merged. Can you rebase it, so we can properly review it?

Yes, I will close it.


fhir-persistence-schema cli contains unnecessary dependencies

Describe the bug
Our all-in-one fhir-persistence-schema cli jar is currently over 36MB.  It contains all of fhir-registry which packages most of the conformance artifacts from the HL7 FHIR distribution.  But it shouldn't actually need all that...it really just needs to know which search parameter codes and it only needs that for pre-populating the search parameter names table.
To Reproduce

Download the fhir-persistence-schema cli jar
Extract it and check the contents

Expected behavior
fhir-persistence-schema should not have a runtime dependency on fhir-registry
Additional context
For https://github.com/IBM/FHIR/issues/1408 we are thinking to package the fhir-persistence-schema cli jar into our distribution image and use that for bootstrapping (instead of the current code thats embedded into FHIR Server startup).
When I looked at what this jar contains, it became clear that this image contains tons of files that it doesn't actually need (all of fhir-registry).
It only seems to be used from one place and we think we can move that to a .tool package under the src/test/java

from robin:  we could probably clean this up in the process
            List<String> codesList = new ArrayList<>(codes);
            Collections.sort(codesList);

is codesList is even used?

Confirmed by checking the size of fhir-persistence-schema-4.6.0-SNAPSHOT-cli.jar after a build.  Down from 36MB to about 18MB.


between

Hi!
I found that in the standard library "time", method Between(for checking is target time between first time and second) is missed, however, probably I was inattentive.
Anyway, i just implemented it:
t := time.Date(2015, 06, 30, 17, 51, 49, 123456789, time.Now().Location())
fmt.Println(now.New(t).Between("2015-05-12 12:20", "2017-12-12 12:20"))
//=> true

Under the hood of this, is MustParse method, so input can gets any time format.

Could you add package level function Between? so we could write code like this:
now.Between("18:00", "20:00")

Ok, added.
Only, it looks like:
t := time.Date(2015, 06, 30, 17, 51, 49, 123456789, time.Now().Location())
now.Between(t, "18:00", "20:00")

Thank you for your pull request, just merged that, and did some changes for your package method.


Using stepper throws an exception "ERROR TypeError: _this._driver.validateStyleProperty is not a function"

Bug, feature request, or proposal:
I am using angular 6, I installd the material and I am trying to use the stepper component, like ths:
 <mat-horizontal-stepper>     <mat-step label="step1">step1</mat-step>     <mat-step label="step2">step2</mat-step>   </mat-horizontal-stepper>
the app.module imports is like this:
 imports: [     BrowserModule,     BrowserAnimationsModule,     RouterModule.forRoot(appRoutes) ,     FormsModule, HttpClientModule ,     FormWizardModule ,     ArchwizardModule,     MatStepperModule   ],
but I got the following exception:
NewReqComponent.html:16 ERROR TypeError: _this._driver.validateStyleProperty is not a function     at browser.js:844     at Array.forEach (<anonymous>)     at browser.js:843     at Array.forEach (<anonymous>)     at<EMAIL_ADDRESS>(browser.js:840)     at<EMAIL_ADDRESS>(browser.js:780)     at<EMAIL_ADDRESS>(browser.js:678)     at browser.js:657     at Array.forEach (<anonymous>)     at browser.js:655
I tried to debug the issue, I found there is a mismatch between the functions parameters:

the bodyNode contains the driver value and the _driver contains the normlizer and the normlizer is empty

I have the same issue with mat-sidenav-container component.

Same here with map-paginator

same issue with header

same for mat-form-field

same here for mat-form-field. Any fix so far

temp fix:
go to packages.json -> dependencies
"@angular/animations": "6.0.5",
npm install

temp fix:
go to packages.json -> dependencies
"@angular/animations": "6.0.5",
npm install

I tried that but it does not work with me.
Any one have it work?

After upgrading Angular to 6.0.6 the problem seems to be fixed

how can i update to Angular 6.0.6 i used the ng update command but it is not working

I don't know if there is a more secure or official way to do this, what I did is :

Replace the version of each @angular/ dependency in packages.json by 6.0.6 (previously 6.0.3 in my case)
[Optional] remove node_modules/folder
npm install

I have the same issue with mat-sidenav-container component

Same issue

Replace the version of each @angular/ dependency in packages.json by 6.0.6 (previously 6.0.3 in my case)
-[Optional] remove node_modules/folder
-npm install

This did not work for me.  Any fix yet?

You can also try updating via npm update.

temp fix:
go to packages.json -> dependencies
"@angular/animations": "6.0.5",
npm install

work for me! thank you!

I have updated angular and also tried both solution provided by @GuillaumeMilani
but still getting same issue

upgrading angular solve the issue.
Thanks to  @GuillaumeMilani

As noted above, it appears that the @angular/animations package needs to be updated for your project.

I am so sorry that we have to learn your shit... but so sorry... I liked Angular.js. But this has become insane for developers. I have just scraped your Angular 6 documentation. I got a PDF of 1000 pages. Insane.

Just let your material version  as same as your angular version.

Sorry to resurrect, but any chance this has come back in "@angular/animations": "6.0.7" + "@angular/material": "6.3.2"?

I'm still facing this problem
"dependencies": {     "@angular/animations": "^6.0.0",     "@angular/cdk": "^6.0.0",     "@angular/material": "^6.0.0",     "hammerjs": "^2.0.8"   }
When I downgrade animations to version 6.0.5 it works. But I don't think that a downgrade is a proper solution. Are there any other solutions for this?


python310Packages.mcstatus: 9.2.0 -> 9.3.0

Description of changes
https://github.com/py-mine/mcstatus/releases/tag/v9.3.0

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

3 packages built:

home-assistant-component-tests.minecraft_server
mcstatus (python310Packages.mcstatus)
python39Packages.mcstatus

Result of nixpkgs-review pr 185959 run on x86_64-darwin 1

2 packages built:

mcstatus (python310Packages.mcstatus)
python39Packages.mcstatus


feat: fix vertical spacing in ic-page-header

Removed row gap from header container, as the only 2 elements in this were the heading and the adornment. The heading has natural padding due to the line height of the h2 text. Added margin bottom to keep space between adornment and subheading. This fix is for small or mobile sized screens.

Summary of the changes
Fixed vertical spacing in small screen size for ic-page-header
Related issue
#1320
Checklist

[ ] Relevant unit tests and visual regression tests added.
[ ] Visual testing against Figma component specification completed.
[ ] All acceptance criteria reviewed and met.
[ ] Accessibility Insights FastPass performed.
[ ] A11y unit test added and yields no issues.
[ ] A11y plug-in on Storybook yields no issues.
[ ] Manual screen reader testing performed using NVDA and VoiceOver.
[ ] Page can be zoomed to 400% with no loss of content.
[ ] Screen magnifier used with no issues.
[ ] Text resized to 200% with no loss of content.
[ ] Text spacing increased as per the WCAG 1.4.12 success criterion with no loss of content.
[ ] Browser setting 'prefers reduced motion' tested. No animations or motion visible whilst this setting is on.
[ ] Windows High Contrast mode tested with no loss of content.
[ ] System light and dark mode tested with no loss of content.
[ ] Manual keyboard testing for keyboard controls and logical focus order.
[ ] Min/max content examples tested with no loss of content or overflow.
[ ] Browser support tested (Chrome, Safari, Firefox and Edge).
[ ] Correct roles used and ARIA attributes used correctly where required.
[ ] Logical heading structure is maintained, and the HTML elements used for headings can be changed to fit within the wider page structure.
[ ] All prop combinations work without issue.
[ ] Changes to docs package checked and committed.

Thanks for your submission :) the fix looks good, but please could you rebase your branch with the latest updates?


Fix audio track end and start offset editing

Fix for #68788. Both start and end offset dragging is now possible with proper preview of the changes

@RumblingTurtle Needs to squash. https://docs.godotengine.org/en/latest/community/contributing/pr_workflow.html


Find Object 3D nothing show on Zed Camera

I tried to ZED camera example but got error. I converted /zed/rgb/image_rect_color to bgr8 format with cv_bridge as ,/image_topic. I checked with rqt_image_view these topics publishing but Find Object shows nothing and gives no error.

You should have to convert the rgb image. I updated the launch example: https://github.com/introlab/find-object/commit/a1601f7a24ec416264c6ddb6c7cb47a8c91c1cea
The code used to find the 3d pose from the depth image works only well with dense depth images. The depth image from zed can be sparse and noisy, but you can tune (with rqt_reconfigure) the depth_confidence parameter to get it more dense. Example:
$ roslaunch zed_wrapper zed.launch
$ roslaunch find_object_2d find_object_3d_zed.launch
$ rqt_image_view
$ rosrun rqt_reconfigure rqt_reconfigure

Thank you so much. I fixed. I try to imrove rangre. Can you give me suggest to improve range?
iPhone’umdan gönderildi
matlabbe<EMAIL_ADDRESS>şunları yazdı (10 Tem 2020 15:34):

You should have to convert the rgb image. I updated the launch example: a1601f7https://github.com/introlab/find-object/commit/a1601f7a24ec416264c6ddb6c7cb47a8c91c1cea
The code used to find the 3d pose from the depth image works only well with dense depth images. The depth image from zed can be sparse and noisy, but you can tune (with rqt_reconfigure) the depth_confidence parameter to get it more dense. Example:
$ roslaunch zed_wrapper zed.launch
$ roslaunch find_object_2d find_object_3d_zed.launch
$ rqt_image_view
$ rosrun rqt_reconfigure rqt_reconfigure
[Screenshot from 2020-07-10 08-25-33]https://user-images.githubusercontent.com/2319645/87154868-f5e4af80-c287-11ea-900a-85035dbd327f.jpg
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/introlab/find-object/issues/104#issuecomment-656652566, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AIUQSASTPCT3SE5YKQG2S6DR24DEBANCNFSM4OQZ3EHQ.


Discord bot spamming on logoffs on 7 days to die

Hi apparently the bot spams the discord more than i want when players leave or join the game. other than removing the addon is there a way round this ?

If this is add-on related, there may not be a way to make your configuration fully compatible for Dishorde at the moment.
One thing you could try is resetting the system the bot is running on -- multiple messages can be caused by extra instances of the bot. If this does not fix the problem, and it only affects join/leave messages: in theory, you may disable only these messages with the disable-join-leave-gmsgs.
If you could provide a list of your server's add-ons or modifications, this would be greatly appreciated. I am working on compiling a list of conflicting add-ons so we can look into fixing them.

Hi the current modlets i have is these

The version of the 7days is alpha 20 also checked in the task manager there is no duplicate entries of the bot running i do how ever have 4 seperate instances of 7 days to die servers each have there own bots for it.

Still looking into this -- we just got another report of the same issue in via the support server.

okay thank you very much :)

Hi Lake, we just have the three mods from Allocs that reserect has. Ver 39 according to the modinfo.xml. We're also running the bot from botman.nz. I think that just works via Telnet which is a possible conflict although probably not as I'm pretty sure it was happening during A20 Experimental before the bot had been updated and linked in. Other telnet users are BattleMetrics RCON and the scheduled announcements via TCAdmin. Otherwise... it's a Win 2016 server with 32G that last ran Windows Update a week or so ago. We're running TCAdmin v<IP_ADDRESS>. Also have Conan Exiles and Ark Survival servers. They also use RCON for discord chat but on different ports.
I'm happy to run a debug logging version of the code. The stall is happening a couple of times a day so it shouldn't take too long to get some data.

Has anyone encountered this before alpha 20? I will be testing today to see if we can narrow it down to the latest major version of the game.

I did have the issue before Alpha 20 just thought i could handle it but still does it.

I don't recall it happening on A19. If it did, it was obviously rare enough that no one really noticed.

I have successfully reproduced the issue as seen here (The "undefined" is a result of my tinkering):

ReSAlpha20-8K-Map-Test
BOT
— Today at 6:44 PM
Player Nylarlathotep left the game
Player Nylarlathotep left the game
Player Nylarlathotep left the game
Player Nylarlathotep left the game
this ahowed today as well

Interesting -- is it always in sets of four like this?

one player logged out and it said left game only once but yesterday it was a whole load of info like cross id's and stuff like that.
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 6:25 PM
Player Ranais left the 2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam______________________', CrossId='EOS_0002f58abb2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam___________________', CrossId='EOS_0002f58abbf14731a7582d409d006817', OwnerID='Steam_76561198056130120', PlayerName='Ranais'
2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam___________________', CrossId='EOS_0002f58abb2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam____________________', CrossId='EOS_0002f58abbf14731a7582d409d006817', OwnerID='Steam_______________________', PlayerName='Ranais'
[6:25 PM]
Player Ranais left the game
obviously steam then _____ was there steam id's.

Them parts would be spammed no end at one point

one player logged out and it said left game only once but yesterday it was a whole load of info like cross id's and stuff like that. ReSAlpha20-8K-Map-Test BOT — Yesterday at 6:25 PM Player Ranais left the 2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam______________________', CrossId='EOS_0002f58abb2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam___________________', CrossId='EOS_0002f58abbf14731a7582d409d006817', OwnerID='Steam________________________', PlayerName='Ranais' 2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam___________________', CrossId='EOS_0002f58abb2021-12-28T18:25:01 8832.977 INF Player disconnected: EntityID=15068, PltfmId='Steam____________________', CrossId='EOS_0002f58abbf14731a7582d409d006817', OwnerID='Steam_______________________', PlayerName='Ranais' [6:25 PM] Player Ranais left the game
obviously steam then _____ was there steam id's.

This looks similar to issue #118, which is being addressed in the next update.

okay hopefully in the next update it'll be addressed then just glad it was not just me then. :) i mean it would spam like 10-20 of the same message :)

We have a dev build ready that attempts to remedy some of these issues. Thus far, I have not encountered the issue in this build. However, it needs further testing, and I want to implement some extra anti-spam safeguards before a full release.
Beware that this is a development build and not to be considered stable.
Changelog:
+ 7DTD-Discord is now known as Dishorde. The new name is now used in the bot's files.
+ Added extra safeguards to filter out Discord pings from messages. This means that in-game users can no-longer ping @ everyone, @ here, or other users (via `<@(userid)>`), regardless of the bot's permissions. Attempts to do so now show up with special formatting.
+ Links posted in messages from the game are no-longer clickable.
+ Updated the bot to discord.js v13.
* Internally reworked the way messages from the game are parsed. This should fix issues including console data spilling through to messages.
* Fixed token and login errors not displaying their correct error text.
* Fixed console errors related to the GitHub repository URL.

Dishorde.tar.gz
Dishorde.zip

thank you very much i will test it if anything and let you know further with it.

Installed the new version about 4 hrs ago.
We're not getting the log-like strings we were getting before. e.g.
Player vetisx left the2021-12-30T09:18:07 11526.597 INF ~Botman~ PlayerDisconnected
Player vetisx left the game
Player vetisx left the2021-12-30T09:18:07 11526.597 INF ~Botman~ PlayerDisconnected
Player vetisx left the game
Just getting "Player vetisx left the game" now.
Given that I didn't take records, it's hard to say for sure that it's less frequent than before (could just be wishful thinking) but we are still getting repeated messages. Two instances of a double message, once each for 4x and a 16x. All between midday and 4pm Sydney time.
Interestingly, we also got an 8x on a player-generated chat message. I only recall having seen it before on server generated player leaving messages.
I don't know if Discord permits data mining from channels but I'm not opposed to permitting a listener bot if you wanted to get some analytics.

hehe https://i.imgur.com/IvM58F5.png

Ah, this is new. This dev version (may be intentional because it's a dev version!) Dishorde is now echoing stuff that comes from Discord back into Discord.
https://i.imgur.com/mQ3si6D.png

Sorry boss, just got the weird stuff again, too.
8 lots of:
Player 'BigCone' left the2021-12-30T22:56:23 1796.155 INF ~Botman~ PlayerDisconnected2021-12-30T22:56:23 1796.155 INF ~Botman~ PlayerDisconnected
Player 'BigCone' left the game

This is all i have been receiving yesterday
Player 'Laura Milne' joined the game
res-gaming-inc-14k-alpha-20-nopw
BOT
— Today at 2:07 AM
Player 'Laura Milne' died
Player 'Laura Milne' died
res-gaming-inc-14k-alpha-20-nopw
BOT
— Today at 2:27 AM
Player 'Laura Milne' died
res-gaming-inc-14k-alpha-20-nopw
BOT
— Today at 2:38 AM
Player 'Laura Milne' died
Player 'Laura Milne' left the game
res-gaming-inc-14k-alpha-20-nopw
BOT
— Today at 5:26 AM
Player 'Laura Milne' joined the game
Player 'Laura Milne' died
res-gaming-inc-14k-alpha-20-nopw
BOT
— Today at 5:43 AM
Player 'Laura Milne' died
Player 'Laura Milne' died
Player 'Laura Milne' died
Player 'Laura Milne' died
Player 'Laura Milne' left the game
Player 'Laura Milne' left the game
Player 'Laura Milne' left the game
Player 'Laura Milne' left the game

"allow-exec-command": true,
"allow-multiple-instances": true,
"disable-commands": false,
"disable-chatmsgs": false,
"disable-join-leave-gmsgs": false,
"disable-misc-gmsgs": false,
"show-private-chat": true,
"disable-status-updates": false,
"disable-version-check": false,
"hide-prefix": false,
"log-messages": true,
"log-telnet": true,
"prefix": "7d!"
}

Thanks for the reports. I'll make some changes based on what we're seeing today.
I suppose the way I can remedy this in the short-term is to add a detection system so the application identifies when it's trying to send a duplicate message. This is hardly a proper solution, though, and I'd like to figure out the root cause as well.

And another quick-fix for the weird "left" messages, we can validate any message reading as "GMSG" to ensure it contains a whitelisted set of strings, being "died", "left the game", or "joined the game".
 This dev version (may be intentional because it's a dev version!) Dishorde is now echoing stuff that comes from Discord back into Discord.
https://i.imgur.com/mQ3si6D.png

This is a result of some of the new changes to how chat messages are handled. A new config option has been added, disable-non-player-chatmsgs, for this. This should disable all messages not sent by players, i.e. server utilities and console commands included. Still working on a solution to disable only the echoing.

Another pre-release is ready, 2.0.0-rc2. This addresses the hide-prefix issue.
Linux: Dishorde.tar.gz
Windows: Dishorde.zip

Installed 2.0.0.rc2 about 5 hours ago. Still a few double-ups.  Got a 4x on someone joining the game
Just got an 8x of funky stuff.
Player 'KIT' left the game2021-12-31T15:09:24 4126.744 INF ~Botman~ PlayerDisconnected
[3:09 PM]
Player 'KIT' left the game

Another odd one from chat rather than a logon or logoff.
BulletTestDummy: he sometimes spawns there2021-12-31T20:08:34 7352.129 INF Executing command 'bm-chatplayercolor Steam_76561198075103921 FFFFFF 1' by Telnet from <IP_ADDRESS>:46728

New release candidate to help remedy some problems and better detect others. Instructions and change-log are as follows:
v2.0.0-rc3
+ Updated the config option "debug-mode" with additional logs.
+ Added a new config option: "log-console". This will log all of the bot's console output to a file, console.log, in the bot's folder.
* [22f6835] Fixed issues with the bot failing to detect certain lines from the game's servers. This may help with messages failing to show up for long amounts of time.
* To remedy message spam issues, the bot now checks for duplicate messages. If found, the message will not be sent, and a warning will appear in the console.

I recommend enabling the new logging functions to hopefully shed some more light on the issues. New logging options can be enabled by adding the following line to your config: "debug-mode": true,. Same for the console file logger. Example below.

 In particular, I'm looking to see if the messages at 7:40 are just echoes of the same one sent at 7:33.

i used version 1.7.3 on my dc server, with A20 and it works most of the time, but it spams allways on left messages, and doesnt allways send messages, or sends them like minutes or even hours later, i downloaded version 2.0.0 and it didnt work, only messages from the dc to game worked but nothing came back to discord, no in rc3 no spam issue what so ever, but everything typed on dc echoes to dc straight, msg from game works, join/leave works, diemessages dont know yet, messages from dc gets to game, but that echo is annoying.

i used version 1.7.3 on my dc server, with A20 and it works most of the time, but it spams allways on left messages, and doesnt allways send messages, or sends them like minutes or even hours later, i downloaded version 2.0.0 and it didnt work, only messages from the dc to game worked but nothing came back to discord, now in rc3 no spam issue what so ever, but everything typed on dc echoes to dc straight, msg from game works, join/leave works, diemessages dont know yet, messages from dc gets to game, but that echo is annoying.

The current workaround for the echo is to enable disable-non-player-chatmsgs in config (If using an old config file, you can add the option as a line in config yourself).
The only downside to this is that it will disable all "Server" messages (i.e. if you use the "say" command in console, or possibly mod-based messages)

Installed 2.0.0.rc3 about 2 hrs ago. So far so good, haven't noticed any dupes.
Console is full of lines like the following: WARNING: Caught attempting to send a duplicate line from the game. This line will be skipped. Line: 2022-01-01T20:44:29 9507.329 WRN Path node otherHeight bad -0.2100002, ( -865500, 41800, 2676500), ( -865500, 42010, 2676500)

Installed 2.0.0.rc3 about 2 hrs ago. So far so good, haven't noticed any dupes.
Console is full of lines like the following: WARNING: Caught attempting to send a duplicate line from the game. This line will be skipped.  In particular, I'm looking to see if the messages at 7:40 are just echoes of the same one sent at 7:33, or if the person died more than once, and one of the deaths triggered the spam.

Sorry for my long reply decided i would go out haha. okay basically they only died the once with that day. as you said though it could have just been it triggering.  In particular, I'm looking to see if the messages at 7:40 are just echoes of the same one sent at 7:33, or if the person died more than once, and one of the deaths triggered the spam.

Sorry for my long reply decided i would go out haha. okay basically they only died the once with that day. as you said though it could have just been it triggering. As he only died the once.

The bot is not spammed hardly at all over the past couple of days. not as much as it was doing.
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 1:58 PM
Player 'Nylarlathotep' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 2:36 PM
Player 'Nylarlathotep' left the game
[2:36 PM]
Player 'Nylarlathotep' left the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 4:42 PM
Player 'Nylarlathotep' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 5:11 PM
Player 'Booty' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 5:21 PM
Booty: saw that
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 8:50 PM
Player 'Nylarlathotep' left the game
[8:50 PM]
Player 'Booty' left the game
January 1, 2022
ReSAlpha20-8K-Map-Test
BOT
— Today at 2:59 PM
Player 'Nylarlathotep' joined the game
NEW
ReSAlpha20-8K-Map-Test
BOT
— Today at 4:07 PM
Player 'Nylarlathotep' died

The bot is not spammed hardly at all over the past couple of days. not as much as it was doing.
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 1:58 PM
Player 'Nylarlathotep' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 2:36 PM
Player 'Nylarlathotep' left the game
[2:36 PM]
Player 'Nylarlathotep' left the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 4:42 PM
Player 'Nylarlathotep' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 5:11 PM
Player 'Booty' joined the game
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 5:21 PM
Booty: saw that
ReSAlpha20-8K-Map-Test
BOT
— Yesterday at 8:50 PM
Player 'Nylarlathotep' left the game
[8:50 PM]
Player 'Booty' left the game
January 1, 2022
ReSAlpha20-8K-Map-Test
BOT
— Today at 2:59 PM
Player 'Nylarlathotep' joined the game
NEW
ReSAlpha20-8K-Map-Test
BOT
— Today at 4:07 PM
Player 'Nylarlathotep' died

how i cant get death messages to those like "was eaten alive by a mountainbear" or something, it says only "died"?

how i cant get death messages to those like "was eaten alive by a mountainbear" or something, it says only "died"?

@RustLighter Please keep questions relevant to this particular bug (which is about repeats/spam in the chat).
To address your question, that appears to be a change in the game. I looked in the main output_log.txt, it only records "Player XYZ died." So Dishorde / 7DTD-Discord doesn't know the reason, so it can't report it.

Another release candidate ready. Here's the rundown:
+ Messages from Discord now use nicknames, if any, rather than Discord names.
* Added a workaround for quotes causing messages to be cut off (Quotes are removed)
* [46d1ea6, 02c6d84, eb70828] More improvements to the way the bot detects lines from the game's console. This should remedy issues including message spam, message cutoff, and console data spilling into messages.

Windows: Dishorde.zip
Linux: Dishorde.tar.gz

Installed, thank you! Confirmed that nicknames and quotes are being processed as expected.

tested today the new rc4, some of the messages from the dc to game wont come in, and left msg echoing making string is still there

The release candidate builds have now been rolled out as one full release, 2.0.0. Some additional fixes are included in it. Please defer any issue reports to the new full release build. Further changes will be released in additional patches as needed.
https://github.com/LakeYS/Dishorde/releases/tag/v2.0.0


xfce4-13.libxfce4ui: propagate libICE libSM

Motivation for this change
backport #16227

@GrahamcOfBorg eval

Success on x86_64-linux (full log)
Attempted: xfce4-13.libxfce4ui
Partial log (click to expand)
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/jaa385zc40abi3lga01b59jdr2yx9sqa-libxfce4ui-4.13.4/lib  /nix/store/jaa385zc40abi3lga01b59jdr2yx9sqa-libxfce4ui-4.13.4/bin
patching script interpreter paths in /nix/store/jaa385zc40abi3lga01b59jdr2yx9sqa-libxfce4ui-4.13.4
checking for references to /build in /nix/store/jaa385zc40abi3lga01b59jdr2yx9sqa-libxfce4ui-4.13.4...
shrinking RPATHs of ELF executables and libraries in /nix/store/i62vwh3zwv78n198zrjjn6nj8hhg0sm0-libxfce4ui-4.13.4-dev
strip is /nix/store/4qvrxzxa535y8304mk195x50b6p9607d-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/i62vwh3zwv78n198zrjjn6nj8hhg0sm0-libxfce4ui-4.13.4-dev/lib
patching script interpreter paths in /nix/store/i62vwh3zwv78n198zrjjn6nj8hhg0sm0-libxfce4ui-4.13.4-dev
checking for references to /build in /nix/store/i62vwh3zwv78n198zrjjn6nj8hhg0sm0-libxfce4ui-4.13.4-dev...
/nix/store/jaa385zc40abi3lga01b59jdr2yx9sqa-libxfce4ui-4.13.4

Success on aarch64-linux (full log)
Attempted: xfce4-13.libxfce4ui
Partial log (click to expand)
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ggryjrzw61h7ci4d675369qgfdk99iwd-libxfce4ui-4.13.4/lib  /nix/store/ggryjrzw61h7ci4d675369qgfdk99iwd-libxfce4ui-4.13.4/bin
patching script interpreter paths in /nix/store/ggryjrzw61h7ci4d675369qgfdk99iwd-libxfce4ui-4.13.4
checking for references to /build in /nix/store/ggryjrzw61h7ci4d675369qgfdk99iwd-libxfce4ui-4.13.4...
shrinking RPATHs of ELF executables and libraries in /nix/store/gs5sclj7401vysfj5cbhx0x2svqg71z4-libxfce4ui-4.13.4-dev
strip is /nix/store/0pjsgkxz0rp5baycq5sp2s72lrr5q9sg-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/gs5sclj7401vysfj5cbhx0x2svqg71z4-libxfce4ui-4.13.4-dev/lib
patching script interpreter paths in /nix/store/gs5sclj7401vysfj5cbhx0x2svqg71z4-libxfce4ui-4.13.4-dev
checking for references to /build in /nix/store/gs5sclj7401vysfj5cbhx0x2svqg71z4-libxfce4ui-4.13.4-dev...
/nix/store/ggryjrzw61h7ci4d675369qgfdk99iwd-libxfce4ui-4.13.4


Discussion: proposed breaking changes in version 3.0

I wanted to make this tracking ticket for what deprecated features we can remove (!) in version 3.0.
Known things to remove:

Remove all support for Swagger version 1.2
Deprecated configuration flag skip_validation #63
From #156 discussion - remove pyramid_swagger.schema_directory in favor of pyramid_swagger.schema_file only.

Feel free to write additional ideas or concerns with these in comments below.

I think by default schema file should be loaded not from file directory but from package resource.
schema_dir = pkg_resources.resource_filename('yourapp', 'api_docs')

I think the schema definition is something that is strongly tied to application.

@striglia Also, I worked around this in my application code, but I think a default way of loading swagger definition from python package definition would be great.
schema_dir = pkg_resources.resource_filename('p2s_ml_webservice', 'api_docs')
settings['pyramid_swagger.schema_directory'] = schema_dir

This is what I'm doing doing right now to avoid absolute paths, I would expect that when application is distributed the schema files are distributes with it so setting paths could be avoided :)

@ergo can you open up a separate issue on the subject of resource file paths? I think I'd find an example useful as I'm not entirely sure what you mean by "schema definition is strongly tied to application" and how that conflicts with the current implementation.
Thanks!


Viewing a task after you volunteered gives you an error

cc @stevejgordon and @dpaquette
So I can volunteer now - good news.
I can't go to a task after I volunteered - bad news.

bridged from #884

actually I can't look at any of those tasks on that campaign now
I can look if I am not logged in so think it has to do with the same skills matching stuff that @dpaquette looked at maybe

Oh yeah, @stevejgordon did mention this part but I didn't get that far after fixing the first part. Let me see if I find a quick fix

@tonysurma How do you "go to a task"? I can see the tasks on the event page. I can also view and edit the tasks in the admin section. I must be missing something.

fixed now, thx all


Swipe back is flaky

Not really sure what's the issue, but swipe back actions seem to be extremely flaky: they work roughly 3-50% of the time which is extremely frustrating. Any idea why this might be?

I thought it should not work at all with current version :) Check what animations you are using (sceneConfig). Animations.FlatFloatFromRight disables it at all. The reason - i can't find how to override 'pop' behavior for swipe - I need to call Actions.pop() because built-in pop will not update current router, its stack, etc. Any help would be appreciated here to fix it.

I just created a Product Pains post for this. Please upvote:
https://productpains.com/post/react-native/override-swipe-back-behavior/

This issue should be fixed in upcoming 3.0 release of this component #186

Any updates?


Add Audit Logging for several endpoints

Use transactions for DB commits to avoid audit-less logs

Endpoints Supported:

Manual Link
Reset Row
Update Row

Updated version of https://github.com/dbvideostriketeam/wubloader/pull/392
(Github won't let me change the branch on that PR, and I can't push to Zach's branch)

Tested. Had a few minor issues, but also a few earlier untested changes in the schema file needed fixing.


Admin Panel APIs : User data

route /v1/support/user/{email} GET
Response :

user details : every detail which is "showable"
events user was part of (paginated) : show first 5
user transactions (paginated) : show first 5

Response should look like
{
    "user" : User,
    "events": [
        {
            "id": eventId,
            "name": eventName,
            "role": eventRole,
            "xp_gained": eventXp,
            "timestamp": eventEnd
        }
    ]
}

Events should be paginated, by default show first 10, otherwise give provision of pagination @Krace33


Compute velocity using center points

The velocity vector is computed using the movement of the top left corner. It makes more sense to use the center point of the box instead. If a box doesn't move and just changes its scale over time, the velocity vector should also be close to zero.

Actually, the box representation is inconsistent. In main.js, Darknet detections use the center point as reference coordinate while MOT17 detections use the top left point. I've closed this pull request until there's consensus on what representation to use.


Comments exception

I'm getting an error if my comments are on the def line of a module parameter description
* TTLFOv2:   // squares to siren to random  	| Wave = Square  	| Mode = bipolar

In-line comments are not supported yet because the parser matches data type on a line-by-line basis.


Fixed default behavior of defaultExpanded property

Q
A

Bug fix?
[x]

Related issues?
fixes https://github.com/pnp/sp-dev-fx-controls-react/issues/560

What's in this Pull Request?
Fixed default behavior of defaultExpanded property. Setting defaultExpanded property to true opens all the nodes of the TreeView.

Merged via #566

I am new to this SPFx can you please suggest how to add this change to my SPFx solution.


How can I get which contigs generate one scaffold?

How can I get which contigs generate one scaffold? For example, how many contigs generate the HiC_scaffold_1 and what are the name of this contigs?
Thanks

Hi,
The .assembly file tracks changes with respect to the draft. The assembly file consists of a properties part (lines start with >) and the body (rest). Each line in the body represents a separate scaffold, and the numbers in the line are scaffold ids (see properties part) that constitute that scaffold. Minus in front of the id means reverse complement.
I am closing this issue since this is not, in fact, an issue. Please use aidenlab.org/forum.html for general questions. We appreciate your understanding.
Olga


Add executables for version 1.44

Takabo Soft just came out of nowhere and released Domino 1.44? Come on!
http://takabosoft.com/1386

https://github.com/Hans5958/Domino-English-Translation/releases/tag/en.4-nightly.20201011 released with 1.44!


raftstore: improve the remove peer check

What is changed and how it works?

Issue Number: Close #16465

What's Changed:
improve the remove peer check. Only check when the updating role is voter

Related changes

[ ] PR to update pingcap/docs/pingcap/docs-cn:
[ ] Need to cherry-pick to the release branch

Check List
Tests

[x] Unit test
[x] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Release note

None

/merge

/run-test

/test

/test