SSL error configuring metrics-server

I just saw a cluster setup failure when setting up metrics-server on Hyper-V:
Setup [jeff-home-tiny-hyperv] cluster

 Steps:
      1. calculate service resources   [x] DONE
      2. download binaries             [x] DONE
      3. connect nodes                 [x] DONE
      4. verify os                     [x] DONE
      5. node basics                   [x] DONE
      6. setup ntp                     [x] DONE
      7. setup master                  [x] DONE
      8. install helm                  [x] DONE
      9. configure cluster             [!] FAIL
     10. persist state
     11. check masters

 Masters:
    master-0       *** FAULT: [HttpRequestException]: The SSL connection could not be established, see inner exception. [inner:IOException:  Received an unexpected EOF or 0 bytes from the transport stream.]

Here's are the last few entries from the log:
----------------------------------------
START-BUNDLE: ./script.sh
*** START TEXT FILE: script.sh

tmp=$(mktemp -d /tmp/istioctl.XXXXXX)
cd "$tmp" || exit

curl -fsLO https://github.com/istio/istio/releases/download/1.7.6/istioctl-1.7.6-linux-amd64.tar.gz

tar -xzf "istioctl-1.7.6-linux-amd64.tar.gz"

# setup istioctl
cd "$HOME" || exit
mkdir -p ".istioctl/bin"
mv "${tmp}/istioctl" ".istioctl/bin/istioctl"
chmod +x ".istioctl/bin/istioctl"
rm -r "${tmp}"

export PATH=$PATH:$HOME/.istioctl/bin

istioctl operator init --hub=neon-registry.node.local --tag=1.7.6-distroless

kubectl create ns istio-system

cat <<EOF > istio-cni.yaml
apiVersion: install.istio.io/v1alpha1
kind: IstioOperator
metadata:
  namespace: istio-system
  name: istiocontrolplane
spec:
  hub: neon-registry.node.local
  tag: 1.7.6-distroless
  meshConfig:
    rootNamespace: istio-system
  components:
    ingressGateways:
    - name: istio-ingressgateway
      enabled: true
      k8s:
        overlays:
          - apiVersion: apps/v1
            kind: Deployment
            name: istio-ingressgateway
            patches:
              - path: kind
                value: DaemonSet
        service:
          ports:
          - name: http2
            protocol: TCP
            port: 80
            targetPort: 8080
            nodePort: 30080
          - name: https
            protocol: TCP
            port: 443
            targetPort: 8443
            nodePort: 30443
          - name: tls
            protocol: TCP
            port: 15443
            targetPort: 15443
            nodePort: 31922
        resources:
          requests:
            cpu: 10m
            memory: 64Mi
          limits:
            cpu: 2000m
            memory: 1024Mi
        strategy:
          rollingUpdate:
            maxSurge: "100%"
            maxUnavailable: "25%"
    cni:
      enabled: true
      namespace: kube-system
  values:
    global:
      logging:
        level: "default:info"
      logAsJson: true
      imagePullPolicy: IfNotPresent
      proxy:
        resources:
          limits:
            cpu: 2000m
            memory: 1024Mi
          requests:
            cpu: 10m
            memory: 64Mi
      defaultNodeSelector:
        neonkube.io/istio: true
      tracer:
        zipkin:
          address: neon-logging-jaeger-collector.monitoring.svc.cluster.local:9411
    pilot:
      traceSampling: 100
    meshConfig:
      accessLogFile: ""
      accessLogFormat: '{   "authority": "%REQ(:AUTHORITY)%",   "mode": "%PROTOCOL%",   "upstream_service_time": "%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%",   "upstream_local_address": "%UPSTREAM_LOCAL_ADDRESS%",   "duration": "%DURATION%",   "request_duration": "%REQUEST_DURATION%",   "response_duration": "%RESPONSE_DURATION%",   "response_tx_duration": "%RESPONSE_TX_DURATION%",   "downstream_local_address": "%DOWNSTREAM_LOCAL_ADDRESS%",   "upstream_transport_failure_reason": "%UPSTREAM_TRANSPORT_FAILURE_REASON%",   "route_name": "%ROUTE_NAME%",   "response_code": "%RESPONSE_CODE%",   "response_code_details": "%RESPONSE_CODE_DETAILS%",   "user_agent": "%REQ(USER-AGENT)%",   "response_flags": "%RESPONSE_FLAGS%",   "start_time": "%START_TIME(%s.%6f)%",   "method": "%REQ(:METHOD)%",   "host": "%REQ(:Host)%",   "referer": "%REQ(:Referer)%",   "request_id": "%REQ(X-REQUEST-ID)%",   "forwarded_host": "%REQ(X-FORWARDED-HOST)%",   "forwarded_proto": "%REQ(X-FORWARDED-PROTO)%",   "upstream_host": "%UPSTREAM_HOST%",   "downstream_local_uri_san": "%DOWNSTREAM_LOCAL_URI_SAN%",   "downstream_peer_uri_san": "%DOWNSTREAM_PEER_URI_SAN%",   "downstream_local_subject": "%DOWNSTREAM_LOCAL_SUBJECT%",   "downstream_peer_subject": "%DOWNSTREAM_PEER_SUBJECT%",   "downstream_peer_issuer": "%DOWNSTREAM_PEER_ISSUER%",   "downstream_tls_session_id": "%DOWNSTREAM_TLS_SESSION_ID%",   "downstream_tls_cipher": "%DOWNSTREAM_TLS_CIPHER%",   "downstream_tls_version": "%DOWNSTREAM_TLS_VERSION%",   "downstream_peer_serial": "%DOWNSTREAM_PEER_SERIAL%",   "downstream_peer_cert": "%DOWNSTREAM_PEER_CERT%",   "client_ip": "%REQ(X-FORWARDED-FOR)%",   "requested_server_name": "%REQUESTED_SERVER_NAME%",   "bytes_received": "%BYTES_RECEIVED%",   "bytes_sent": "%BYTES_SENT%",   "upstream_cluster": "%UPSTREAM_CLUSTER%",   "downstream_remote_address": "%DOWNSTREAM_REMOTE_ADDRESS%",   "path": "%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%" }'
      accessLogEncoding: "JSON"
    gateways:
      istio-ingressgateway:
        type: NodePort
        externalTrafficPolicy: Local
        sds:
          enabled: true
    prometheus:
      enabled: false
    grafana:
      enabled: false
    istiocoredns:
      enabled: true
      coreDNSImage: neon-registry.node.local/coredns-coredns
      coreDNSTag: 1.6.2
      coreDNSPluginImage: neon-registry.node.local/coredns-plugin:0.2-istio-1.1
    cni:
      excludeNamespaces:
       - istio-system
       - kube-system
       - kube-node-lease
       - kube-public
       - jobs
      logLevel: info
EOF

istioctl install -f istio-cni.yaml
*** END TEXT FILE
*** START TEXT FILE: __run.sh
#!/bin/sh

chmod 700 "script.sh"
./script.sh
*** END TEXT FILE
START: sudo bash -c 'mkdir -p /var/local/neonkube/setup'
*** Uploading: /home/sysadmin/.neon/exec/ce16e80b-c8cd-4108-9b42-5009ebc02e74/__bundle.zip
END [OK]
START: sudo bash -c 'if [ -f "/var/local/neonkube/setup/cni-ready" ] ; then exit 0; else exit 1; fi'
END [ERROR=1]
*** STATUS: wait: for calico
START: sudo bash -c 'if [ -f "/home/sysadmin/.neon/upload/__bundle.zip-9506c18a-6481-421b-bb6b-a2adc7e342d3" ] ; then rm "/home/sysadmin/.neon/upload/__bundle.zip-9506c18a-6481-421b-bb6b-a2adc7e342d3" ; fi'
END [OK]
STDERR

    - Processing resources for Istio operator.
    - Processing resources for Istio operator. Waiting for Deployment/istio-operator/istio-operator
    ✔ Istio operator installed
    - Processing resources for Istio core.
    ✔ Istio core installed
    - Processing resources for Istiod.
    - Processing resources for Istiod. Waiting for Deployment/istio-system/istiod
    ✔ Istiod installed
    - Processing resources for Addons, CNI, Ingress gateways.
    - Processing resources for Addons, CNI, Ingress gateways. Waiting for Pod/kube-system/istio-cni-n...
    - Processing resources for Addons, CNI, Ingress gateways. Waiting for Deployment/istio-system/ist...
    ✔ Ingress gateways installed
    - Processing resources for Addons, CNI. Waiting for Deployment/istio-system/istiocoredns, Pod/kub...
    ✔ CNI installed
    ✔ Addons installed
    - Pruning removed resources
    ✔ Installation complete
END [OK]
END-BUNDLE
----------------------------------------
START: sudo bash -c 'rm -rf /home/sysadmin/.neon/exec/ce16e80b-c8cd-4108-9b42-5009ebc02e74'
END [OK]
START: sudo bash -c 'touch /var/local/neonkube/setup/istio'
END [OK]
START: sudo bash -c 'mkdir -p /var/local/neonkube/setup'
END [OK]
START: sudo bash -c 'if [ -f "/var/local/neonkube/setup/kubernetes-metrics-server" ] ; then exit 0; else exit 1; fi'
END [ERROR=1]
*** STATUS: deploy: metrics-server
*** ERROR: [HttpRequestException]: The SSL connection could not be established, see inner exception. [inner:IOException:  Received an unexpected EOF or 0 bytes from the transport stream.]
*** ERROR: [HttpRequestException]: The SSL connection could not be established, see inner exception. [inner:IOException:  Received an unexpected EOF or 0 bytes from the transport stream.]
# CLUSTER-END-SETUP-FAILED #######################################################
*** STATUS[*FAULTED*]
*** STATUS[*FAULTED*]
----------------------------------------
START-BUNDLE: ./script.sh
*** START TEXT FILE: script.sh

cd /lib/neonkube/helm

helm install metrics-server --namespace kube-system -f metrics_server/values.yaml --set-string image.organization="neon-registry.node.local" ./metrics_server

START=`date +%s`
DEPLOY_END=$((START+15))

until [ `helm status metrics-server --namespace kube-system | grep "STATUS: deployed" | wc -l` -eq 1  ];
do
  if [ $((`date +%s`)) -gt $DEPLOY_END ]; then
    helm delete metrics-server || true
    exit 1
  fi
   sleep 1
done
*** END TEXT FILE
*** START TEXT FILE: __run.sh
#!/bin/sh

chmod 700 "script.sh"
./script.sh
*** END TEXT FILE
END-BUNDLE
----------------------------------------
*** STACK:    at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Boolean async, Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.GetHttpConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
   at k8s.WatcherDelegatingHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.SendAsyncCore(HttpRequestMessage request, HttpCompletionOption completionOption, Boolean async, Boolean emitTelemetryStartStop, CancellationToken cancellationToken)
   at k8s.Kubernetes.CreateNamespaceWithHttpMessagesAsync(V1Namespace body, String dryRun, String fieldManager, String pretty, Dictionary`2 customHeaders, CancellationToken cancellationToken)
   at Neon.Kube.KubernetesWithRetry.<>c__DisplayClass927_0.<<CreateNamespaceWithHttpMessagesAsync>b__0>d.MoveNext() in C:\src\neonKUBE\Lib\Neon.Kube\KubernetesWithRetry.cs:line 8988
--- End of stack trace from previous location ---
   at Neon.Kube.KubernetesWithRetry.CreateNamespaceWithHttpMessagesAsync(V1Namespace body, String dryRun, String fieldManager, String pretty, Dictionary`2 customHeaders, CancellationToken cancellationToken) in C:\src\neonKUBE\Lib\Neon.Kube\KubernetesWithRetry.cs:line 8985
   at k8s.KubernetesExtensions.CreateNamespaceAsync(IKubernetes operations, V1Namespace body, String dryRun, String fieldManager, String pretty, CancellationToken cancellationToken)
   at Neon.Kube.KubeSetup.<>c__DisplayClass28_0.<<CreateNamespaceAsync>b__0>d.MoveNext() in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 1997
--- End of stack trace from previous location ---
   at Neon.Kube.NodeSshProxy`1.InvokeIdempotentAsync(String actionId, Func`1 action) in C:\src\neonKUBE\Lib\Neon.Kube\Proxies\NodeSshProxy.cs:line 444
   at Neon.Kube.KubeSetup.CreateNamespaceAsync(ISetupController controller, NodeSshProxy`1 master, String name, Boolean istioInjectionEnabled) in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 1994
   at Neon.Common.NeonHelper.WaitAllAsync(IEnumerable`1 tasks) in C:\src\neonKUBE\Lib\Neon.Common\Helper\NeonHelper.Misc.cs:line 577
   at Neon.Kube.KubeSetup.SetupClusterAsync(ISetupController controller, Int32 maxParallel) in C:\src\neonKUBE\Lib\Neon.Kube.Setup\KubeSetup.Operations.cs:line 334
   at Neon.Kube.SetupController`1.<>c__DisplayClass23_0.<<ExecuteStep>b__8>d.MoveNext() in C:\src\neonKUBE\Lib\Neon.Kube\SetupController\SetupController.cs:line 769

This is blocking me from proceeding on the KubernetesFixture because I'm seeing failures on all cluster installs now, so I'm investigating this myself.

I don't believe the 403 errors are actually transient, so I'm going to try removing them from the KubernetesWithRetry retry policy.

Looking closely at the stack trace above, the 403 error is actually happening when we're creating a namespace in parallel with other stuff happening in parallel.

I suspect what we're seeing here is a race condition where the namespaces are being created in parallel with operations that reference the namespaces, and that sometimes the operation may execute before the namespace is actually created resulting in these 403 errors.  I'll bet that we'll see similar problems with the root user.
@marcusbooyah: You're probably not seeing these errors because you seem mostly to be using debug mode where this won't happen because debug mode doesn't run these tasks in parallel and I'm seeing these pretty much every time because I'm running setup like users will.
I'm going to make all of the setup operations run sequentially again.  This will make release and debug mode work the same which will mean that you'll actually be able see the same errors users will when you're running in debug mode.  I think these parallel operations never really worked reliably and we've been knocking our heads on these errors for months now and setup really really needs to be bulletproof.
I think these parallel operations introduce the possibility of too much variability in how setup actually performs operations and we don't have the time to try to identify and resolve all of the possible combinations of failures.  In addition, user reported failures will be really hard to debug, especially given how hard it's been to resolve these problem when we've been seeing these ourselves for quite some time.
Removing the parallelization will also make the setup logs easier to read because operations will be sequential again.  The operation status displayed by neon-cli (and neonDESKTOP soon) will also make more sense for the same reason.
I'm going to modify SetupClusterAsync() to run everything sequentially for both debug and normal mode.  There will probably be a cluster setup performance hit but I think we'll need to live with perhaps a few minutes of delay.  Some delay is much better than not working at all.

So, I've removed the parallelization and am still seeing this error when setting up the dnsutils:
await master.InvokeIdempotentAsync("setup/dnsutils",
    async () =>
    {
        controller.LogProgress(master, verb: "setup", message: "dnsutils");

        var pods = await GetK8sClient(controller).CreateNamespacedPodAsync(
            new V1Pod()
            {
                Metadata = new V1ObjectMeta()
                {
                    Name              = "dnsutils",
                    NamespaceProperty = "default"
                },
                Spec = new V1PodSpec()
                {
                    Containers = new List<V1Container>()
                    {
                        new V1Container()
                        {
                            Name            = "dnsutils",
                            Image           = $"{KubeConst.NeonContainerRegistery(controller)}/kubernetes-e2e-test-images-dnsutils:1.3",
                            Command         = new List<string>() {"sleep", "3600" },
                            ImagePullPolicy = "IfNotPresent"
                        }
                    },
                    RestartPolicy = "Always",
                    Tolerations = new List<V1Toleration>()
                    {
                        { new V1Toleration() { Effect = "NoSchedule", OperatorProperty = "Exists" } },
                        { new V1Toleration() { Effect = "NoExecute", OperatorProperty = "Exists" } }
                    }
                }
            }, "default");
    });

The problem here is that you're referencing kubernetes-e2e-test-images-dnsutils:1.3 with the original label rather than as kubernetes-e2e-test-images-dnsutils:neonkube-0.1.0-alpha.  We're seeing the 403 because the tag is incorrect and there's no image with that tag in the GitHub registry.  I'm not sure how this ever worked.  Perhaps we had this loaded in the registry with the incorrect tag in the past, but we just cleared everything.

Looking at the code further, I don't think that code like this doesn't actually make sense:
cat <<EOF > /etc/crio/crio.conf.d/02-image.conf
[crio.image]
pause_image = ""{KubeConst.NeonContainerRegistery(controller)}/pause:3.2""
EOF

The problem is that KubeConst.NeonContainerRegistery(controller) returns the local cluster registry by default or one of neonkube-release or neonkube-dev, depending on whether the current git branch is a release branch or not.  The problem is that the local registry uses the original image tags where as the public registries tag using the cluster version.  So the same tag won't work for both registries.
I also just noticed that KubeConst.NeonContainerRegistery is actually returning one of the neonLIBRARY registries rather than the neonKUBE registries.  I'll fix this too and rename this to KubeConst.NeonKubeRegistery to clarify what this is for.

Another problem when rebuilding the container images:
===============================================================================
* ghcr.io/neonkube-dev/k8scsi-csi-attacher:neonkube-0.1.0-alpha
===============================================================================
[+] Building 0.9s (4/4) FINISHED
 => [internal] load build definition from Dockerfile
 => => transferring dockerfile: 640B
 => [internal] load .dockerignore
 => => transferring context: 75B
 => ERROR [internal] load metadata for ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0
 => [auth] neonkube-base-dev/k8scsi-csi-attacher:pull token for ghcr.io
------
 > [internal] load metadata for ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0: not found
Exception: C:\src\neonCLOUD\Images\includes.ps1:55
Line |
  55 |          throw "Exec: $ErrorMessage"
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exec: *** FAILED:  docker build -t "${registry}:$tag" --build-arg "ORGANIZATION=$organization" --build-arg "BASE_TAG=$baseTag" .

ghcr.io/neonkube-base-dev/k8scsi-csi-attacher doesn't seem to get published to ghcr.io/neonkube-base-dev when we build the base images.

I just ran into another problem:
===============================================================================
* ghcr.io/neonkube-dev/k8scsi-csi-attacher:neonkube-0.1.0-alpha
===============================================================================
[+] Building 0.9s (4/4) FINISHED
 => [internal] load build definition from Dockerfile                                                                                0.0s  => => transferring dockerfile: 640B                                                                                0.0s  => [internal] load .dockerignore                                                                                0.0s  => => transferring context: 75B                                                                                0.0s  => ERROR [internal] load metadata for ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0                                                             0.8s  => [auth] neonkube-base-dev/k8scsi-csi-attacher:pull token for ghcr.io                                                                                0.0s ------
 > [internal] load metadata for ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: ghcr.io/neonkube-base-dev/k8scsi-csi-attacher:v2.0.0: not found
Exception: C:\src\neonCLOUD\Images\includes.ps1:55
Line |
  55 |          throw "Exec: $ErrorMessage"
     |          ~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Exec: *** FAILED:  docker build -t "${registry}:$tag" --build-arg "ORGANIZATION=$organization" --build-arg "BASE_TAG=$baseTag" .

@marcusbooyah: It looks like the problem here is that you updated the base package version from v2.0.0 --> v2.2.1 but the the publish.ps1 script for the setup version of this image is still configured to reference v2.0.0 which no longer exists.
This is an insidious bug because we wouldn't have known this only because I deleted all of the old images.  If we had already released, this wouldn't have failed but we would be provisioning clusters with the old/wrong container image.

@marcusbooyah: I've rebuilt all of the neonkube-dev container images and also rebuilt the hyper-v node image and published it to S3.
I'm now running into an issue where we're configuring dnsutils for calico and it looks like we're trying to run a command on a pod that doesn't exist yet?  I think it also doesn't like the -i command line option.
START: sudo bash -c 'kubectl exec -i -t dnsutils -- nslookup kubernetes.default'
STDERR
    Unable to use a TTY - input is not a terminal or the right kind of file
    error: unable to upgrade connection: container not found ("dnsutils")
END [ERROR=1]
START: sudo bash -c 'kubectl exec -i -t dnsutils -- nslookup kubernetes.default'
STDERR
    Unable to use a TTY - input is not a terminal or the right kind of file
    error: unable to upgrade connection: container not found ("dnsutils")
END [ERROR=1]
START: sudo bash -c 'kubectl exec -i -t dnsutils -- nslookup kubernetes.default'
STDERR
    Unable to use a TTY - input is not a terminal or the right kind of file
    error: unable to upgrade connection: container not found ("dnsutils")
END [ERROR=1]

The container images are still private but that shouldn't matter for this scenario because all of the required container images should already be present in the node image.
I'm going to take a moment and add a deployment class to handle this.  I discovered last night that MSFT has a REST API for GHCR now!

I think we can close this now.


failed because another entity of the same type already has the same primary key value. This can happen when using the 'Attach' method or setting the state of an entity to 'Unchanged' or 'Modified' if any entities in the graph have conflicting key values. This may be because some entities are new and have not yet received database-generated key values. In this case use the 'Add' method or the 'Added' entity state to track the graph and then set the state of non-new entities to 'Unchanged' or 'Modified' as appropriate.

failed because another entity of the same type already has the same primary key value. This can happen when using the 'Attach' method or setting the state of an entity to 'Unchanged' or 'Modified' if any entities in the graph have conflicting key values. This may be because some entities are new and have not yet received database-generated key values. In this case use the 'Add' method or the 'Added' entity state to track the graph and then set the state of non-new entities to 'Unchanged' or 'Modified' as appropriate.

EF Team Triage: This issue is lacking enough information for us to be able to effectively triage it. For a guide on submitting good bug reports, read_ Painless Bug Tracking. The most important elements to help us act on a bug report are example code/steps that reproduce the issue, the outcome/results you are expecting, and the results or error message that you are receiving. Following are a few questions to help us understand this bug report, for future issues please try to include this info in the initial report.


network traffic leaks during VM live-migration when using openvswitch driver

Author Name: Stefan Kooman (Stefan Kooman)
Original Redmine Issue: 5010, https://dev.opennebula.org/issues/5010
Original Date: 2017-02-07

OpenNebula handles the tagging of network adapters of virtual machines. This tagging is done through the drivers. Depending on settings in the OpenNebulaNetwork.conf / VNET options some openflows are added as well (arp cache poisoning prevention). When a VM gets migrated there are seperate scripts for doing the live-migrate and the tagging of the ports. When a VM goes from "paused" to running state the live-migrate is finished and the network port is active. At that point in time the vnet is untagged. By default any openvswitch port which is added to a bridge will receive all traffic. The now untagged port receives traffic from all other vlans on this bridge. A few moments later (~ seconds) the port gets tagged by the "post" operation of the ovswitch driver. In this (brief) moment in between, traffic leaks to this untagged vnet which is highly undesirable. For example IPv6 router advertisements have been applied by VM's in a complete different network bricking their IPv6 configuration. Sensitive payloads may be sniffed, etc.

Original Redmine Comment
Author Name: Stefan Kooman (Stefan Kooman)
Original Date: 2017-02-07T15:20:26Z

One possible way to fix this would be to apply the tagging of the vnets in the XML that gets used by libvirt (virsh), i.e.
instead of this operation by ovswitch driver:
ovs-vsctl set Port vnet15 tag=143
this XML in the VM template:

When the VM gets live-migrated, the ports is automatically tagged on the right bridge, and vnet port would never be untagged.

Original Redmine Comment
Author Name: Stefan Kooman (Stefan Kooman)
Original Date: 2017-10-26T10:00:52Z

OpenNebula 5.6 is about improving "Quality of life" ... in that case, I would like to bump this issue as candidate :-). I've talked about this with Javi Fontan during EU conf 2017. He explained me that ONE tries to split actions into seperate drivers (storage, network, etc.). Sometimes howerver (for example with Ceph / rbd) this is not possible. The info needs to be in the libvirt XML itself. For (openvswitch) networking this also seems to be the case.
Relates to #5503 and #5504


Latest version has broken the insert URL link functionality

Describe the bug
After the update to the<EMAIL_ADDRESS>the dialog for URL link insert fails.
When started in the debug mode, The debuger raises an exception getCustomAttrs is not defined at line 19255 (in the transpilled code).
To Reproduce
Steps to reproduce the behavior:

Write a text in the wysiwyg format
Insert URL link filled both URL and text
The link is not visible in the wysiwyg and window for insert doesn't close
The link is inserted - as is visible in the mardown, but complete text is put to the text source code (to the ````txt .... ``` block)

Expected behaviour
As before update - simply insert the link
Screenshots
If applicable, add screenshots to help explain your problem.

The OK button doesn't close the window.
However, when closed using the Cancel (Zrušit on the image), link is visible - but only in the markdown:

Unfortunately, save fails with an exception and change is not saved. Doing again and saving without former switching to the markdown passes, but the text is converted to the string code:

With the markdown:

What's worse, the same problem occurs when I am trying to insert the link directly in the markdowns without using the dialog:

it puts several ~to the code and when debugged it always fails with the error:

and application hangs up.
Additional context
The used modules are:
<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

Bug is partly duplicate with #2671 but not completely - some of the errors are not new:

Problem with changing text to the code block is occasionally even with previous version 3.1.10. Particularly, it has problem when user insert URL link in the wysiwyg mode, then switches to the markdown mode and saves
Symbols ~~~ are added at the of the text in the editor in the former versions as well.

mark.

This is happening to me as well. Seems to not be triggered by adding the link but by attempting to render a link as any existing markdown that is loaded with a link causes the same exception:
[TSfoft Latam](https://google.com)

Seems like some kind of bundling error. Like the react-editor isn't handling the dependency on @tui/editor right when building it.
Then again this could be caused by my bundling system as I'm using dynamic import with nextjs to load the editor

Seems to be because build inserted $1 at the end of the variable definition for getCustomAttrs everywhere except in the definition of Link which you can see at line 19255 of<EMAIL_ADDRESS>at version 3.2.0.
I pulled this project and ran npm run build editor and that generated the file without the $1 suffix so maybe just a rerelease of tui.editor will resolve?

@jethrolarson Thank you!  Weirdly enough it is working for me locally, but not on my Vercel deployed Next.js app.  Hoping your PR fixes the issue though

Seems to be because build inserted $1 at the end of the variable definition for getCustomAttrs everywhere except in the definition of Link which you can see at line 19255 of<EMAIL_ADDRESS>at version 3.2.0.
I pulled this project and ran npm run build editor and that generated the file without the $1 suffix so maybe just a rerelease of tui.editor will resolve?

I spotted this as well after having run into the issue via both Hugo's internal ESbuild pipe and Snowpack; glad to see a resolution is in sight!

check v3.2.1 please, if you use react or vue wrapper, you need to use v3.2.2


After updating to v-2021.Q3.1 Far Cry 5 is not starting through Lutris

I've played Far Cry 5 which I start through Lutris, but after updating amdvlk and lib32-amdvlk to v-2021.Q3.1 the game doesn't even launch. When I downgrade to v-2021.Q2.5 the game starts as expected again. The log Lutris provides is quite uninformative, as you can see here: log when it works, log when it doesn't work.
System specifications.

@Arjab what GPU are you using. Please note support for Pre-Polaris and Pre-Raven asics is dropped starting from 2021.Q2.6

Seems to be a AMD Radeon RX 5700 (navi10) on Arch Linux and KDE (x11) from the log.
It seems to crash somewhere around creating a swapchain, that’s where the non-working log cuts off.
The driver in use looks like radv/aco, but if the bug is fixed by downgrading amdvlk, there seems to be some sideeffect by loading amdvlk.
I guess starting lutris with VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json works fine, even when amdvlk 2021.Q3.1 is installed? (That should prevent vulkan from loading the amdvlk driver.)

I have no clue what happened, but now everything is back to normal and the game starts with amdvlk v-2021.Q3.1. Closed.

Okay, again I have no clue what happened, but now it's not working again. When I uninstall amdvlk and lib32-amdvlk, the game just starts fine.
When I select amd_icd32.json or radeon_icd.i686.json in Lutris, the game's splash screen opens with a dialogue box that just says "Ok" and the Lutris log showing:
"info: Required Vulkan extension VK_KHR_surface not supported
err:   DxvkInstance: Failed to create instance"
When I select either amd_icd64.json or radeon_icd.x86_64.json the game won't start at all.
Currently I have amdvlk 2021.Q3.2-1 and lib32-amdvlk 2021.Q3.1-1 installed.

I'm at a point where I don't know whether this has anything to do with amdvlk or if it was pure coincidental. The game works and works not in between reboots without any changes to the system. I'll close this issue again, because I have next to no evidence, that amdvlk is actually the problem and for now it worked again running the latest version.

Good luck finding the problem!


Form interceptor

Code is mostly copied verbatim from this post. I had to make some small changes to make sure the cancel button click is handled and the view is dismissed.

But - actually, as I think about it, I think we should fork this differently. If this is going to live for some indefinite amount of time, I think we should fork it into the Blue Apron organization instead of your personal one. :-) That way, we can set up whatever controls we want to impose.


Feature: Specify a strategy and model for embeddings

What problem or use case are you trying to solve?
The variable LLM_EMBEDDING_MODEL refer to the embedding strategy and not the Model which is confusing.
It would be preferable to have the flexibility to define the strategy and the model, with a default value in place.
Do you have thoughts on the technical implementation?
Adding new variable LLM_EMBEDDING_STRATEGY and renaming LLM_EMBEDDING_MODEL to LLM_EMBEDDING_STRATEGY and assigning the variable LLM_EMBEDDING_MODEL to the actual model for the embedding.
Describe alternatives you've considered
Hard coding customization in agenthub/monologue_agent/utils/memory.py but this goes against user approach to customization.
Additional context

What a major Facepalm, when you realized that you forked a fork of someone else and you edited coded that was completely outdated.
I will close this issue.


Improve Build Process

Some days ago we face several issue with jenkins instance.
(See for more details : https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/3429)
This lead to several possible improvement :

[x] (short term) avoid agressive polling to trigger build.  (https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/issues/3435#note_1184473)
[x]  ~use webhooks to trigger build which seems more flexible to use with jenkins pipeline.~ include in :point_down:
[x] https://github.com/eclipse-leshan/leshan/pull/1487 for master
[x]  https://github.com/eclipse-leshan/leshan/pull/1493
[x] https://github.com/eclipse-leshan/leshan/pull/1484
[x] Update README  and sandbox to use new artifacts URL.

While we are playing with build system, it's probably also time to consider to :

[x] https://github.com/eclipse-leshan/leshan/issues/1412
[x] Removing build-number warning : https://github.com/mojohaus/buildnumber-maven-plugin/issues/199
[x] https://github.com/eclipse-leshan/leshan/pull/1491. (mainly about  Parameter 'localRepository' is deprecated)
[x] https://github.com/eclipse-leshan/leshan/pull/1496

@msangoi, @jvermillard, @JaroslawLegierski  if you have experience with jenkins pipeline and you think it's not so good, it's  still time to stop the machine.

Those days I mainly use GitHub Actions so I have no opinions on Jenkins pipelines

Ok Thx for feedback. Just to let you know we also use github actions to validate PR but I don't think it's possible to use it to release eclipse project :thinking:.
My current feeling about github action I don't like it so much...  I'm not sure I like jenkins too :sweat_smile:

Removing build-number warning
Can be achieve by forcing checkout in multibranch pipeline using Check out to specific local branch under additional behaviors within your branch source configuration.

I think we're done now.


What is valid_symbols in cmudict.py and why do we need upper case letters in alphabet?

I trained another tacotron model from scratch and this time, I removed the _arpabet in text/symbols.py; so my symbols is now look like this:
symbols = [_pad] + list(_special) + list(_punctuation) + list(_letters)
I also remove the upper case letters in _letters  (I dont know why do we it them, we already converted all text to lower case in the cleaner) and it seem to be broken, the alignment is bad after 1 week training, 300k steps (my previous models often take 1 week to have good result)
I used the same dataset as previous models, all default parameters, using fp32, a single 2080ti. Here is the tensorboard scalars and images:

Valid symbols in cmudict.py are arpabet symbols. These symbols represents the phonemes and allophones in General American English.
We use these symbols because as you can see that English do not have a consistent pronunciation. Like for example the letter "i" in "I" and "fish" are pronounced differently. Using arpabet, the word "I" will be transcripted as "ay" and the word "fish" will be transcripted as "f ih sh". The symbols in arpabet will always represent the same sounds.
This will make the training easier. Because then the network do not have to learn how every word pronounced, it will just learn how each phoneme is pronounced. The number of phonemes is much much less than the number of words.


Sorting alerts by group name in /alerts

As mentioned in #1371 and #3579, this is a draft pull request for sorting alerts by group name on the alerts page. As it stands I need some help sorting the groups alphabetically, when the page is refreshed the groups shuffle position.

I think I've addressed the comments from @juliusv let me know if I've missed something or you want something changing. The "Fixed group sorting and comments" commit didn't pass the checks because I didn't run gofmt on manager.go and web.go. The new "Fixed group sorting and comments with gofmt" commit passes the checks.
I've also changed how the RuleGroups() method sorts groups, before if two groups had the same name then refreshing the page would occasionally shuffle the group, so I added code to check if the group name is the same then sort by file name so that the Group position is more likely to be fixed.
I welcome any  feedback/ suggestions :+1:

Looks great besides the one comment, thanks :)

// Sort rule groups by file, then by name.
sort.Slice(rgs, func(i, j int) bool {
	if rgs[i].file != rgs[j].file {
		return rgs[i].file < rgs[j].file
	}
	return rgs[i].name < rgs[j].name
})
return rgs

}
You mean keep the sorting of groups like how it was before (above)?
I changed the File method on the Group struct to return filepath.Base(g.file) instead of g.file (so you only get the file name and not the whole path) and made the group name italic in the HTML.
Here's a screenshot of it so far.

Some suggestions for styling:

Move the File Name to the very end of the Group Header row.
Make the Group Header row thinner than the normal alert rows.
Make the Group header text size smaller than the alert text size.

Here's a view with setting the Group Header row padding to 2px, which style looks better to you @juliusv. Should there be a label like Group:(Group Name) and File:(File Name) in the row so users know what they mean?

I swapped the File and Group name since it is ordered by File name first, and made the group name smaller so it is still visible. If there aren't any more changes you would like I can make the commit and make the pull request an Open one.

Gah, so sorry for the delay again! Taking another look now!

Ah ok, was confused by the code not being there yet, but you said "I can make the commit", sorry :)
Regarding the formatting I might find something like "foo-rules.yml > alerting" more visually pleasing than the more explicit "File: foo-rules.yml  Group: alerting" (maybe in that case, even keep it the same font). Otherwise, great.

@juliusv The latest commit changes the formatting to File Name > Group Name.

Looks good besides the last comment, thanks! Could you mark the PR as ready for review as well?

(and as for what exactly we display how, I might still go through some iterations / tweaks of it after having experienced it for a while :))

I allowed myself to mark the PR as ready for review and will merge - thank you :)

Is there any configurable parameter to have /alerts sorted by status as in the 2.9.x?


Installation of nokogiri fail with bundle on macOS Sierra 10.12

Trying to install all the gems of a rails project, I getting a error for install nokogiri, but as you can see in the below logs, I'd already installed the following versions (<IP_ADDRESS>, <IP_ADDRESS>), but on the way after bundle Im getting the error.

How do I installed?
→ gem install nokogiri -- --use-system-libraries=true --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2

Trying to run bundle install
Installing nokogiri <IP_ADDRESS> with native extensions

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

    current directory: /private/var/folders/03/tq1mq3115ll5z1_psdwc3j940000gn/T/bundler20161012-26546-17d13banokogiri-<IP_ADDRESS>/gems/nokogiri-<IP_ADDRESS>/ext/nokogiri
/Users/fulvio/.rbenv/versions/2.2.5/bin/ruby -r ./siteconf20161012-26546-1ttkbzt.rb extconf.rb --use-system-libraries
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using system libraries.
libxml2 version 2.6.21 or later is required!
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/Users/fulvio/.rbenv/versions/2.2.5/bin/$(RUBY_BASE_NAME)
    --help
    --clean
    --use-system-libraries
    --with-zlib-dir
    --without-zlib-dir
    --with-zlib-include
    --without-zlib-include=${zlib-dir}/include
    --with-zlib-lib
    --without-zlib-lib=${zlib-dir}/lib
    --with-xml2-dir
    --without-xml2-dir
    --with-xml2-include
    --without-xml2-include=${xml2-dir}/include
    --with-xml2-lib
    --without-xml2-lib=${xml2-dir}/lib
    --with-libxml-2.0-config
    --without-libxml-2.0-config
    --with-pkg-config
    --without-pkg-config
    --with-xslt-dir
    --without-xslt-dir
    --with-xslt-include
    --without-xslt-include=${xslt-dir}/include
    --with-xslt-lib
    --without-xslt-lib=${xslt-dir}/lib
    --with-libxslt-config
    --without-libxslt-config
    --with-exslt-dir
    --without-exslt-dir
    --with-exslt-include
    --without-exslt-include=${exslt-dir}/include
    --with-exslt-lib
    --without-exslt-lib=${exslt-dir}/lib
    --with-libexslt-config
    --without-libexslt-config

To see why this extension failed to compile, please check the mkmf.log which can be found here:

  /var/folders/03/tq1mq3115ll5z1_psdwc3j940000gn/T/bundler20161012-26546-17d13banokogiri-<IP_ADDRESS>/extensions/x86_64-darwin-15/2.2.0-static/nokogiri-<IP_ADDRESS>/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in /var/folders/03/tq1mq3115ll5z1_psdwc3j940000gn/T/bundler20161012-26546-17d13banokogiri-<IP_ADDRESS>/gems/nokogiri-<IP_ADDRESS> for inspection.
Results logged to /var/folders/03/tq1mq3115ll5z1_psdwc3j940000gn/T/bundler20161012-26546-17d13banokogiri-<IP_ADDRESS>/extensions/x86_64-darwin-15/2.2.0-static/nokogiri-<IP_ADDRESS>/gem_make.out
An error occurred while installing nokogiri (<IP_ADDRESS>), and Bundler cannot continue.
Make sure that `gem install nokogiri -v '<IP_ADDRESS>'` succeeds before bundling.

→ gem list nokogiri

*** LOCAL GEMS ***

nokogiri (<IP_ADDRESS>, <IP_ADDRESS>)

→ brew install libxml2
==> Downloading https://homebrew.bintray.com/bottles/libxml2-2.9.4.sierra.bottle.tar.gz
Already downloaded: /Users/fulvio/Library/Caches/Homebrew/libxml2-2.9.4.sierra.bottle.tar.gz
==> Pouring libxml2-2.9.4.sierra.bottle.tar.gz
==> Caveats
This formula is keg-only, which means it was not symlinked into /usr/local.

macOS already provides this software and installing another version in
parallel can cause all kinds of trouble.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/libxml2/lib
    CPPFLAGS: -I/usr/local/opt/libxml2/include
    PKG_CONFIG_PATH: /usr/local/opt/libxml2/lib/pkgconfig

==> Summary
🍺  /usr/local/Cellar/libxml2/2.9.4: 276 files, 9.8M

→ tail -100 /Users/fulvio/.rbenv/versions/2.2.5/lib/ruby/gems/2.2.0/extensions/x86_64-darwin-15/2.2.0-static/nokogiri-<IP_ADDRESS>/mkmf.log
/* end */

--------------------

have_func: checking for xmlSchemaSetValidStructuredErrors()... -------------------- yes

"clang -o conftest -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0/x86_64-darwin15 -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0/ruby/backward -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0 -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 -I/Users/fulvio/.rbenv/versions/2.2.5/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe  conftest.c  -L. -L/Users/fulvio/.rbenv/versions/2.2.5/lib -L. -L/Users/fulvio/.rbenv/versions/2.2.5/lib  -fstack-protector    -lexslt -lxslt -lxml2  -lruby-static -framework CoreFoundation -lexslt -lxslt -lxml2  -lpthread -ldl -lobjc  "
conftest.c:13:57: error: use of undeclared identifier 'xmlSchemaSetValidStructuredErrors'
int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlSchemaSetValidStructuredErrors; return 0; }
                                                        ^
1 error generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10:
11:   return 0;
12: }
13: int t(void) { void ((*volatile p)()); p = (void ((*)()))xmlSchemaSetValidStructuredErrors; return 0; }
/* end */

"clang -o conftest -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0/x86_64-darwin15 -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0/ruby/backward -I/Users/fulvio/.rbenv/versions/2.2.5/include/ruby-2.2.0 -I. -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2 -I/Users/fulvio/.rbenv/versions/2.2.5/include  -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT    -O3 -Wno-error=shorten-64-to-32  -pipe  conftest.c  -L. -L/Users/fulvio/.rbenv/versions/2.2.5/lib -L. -L/Users/fulvio/.rbenv/versions/2.2.5/lib  -fstack-protector    -lexslt -lxslt -lxml2  -lruby-static -framework CoreFoundation -lexslt -lxslt -lxml2  -lpthread -ldl -lobjc  "
conftest.c:13:15: warning: implicit declaration of function 'xmlSchemaSetValidStructuredErrors' is invalid in C99 [-Wimplicit-function-declaration]
int t(void) { xmlSchemaSetValidStructuredErrors(); return 0; }
              ^
1 warning generated.
checked program was:
/* begin */
 1: #include "ruby.h"
 2:
 3: /*top*/
 4: extern int t(void);
 5: int main(int argc, char **argv)
 6: {
 7:   if (argc > 1000000) {
 8:     printf("%p", &t);
 9:   }
10:
11:   return 0;
12: }
13: int t(void) { xmlSchemaSetValidStructuredErrors(); return 0; }
/* end */

--------------------

solution
bundle config build.nokogiri --use-system-libraries --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/libxml2

Can someone explain where bundle config keeps track of these instructions?

For OSX 10.14
Use:
bundle config build.nokogiri --use-system-libraries --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxml2 --with-xslt-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libxslt --with-exslt-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/libexslt

If someone would like to make a pull request update documentation at https://github.com/sparklemotion/nokogiri.org-tutorials it would be greatly appreciated and received. Unfortunately I'm not a Mac user and cannot verify anything in this thread.


FCT-1276-Price keys

Added keys to prices and added additional prices to variants that use a distribution channel.
Also deleted a corrupt product image for double walled espresso glass.

I'd like to release a new version of the packages and I noticed this PR is approved but not merged.
Is it ok to merge so it gets published with the next upcoming release?


Cannot build with CUDA support on El Capitan

Cannot build library with CUDA and cuDNN support on El Capitan. I use latest CUDA Toolkit (7.5) and cuDNN (3.0).
Error is:
ld: file not found: @rpath/CUDA.framework/Versions/A/CUDA for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

My config.mk:
...

# the additional link flags you want to add
ADD_LDFLAGS = '-L/usr/local/opt/openblas/lib' '-L/opt/cuDNN/lib'

# the additional compile flags you want to add
ADD_CFLAGS = '-I/usr/local/opt/openblas/include' '-I/opt/cuDNN/include'

#---------------------------------------------
# matrix computation libraries for CPU/GPU
#---------------------------------------------

# whether use CUDA during compile
USE_CUDA = 1

# add the path to CUDA libary to link and compile flag
# if you have already add them to enviroment variable, leave it as NONE
# USE_CUDA_PATH = /usr/local/cuda
USE_CUDA_PATH = /usr/local/cuda

# whether use CUDNN R3 library
USE_CUDNN = 1

# whether use opencv during compilation
# you can disable it, however, you will not able to use
# imbin iterator
USE_OPENCV = 1

# use openmp for parallelization
USE_OPENMP = 0

# choose the version of blas you want to use
# can be: mkl, blas, atlas, openblas
USE_BLAS = apple

# add path to intel libary, you may need it for MKL, if you did not add the path
# to enviroment variable
USE_INTEL_PATH = NONE

...

are you using make/os.mk?

looks like your BLAS is apple but link flag is to openblas which is installed by brew. will it be a problem? maybe you can try openblas?

I met the same issue as reported by @zmactep. I changed "USE_BLAS = openblas" and then got the following new error
 ld: library not found for -lopenblas
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Just FYI: w/o using GPU, I can compile mxnet successfully on Mac OS X 10.11.

@leocnj you need to install openblas first

@piiswrong I already installed openblas through brew. This is also why I can compile mxnet (only on the CPU running condition) successfully.
Now, I truly need the function to use GPU to work. Just found a [SO Q/A][http://stackoverflow.com/questions/11632919/cuda-programming-and-xcode] talking about a similar issue. It looks that clang and cuda may have a communication issue. Hope this link will let other folks with more experiences on XCode programming to be able to figure out a solution.

I've attached paths for openblas from Homebrew, as I found here: http://www.binwang.me/2015-11-08-install-blas-library-for-mxnet.html. After that I could build the library w/o CUDA support. And now I'm trying to have a GPU version.
@piiswrong yes, I use modified make/osx.mk.

@zmactep I reached the same stage as you did - compiling w/o CUDA works. When trying enabling GPU, what kind of errors have you met?  The below is the error I met:
 ld: library not found for -lopenblas
 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Thanks.

This lines solved my problem:
ALL_LDFLAGS += -Xlinker -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA

@zmactep I used your line "ALL_LDFLAGS..." but still got the compiling errors. However, I found that changing it to "ADD_LDFLAGS" makes the compilation on my MBP successful.
Here is my complete config.mk file, which is based on make/osx.mk and has been expanded based on helpful suggestions here. I am sharing it to facilitate more OSX users to enjoy mxnet.
#-------------------------------------------------------------------------------
#  Template configuration for compiling mxnet
#
#  If you want to change the configuration, please use the following
#  steps. Assume you are on the root directory of mxnet. First copy the this
#  file so that any local changes will be ignored by git
#
#  $ cp make/config.mk .
#
#  Next modify the according entries, and then compile by
#
#  $ make
#
#  or build in parallel with 8 threads
#
#  $ make -j8
#-------------------------------------------------------------------------------

#---------------------
# choice of compiler
#--------------------
export CC = clang
export CXX = clang++
export NVCC = nvcc

# whether compile with debug
DEBUG = 0

# the additional link flags you want to add
ADD_LDFLAGS = '-L/usr/local/opt/openblas/lib' '-L/usr/local/cuda/lib'

# the additional compile flags you want to add
ADD_CFLAGS = '-I/usr/local/opt/openblas/include' '-I/usr/local/cuda/include'

# per https://github.com/dmlc/mxnet/issues/728#issuecomment-160867057
ADD_LDFLAGS += -Xlinker -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA

#---------------------------------------------
# matrix computation libraries for CPU/GPU
#---------------------------------------------

# whether use CUDA during compile
USE_CUDA = 1

# add the path to CUDA libary to link and compile flag
# if you have already add them to enviroment variable, leave it as NONE
USE_CUDA_PATH = /usr/local/cuda
# USE_CUDA_PATH = NONE

# whether use CUDNN R3 library
USE_CUDNN = 1

# whether use opencv during compilation
# you can disable it, however, you will not able to use
# imbin iterator
USE_OPENCV = 1

# use openmp for parallelization
USE_OPENMP = 0

# choose the version of blas you want to use
# can be: mkl, blas, atlas, openblas
USE_BLAS = apple

# add path to intel libary, you may need it for MKL, if you did not add the path
# to enviroment variable
USE_INTEL_PATH = NONE

#----------------------------
# distributed computing
#----------------------------

# whether or not to enable mullti-machine supporting
USE_DIST_KVSTORE = 0

# whether or not allow to read and write HDFS directly. If yes, then hadoop is
# required
USE_HDFS = 0

# path to libjvm.so. required if USE_HDFS=1
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server

# whether or not allow to read and write AWS S3 directly. If yes, then
# libcurl4-openssl-dev is required, it can be installed on Ubuntu by
# sudo apt-get install -y libcurl4-openssl-dev
USE_S3 = 0

@leocnj my fault, you are right. I did the same, but have a typo in solution.

why came to "ld: warning: directory not found for option '-L/usr/local/cuda/lib64'" when run  make -j4
on mac osx 10.11.2
config
#-------------------------------------------------------------------------------
#  Template configuration for compiling mxnet
#
#  If you want to change the configuration, please use the following
#  steps. Assume you are on the root directory of mxnet. First copy the this
#  file so that any local changes will be ignored by git
#
#  $ cp make/config.mk .
#
#  Next modify the according entries, and then compile by
#
#  $ make
#
#  or build in parallel with 8 threads
#
#  $ make -j8
#-------------------------------------------------------------------------------

#---------------------
# choice of compiler
#--------------------
export CC = clang
export CXX = clang++
export NVCC = nvcc

# whether compile with debug
DEBUG = 0

# the additional link flags you want to add
ADD_LDFLAGS = '-L/usr/local/opt/openblas/lib' '-L/usr/local/cuda/lib'  '-L/usr/local/cudnn/lib'

# the additional compile flags you want to add
ADD_CFLAGS = '-I/usr/local/opt/openblas/include' '-I/usr/local/cuda/include'   '-I/usr/local/cudnn/include'

# per https://github.com/dmlc/mxnet/issues/728#issuecomment-160867057
 ADD_LDFLAGS += -Xlinker -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA

#---------------------------------------------
# matrix computation libraries for CPU/GPU
#---------------------------------------------

# whether use CUDA during compile
USE_CUDA = 1

# add the path to CUDA libary to link and compile flag
# if you have already add them to enviroment variable, leave it as NONE
USE_CUDA_PATH = /usr/local/cuda
# USE_CUDA_PATH = NONE

# whether use CUDNN R3 library
USE_CUDNN = 1

# whether use opencv during compilation
# you can disable it, however, you will not able to use
# imbin iterator
USE_OPENCV = 1

# use openmp for parallelization
USE_OPENMP = 0

# choose the version of blas you want to use
# can be: mkl, blas, atlas, openblas
USE_BLAS = openblas

# add path to intel libary, you may need it for MKL, if you did not add the path
# to enviroment variable
USE_INTEL_PATH = NONE

#----------------------------
# distributed computing
#----------------------------

# whether or not to enable mullti-machine supporting
USE_DIST_KVSTORE = 0

# whether or not allow to read and write HDFS directly. If yes, then hadoop is
# required
USE_HDFS = 0

# path to libjvm.so. required if USE_HDFS=1
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server

# whether or not allow to read and write AWS S3 directly. If yes, then
# libcurl4-openssl-dev is required, it can be installed on Ubuntu by
# sudo apt-get install -y libcurl4-openssl-dev
USE_S3 = 0

according to description https://github.com/BVLC/caffe/issues/1007 here

Also that warning is a backwards compatibility hack for CUDA 5.5 (?) and earlier versions, after CUDA 6 the 32-bit and 64-bit library files were merged under /usr/local/cuda/lib so you no longer have a /usr/local/cuda/lib64. You can feel free to create a simlink there to point to lib though, to avoid future warnings like this (probably with other code too).

It still does not work.
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"__ZTVSt15basic_stringbufIcSt11char_traitsIcESaIcEE", referenced from:
__ZN4dmlc15LogMessageFatalC2EPKci in ndarray_function_gpu.o
__ZN4dmlc15LogMessageFatalD2Ev in ndarray_function_gpu.o
__ZN4dmlc15LogMessageFatalC2EPKci in unary_function_gpu.o
__ZN4dmlc15LogMessageFatalD2Ev in unary_function_gpu.o
__ZN4dmlc15LogMessageFatalC2EPKci in activation_gpu.o
__ZN4dmlc15LogMessageFatalD2Ev in activation_gpu.o
__ZN4dmlc15LogMessageFatalC2EPKci in batch_norm_gpu.o
...
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang-3.5: error: linker command failed with exit code 1 (use -v to see invocation)
#-------------------------------------------------------------------------------
Template configuration for compiling mxnet

If you want to change the configuration, please use the following
steps. Assume you are on the root directory of mxnet. First copy the this
file so that any local changes will be ignored by git

$ cp make/config.mk .

Next modify the according entries, and then compile by

$ make

or build in parallel with 8 threads

$ make -j8
#-------------------------------------------------------------------------------
#---------------------
choice of compiler
#--------------------
export CC = clang-omp
export CXX = clang-omp++
export NVCC = nvcc
whether compile with debug
DEBUG = 0
the additional link flags you want to add
ADD_LDFLAGS = '-L/usr/local/opt/openblas/lib' '-L/usr/local/cuda/lib'  '-L/usr/local/cudnn/lib'
the additional compile flags you want to add
ADD_CFLAGS = '-I/usr/local/opt/openblas/include' '-I/usr/local/cuda/include'   '-I/usr/local/cudnn/include'
per https://github.com/dmlc/mxnet/issues/728#issuecomment-160867057
ADD_LDFLAGS += -Xlinker -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA
#---------------------------------------------
matrix computation libraries for CPU/GPU
#---------------------------------------------
whether use CUDA during compile
USE_CUDA = 1
add the path to CUDA library to link and compile flag
if you have already add them to environment variable, leave it as NONE
USE_CUDA_PATH = /usr/local/cuda
USE_CUDA_PATH = /usr/local/cuda
whether use CUDNN R3 library
USE_CUDNN = 0
whether use cuda runtime compiling for writing kernels in native language (i.e. Python)
USE_NVRTC = 0
whether use opencv during compilation
you can disable it, however, you will not able to use
imbin iterator
USE_OPENCV = 1
use openmp for parallelization
USE_OPENMP = 1
choose the version of blas you want to use
can be: mkl, blas, atlas, openblas
USE_BLAS = openblas
add path to intel library, you may need it for MKL, if you did not add the path
to environment variable
USE_INTEL_PATH = NONE
#----------------------------
distributed computing
#----------------------------
whether or not to enable multi-machine supporting
USE_DIST_KVSTORE = 0
whether or not allow to read and write HDFS directly. If yes, then hadoop is
required
USE_HDFS = 0
path to libjvm.so. required if USE_HDFS=1
LIBJVM=$(JAVA_HOME)/jre/lib/amd64/server
whether or not allow to read and write AWS S3 directly. If yes, then
libcurl4-openssl-dev is required, it can be installed on Ubuntu by
sudo apt-get install -y libcurl4-openssl-dev
USE_S3 = 0
#----------------------------
additional operators
#----------------------------
path to folders containing projects specific operators that you don't want to put in src/operators
EXTRA_OPERATORS =
#----------------------------
plugins
#----------------------------
whether to use torch integration. This requires installing torch.
TORCH_PATH = $(HOME)/torch
MXNET_PLUGINS += plugin/torch/torch.mk

I'm also having all these problems trying to compile the latest version of mxnet.
I don't see a valid reason to close this issue since the bug clearly still exists.

use make/osx.mk instead of make/config.mk if you are using make. Follow the mac installation instructions, not the linux one

Make sure your mac actually has a nvidia gpu. Most macs doesn't

had similar issue on El Capitan and CUDA 8.0. adding the following string to ADD_LDFLAGS would fix it: -F/Library/Frameworks -Xlinker -framework -Xlinker CUDA
please see also the following issue describing fix for similar problem.
https://github.com/arrayfire/arrayfire/issues/1496

@shadowleaves
I added  the line but still have the same issue
my graphics card is Intel Iris Pro 1536 MB so I am not sure it actually supports CUDA or not

@Walid-Ahmed Intel Iris Pro comes from Intel where CUDA comes from nVidia, a.k.a Intel Iris Pro doesn't support CUDA


lib_libvsprintf.c: Implement "t" modifier for printf

Summary
Introduced by C99 for ptrdiff_t.
Impact
Testing
tested with a local app

LGTM


[benchmarks/ffi] Generate repetitive benchmark code

The dart:ffi benchmarks have repetitive patterns in the benchmark code. This is hard to maintain and easy to get wrong. We should use code generation to address this.
Follow up of https://github.com/dart-lang/sdk/issues/36247.

@dcharkes Can you please assign an estimate?

The estimate includes the part of figuring out how to generate Dart code in the SDK.
Generated benchmarks are under review, still some tweaking to be done there:
https://dart-review.googlesource.com/c/sdk/+/114201
https://dart-review.googlesource.com/c/sdk/+/114068


enhancement: catch exception when calling getConstraintMap for external map

Proposed changes
Issue Number: close #xxx

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

run buildall


signal-desktop: init darwin at 7.5.1

Description of changes
Add support for x86_64-darwin and aarch64-darwin. I unfortunately could not figure out whether or not the update script works. I also could not figure out how to run the tests. If someone could tell me how to do both of those things I'd be happy to test those as well.

Things done

Built on platform(s)

[X] x86_64-linux
[ ] aarch64-linux
[X] x86_64-darwin
[X] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[X] sandbox = relaxed
[X] sandbox = true

[ ] 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
[X] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 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

[X] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Failed to pass nixpkgs-review
nix run nixpkgs#nixpkgs-review -- pr 286188

$ git -c fetch.prune=false fetch --no-tags --force https://github.com/NixOS/nixpkgs master:refs/nixpkgs-review/0 pull/286188/head:refs/nixpkgs-review/1
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (7/7), done.
remote: Total 12 (delta 7), reused 7 (delta 7), pack-reused 5
Unpacking objects: 100% (12/12), 3.21 KiB | 235.00 KiB/s, done.
From https://github.com/NixOS/nixpkgs
 + 470882506cac...bf576e6b59b9 master                -> refs/nixpkgs-review/0  (forced update)
 + 3aee8feaaa63...89b5d0b40b61 refs/pull/286188/head -> refs/nixpkgs-review/1  (forced update)
$ git worktree add /Users/DontEatOreo/.cache/nixpkgs-review/pr-286188/nixpkgs bf576e6b59b9b5d46bf0e32d37cd437a093915c5
Preparing worktree (detached HEAD bf576e6b59b9)
Updating files: 100% (39380/39380), done.
HEAD is now at bf576e6b59b9 Merge pull request #285927 from presto8/home-assistant-emporia-vue
$ git merge --no-commit --no-ff 89b5d0b40b61c6dcf9a75b4532b7e229b3a9a24a
Automatic merge went well; stopped before committing as requested
$ nix build --nix-path nixpkgs=/Users/DontEatOreo/.cache/nixpkgs-review/pr-286188/nixpkgs nixpkgs-overlays=/tmp/tmph0u6d0gk --extra-experimental-features nix-command no-url-literals --no-link --keep-going --no-allow-import-from-derivation -f /Users/DontEatOreo/.cache/nixpkgs-review/pr-286188/build.nix
error: builder for '/nix/store/ib12i056ni9snibi3k5968z754hrl25m-signal-desktop-beta-6.47.0-beta.1.drv' failed with exit code 1;
       last 3 log lines:
       > Running phase: unpackPhase
       > error: readUDIFResourceFile - signature incorrect
       > error: Undefined error: 0
       For full logs, run 'nix log /nix/store/ib12i056ni9snibi3k5968z754hrl25m-signal-desktop-beta-6.47.0-beta.1.drv'.
error: 1 dependencies of derivation '/nix/store/12xmcvm1x889fj1f5i9b244gbk2qzrs9-review-shell.drv' failed to build

Link to currently reviewing PR:
https://github.com/NixOS/nixpkgs/pull/286188

1 package failed to build:
signal-desktop-beta

1 package built:
signal-desktop

$ /nix/store/ffkg7rz4zxfsdix6xxmhk2v3nx76r141-nix-2.18.1/bin/nix-shell /Users/DontEatOreo/.cache/nixpkgs-review/pr-286188/shell.nix --nix-path nixpkgs=/Users/DontEatOreo/.cache/nixpkgs-review/pr-286188/nixpkgs nixpkgs-overlays=/tmp/tmph0u6d0gk

[nix-shell:~/.cache/nixpkgs-review/pr-286188]$

nix log /nix/store/ib12i056ni9snibi3k5968z754hrl25m-signal-desktop-beta-6.47.0-beta.1.drv:
@nix { "action": "setPhase", "phase": "unpackPhase" }
Running phase: unpackPhase
error: readUDIFResourceFile - signature incorrect
error: Undefined error: 0

You can test the update script by first installing nix-update and than running this command from the root of the repository:
$ nix-update --use-update-script --build --commit signal-desktop

Checking back in on this PR, I have rebased my changes onto master and did a small refactor. I have also tested the update script to ensure it works.

Please rebase and reword your commit to signal-desktop: refactor file names and targetPlatform

Ah, that's my bad. Nothing a good 'ol git commit --amend can't fix!

Looking again at the commits, you're breaking the Commit Conventions.

If you have commits pkg-name: oh, forgot to insert whitespace: squash commits in this case. Use git rebase -i. See Squashing Commits for additional information.

Just squash everything into first commit (89b5d0b40b61c6dcf9a75b4532b7e229b3a9a24a) and then reword it to signal-desktop: init darwin at 7.5.1

@juuyokka Are you still interested in pursuing this PR?

@DontEatOreo apologies for the late reply, I mostly am lost on what else needs to be done (other than rebasing off of master) to get this merged.

Done in https://github.com/NixOS/nixpkgs/pull/348165


add option to always JSON-encode Int64 as a string for GWT compatibility

Int64s are now always encoded as strings in JSON.


Move list-style revert to markdown global component style

Features

Introduced sass
Renamed css files to scss
Moved list-style: revert to global markdown style

Screenshot

refs #136

@hochiw do we absolutely need sass? if so can we check if we need to do any special setups with tailwind / webpack? https://tailwindcss.com/docs/using-with-preprocessors

@hochiw do we absolutely need sass? if so can we check if we need to do any special setups with tailwind / webpack? https://tailwindcss.com/docs/using-with-preprocessors

not necessary but i prefer to have nesting for readability and maintainability

not necessary but i prefer to have nesting for readability and maintainability

chatted with newman, if nesting is the only feature we want we can consider using postcss instead as recommended by tailwind: https://tailwindcss.com/docs/using-with-preprocessors#nesting

not necessary but i prefer to have nesting for readability and maintainability

chatted with newman, if nesting is the only feature we want we can consider using postcss instead as recommended by tailwind: https://tailwindcss.com/docs/using-with-preprocessors#nesting

If you’re using Tailwind for a brand new project and don’t need to integrate it with any existing Sass/Less/Stylus stylesheets, you should highly consider relying on other PostCSS plugins to add the preprocessor features you use instead of using a separate preprocessor.

@chihimng seems the plugin doesn't get picked up because of this https://github.com/facebook/create-react-app/pull/11926#issuecomment-1045514772 (CRA again), so we will either have to eject or use scss

@chihimng updated 🙏


Another attempt at improving performance

Continuation of https://github.com/NeekSandhu/onigasm/pull/5
benchmark.js was run against master[includes #5] (before) and current patch (after)
This patch moves utf8<->utf16 offset mapping system from C++ to JS side, so that we could leverage automatic garbage collection in JS engines. This was neccessary as sometimes we need to re-use strings and computing encoding / utf offset mappings is very expensive.
Total time may look amazing in After image, but unfortunately, this patch has very weird and couter-intuitive behaviours (for example its terribly slow in cases where we'd expect it to be super-fast)
I'd love some help 😕
Before

After

This patch continues as an overkill attempt at #9

When fixing Array(stepCount).map(..) and increasing the number of different strings created to 50 (stepCount = 50), I get numbers that are more consistent:
Uncached strings < 100 characters
: 146 ms
Cached strings < 100 characters
: 13 ms

Uncached strings < 1000 characters
: 354 ms
Cached strings < 1000 characters
: 19 ms

Uncached strings < 10000 characters
: 3414 ms
Cached strings < 10000 characters
: 195 ms

Uncached strings < 50000 characters
: 26588 ms
Cached strings < 50000 characters
: 908 ms

Uncached strings < 100000 characters
: 56887 ms
Cached strings < 100000 characters
: 1919 ms

Uncached strings < 1000000 characters
: 566451 ms
Cached strings < 1000000 characters
: 20938 ms

Uncached strings < 2000000 characters
: 952051 ms
Cached strings < 2000000 characters
: 33723 ms

Pretty cool!
But if I'm not missing some important issue, the code is still too complex as I think the there's only one array for the mapping table needed, and that array can already be created in 'encode'.
The array index corresponds to the JavaScript string char offset.

JS String: Wörld
UTF-8 array: \x57\xc3\xb6\x72\x6c\x64
mappingTable = [0, 1, 3, 4, 5]
stringToUTF8offset: offset => mappingTable[offset]
UTF8ToStringOffset: utf8Offset => search for offset in array (ideally using binary search)

Well #9 merges encoding and offset table generation in just on while(i < str.length) { }.
In just one loop we're doing UTF8 encoding, UTF16, UTF16 > UTF8 map and UTF8 > UTF16 as well.
Unfortunately, after running some isolated benchmarks, it turns out that if all those "merged" tasks took 2500ms for n runs, it took only 300ms for just converting the string to UTF16 array.
I'm experimenting with encoding only UTF16, saving that on OnigString, and when ever findBestMatch is called first time it'll be treated differently. We pass UTF16 string to C runtime and have it encode to UTF8, plus generate offset maps, and return their respective pointers which we can copy from WASM heap to OnigString for subsequent calls.
But PR is welcome with your approach as I'm having hard time visualizing it (using only one table w/ binary search that can be faster)

@NeekSandhu Here's my attempt: https://github.com/NeekSandhu/onigasm/pull/10
It's slightly faster than my previous measurements, but I didn't had much time to measure and maybe there's potential to improve.
Uncached strings < 1000 characters
: 371 ms
Cached strings < 1000 characters
: 25 ms

Uncached strings < 10000 characters
: 3235 ms
Cached strings < 10000 characters
: 155 ms

Uncached strings < 50000 characters
: 19749 ms
Cached strings < 50000 characters
: 780 ms

Uncached strings < 100000 characters
: 39550 ms
Cached strings < 100000 characters
: 1531 ms

Please see https://github.com/NeekSandhu/onigasm/pull/10#issuecomment-398692902


feat: port CategoryTheory.Functor.ReflectsIsomorphisms

[x] depends on: #2331

This PR/issue depends on:

leanprover-community/mathlib4#2331
By Dependent Issues (🤖). Happy coding!

This PR/issue depends on:

leanprover-community/mathlib4#2331
By Dependent Issues (🤖). Happy coding!

LGTM
bors d+

bors merge


error calling network address '<IP_ADDRESS>:9091' with port protocol

System information
VM Virtualbox Ubuntu (64-bit)
Commit id
c139e0c
Tools versions
✅ kurtosis 0.89.0 is installed, meets the requirement (=0.89).
✅ docker 24.0.7 is installed, meets the requirement (>=24.7).
You might as well need the following tools to interact with the environment...
✅ jq 1.7 is installed.
❌ yq 0.0.0 is installed, but only version 3.2 is supported by the package.
Description & steps to reproduce
The local L1 setup is working fine but when I try for both Sepolia and Holesky testnets I get the following error in "Adding service with name 'zkevm-node-synchronizer-001' and image '0xpolygon/cdk-validium-node:0.6.5-cdk'"
Adding service with name 'zkevm-node-synchronizer-001' and image '0xpolygon/cdk-validium-node:0.6.5-cdk'
There was an error executing Starlark code
An error occurred executing instruction (number 26) at github.com/0xPolygon/kurtosis-cdk/lib/zkevm_node.star[52:21]:
  add_service(name="zkevm-node-synchronizer-001", config=ServiceConfig(image="0xpolygon/cdk-validium-node:0.6.5-cdk", ports={"pprof": PortSpec(number=6060, application_protocol="http"), "prometheus": PortSpec(number=9091, application_protocol="http")}, files={"/etc/zkevm": Directory(artifact_names=["trusted-node-config", "genesis"])}, entrypoint=["/app/zkevm-node"], cmd=["run", "--cfg=/etc/zkevm/node-config.toml", "--network=custom", "--custom-network-file=/etc/zkevm/genesis.json", "--components=synchronizer"]))
  Caused by: Unexpected error occurred starting service 'zkevm-node-synchronizer-001'
  Caused by: An error occurred waiting for all TCP and UDP ports to be open for service 'zkevm-node-synchronizer-001' with private IP '<IP_ADDRESS>'; this is usually due to a misconfiguration in the service itself, so here are the logs:
  == SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
  panic: failed to load genesis configuration from file. Error: json: cannot unmarshal non-string into Go struct field L1Config.L1Config.polygonZkEVMGlobalExitRootAddress of type common.Address

  goroutine 1 [running]:
  github.com/0xPolygonHermez/zkevm-node/config.(*Config).loadNetworkConfig(0xc000585b00, 0x15ecc40?)
  	/home/runner/work/cdk-validium-node/cdk-validium-node/config/network.go:74 +0x1d3
  github.com/0xPolygonHermez/zkevm-node/config.Load(0xc00017e390?, 0x1)
  	/home/runner/work/cdk-validium-node/cdk-validium-node/config/config.go:186 +0x432
  main.start(0xc0001de880)
  	/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/run.go:52 +0x37
  github.com/urfave/cli/v2.(*Command).Run(0xc000137760, 0xc0001de880, {0xc0005b5680, 0x5, 0x5})
  	/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:277 +0x9d8
  github.com/urfave/cli/v2.(*Command).Run(0xc000460420, 0xc0001de740, {0xc0000d4120, 0x6, 0x6})
  	/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:270 +0xc25
  github.com/urfave/cli/v2.(*App).RunContext(0xc000590d20, {0x1d5c320?, 0x2b2b440}, {0xc0000d4120, 0x6, 0x6})
  	/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:335 +0x5db
  github.com/urfave/cli/v2.(*App).Run(...)
  	/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:309
  main.main()
  	/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/main.go:198 +0xd3b

  == FINISHED SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
  Caused by: An error occurred while waiting for all TCP and UDP ports to be open
  Caused by: Unsuccessful ports check for IP '<IP_ADDRESS>' and port spec '{privatePortSpec:0xc002bc0b70}', even after '240' retries with '500' milliseconds in between retries. Timeout '2m0s' has been reached
  Caused by: An error occurred while calling network address '<IP_ADDRESS>:9091' with port protocol 'TCP' and using time out '200ms'
  Caused by: dial tcp <IP_ADDRESS>:9091: connect: no route to host

Error encountered running Starlark code.

Desired behavior
The deployment on Sepolia should run smoothly.
What is the severity of this bug?
Critical; I am blocked and Kurtosis CDK is unusable for me because of this bug.

I ran the setup in a new environment and got a smilier error but ligs here are a bit different.
There was an error executing Starlark code
An error occurred executing instruction (number 26) at github.com/0xPolygon/kurtosis-cdk/lib/zkevm_node.star[52:21]:
add_service(name="zkevm-node-synchronizer-001", config=ServiceConfig(image="0xpolygon/cdk-validium-node:0.6.5-cdk", ports={"pprof": PortSpec(number=6060, application_protocol="http"), "prometheus": PortSpec(number=9091, application_protocol="http")}, files={"/etc/zkevm": Directory(artifact_names=["trusted-node-config", "genesis"])}, entrypoint=["/app/zkevm-node"], cmd=["run", "--cfg=/etc/zkevm/node-config.toml", "--network=custom", "--custom-network-file=/etc/zkevm/genesis.json", "--components=synchronizer"]))
Caused by: Unexpected error occurred starting service 'zkevm-node-synchronizer-001'
Caused by: An error occurred waiting for all TCP and UDP ports to be open for service 'zkevm-node-synchronizer-001' with private IP '<IP_ADDRESS>'; this is usually due to a misconfiguration in the service itself, so here are the logs:
== SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
2024-07-02T15:43:46.732Z	INFO	config/config.go:169	error reading config file: %!(EXTRA viper.ConfigParseError=While parsing config: toml: basic strings cannot have new lines)	{"pid": 7, "version": "0.6.5+cdk"}
2024-07-02T15:43:46.732Z	FATAL	cmd/main.go:200	While parsing config: toml: basic strings cannot have new lines
/home/runner/work/cdk-validium-node/cdk-validium-node/log/log.go:142 github.com/0xPolygonHermez/zkevm-node/log.appendStackTraceMaybeArgs()
/home/runner/work/cdk-validium-node/cdk-validium-node/log/log.go:223 github.com/0xPolygonHermez/zkevm-node/log.Fatal()
/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/main.go:200 main.main()
/opt/hostedtoolcache/go/1.21.9/x64/src/runtime/proc.go:267 runtime.main()
{"pid": 7, "version": "0.6.5+cdk"}
main.main
/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/main.go:200
runtime.main
/opt/hostedtoolcache/go/1.21.9/x64/src/runtime/proc.go:267
== FINISHED SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
Caused by: An error occurred while waiting for all TCP and UDP ports to be open
Caused by: Unsuccessful ports check for IP '<IP_ADDRESS>' and port spec '{privatePortSpec:0xc0006be2d0}', even after '240' retries with '500' milliseconds in between retries. Timeout '2m0s' has been reached
Caused by: An error occurred while calling network address '<IP_ADDRESS>:6060' with port protocol 'TCP' and using time out '200ms'
Caused by: dial tcp <IP_ADDRESS>:6060: i/o timeout
Error encountered running Starlark code.

In between i also got this error,
Not sure if that's the reason...
[2024-07-03 18:05:30] Combining contract deploy files
cp: cannot stat '/opt/zkevm-contracts/deployment/v2/create_rollup_output.json': No such file or directory
/opt
/opt/zkevm /opt
[2024-07-03 18:05:30] Creating combined.json
jq: Bad JSON in --slurpfile rollup create_rollup_output.json: Could not open create_rollup_output.json: No such file or directory
Transformation complete. Output written to dynamic-kurtosis-allocs.json
jq: error (at dynamic-kurtosis-conf.json:6): Expected JSON value (while parsing '')
[2024-07-03 18:05:32] Approving the rollup address to transfer POL tokens on behalf of the sequencer
Error:
Failed to resolve ENS name: ens name not found:
[2024-07-03 18:05:33] Setting the data availability committee
Error:
Failed to resolve ENS name: ens name not found:
[2024-07-03 18:05:35] Setting the data availability protocol
Error:
Failed to resolve ENS name: ens name not found:
[2024-07-03 18:05:36] Granting the aggregator role to the agglayer so that it can also verify batches
Error:
Failed to resolve ENS name: ens name not found:

Creating keystores for zkevm-node/cdk-validium components
Command returned with exit code '0' with no output

Hi @izzi12, can you take a look at this comment and see if it resolves your issue?

Currently having this error as well and the network address issue

In between i also got this error, Not sure if that's the reason...
[2024-07-03 18:05:30] Combining contract deploy files cp: cannot stat '/opt/zkevm-contracts/deployment/v2/create_rollup_output.json': No such file or directory /opt /opt/zkevm /opt [2024-07-03 18:05:30] Creating combined.json jq: Bad JSON in --slurpfile rollup create_rollup_output.json: Could not open create_rollup_output.json: No such file or directory Transformation complete. Output written to dynamic-kurtosis-allocs.json jq: error (at dynamic-kurtosis-conf.json:6): Expected JSON value (while parsing '') [2024-07-03 18:05:32] Approving the rollup address to transfer POL tokens on behalf of the sequencer Error: Failed to resolve ENS name: ens name not found: [2024-07-03 18:05:33] Setting the data availability committee Error: Failed to resolve ENS name: ens name not found: [2024-07-03 18:05:35] Setting the data availability protocol Error: Failed to resolve ENS name: ens name not found: [2024-07-03 18:05:36] Granting the aggregator role to the agglayer so that it can also verify batches Error: Failed to resolve ENS name: ens name not found:
Creating keystores for zkevm-node/cdk-validium components Command returned with exit code '0' with no output

@leovct - I have made the changes made in the comment, but this issue is not resolved.
I have created a fork of the project here with all my settings. Please have a look.
[https://github.com/izzi12/kurtosis-cdk/]

@izzi12 @the-first-elder first, could you double check that the previous enclave is cleaned with kurtosis clean --all, and retry the Sepolia deployments with a new salt?

@izzi12 @the-first-elder first, could you double check that the previous enclave is cleaned with kurtosis clean --all, and retry the Sepolia deployments with a new salt?

Made the recommended changes,had same error

@izzi12 @the-first-elder first, could you double check that the previous enclave is cleaned with kurtosis clean --all, and retry the Sepolia deployments with a new salt?

Same here. same error.

ack, will attempt to recreate and keep the group posted

ack, will attempt to recreate and keep the group posted
Please use my git repository.
https://github.com/izzi12/kurtosis-cdk/

Same issue encountered

@the-first-elder your issue is not related to this one, should be caused by the contract deployment step failed

@the-first-elder your issue is not related to this one, should be caused by the contract deployment step failed

how do i fix mine ser

You can try to deploy https://github.com/0xPolygonhermez/zkevm-contracts/ on your chain first, this will be helpful, if you can succeed this, then you can come back to solve cdk issu

@arnaubennassar can you help us solve this issue, seems this is a kurtosis or docker related issue, right ?

@jarrodwatts @rebelArtists can you help check this issue ?

@jarrodwatts - I followed your Sepolia testnet video precisely, but I'm really stuck now.

After learning kurtosis, figure out this error is meaning kurtosis check zkevm-node-synchronizer-001's pprof and promethus port failed. But don't know why zkevm-node-synchronizer-001 service can not started.

The Polygon CDK is really hard to use and not mature. I think the team want us contact the official or IP to pay for it

I did the same setup on my MAC insted of Linux server and got a similar but more elaborate answer.
Check this out...
Adding service with name 'zkevm-node-synchronizer-001' and image '0xpolygon/cdk-validium-node:0.6.5-cdk'
There was an error executing Starlark code
An error occurred executing instruction (number 26) at github.com/0xPolygon/kurtosis-cdk/lib/zkevm_node.star[52:21]:
add_service(name="zkevm-node-synchronizer-001", config=ServiceConfig(image="0xpolygon/cdk-validium-node:0.6.5-cdk", ports={"pprof": PortSpec(number=6060, application_protocol="http"), "prometheus": PortSpec(number=9091, application_protocol="http")}, files={"/etc/zkevm": Directory(artifact_names=["trusted-node-config", "genesis"])}, entrypoint=["/app/zkevm-node"], cmd=["run", "--cfg=/etc/zkevm/node-config.toml", "--network=custom", "--custom-network-file=/etc/zkevm/genesis.json", "--components=synchronizer"]))
Caused by: Unexpected error occurred starting service 'zkevm-node-synchronizer-001'
Caused by: An error occurred waiting for all TCP and UDP ports to be open for service 'zkevm-node-synchronizer-001' with private IP '<IP_ADDRESS>'; this is usually due to a misconfiguration in the service itself, so here are the logs:
== SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
panic: failed to load genesis configuration from file. Error: json: cannot unmarshal non-string into Go struct field L1Config.L1Config.polygonZkEVMGlobalExitRootAddress of type common.Address
goroutine 1 [running]:
github.com/0xPolygonHermez/zkevm-node/config.(*Config).loadNetworkConfig(0xc00012db00, 0x15ecc40?)
/home/runner/work/cdk-validium-node/cdk-validium-node/config/network.go:74 +0x1d3
github.com/0xPolygonHermez/zkevm-node/config.Load(0xc00040fc80?, 0x1)
/home/runner/work/cdk-validium-node/cdk-validium-node/config/config.go:186 +0x432
main.start(0xc0005a8340)
/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/run.go:52 +0x37
github.com/urfave/cli/v2.(*Command).Run(0xc0001a4dc0, 0xc0005a8340, {0xc0000ae280, 0x5, 0x5})
/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:277 +0x9d8
github.com/urfave/cli/v2.(*Command).Run(0xc000718160, 0xc0005a8200, {0xc000142120, 0x6, 0x6})
/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/command.go:270 +0xc25
github.com/urfave/cli/v2.(*App).RunContext(0xc0000b45a0, {0x1d5c320?, 0x2b2b440}, {0xc000142120, 0x6, 0x6})
/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:335 +0x5db
github.com/urfave/cli/v2.(*App).Run(...)
/home/runner/go/pkg/mod/github.com/urfave/cli/v2@v2.26.0/app.go:309
main.main()
/home/runner/work/cdk-validium-node/cdk-validium-node/cmd/main.go:198 +0xd3b
== FINISHED SERVICE 'zkevm-node-synchronizer-001' LOGS ===================================
Caused by: An error occurred while waiting for all TCP and UDP ports to be open
Caused by: Unsuccessful ports check for IP '<IP_ADDRESS>' and port spec '{privatePortSpec:0xc0028769c0}', even after '240' retries with '500' milliseconds in between retries. Timeout '2m0s' has been reached
Caused by: An error occurred while calling network address '<IP_ADDRESS>:6060' with port protocol 'TCP' and using time out '200ms'
Caused by: dial tcp <IP_ADDRESS>:6060: i/o timeout
Error encountered running Starlark code.

I tried to debug the error and it seems node-config.toml file is giving the error

Any idea how we can fix this.

The error originates from Deploying PolygonZKEVMDeployer.
[2024-08-07 08:48:49] Step 3: Deploying PolygonZKEVMDeployer

<EMAIL_ADDRESS>npx
hardhat run deployment/v2/2_deployPolygonZKEVMDeployer.ts --network localhost

ProviderError: only replay-protected (eip-155) transactions allowed over rpc
at HttpProvider.request (/opt/zkevm-contracts/node_modules/hardhat/src/internal/core/providers/http.ts:88:21)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at async Promise.all (index 0)
at async HardhatEthersProvider.broadcastTransaction (/opt/zkevm-contracts/node_modules/@nomicfoundation/hardhat-ethers/src/internal/hardhat-ethers-provider.ts:266:33)
at async deployPolygonZkEVMDeployer (/opt/zkevm-contracts/deployment/helpers/deployment-helpers.ts:71:12)
at async main (/opt/zkevm-contracts/deployment/v2/2_deployPolygonZKEVMDeployer.ts:73:54)
[2024-08-07 08:49:04] Step 4: Deploying contracts

<EMAIL_ADDRESS>npx
hardhat run deployment/v2/3_deployContracts.ts --network localhost

Error: Missing parameter: zkEVMDeployerAddress
at main (/opt/zkevm-contracts/deployment/v2/3_deployContracts.ts:86:19)
at Object. (/opt/zkevm-contracts/deployment/v2/3_deployContracts.ts:552:1)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module.m._compile (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Object.require.extensions. [as .ts] (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1621:12)
at Module.load (node:internal/modules/cjs/loader:1208:32)
at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:174:12)
at node:internal/main/run_main_module:28:49
[2024-08-07 08:49:05] Step 5: Creating rollup

<EMAIL_ADDRESS>npx
hardhat run deployment/v2/4_createRollup.ts --network localhost

Error: Cannot find module './deploy_output.json'
Require stack:

/opt/zkevm-contracts/deployment/v2/4_createRollup.ts
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
at Function.Module._resolveFilename.sharedData.moduleResolveFilenameHook.installedValue [as _resolveFilename] (/opt/zkevm-contracts/node_modules/@cspotcode/source-map-support/source-map-support.js:811:30)
at Function.Module._load (node:internal/modules/cjs/loader:986:27)
at Module.require (node:internal/modules/cjs/loader:1233:19)
at require (node:internal/modules/helpers:179:18)
at Object. (/opt/zkevm-contracts/deployment/v2/4_createRollup.ts:17:22)
at Module._compile (node:internal/modules/cjs/loader:1358:14)
at Module.m._compile (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1618:23)
at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
at Object.require.extensions. [as .ts] (/opt/zkevm-contracts/node_modules/ts-node/src/index.ts:1621:12) {
code: 'MODULE_NOT_FOUND',
requireStack: [ '/opt/zkevm-contracts/deployment/v2/4_createRollup.ts' ]
}
[2024-08-07 08:49:07] Combining contract deploy files
cp: cannot stat '/opt/zkevm-contracts/deployment/v2/create_rollup_output.json': No such file or directory
/opt
/opt/zkevm /opt
[2024-08-07 08:49:07] Creating combined.json
jq: Bad JSON in --slurpfile rollup create_rollup_output.json: Could not open create_rollup_output.json: No such file or directory
Transformation complete. Output written to dynamic-kurtosis-allocs.json
jq: error (at dynamic-kurtosis-conf.json:6): Expected JSON value (while parsing '')
[2024-08-07 08:49:08] Approving the rollup address to transfer POL tokens on behalf of the sequencer
Error:
Failed to resolve ENS name: ens name not found:
[2024-08-07 08:49:10] Setting the data availability committee
Error:
Failed to resolve ENS name: ens name not found:
[2024-08-07 08:49:12] Setting the data availability protocol
Error:
Failed to resolve ENS name: ens name not found:
[2024-08-07 08:49:14] Granting the aggregator role to the agglayer so that it can also verify batches
Error:
Failed to resolve ENS name: ens name not found:

Please look into this.

PolygonZKEVMDeployer is deployed using keyless method, and your network do not support pre-155 tx, it said "only replay-protected (eip-155) transactions allowed over rpc" so it failed. you need fix this first

PolygonZKEVMDeployer is deployed using keyless method, and your network do not support pre-155 tx, it said "only replay-protected (eip-155) transactions allowed over rpc" so it failed. you need fix this first

How can I fix this?

Closing this issue and tracking issues related to Sepolia deployment here: #238


Go coroutines are created but blocked by parallelism logic

I was debugging some logic I was adding to an OnRequest (stopping a crawl at a timeout) and as I walked through the code I noticed something that felt a little off:
This method is invoked by a go coroutine everytime a URL is queued for crawling:
https://github.com/gocolly/colly/blob/master/http_backend.go#L170
The wait channel blocks on an addition if the channel is full, and then releases after a given timeout after the request - that all makes sense... however this means if you have a long wait between requests you accumulate memory usage and gocoroutines that are all sat around and waiting for an open channel slot.
What do you think to adjusting the logic here, so the limiting happens outside of the http_backend, perhaps in collector.fetch instead? That would mean the onRequest() callbacks can happen immediately prior to crawling.
Alternatively, ignoring the overhead these coroutines have, instead could a callback be added that is immediately prior to the request being invoked? Rather than prior to an item entering the queue - where the delay could be quite extensive from that point?

What do you think to adjusting the logic here, so the limiting happens outside of the http_backend, perhaps in collector.fetch instead? That would mean the onRequest() callbacks can happen immediately prior to crawling.

I believe OnRequest callbacks already happen before rate limiting takes place. In fetch, c.handleOnRequest(request) happens first, and c.backend.Cache(...), which calls Do, happens later.
And even then moving order of calls around wouldn't change anything wrt goroutines being blocked by rate limiter, no?

Alternatively, ignoring the overhead these coroutines have, instead could a callback be added that is immediately prior to the request being invoked? Rather than prior to an item entering the queue - where the delay could be quite extensive from that point?

What queue are you referring to? github.com/gocolly/colly/v2/queue, or implicit "queue" of goroutines blocked by the rate limiter?

If you want to avoid lots of goroutines being blocked by rate limiter, you should just use github.com/gocolly/colly/v2/queue. I believe it tries to solve exactly this problem.


Make Container ReadOnly

Hi,
Is it possible to change a container state in readonly.
I have one Container running apache in it and after I done the configuration I want to make it readonly so no one can change the configuration on the container.
Thanks

Are you talking about the container configuration in the LXD database or about the service that's inside the container?
For the former, no, we don't support this, nor would it really make any sense to add it until we have some kind of support for identity/tenant. Right now, you should simply not let people you don't trust have access to the LXD API.
For the latter, it's very unlikely that your Linux distribution will boot with a read-only filesystem. You should be able to do it still by setting raw.lxc and using the lxc.root.options key. That being said, there'd be nothing preventing root in the container to then just remount / read-write, so I'm not sure how much protection that'd really give you.

I am talking about the service inside the container. Basically I have container and inside the I have apache installed and apache is just a proxy (forwarding request to other server).
I have the control of the LXD and it is secure.
Thanks I really appriciate

Ok, so yeah, you can try:
lxc config set CONTAINER raw.lxc lxc.root.options=ro

But that may not work on some backends and will likely break a bunch of LXD features that assume that the container can be written to in some cases.
You can also just have an init script in the container remonut / read-only at boot, that should be fine and run after LXD is done. That being said, it's still likely to break a whole lot of things in the container itself as Linux distributions don't typically expect them to be read-only.
The more common way to do what you want is simply to run apache as an unprivileged user (which is the case by default with www-data) and just make sure that there is no path that it can write to.

Thanks a lot


Tag project description with 'DEPRECATED'

Tagging Catalan's project description as deprecated would be a nice convenience for folks browsing packages in the 'Julia Package Listing'.

deprecation policy is here: https://github.com/JuliaLang/julia/pull/6669


Update requirements to Django 3

Update requirements.txt to Django 3. It currently installs Django 2, when we want to keep python and libraries as up to date as possible.

Done.


SAKIII-4153 Adjust topnavigation to include Collections

https://jira.sakaiproject.org/browse/SAKIII-4153

Now included in https://github.com/sakaiproject/3akai-ux/pull/1204


Closes #93 | Add dataloader for Khmer ALT POS

Closes #93
Checkbox

[x] Confirm that this PR is linked to the dataset issue.
[x] Create the dataloader script seacrowd/sea_datasets/khmer_alt_pos/khmer_alt_pos.py (please use only lowercase and underscore for dataset naming).
[x] Provide values for the _CITATION, _DATASETNAME, _DESCRIPTION, _HOMEPAGE, _LICENSE, _URLs, _SUPPORTED_TASKS, _SOURCE_VERSION, and _SEACROWD_VERSION variables.
[x] Implement _info(), _split_generators() and _generate_examples() in dataloader script.
[x] Make sure that the BUILDER_CONFIGS class attribute is a list with at least one SEACrowdConfig for the source schema and one for a seacrowd schema.
[x] Confirm dataloader script works with datasets.load_dataset function.
[x] Confirm that your dataloader script passes the test suite run with python -m tests.test_seacrowd seacrowd/sea_datasets/khmer_alt_pos/khmer_alt_pos.py.

please add __init__.py file too

Hi @ryanignatius, had adjusted as reviewed by you. Thank you!