ArtifactGC fails when workflows are retried

Pre-requisites

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

What happened/what did you expect to happen?
When running a workflow with retries using artifact storage, the artifact garbage collection fails if there are any failed runs. While I haven't done a deep dive into the code, my theory is that the WorkflowArtifactGCTask is generated incorrectly. Failed runs have an artifact listed but no storage location - this is only found with the successful run. The artifact gc pod deletes logs and artifacts until an artifact without a storage location is encountered where it produces the error shown from the logs below:
Artifact gc task:
apiVersion: argoproj.io/v1alpha1
kind: WorkflowArtifactGCTask
metadata:
  creationTimestamp: "2024-06-10T12:29:43Z"
  generation: 1
  labels:
    workflows.argoproj.io/artifact-gc-pod: "2436631062"
  name: artifact-gc-test-lpghp-artgc-wfcomp-1518482309-0
  namespace: argo-artifactgc-test
  ownerReferences:
  - apiVersion: argoproj.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Workflow
    name: artifact-gc-test-lpghp
    uid: 6fdb728e-1d54-4aa0-8587-6551e6904591
  resourceVersion: "187816230"
  uid: 0874cb15-96ac-4c4c-a887-0e4a2c0cc1e6
spec:
  artifactsByNode:
    artifact-gc-test-lpghp-1178359935:
      archiveLocation:
        archiveLogs: true
        s3:
          bucket: argo-workflow-artifact-storage-playground
          endpoint: s3.amazonaws.com
          key: '{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}/{{workflow.uid}}'
          useSDKCreds: true
      artifacts:
        file:
          name: file
          path: /tmp/file.txt
          s3:
            key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/file.tgz
        main-logs:
          name: main-logs
          s3:
            key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log
    artifact-gc-test-lpghp-1782501314:
      archiveLocation:
        archiveLogs: true
        s3:
          bucket: argo-workflow-artifact-storage-playground
          endpoint: s3.amazonaws.com
          key: '{{workflow.namespace}}/{{workflow.name}}/{{pod.name}}/{{workflow.uid}}'
          useSDKCreds: true
      artifacts:
        file:
          name: file
          path: /tmp/file.txt
        main-logs:
          name: main-logs
          s3:
            key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1782501314/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log

Logs from the artifact gc pod:
$ kubectl logs artifact-gc-test-lpghp-artgc-wfcomp-1518482309 -n argo-artifactgc-test
time="2024-06-10T12:29:45.481Z" level=info msg="S3 Delete artifact: key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/file.tgz"
time="2024-06-10T12:29:45.481Z" level=info msg="Creating minio client using AWS SDK credentials"
time="2024-06-10T12:29:45.599Z" level=info msg="Deleting object from s3" bucket=argo-workflow-artifact-storage-playground endpoint=s3.amazonaws.com key=argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/file.tgz
time="2024-06-10T12:29:45.816Z" level=info msg="S3 Delete artifact: key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log"
time="2024-06-10T12:29:45.816Z" level=info msg="Creating minio client using AWS SDK credentials"
time="2024-06-10T12:29:45.824Z" level=info msg="Deleting object from s3" bucket=argo-workflow-artifact-storage-playground endpoint=s3.amazonaws.com key=argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1178359935/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log
Error: You need to configure artifact storage. More information on how to do this can be found in the docs: https://argo-workflows.readthedocs.io/en/release-3.5/configure-artifact-repository/
You need to configure artifact storage. More information on how to do this can be found in the docs: https://argo-workflows.readthedocs.io/en/release-3.5/configure-artifact-repository/

To my knowledge of how argo workflows work, I'd expect there to be some kind of check/guard on the status of the workflow/container before including its artifacts in garbage collection (although I don't know how that would work with templates producing multiple artifacts)
Version
v3.5.5 - Bitnami helm chart v6.7.2
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
### Assuming the default service account has the required
### permissions to run the workflow and the garbage collection
###
apiVersion: argoproj.io/v1alpha1
kind: WorkflowTemplate
metadata:
  name: artifact-gc-test
spec:
  arguments:
    parameters:
    - name: random_ceil
      value: 2
  entrypoint: source
  artifactGC:
    strategy: OnWorkflowCompletion
  retryStrategy:
    limit: 10
    retryPolicy: OnFailure
    backoff:
      duration: "1"
      factor: 1
      maxDuration: "1m"
  templates:
  - name: source
    inputs:
      parameters:
      - name: random_ceil
      - name: seed
        value: '{{ retries }}'
    outputs:
      artifacts:
      - name: file
        path: /tmp/file.txt
    script:
      image: python:3.11
      command:
      - python
      source: |-
        import os
        import sys
        sys.path.append(os.getcwd())
        import json
        try: random_ceil = json.loads(r'''{{inputs.parameters.random_ceil}}''')
        except: random_ceil = r'''{{inputs.parameters.random_ceil}}'''
        try: seed = json.loads(r'''{{inputs.parameters.seed}}''')
        except: seed = r'''{{inputs.parameters.seed}}'''

        import random

        random.seed(int(seed))

        exit_code = random.randint(0,int(random_ceil))
        if exit_code == 0:
          with open('/tmp/file.txt', 'w+') as f:
              f.write("Hello, world!\n")

        sys.exit(exit_code)

Logs from the workflow controller
$ kubectl logs -n argo-workflows argo-workflows-controller-785d899d59-s7b4t | grep artifact-gc-test-lpghp
time="2024-06-10T12:29:18.690Z" level=info msg="Processing workflow" Phase= ResourceVersion=187815854 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="adding artifact GC finalizer" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=0 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="Updated phase  -> Running" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=warning msg="Node was nil, will be initialized as type Skipped" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="Retry node artifact-gc-test-lpghp initialized Running" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.706Z" level=info msg="Pod node artifact-gc-test-lpghp-1782501314 initialized Pending" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.739Z" level=info msg="Created pod: artifact-gc-test-lpghp(0) (artifact-gc-test-lpghp-source-1782501314)" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.739Z" level=info msg="TaskSet Reconciliation" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.739Z" level=info msg=reconcileAgentPod namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:18.754Z" level=info msg="Workflow update successful" namespace=argo-artifactgc-test phase=Running resourceVersion=187815858 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.735Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=187815858 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=1 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="task-result changed" namespace=argo-artifactgc-test nodeID=artifact-gc-test-lpghp-1782501314 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="Pod failed: Error (exit code 1)" displayName="artifact-gc-test-lpghp(0)" namespace=argo-artifactgc-test pod=artifact-gc-test-lpghp-source-1782501314 templateName=source workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="node changed" namespace=argo-artifactgc-test new.message="Error (exit code 1)" new.phase=Failed new.progress=0/1 nodeID=artifact-gc-test-lpghp-1782501314 old.message= old.phase=Pending old.progress=0/1 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="node has maxDuration set, setting executionDeadline to: Mon Jun 10 12:30:18 +0000 (49 seconds from now)" namespace=argo-artifactgc-test node=artifact-gc-test-lpghp workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="Retry Policy: OnFailure (onFailed: true, onError false)" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="1 child nodes of artifact-gc-test-lpghp failed. Trying again..." namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="was unable to obtain node for , letting display name to be nodeName" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.736Z" level=info msg="Pod node artifact-gc-test-lpghp-1178359935 initialized Pending" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.768Z" level=info msg="Created pod: artifact-gc-test-lpghp(1) (artifact-gc-test-lpghp-source-1178359935)" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.768Z" level=info msg="TaskSet Reconciliation" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.768Z" level=info msg=reconcileAgentPod namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.778Z" level=info msg="Workflow update successful" namespace=argo-artifactgc-test phase=Running resourceVersion=187816011 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:28.783Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo-artifactgc-test/artifact-gc-test-lpghp-source-1782501314/labelPodCompleted
time="2024-06-10T12:29:38.769Z" level=info msg="Processing workflow" Phase=Running ResourceVersion=187816011 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.769Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=2 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.769Z" level=info msg="task-result changed" namespace=argo-artifactgc-test nodeID=artifact-gc-test-lpghp-1782501314 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.769Z" level=info msg="task-result changed" namespace=argo-artifactgc-test nodeID=artifact-gc-test-lpghp-1178359935 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.769Z" level=info msg="node changed" namespace=argo-artifactgc-test new.message= new.phase=Succeeded new.progress=0/1 nodeID=artifact-gc-test-lpghp-1178359935 old.message= old.phase=Pending old.progress=0/1 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg="node artifact-gc-test-lpghp phase Running -> Succeeded" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg="node artifact-gc-test-lpghp finished: 2024-06-10 12:29:38.770059355 +0000 UTC" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg="TaskSet Reconciliation" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg=reconcileAgentPod namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg="Updated phase Running -> Succeeded" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.770Z" level=info msg="Marking workflow completed" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.775Z" level=info msg="cleaning up pod" action=deletePod key=argo-artifactgc-test/artifact-gc-test-lpghp-1340600742-agent/deletePod
time="2024-06-10T12:29:38.781Z" level=info msg="Workflow update successful" namespace=argo-artifactgc-test phase=Succeeded resourceVersion=187816162 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:38.782Z" level=info msg="Queueing Succeeded workflow argo-artifactgc-test/artifact-gc-test-lpghp for delete in 336h0m0s due to TTL"
time="2024-06-10T12:29:38.808Z" level=info msg="cleaning up pod" action=labelPodCompleted key=argo-artifactgc-test/artifact-gc-test-lpghp-source-1178359935/labelPodCompleted
time="2024-06-10T12:29:43.804Z" level=info msg="Processing workflow" Phase=Succeeded ResourceVersion=187816162 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:43.804Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=0 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:43.804Z" level=info msg="Creating Artifact GC Task artifact-gc-test-lpghp-artgc-wfcomp-1518482309-0" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:43.812Z" level=info msg="creating pod to delete artifacts: artifact-gc-test-lpghp-artgc-wfcomp-1518482309" namespace=argo-artifactgc-test strategy=OnWorkflowCompletion workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:43.840Z" level=info msg="Workflow update successful" namespace=argo-artifactgc-test phase=Succeeded resourceVersion=187816232 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:43.846Z" level=info msg="Queueing Succeeded workflow argo-artifactgc-test/artifact-gc-test-lpghp for delete in 335h59m55s due to TTL"
time="2024-06-10T12:29:48.849Z" level=info msg="Processing workflow" Phase=Succeeded ResourceVersion=187816232 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:48.849Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=0 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:48.849Z" level=info msg="reconciling artifact-gc pod" message= namespace=argo-artifactgc-test phase=Failed pod=artifact-gc-test-lpghp-artgc-wfcomp-1518482309 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:48.849Z" level=info msg="processing completed Artifact GC Pod \"artifact-gc-test-lpghp-artgc-wfcomp-1518482309\"" namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:48.866Z" level=info msg="Workflow update successful" namespace=argo-artifactgc-test phase=Succeeded resourceVersion=187816305 workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:48.868Z" level=info msg="Queueing Succeeded workflow argo-artifactgc-test/artifact-gc-test-lpghp for delete in 335h59m50s due to TTL"
time="2024-06-10T12:29:53.870Z" level=info msg="Processing workflow" Phase=Succeeded ResourceVersion=187816305 namespace=argo-artifactgc-test workflow=artifact-gc-test-lpghp
time="2024-06-10T12:29:53.871Z" level=info msg="Task-result reconciliation" namespace=argo-artifactgc-test numObjs=0 workflow=artifact-gc-test-lpghp

Logs from in your workflow's wait container
kubectl logs -n argo-artifactgc-test artifact-gc-test-lpghp-source-1782501314 -c wait
time="2024-06-10T12:29:20.510Z" level=info msg="Starting Workflow Executor" version=v3.5.7
time="2024-06-10T12:29:20.514Z" level=info msg="Using executor retry strategy" Duration=1s Factor=1.6 Jitter=0.5 Steps=5
time="2024-06-10T12:29:20.514Z" level=info msg="Executor initialized" deadline="0001-01-01 00:00:00 +0000 UTC" includeScriptOutput=false namespace=argo-artifactgc-test podName=artifact-gc-test-lpghp-source-1782501314 templateName=source version="&Version{Version:v3.5.7,BuildDate:2024-06-04T19:41:01Z,GitCommit:503eef1357ebc9facc3f463708031441072ef7c2,GitTag:v3.5.7,GitTreeState:clean,GoVersion:go1.21.11,Compiler:gc,Platform:linux/amd64,}"
time="2024-06-10T12:29:20.541Z" level=info msg="Starting deadline monitor"
time="2024-06-10T12:29:22.541Z" level=info msg="Main container completed" error="<nil>"
time="2024-06-10T12:29:22.541Z" level=info msg="No Script output reference in workflow. Capturing script output ignored"
time="2024-06-10T12:29:22.541Z" level=info msg="No output parameters"
time="2024-06-10T12:29:22.542Z" level=info msg="Saving output artifacts"
time="2024-06-10T12:29:22.542Z" level=info msg="Staging artifact: file"
time="2024-06-10T12:29:22.542Z" level=info msg="Copying /tmp/file.txt from container base image layer to /tmp/argo/outputs/artifacts/file.tgz"
time="2024-06-10T12:29:22.542Z" level=info msg="/var/run/argo/outputs/artifacts/tmp/file.txt.tgz -> /tmp/argo/outputs/artifacts/file.tgz"
time="2024-06-10T12:29:22.542Z" level=error msg="executor error: open /var/run/argo/outputs/artifacts/tmp/file.txt.tgz: no such file or directory"
time="2024-06-10T12:29:22.542Z" level=info msg="S3 Save path: /tmp/argo/outputs/logs/main.log, key: argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1782501314/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log"
time="2024-06-10T12:29:22.542Z" level=info msg="Creating minio client using AWS SDK credentials"
time="2024-06-10T12:29:22.627Z" level=info msg="Saving file to s3" bucket=argo-workflow-artifact-storage-playground endpoint=s3.amazonaws.com key=argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1782501314/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log path=/tmp/argo/outputs/logs/main.log
time="2024-06-10T12:29:22.684Z" level=info msg="Save artifact" artifactName=main-logs duration=141.753964ms error="<nil>" key=argo-artifactgc-test/artifact-gc-test-lpghp/artifact-gc-test-lpghp-source-1782501314/6fdb728e-1d54-4aa0-8587-6551e6904591/main.log
time="2024-06-10T12:29:22.684Z" level=info msg="not deleting local artifact" localArtPath=/tmp/argo/outputs/logs/main.log
time="2024-06-10T12:29:22.684Z" level=info msg="Successfully saved file: /tmp/argo/outputs/logs/main.log"
time="2024-06-10T12:29:22.699Z" level=info msg="Alloc=11640 TotalAlloc=17023 Sys=28517 NumGC=4 Goroutines=12"
time="2024-06-10T12:29:22.705Z" level=fatal msg="open /var/run/argo/outputs/artifacts/tmp/file.txt.tgz: no such file or directory"

Failed runs have an artifact listed but no storage location - this is only found with the successful run. The artifact gc pod deletes logs and artifacts until an artifact without a storage location is encountered where it produces the error shown from the logs below:

Error: You need to configure artifact storage. More information on how to do this can be found in the docs: https://argo-workflows.readthedocs.io/en/release-3.5/configure-artifact-repository/

This looks like a duplicate of #12845, which has a fix out in #13066

[x] I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.

Version
v3.5.5

Also, v3.5.5 is neither :latest nor latest stable. Please fill out the issue template accurately.

[x]  I have tested with the :latest image tag (i.e. quay.io/argoproj/workflow-controller:latest) and can confirm the issue still exists on :latest. If not, I have explained why, in detail, in my description below.

Version
v3.5.5

Also, v3.5.5 is neither :latest nor latest stable. Please fill out the issue template accurately.

All logs etc. are from our v3.5.5 installation, hence why I put it there. I tested :latest as outlined in the template, the bug was still present.

Failed runs have an artifact listed but no storage location - this is only found with the successful run. The artifact gc pod deletes logs and artifacts until an artifact without a storage location is encountered where it produces the error shown from the logs below:

Error: You need to configure artifact storage. More information on how to do this can be found in the docs: https://argo-workflows.readthedocs.io/en/release-3.5/configure-artifact-repository/

This looks like a duplicate of #12845, which has a fix out in #13066

Indeed it does. I have clearly missed it when searching through passed issues for this bug. Thank you so much, happy to hear you are already working on a fix!
We are enjoying working with Argo-Workflows, it's a great tool 👏

All logs etc. are from our v3.5.5 installation, hence why I put it there. I tested :latest as outlined in the template, the bug was still present.

Oh, gotcha, sorry about that then. It might be more clear to write "v3.5.5 + :latest" in the "Version" section. Or some folks put a comma separated list of versions they tried. There are unfortunately many users who report bugs on outdated versions (often much more outdated than v3.5.5) so it's something we watch out for 😕

Of course, no worries! I can see how it was not clear to you. I'll keep that in mind in case I report anything in the future 🙂

I have clearly missed it when searching through passed issues for this bug.

That's because it was mistakenly filed as a discussion by the user, so it wouldn't pop up on issue search 😅 That's also why I left your issue open, since technically one doesn't exist.
Also GH didn't unify search for Discussions when they made that feature, so things do get lost and duplicated between them 😕 That's one of the reasons I don't turn on Discussions in my personal repos

That makes sense, it's neither the first nor last time this has happened 😅


iwd: 1.8 -> 1.9

Motivation for this change
ChangeLog: https://git.kernel.org/pub/scm/network/wireless/iwd.git/tree/ChangeLog?h=1.9
Note: before merging we have to fix the build error of ell on aarch64-linux:
ell> PASS: unit/test-endian
ell> PASS: unit/test-time
ell> PASS: unit/test-plugin
ell> PASS: unit/test-base64
ell> PASS: unit/test-random
ell> PASS: unit/test-net
ell> PASS: unit/test-hwdb
ell> PASS: unit/test-queue
ell> PASS: unit/test-dbus-util
ell> PASS: unit/test-io
ell> PASS: unit/test-netlink
ell> PASS: unit/test-util
ell> PASS: unit/test-utf8
ell> PASS: unit/test-ecdh
ell> PASS: unit/test-ecc
ell> PASS: unit/test-checksum
ell> PASS: unit/test-path
ell> PASS: unit/test-uuid
ell> PASS: unit/test-dbus-watch
ell> PASS: unit/test-ringbuf
ell> PASS: unit/test-dhcp6
ell> ./build-aux/test-driver: line 107: 20626 Aborted                 (core dumped) "$@" > $log_file 2>&1
ell> FAIL: unit/test-cipher
ell> PASS: unit/test-rtnl
ell> PASS: unit/test-string
ell> PASS: unit/test-gvariant-message
ell> PASS: unit/test-genl-msg
ell> PASS: unit/test-uintset
ell> PASS: unit/test-hashmap
ell> PASS: unit/test-settings
ell> CCLD     unit/test-dbus-properties
ell> PASS: unit/test-dir-watch
ell> PASS: unit/test-dhcp
ell> PASS: unit/test-dbus
ell> PASS: unit/test-dbus-message-fds
ell> CCLD     unit/test-dbus-message
ell> CCLD     unit/test-gvariant-util
ell> PASS: unit/test-dbus-properties
ell> PASS: unit/test-dbus-message
ell> PASS: unit/test-gvariant-util
ell> PASS: unit/test-dbus-service
ell> PASS: unit/test-main
ell> PASS: unit/test-pbkdf2
ell> ================================
ell> ell 0.33: ./test-suite.log
ell> ================================
ell> # TOTAL: 41
ell> # PASS:  40
ell> # SKIP:  0
ell> # XFAIL: 0
ell> # FAIL:  1
ell> # XPASS: 0
ell> # ERROR: 0
ell> .. contents:: :depth: 2
ell> FAIL: unit/test-cipher
ell> ======================
ell> test-cipher: unit/test-cipher.c:92: test_aes_ctr: Assertion `l_cipher_encrypt(cipher, buf, buf, FIXED_LEN)' failed.
ell> FAIL unit/test-cipher (exit status: 134)
ell> ============================================================================
ell> Testsuite summary for ell 0.33
ell> ============================================================================
ell> # TOTAL: 41
ell> # PASS:  40
ell> # SKIP:  0
ell> # XFAIL: 0
ell> # FAIL:  1
ell> # XPASS: 0
ell> # ERROR: 0
ell> ============================================================================
ell> See ./test-suite.log
ell> ============================================================================
ell> make[3]: *** [Makefile:2083: test-suite.log] Error 1
ell> make[2]: *** [Makefile:2191: check-TESTS] Error 2
ell> make[1]: *** [Makefile:2704: check-am] Error 2
ell> make: *** [Makefile:2706: check] Error 2
error: --- Error --- nix-daemon
builder for '/nix/store/hz69mdv94c9znx2hlb0s7r8c0d0q4raf-ell-0.33.drv' failed with exit code 2; last 10 log lines:
  # FAIL:  1
  # XPASS: 0
  # ERROR: 0
  ============================================================================
  See ./test-suite.log
  ============================================================================
  make[3]: *** [Makefile:2083: test-suite.log] Error 1
  make[2]: *** [Makefile:2191: check-TESTS] Error 2
  make[1]: *** [Makefile:2704: check-am] Error 2
  make: *** [Makefile:2706: check] Error 2
error: --- Error ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ nix
error: --- Error --- nix-daemon
1 dependencies of derivation '/nix/store/a1ivyqk0974jxwndwp9fnxxlkzrbnyi2-iwd-1.9.drv' failed to build

Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build iwd
Hmm, managed to build iwd now as /nix/store/319bk8jvqyidbb2xbfmissdbhls935az-iwd-1.9 on the community builder and it doesn't fail anymore. Rebuilding here to see what's happening now.

iwd builds here as well now. So let's merge it.

Pushed to 20.09 as 3f4a519fc8a63b5566cc84f0801b19e91bdc8cf3, 6ba161261db0b327cfaade1aa891ac09261d5acb.


server-side rendering

Need to add server-side rendering

This would be great!
Boilerplate seems simple enough to get started and use on production.

Complete


Validation Loss calculation

First of all, thank you for your great work!
Method _validate in simclr.py will raise ZeroDivisionError at line 148 if the validation data loader performs only one iteration (since counter starts from 0).

Hi, thanks for the code!

Hello guys, that is a general message to say that I have refactored the whole project. I believe the project is much easier to understand now. Please have a look at the new impl and free to submit PR if you find any bugs. Thanks.

Hello guys, that is a general message to say that I have refactored the whole project. I believe the project is much easier to understand now. Please have a look at the new impl and free to submit PR if you find any bugs. Thanks.


removed mapping quality

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/mango-prb/174/
Test PASSed.


addition to the common kubectl subcommands

I will rise PR for this

Page related to issue: https://kubernetes.io/docs/tutorials/kubernetes-basics/explore/explore-intro/
/language en

@Nitishupkr  The current subcommands list on the page appears to be quite comprehensive. Can you please share additional details about the specific kubectl subcommands you suggest including in this list? What are the reasons for adding them?

kubectl rollout
kubectl create
kubectl delete
kubectl scale ....
These are another subcommands  used for most common operation .  subcommands available in kubectl for troubleshooting and managing Kubernetes resources @dipesh-rawat

Hi @Nitishupkr, As many of these commands are there for just the introduction to the k8s, Also as you can read the title these commands are for troubleshooting with kubectl, means we only need these commands to view the status of k8s resources  (Ex. pods, svc, replicaset etc.)  if they are running fine or not.

kubectl rollout kubectl create kubectl delete kubectl apply kubectl scale .... These are another subcommands used for most common operation . subcommands available in kubectl for troubleshooting and managing Kubernetes resources @dipesh-rawat

As you mentioned these commands are already mentioned here - https://kubernetes.io/docs/reference/kubectl/cheatsheet/

You can find detailed info and additional usage there.

@utkarsh-singh1 Hey I agreed with your point but  there is written ' The most common operations can be done with the following kubectl subcommands:'

Hi @Nitishupkr, Actually the subcommands written here are for troubleshooting with kubectl, In troubleshooting you need information about the object, you need info for, all of these commands written here are for getting info about, pods, nodes, deployments etc.

You can mention a section where you can mention, creating k8s-objects/resources with kubectl, where you can mention subcommands like,
Ex.
kubectl create resource
kubectl apply resource

etc.

@utkarsh-singh1 ok

@dipesh-rawat do you have any idea how can i put the common commands in this.

I actually don't think there's anything to fix.
I would prefer any effort to go into, eg, https://github.com/kubernetes/website/issues/25943
Once we make progress there, it's easier for other pages to link to the improved, combined kubectl docs.

This issue is not needed to open anymore, as @sftim and @dipesh-rawat already mentioned that changes are not required in the tutorial-documentation.

Fix is not required
/close not-planned


Update to use non-deprecated commons-io API

Codecov Report

Merging #83 (1eaf8fe) into master (bcb8fdf) will decrease coverage by 0.10%.
The diff coverage is 50.00%.

@@             Coverage Diff              @@
##             master      #83      +/-   ##
============================================
- Coverage     61.48%   61.37%   -0.11%
  Complexity      194      194
============================================
  Files            11       11
  Lines           914      914
  Branches        140      140
============================================
- Hits            562      561       -1
- Misses          302      303       +1
  Partials         50       50

Impacted Files
Coverage Δ
Complexity Δ

...bs/ci/sauceconnect/AbstractSauceTunnelManager.java
58.69% <50.00%> (-0.44%)
27.00 <0.00> (ø)

Continue to review full report at Codecov.

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


Prevent Navigation on select child elements

Tell me what you think of this. In link.svelte, change line 73 to
on:click|preventDefault="{(e) => !e.target.closest('.preventNavigation') && navigate(to)}"

That gives us the ability to mark certain elements to not trigger nav. I don't know if this affects performance at all.
In my case, I have a list of link cards. Most of the card should navigate on click, but there are interactive elements on the cards.

@BennyHinrichs that would be too rigid, so rather, please see the latest version, 1.0.12, there is new Link component prop called "disabled' - https://github.com/spaceavocado/svelte-router#router-link-component
If set to true, the navigation actions is disabled on the link and the underlying  element has set "disabled" css class.

Can you explain how that would be used here so that no navigation happens when you click "Don't Navigate":
<RouterLink to="/">

Navigate

Don't Navigate

</RouterLink>

<RouterLink to="/" disabled={true}>

Navigate

Don't Navigate

</RouterLink>

Sorry, I meant how can I make it so clicking "Navigate" follows the link, but clicking "Don't Navigate" does nothing? Won't your example make it so no navigation happens on both divs?

Updated the comment above.

Or you can wrap the link into your own DOM structure, e.g.:

   <RouterLink to="/" disabled={true}>Navigate</RouterLink>

Don't Navigate

I might look into making my own component. Consider the following case where you have an interactive element in the middle of the click area.:
<RouterLink to="/route">

Click to Navigate!

    <input type="checkbox">
    Click Without Navigating!

Click to Navigate!

</RouterLink>

Okay, after some thought, what about adding a disabledClass property to router link component? Then navigate(event) in link.svelte would be expanded with
if (disabledClass && event.target.closest('.' + disabledClass) {
  return;
}

I see what you want to achieve but it is too specific to be considered as general usage - there might be plenty of cases like that, so the custom component seems to be the suitable, project specific approach here.
Quick tip, you prevent the event triggering like so:

<Link>

Click to Navigate!

    Click Without Navigating!

</Link>

Link.svelte:

  <slot></slot>

Wow, I'm dumb. I totally forgot that stopPropagation exists :smile: That actually solves the whole problem still using RouterLink. Thanks for indulging me.

@BennyHinrichs no worries, glad to help.


Allow blackbox to run without being in $PATH

Fix blackbox commands so that they work when called with absolute paths.
Fix confidence_test.sh so that it's not hardcoded to a specific dev environment path.

The changes basically look at where the base script is being called from and source imports the dependencies.
Tests don't run properly on OS X, but they were able to start and perform some of the basic operations. Paths appear to be working correctly.

LGTM
Thank you for helping make the confidence test work better for everyone!


Update troubleshooting-your-connection-to-github-codespaces.md

Why:
Closes: #35119

@nafisreza Thank you so much for opening a PR with this fix! Your changes look great ✨ Now that you are veteran of the OS Docs repo, take a look at our help wanted section 💛
We are currently in a repo freeze, but we'll get this merged on November 1st when the freeze ends 🍏


Consider adding support for generating SAS URL from an Azure Blob directly to this library

For both Azure Functions and Azure App Service, we have needed to rely on some helper code to generate an SAS URL from a Blob that can be used by the App Service.
We should find a way to remove the need for higher level libraries to do this, by adding such functionality directly into @pulumi/azure where appropriate.

Note that https://pulumi.io/reference/pkg/nodejs/@pulumi/azure/storage/#getAccountSAS is now available, which can actually be used here (instead of needing to import the Azure SDK in JS as well).

We're also embedding the higher level function concept directly into https://github.com/pulumi-azure-serverless - so I expect we will not also want to include this in the azure provider as well - at least for the near term.


segfault with large data

I have a function with signature:
#[pyfn(m, "extract_entity")]
fn extract_entity_py(py: Python, content: Vec<Vec<String>>) -> PyResult<Vec<Vec<Vec<Entity>>>> {}

with large data it segfaults (small data is fine), it happens on Linux, on macOS it's mostly fine.
dmesg log:
[262892.915631] pytest[17095]: segfault at 8b1 ip<PHONE_NUMBER>454295 sp 00007ffc02678980 error 4 in python3.6[400000+26e000]
[262928.148360] pytest[17275]: segfault at 7f20212fbd58 ip 00007f20212fbd58 sp 00007ffc94a31de8 error 15 in libc-2.17.so[7f20212fb000+2000]
[262939.497128] pytest[17385]: segfault at 7ff0a03e9d58 ip 00007ff0a03e9d58 sp 00007ffd8be92d78 error 15 in libc-2.17.so[7ff0a03e9000+2000]

It happens on both Python 2.7 and Python 3.6

Could you post backtrace

Couldn't get any backtrace. RUST_BACKTRACE=1 gives nothing.

#[pyfn(m, "extract_entity")]
fn extract_entity_py(py: Python, content: Vec<Vec<String>>) -> PyResult<Vec<Vec<Vec<Entity>>>> {
    println!("{:?}", content);
}

the println!("{:?}", content); doesn't even get executed.

Try to run it with lldb

During startup program terminated with signal SIGSEGV, Segmentation fault.

(gdb) bt
No stack.

Seems like something wrong with executable. Are you sure you build it with right arch?
Sent from my iPhone

On Jul 31, 2017, at 12:18 AM, messense<EMAIL_ADDRESS>wrote:
During startup program terminated with signal SIGSEGV, Segmentation fault.
(gdb) bt
No stack.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I am sure. It works fine with small amount of data.

Reading symbols from python...Reading symbols from /usr/lib/debug/.build-id/33/8517c6b7aeca89dd84881d97731824404a3223.debug...done.
done.

warning: core file may not match specified executable file.
[New LWP 434]
[New LWP 439]
[New LWP 441]
[New LWP 440]
[New LWP 442]
[New LWP 438]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `python article_segment.py'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000000000459755 in PyIter_Next (iter=0x21f56e0) at ../Objects/abstract.c:3147
3147	../Objects/abstract.c: No such file or directory.
[Current thread is 1 (Thread 0x7f7d23a8e700 (LWP 434))]

Got some backtrace with core dump.

Could you post reproducible code

It'll take some time to extract reproducible code. More bt:
#0  0x0000000000459755 in PyIter_Next (iter=<unknown at remote 0x21f56e0>) at ../Objects/abstract.c:3147
#1  0x00007f7d1e4b9e3e in pyo3::objects::iterator::{{impl}}::next (self=0x7ffe2f5b19b8) at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.1.0/src/objects/iterator.rs:48
#2  0x00007f7d1e289a63 in pyo3::objects::sequence::extract_sequence<alloc::vec::Vec<alloc::string::String>> (obj=0x202ce18) at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.1.0/src/objects/sequence.rs:237
#3  0x00007f7d1e28a934 in pyo3::objects::sequence::{{impl}}::extract<alloc::vec::Vec<alloc::string::String>> (obj=0x202ce18) at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.1.0/src/objects/sequence.rs:210
#4  0x00007f7d1e29028c in pyo3::objectprotocol::{{impl}}::extract<pyo3::objects::PyObjectRef,alloc::vec::Vec<alloc::vec::Vec<alloc::string::String>>> (self=0x202ce18) at /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pyo3-0.1.0/src/objectprotocol.rs:367
#5  0x00007f7d1e2bc35b in litigant::init_module::__wrap (_slf=0x0, _args=0x7f7d22644438, _kwargs=0x0) at src/lib.rs:242
#6  0x00000000004b295c in _PyCFunction_FastCallDict (kwargs=0x0, nargs=<optimized out>, args=0x7f7d10002168, func_obj=<built-in function extract_entity>) at ../Objects/methodobject.c:231
#7  _PyCFunction_FastCallKeywords (func=func@entry=<built-in function extract_entity>, stack=stack@entry=0x7f7d10002168, nargs=<optimized out>, kwnames=kwnames@entry=0x0) at ../Objects/methodobject.c:294
#8  0x00000000005434ae in call_function (pp_stack=pp_stack@entry=0x7ffe2f5b21a0, oparg=oparg@entry=1, kwnames=kwnames@entry=0x0) at ../Python/ceval.c:4809
#9  0x00000000005454bd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3295
Python Exception <class 'RuntimeError'> Type does not have a target.:
#10 0x0000000000542771 in PyEval_EvalFrameEx (throwflag=0, f=) at ../Python/ceval.c:718
Python Exception <class 'RuntimeError'> Type does not have a target.:
#11 _PyFunction_FastCall (co=<optimized out>, args=<optimized out>, nargs=1, globals=globals@entry=) at ../Python/ceval.c:4891
#12 0x0000000000543621 in fast_function (kwnames=0x0, nargs=<optimized out>, stack=<optimized out>, func=<function at remote 0x7f7d1e84abf8>) at ../Python/ceval.c:4926
#13 call_function (pp_stack=pp_stack@entry=0x7ffe2f5b2350, oparg=oparg@entry=1, kwnames=kwnames@entry=0x0) at ../Python/ceval.c:4830
#14 0x00000000005454bd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3295
Python Exception <class 'RuntimeError'> Type does not have a target.:
#15 0x0000000000542771 in PyEval_EvalFrameEx (throwflag=0, f=) at ../Python/ceval.c:718
Python Exception <class 'RuntimeError'> Type does not have a target.:
#16 _PyFunction_FastCall (co=<optimized out>, args=<optimized out>, nargs=1, globals=globals@entry=) at ../Python/ceval.c:4891
#17 0x0000000000543621 in fast_function (kwnames=0x0, nargs=<optimized out>, stack=<optimized out>, func=<function at remote 0x7f7d1e8590d0>) at ../Python/ceval.c:4926
#18 call_function (pp_stack=pp_stack@entry=0x7ffe2f5b2500, oparg=oparg@entry=1, kwnames=kwnames@entry=0x0) at ../Python/ceval.c:4830
#19 0x00000000005454bd in _PyEval_EvalFrameDefault (f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3295
Python Exception <class 'RuntimeError'> Type does not have a target.:
#20 0x0000000000543115 in PyEval_EvalFrameEx (throwflag=0, f=) at ../Python/ceval.c:718
#21 _PyEval_EvalCodeWithName (_co=_co@entry=<code at remote 0x7f7d226ad8a0>, globals=globals@entry=< at remote 0x7f7d2270d270>, locals=locals@entry=<code at remote 0x7f7d226ad8a0>, args=args@entry=0x0, argcount=argcount@entry=0, kwnames=kwnames@entry=0x0, kwargs=0x8,
    kwcount=0, kwstep=2, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0, name=0x0, qualname=0x0) at ../Python/ceval.c:4139
#22 0x0000000000543f43 in PyEval_EvalCodeEx (closure=0x0, kwdefs=0x0, defcount=0, defs=0x0, kwcount=0, kws=0x0, argcount=0, args=0x0, locals=locals@entry=<code at remote 0x7f7d226ad8a0>, globals=globals@entry=< at remote 0x7f7d2270d270>,
    _co=_co@entry=<code at remote 0x7f7d226ad8a0>) at ../Python/ceval.c:4160
Python Exception <class 'RuntimeError'> Type does not have a target.:
Python Exception <class 'RuntimeError'> Type does not have a target.:
#23 PyEval_EvalCode (co=co@entry=<code at remote 0x7f7d226ad8a0>, globals=globals@entry=, locals=locals@entry=) at ../Python/ceval.c:695
Python Exception <class 'RuntimeError'> Type does not have a target.:
Python Exception <class 'RuntimeError'> Type does not have a target.:
Python Exception <class 'RuntimeError'> Type does not have a target.:
#24 0x000000000042ac8f in run_mod (arena=0x7f7d2270d270, flags=0x7ffe2f5b27e0, locals=, globals=, filename=, mod=0x1c21208) at ../Python/pythonrun.c:980
Python Exception <class 'RuntimeError'> Type does not have a target.:
Python Exception <class 'RuntimeError'> Type does not have a target.:
#25 PyRun_FileExFlags (fp=0x1ba9d70, filename_str=<optimized out>, start=<optimized out>, globals=, locals=, closeit=1, flags=0x7ffe2f5b27e0) at ../Python/pythonrun.c:933
#26 0x000000000042aebc in PyRun_SimpleFileExFlags (fp=0x1ba9d70, filename=<optimized out>, closeit=1, flags=0x7ffe2f5b27e0) at ../Python/pythonrun.c:396
#27 0x000000000043f1f5 in run_file (p_cf=0x7ffe2f5b27e0, filename=0x1b67260 L"article_segment.py", fp=0x1ba9d70) at ../Modules/main.c:338
#28 Py_Main (argc=argc@entry=2, argv=argv@entry=0x1b66010) at ../Modules/main.c:809
#29 0x00000000004213d2 in main (argc=2, argv=<optimized out>) at ../Programs/python.c:69

Do you use master or 0.1 release?

Tried both, they all have the same issue, the backtrace is generated from 0.1 release

Ok. Try to extract reproducible code

@fafhrd91 I have sent you the code through email.

https://github.com/PyO3/pyo3/blob/master/src/objects/iterator.rs#L47
Change:
py.cast_from_ptr_or_opt(ffi::PyIter_Next(self.0.as_ptr())) }

to
py.cast_from_borrowed_ptr_or_opt(ffi::PyIter_Next(self.0.as_ptr())) }

fixed the segfault

I added temp fix. could you try to run your code with English text?

Confirmed the fix with both Chinese text and English text.

But does it segfault with English without latest fix?

It does, but it needs more data to trigger.

I used the Zen of Python content:
zen = 'xxxxxx'
testdata = [zen.split('\n') * 3] * 10

Hmm, that's strange. I am afraid my fixed side effects and not actual problem.


Incorrect version of dependent package prometheus

Bug Description
reports an error:
go<EMAIL_ADDRESS>invalid version: unknown revision v6.0.5851
this package dependent on prometheus, but the<EMAIL_ADDRESS>no longer exists
Version
seems like all versions

Additional Information
No response

Reports that when you do what...?

Anyhow, we cannot actually upgrade prometheus unless the github.com/envoyproxy/go-control-plane releases a new version since it forces us to downgrade.


[lcms] update to 2.16

Library name
lcms
New version number
2.16
Other information that may be useful (release notes, etc...)
https://github.com/mm2/Little-CMS/releases/tag/lcms2.16

lcms2-2.16 is a featured release
Changes
New: import .CUBE files as RGB device links
New: Read/Write MHC2 tags for Windows GPU access
New: Support for UTF8 on multi-localized Unicode functions
New: Support for OkLab color space, built-in and formatter.
Improved: floating point transforms float -> integer are now honored as float
Improved: MSYS2, mingw is now supported
Improved: preferred CMM, platform and creator now survives profile edition.
Fixed: tificc now can deal with Lab TIFF
Fixed: code can now be compiled by a C++17 compiler, "register" keyword use detected at compile time.
Fixed: Reverted PostScript creation that corrupted some interpreters.
Bug fixing

Fixed in https://github.com/microsoft/vcpkg/pull/42187


Convert Analysis Struct to Game

Before we can start post-processing the analysis results, we need to convert the resulting analysis back into some game-like structure (probably game + extra metadata). This would allow us to traverse the results doing analysis.

Note: this requires https://github.com/otrego/clamshell/issues/99


App installed fine but on launching it takes me to ReadMe file

Hi there
I am trying to make this work with android device sdk 19, (not TV), the app installed fine but funny I am getting the Read Me file on this source on launching the app.
I thought I will get the video to play from the file RichTvInputService.
How do I get the  sample channels to show and play, and finally which file contain the links for mp4 or m3u8?
Many thanks.

This will only work on TV as it uses the TV input framework to expose channels. Seeing the README when you open the app is expected. If you want to play a generic video, check out ExoPlayer: https://github.com/google/ExoPlayer

"Seeing the README when you open the app is expected".
So this means the app is working with my device? then again how can we play launch the sample links direct? I also tested the Exoplayer already, so I was just wondering if this a full IPTV player.
Thanks for your reply.

It means that the activity is working. I wouldn't expect your Android phone to run the TV Input Service given it's an Android TV specific feature. This exposes some channels in the built-in Live Channels app on TV. If you're interested in creating an Android TV app for TV that allows you to play videos, check out the Leanback sample: https://github.com/googlesamples/androidtv-Leanback

Thanks for your reply sir!
Actually my Android device is not a phone but its an Android TV set box that is running android 4.4
(MX Android Tv Box, plenty on Ebay and Amazon)
and it installed any apk without issues, I thought it would work with your code, but as you said this only work with Android Tv like Samsung smart Tv for now.
Please see if you can add this feature on the next release as its similar to any android device.
Many thanks for your info.

If your hardware doesn't support it, you'll have to wait for whoever made the hardware to update their software. If you want an officially supported Android TV device, check out the Nexus Player or NVidia Shield.


bench/cli: extend --extrinsic name filtering

Current Situation
The bench-cli cannot be instructed to run more than one specific case per pallet.
This would be useful to have when trying to debug specific cases where others take really long to run, eg. in #10644.
Proposed Change
Make --extrinsic accept a comma separated list (done in #10677) or a regex such that ext1, ext2 or ext1|ext2 resp. would be valid.
A more advanced version could even allow filtering the whole "pallet.case" string for cross-pallet selection.

@ggwpez attempted this issue, kindly look at my solution in the PR.

#10677 implemented the list part, leaving this issue open since the regex could still be relevant.

#10677 implemented the list part, leaving this issue open since the regex could still be relevant.

Hello @ggwpez what is the regex supposed to specifically do asides from the comma separation that the other PR did?

Hello @ggwpez what is the regex supposed to specifically do asides from the comma separation that the other PR did?

It would allow for more advanced filtering. But the list approach is good enough for now, just wanted to keep track of it.

Hello @ggwpez what is the regex supposed to specifically do asides from the comma separation that the other PR did?

It would allow for more advanced filtering. But the list approach is good enough for now, just wanted to keep track of it.

Alright @ggwpez when you ascertain what the advance filtering would be then i am willing to pick it up and implement so as to close out this issue.


Add RTC support to CLINT

https://github.com/black-parrot/pre-alpha-release/blob/19cd8defcda72d27de7595a615c4e3c49a01869c/bp_top/src/v/bp_clint.v#L117
This is an incorrect clock domain crossing. There are two fixes:

remove rtc_i and use clk_i. this means our RTC is full clock speed.

obey clock discipline
a) per the systemverilog coding guidelines, label every signal in the module with what clock it belongs to.
b) figure out where you will cross clock domains.
c) if it is single wire signals crossing, then you can just use bsg_launch_sync_sync. if it is multiple wires, then it gets very complicated. you can either use an bsg_async_fifo; or a simpler async handoff module (which we have not put into basejump_stl yet, but should; we have several versions of it floating around our code base.) Most likely you would chose to put the comparators in the same clock domain as the RTC, and have the interrupt lines come out; but you would still need to implemented reading/writing across the domain.

I suggest we apply fix #1 for the tapeout, and fix #2 afterwards.

Works for me.

applied to off-chip-network branch, will get merged in with that

if it is single wire signals crossing, then you can just use bsg_launch_sync_sync. if it is multiple wires, then it gets very complicated. you can either use an bsg_async_fifo; or a simpler async handoff module (which we have not put into basejump_stl yet, but should; we have several versions of it floating around our code base.) Most likely you would chose to put the comparators in the same clock domain as the RTC, and have the interrupt lines come out; but you would still need to implemented reading/writing across the domain.

https://github.com/pulp-platform/ariane/blob/master/src/clint/clint.sv#L158
Ariane has the RTC increment crossing, which is certainly the lowest hardware solution.  It will glitch occasionally of course, but possibly that's acceptable.

(which we have not put into basejump_stl yet, but should; we have several versions of it floating around our code base.)

Could you send a pointer? If they're lighter weight than a FIFO, we should be using them for our async mem crossings

Good point you could use BaseJump STL to grey code the RTC. This way only one bit changes at the sender, so when it is latched, there is only one bit that is potentially metastable, and it doesn't matter which way it goes -- you either get the previous value or the next value.
What that said, if you can just send the increment signal across and you know the receive clock is much faster, that is even lighter weight.

3 possible modes for RTC

Cycle ratio (dynamic?)
Instruction retirement (synth or sim only?)
Actual RTC (crossing strategies discussed above?)

3 possible modes for RTC

Cycle ratio (dynamic?)
Instruction retirement (synth or sim only?)
Actual RTC (crossing strategies discussed above?)

Was this addressed by https://github.com/black-parrot/black-parrot/pull/1019?

Yeah, we can close this when we merge:
https://github.com/black-parrot/black-parrot/pull/1047
(pending a minor CI fix)

I see, so merging to dev is criteria for completing tasks, is it? Thank you for your response, @dpetrisko!

Yep, dev is considered mainline. _dev are internal development branches.  master happens after we do ASIC and FPGA evaluations, so it lags a bit but is more stable

OK, thanks!


add tumour_growth_inhibition_model_koch as model in the demo project

description:
Returns the absolute path to a SBML file, specifying the tumour growth
        inhibition pharmacodynamic model introduced by Koch et al. in [1]_.
        In this model the tumour growth inhibition is modelled by an empirical
        model of the tumour volume :math:`V_T` over time
        .. math::
            \frac{\text{d}V_T}{\text{d}t} =
                \frac{2\lambda_0\lambda_1 V_T}
                {2\lambda_0V_T + \lambda_1} - \kappa C V_T.
        Here, the tumour growth in absence of the drug is assumed to grow
        exponentially at rate :math:`2\lambda_0` for tumour volumes below some
        critical volume :math:`V_{\text{crit}}`. For volumes beyond
        :math:`V_{\text{crit}}` the growth dynamics is assumed to slow down
        and transition to a linear growth at rate :math:`\lambda_0`. The tumour
        growth inhibitory effect of the compound is modelled proportionally to
        its concentration :math:`C` and the current tumour volume. The
        proportionality factor :math:`\kappa` can be interpreted as the potency
        of the drug.
        Note that the critical tumour volume :math:`V_{\text{crit}}` at which
        the growth dynamics transitions from exponential to linear growth is
        given by the two growth rates
        .. math::
            V_{\text{crit}} = \frac{\lambda _1}{2\lambda _0}.

description:
Returns the absolute path to a SBML file, specifying the tumour growth
        inhibition pharmacodynamic model introduced by Koch et al. in [1]_.
        In this model the tumour growth inhibition is modelled by an empirical
        model of the tumour volume :math:`V_T` over time
        .. math::
            \frac{\text{d}V_T}{\text{d}t} =
                \frac{2\lambda_0\lambda_1 V_T}
                {2\lambda_0V_T + \lambda_1} - \kappa C V_T.
        Here, the tumour growth in absence of the drug is assumed to grow
        exponentially at rate :math:`2\lambda_0` for tumour volumes below some
        critical volume :math:`V_{\text{crit}}`. For volumes beyond
        :math:`V_{\text{crit}}` the growth dynamics is assumed to slow down
        and transition to a linear growth at rate :math:`\lambda_0`. The tumour
        growth inhibitory effect of the compound is modelled proportionally to
        its concentration :math:`C` and the current tumour volume. The
        proportionality factor :math:`\kappa` can be interpreted as the potency
        of the drug.
        Note that the critical tumour volume :math:`V_{\text{crit}}` at which
        the growth dynamics transitions from exponential to linear growth is
        given by the two growth rates
        .. math::
            V_{\text{crit}} = \frac{\lambda _1}{2\lambda _0}.

url: https://raw.githubusercontent.com/pkpdapp-team/pkpdapp-datafiles/main/models/tgi_Koch_2009.xml

url: https://raw.githubusercontent.com/pkpdapp-team/pkpdapp-datafiles/main/models/tgi_Koch_2009.xml


Supported Simulation Parameters Link Doesn't Work

Hello! There is a statement in the README file: "The simulator supports a plethora of parameters for the simulation description which can be found here."
However, the link doesn't work: https://github.com/microsoft/vidur/blob/main/docs/launch_parameters.md
How can we solve this? Thanks!

@ozcanmiraay, we recently removed the docs page. All the params are now self documented, you can check them by running with -h flag.

@AgrawalAmey Thank you so much! Also, how can I see the supported bounds for each of the numeric parameters? E.g., is there an upper/lower bound for a parameter like scheduler_config_batch_size_cap or request_length_generator_config_max_tokens enforced by how the simulation was set up?

@ozcanmiraay, for models other than LLama3 ones, scheduler_config_batch_size_cap = 128 and request_length_generator_config_max_tokens = 4096 are the maximum. For llama3, the maximums are 512 and 16k respectively.
Some more details regarding this are available at https://github.com/microsoft/vidur?tab=readme-ov-file#supported-models .


readirop should check whether reach end first before readdir from cache

When first readdir offset from s3 backend, then second readdir offset from userspace will lead goofys readdir from cache.
if the first readdir have read all direntries,then second will go through cache. In some case, will lead to two same entry return to user.

For commit 4284dc4, when dir fd open in a shell,rm -rf this dir in another shell.In fuse ,only when fd close/release, kernel will send forgetinode to goofys. but with normal rm , ,kernel will send forgetinode following the unlink/rm immediately
So if we not invalidate the goofys inode ,the next lookup from (kernel invadation or  stat,open,etc) will found inode in goofys. but this is not expected.
The test case will be appended .

have you been able to add a test case?

Add test_rmdir_withfdopen to fuse-test.sh;goofystest
TestRmdirWithDiropen;standalone test script for rmwithopen
note:
standalone shell test  scripts is located in the test dir,it's same
as the test_rmdir_withfdopen in the fuse-test.sh. The standalone
script and fuse-test testcase use a binary program to open dir and
sleep for a long time .
Gooystest TestRmdirWithDiropen use the go exec to test.

At present, only the standalone test  scripts can trigger this bug.
the fuse_test and goofystest testcase cannot trigger which i have
not found why.

When use the standalone shell test scripts,
patch before:
sh /root/deploy/test/lsun/testrmwithopen.sh
/root/deploy/test/lsunconsistency: no process found
ls /mnt/s3
total 8.0K
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 .
drwxr-xr-x. 9 root root   99 9月   8 12:09 ..
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 test111
ls /mnt/s3/test111
test1 //note: two same dentry
test1
ls -lah /mnt/s3/test111
total 16K
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 .
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 ..
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 test
drwxr-xr-x. 2 root root 4.0K 11月  1 16:14 test1
should only test1 dir
after patch:
/root/deploy/test/lsunconsistency: no process found
ls /mnt/s3
total 8.0K
drwxr-xr-x.  2 root root 4.0K 11月  1 17:00 .
drwxr-xr-x. 10 root root  112 11月  1 16:32 ..
drwxr-xr-x.  2 root root 4.0K 11月  1 17:00 test111
ls /mnt/s3/test111
test1
ls -lah /mnt/s3/test111
total 12K
drwxr-xr-x. 2 root root 4.0K 11月  1 17:00 .
drwxr-xr-x. 2 root root 4.0K 11月  1 17:00 ..
drwxr-xr-x. 2 root root 4.0K 11月  1 17:00 test1
should only test1 dir

I checked in a fix with your test, slightly modified. Thanks for the PR! I don't understand
ff2421c though, is that a different issue and could you submit a test that shows the problem?

Have checked the pathc

backend
standshelltest
goofys_test

s3proxy
passed
passed

minio
NO TO TEST
failed

s3like
passed
passed

Need to dig into the failed.
As for the ff2421c ,maybe should fake a testcase?!

Minio now does not support empty dir such as dir/,even return 200 OK.

The behavior of minio and aws s3  treat dir/ is not the object in  durable storagebackend .The dir object is only a concept parsed from the object name which have slash such as dir/dir1/file1.
In Minio, when put dir/, minio server will mkdir dir,return ok.
When list dir/, minio server will readdir this empty dir, return ok,but have nothing to return.
IN goofys func isEmptyDir , len(resp.Contents)  should equals 0.
This behavior is different with s3proxy which will len(resp.Contents) = 1 ,including the dir/ as a key when list this empty dir.
Anothe found:In minio,for nonexist dir/, list dir/ will return errr,(nu such file or diretory,here is dir/)
Head dir/, same errror.
In minio,if we delete file or dir, it will recursilly delete empty parent dir. .For example,
a of dir  only has one file b. Since we delete a/b, if a is empty, it will also delete a.
If we align the rule that dir/ is not the object in  durable storagebackend,we should insist that the result of list dir should not have the dirname as the key in the Contents' section.  At least, chang the design of minio is difficult now,
so we should treat minio diffrently as s3proxy, or we should treat them unitedly(differently?).
 If you could rebase this PR and add a test case for https://github.com/kahing/goofys/commit/ff2421c8f1bbd56b7b3291d25f8137dbd3881e87 I will take a look again


Failed to activate the markdown-scroll-sync package

[Enter steps to reproduce:]

...
...

Atom: 1.35.1 x64
Electron: 2.0.18
OS: Mac OS X 10.13.6
Thrown From: markdown-scroll-sync package 2.1.2
Stack Trace
Failed to activate the markdown-scroll-sync package
At Right-hand side of 'instanceof' is not callable

TypeError: Right-hand side of 'instanceof' is not callable
    at /packages/markdown-scroll-sync/lib/main.coffee:38:14
    at Workspace.observeActivePaneItem (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:428507)
    at MarkdownScrlSync.activate (/packages/markdown-scroll-sync/lib/main.coffee:25:30)
    at Package.activateNow (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2938330)
    at measure (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2937742)
    at Package.measure (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2935373)
    at activationPromise.activationPromise.Promise (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2937602)
    at new Promise (<anonymous>)
    at Package.activate (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:2937545)
    at PackageManager.activatePackage (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:382643)
    at config.transactAsync (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:382259)
    at Config.transactAsync (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:332443)
    at PackageManager.activatePackages (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:382209)
    at PackageManager.activate (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:381827)
    at t.loadState.then (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:1:686034)
    at <anonymous>

Commands

Non-Core Packages
markdown-preview-plus 3.7.1
markdown-scroll-sync 2.1.2

updates stopped for 3 years,  abandon markdown-scroll-sync


AggregateTestFixture process events twice

Basic information

Axon Framework version: 4.6.3
JDK version:  17.0.5
Complete executable reproducer if available (e.g. GitHub Repo): https://github.com/AxonIQ/giftcard-demo

Steps to reproduce

Run test io.axoniq.demo.giftcard.command.GiftCardTest#testIssueCardCommandPublishesCardIssuedEvent
Expected behaviour

As we can see in our test only one event CardIssuedEvent expected. Method in aggregate io.axoniq.demo.giftcard.command.GiftCard#on(io.axoniq.demo.giftcard.api.CardIssuedEvent) should invoke only once.
Actual behaviour

Method in aggregate io.axoniq.demo.giftcard.command.GiftCard#on(io.axoniq.demo.giftcard.api.CardIssuedEvent) invokes twice. If we add log to this method we can see this.

What you're seeing adding log messages, @pe4enko, is the two pass-throughs the AggregateTestFixture does on purpose.
The first pass-through is done in the when-phase to handle the command and subsequent events coming out of it.
The second pass-through is done to validate whether users have not performed illegal state changes in the command handler.
This second step is desirable so that the AggregateTestFixture ensures users they're following Event Sourcing as intended.
Namely, the command handlers only validate and publish events, whereas state changes are solely done in event sourcing handlers.
I'll add some debug logging in the AggregateTestFixture to make that a little clearer.
With that, I feel it's justified to close this issue as resolved, and replacing the label bug for question.


Add a .gitignore  to the repo

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Add a  .gitignore  file to reduce the folder size of the repo
Describe the solution you'd like
A clear and concise description of what you want to happen.
Remove the following folders to the repo

[target] ( https://github.com/dylan-power/dinosaur-exploder/tree/main/target/classes)
[system] (https://github.com/dylan-power/dinosaur-exploder/tree/main/system)
[.idea] (https://github.com/dylan-power/dinosaur-exploder/tree/main/.idea)
[Logs] (https://github.com/dylan-power/dinosaur-exploder/tree/main/logs)
[dinosaur-exploder.iml] (https://github.com/dylan-power/dinosaur-exploder/blob/main/dinosaur-exploder.iml)

Then add a .gitignore so these files are not pushed into the main branch.

Make this a Good First Issuse

If someone does not take this issue in two weeks from the post date, I will implement this feature.

If someone does not take this issue in two weeks from the post date, I will implement this feature.

Hi you already can work on it, if so, keep me updated I will assign this issue to you :)


Wiki Specs

Issue #30

@cpdeethree Based on the approved suggestions I was looking at, there would be a pre-defined template that restricted the user on what they could do.
Each template would have a header and body. The hard limit was determined to be sub-sections. Also, rereading the forum post, BBCode(/markdown) that changes the font size is disallowed. I'll be sure to add this to the requirements.
With respect to images, there was some talk about having image "modules" and linking them to sections/subsections, but the image feature was never marked as approved on Trello so I disregarded it for now.

@guitarman0831 Need to create an issue for handling revision/history behavior generically. This is going to come up again, for example changes to artist descriptions or post edits.

@ajax-wcd #116

@guitarman0831 Left feedback.


[Bug] Changing the look of Brand name

Want to prioritize this issue? Try:

Describe the bug
The cabin brand name beside the logo changes its color to blue and gets underlined on hover which looks weird and makes the makes look unattractive.
To Reproduce
Changing the hover features so that the brand logo doesn't get underlined and colored,
Rather, only the cursor changes to a pointer and the brand name redirect to the home page
Expected behavior
the brand name doesn't change it's color on hover and doesn't get underlined but work in the exact same way and redirects every user to the homepage
Screenshots

Desktop (please complete the following information):

OS: WINDOWS 10
Browser: Chrome

Smartphone (please complete the following information):

Device: OnePlus 8T
OS: OxygenOS
Browser Chrome

@oneknucklehead good found! Can you make a PR to fix it?

I have just made a PR relating to this. Can you please check? #228


Docker build it failing - Docker compose up is not working

Bug description
(.venv) (base) akhilsurapuram@Akhils-MacBook-Pro superset % git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
(.venv) (base) akhilsurapuram@Akhils-MacBook-Pro superset % git fetch
(.venv) (base) akhilsurapuram@Akhils-MacBook-Pro superset % git pull
Already up to date.
(.venv) (base) akhilsurapuram@Akhils-MacBook-Pro superset % docker compose up
[+] Building 41.9s (20/136)                                                                                docker:desktop-linux
=> [superset-worker-beat internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 8.14kB                                                                                0.0s
=> [superset-worker internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 8.14kB                                                                                0.0s
=> [superset internal] load metadata for docker.io/library/python:3.10-slim-bookworm                                                                                1.6s
=> [superset-worker-beat internal] load metadata for docker.io/library/node:20-bullseye-slim                                                                                1.6s
=> [superset-init internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 8.14kB                                                                                0.0s
=> [superset internal] load build definition from Dockerfile                                                                                0.0s
=> => transferring dockerfile: 8.14kB                                                                                0.0s
=> [superset-init internal] load .dockerignore                                                                                0.0s
=> => transferring context: 1.30kB                                                                                0.0s
=> [superset internal] load .dockerignore                                                                                0.0s
=> => transferring context: 1.30kB                                                                                0.0s
=> [superset-worker-beat internal] load .dockerignore                                                                                0.0s
=> => transferring context: 1.30kB                                                                                0.0s
=> [superset-worker internal] load .dockerignore                                                                                0.0s
=> => transferring context: 1.30kB                                                                                0.0s
=> [superset-worker] importing cache manifest from apache/superset-cache:3.10-slim-bookworm                                                                                5.0s
=> => inferred cache manifest type: application/vnd.oci.image.index.v1+json                                                                                0.0s
=> CACHED [superset superset-node  1/13] FROM docker.io/library/node:20-bullseye-slim@sha256:1ae8f0e420a098d667fc023e0e68c5409e215bb805e2cf2fd52e17eac0924fb0                                        0.0s
=> [superset-init internal] load build context                                                                                0.3s
=> => transferring context: 687.65kB                                                                                0.3s
=> [superset lean  1/14] FROM docker.io/library/python:3.10-slim-bookworm@sha256:2407c61b1a18067393fecd8a22cf6fceede893b6aaca817bf9fbfe65e33614a3                                                    0.0s
=> CACHED [superset lean  2/14] WORKDIR /app                                                                                0.0s
=> [superset-worker-beat internal] load build context                                                                                0.3s
=> => transferring context: 687.65kB                                                                                0.3s
=> ERROR [superset-worker-beat lean  3/14] RUN mkdir -p /app/pythonpath superset/static requirements superset-frontend apache_superset.egg-info requirements     && useradd --user-group -d /app/s  38.5s
=> CANCELED [superset-init superset-node  2/13] RUN apt-get update -qq     && apt-get install         -yqq --no-install-recommends         build-essential         python3         zstd             38.5s
=> [superset-worker internal] load build context                                                                                0.3s
=> => transferring context: 687.65kB                                                                                0.2s
=> [superset internal] load build context                                                                                0.2s
=> => transferring context: 687.65kB                                                                                0.2s

[superset-worker-beat lean  3/14] RUN mkdir -p /app/pythonpath superset/static requirements superset-frontend apache_superset.egg-info requirements     && useradd --user-group -d /app/superset_home -m --no-log-init --shell /bin/bash superset     && apt-get update -qq && apt-get install -yqq --no-install-recommends         curl         default-libmysqlclient-dev         libsasl2-dev         libsasl2-modules-gssapi-mit         libpq-dev         libecpg-dev         libldap2-dev     && touch superset/static/version_info.json     && chown -R superset:superset ./*     && rm -rf /var/lib/apt/lists/*:
38.42 E: Failed to fetch http://deb.debian.org/debian/pool/main/r/rtmpdump/librtmp1_2.4%2B20151223.gitfa8646d.1-2%2Bb2_arm64.deb  Hash Sum mismatch
38.42    Hashes of expected file:
38.42     - SHA256:a3a1a6e4b02bcd3254e932b1972ed744082fd7dd5cc1545eec3dd3d539ce6c93
38.42     - MD5Sum:dc5dd544885fcd6ef29e945ac7fe4d1b [weak]
38.42     - Filesize:59364 [weak]
38.42    Hashes of received file:
38.42     - SHA256:ad0e18319d234c3378f93ecbc4bf373b6a0005f3cf128e6dfb89cdb4e97bf10c
38.42     - MD5Sum:d0b8f8a8bc387d71017d1247abc30bb8 [weak]
38.42     - Filesize:59364 [weak]
38.42    Last modification reported: Wed, 15 Jul 2020 22:27:34 +0000
38.42 E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

failed to solve: process "/bin/sh -c mkdir -p ${PYTHONPATH} superset/static requirements superset-frontend apache_superset.egg-info requirements     && useradd --user-group -d ${SUPERSET_HOME} -m --no-log-init --shell /bin/bash superset     && apt-get update -qq && apt-get install -yqq --no-install-recommends         curl         default-libmysqlclient-dev         libsasl2-dev         libsasl2-modules-gssapi-mit         libpq-dev         libecpg-dev         libldap2-dev     && touch superset/static/version_info.json     && chown -R superset:superset ./*     && rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100
How to reproduce the bug

checkout master
Make sure it's up to date - git fetch && git pull
remove older images if any
docker compose up

Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
3.9
Node version
16
Browser
Chrome
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

@rusackas this is from master branch. I also satisfy RAM criteria. I use Mac M3 pro which has 18GB of ram
Just checked my node version its 20
.venv) (base) akhilsurapuram@Akhils-MacBook-Pro superset % node -v
v20.16.0

Based on the provided logs, I reckon this is another instance of installing Debian packages from repos that have active development and/or in a middle of new package update.
Rebuilding should work. I wonder if we should have a Troubleshooting section for these commonly occurring issues :D

@rusackas, @hainenber am I the only one who is facing this or docker build file needs to be updated?


add hard-fork config for intg-tests

Explain your changes:
This PR adds fork config for every integration tests. The state_hash and global_slot and length were all directly taken from the mainnet database. This aim to make the integration tests' behavior closer to berkeley network (berkeley itself would be a hard fork from mainnet).
Explain how you tested your changes:
*
Checklist:

[ ] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[ ] Modified the current draft of release notes with details on what is completed or incomplete within this project
[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them

Closes #0000

!ci-nightly-me

!ci-nightly-me

!ci-nightly-me

!ci-build-me

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-nightly-me

!ci-build-me

!ci-build-me

ci-nightly-me

!ci-build-me

!ci-build-me

!ci-nightly-me

Can you explain the motivation for this? It seems that this would eliminate the integration tests ability to test the case where networks don't have a fork config. I would expect that we run some tests with as if the network was a hardfork network, and some tests as if the network wasn't a hardfork network, but not to do one or the other universally across tests.

Can you explain the motivation for this? It seems that this would eliminate the integration tests ability to test the case where networks don't have a fork config. I would expect that we run some tests with as if the network was a hardfork network, and some tests as if the network wasn't a hardfork network, but not to do one or the other universally across tests.

Since the berkeley network itself would be a hard fork against the mainnet, so we want the integration tests to be closer to the actual conditions of which we deploy the network. That's why I added a hard fork config to all the integration tests.

Since the berkeley network itself would be a hard fork against the mainnet, so we want the integration tests to be closer to the actual conditions of which we deploy the network. That's why I added a hard fork config to all the integration tests.

We should still keep some integration tests on the non-hard-fork workflow, as we will continue to make non-hard-fork networks for testing purposes, and we don't want to break that workflow. If we have all integration tests testing the fork config workflow, we lose surface area into the non-hard-fork workflow in CI.


How to implement the most efficient convolution

hi @rosinality , thank you for your great contribution, the result is amazing, but the huge input/output channels(1024, 512, etc) make the convolution heavy and slow, how could we implement lightweight convolutions to slim the model? thank you.
Btw, there are some mobile/lightweight open sources, like MobileStyleGAN, anycost-gan, etc, but almost all these approaches are trying to decrease the channels, but unfortunately, this will also decrease the image quality, I just wonder if we could make a super lightweight convolution without decreasing the channels but still maintain similar results with StyleGAN2.

You can try depthwise convolutions, but generally depthwise convolution requires even more channels than standard convolutions.
I think you can try approaches like FastGAN.

Thank you for your kind help, yes, depthwise separable convolution maybe need even more channels, and it is difficult to replace ModulatedConv2d. Let me try FastGAN


Using streams in EhCache, Ignite and Jpa ticket registries. Using the…

… new Iterator.forEachRemaining method
Closes no issues
Following the discussion in #2779, I have migrated this 3 registries to use streams and used the new Iterator.forEachRemaining method in CouchBase

Fantastic. Thanks.


[SVCS-595] Clean Up Existing Type Annotation Failures

Ticket
https://openscience.atlassian.net/browse/SVCS-595
Purpose
Clean up existing type annotation failures for several providers:

Bitbucket
Box
Dataverse
figshare
File System
GitHub
Google Drive

This PR replaces: https://github.com/CenterForOpenScience/waterbutler/pull/320 and https://github.com/CenterForOpenScience/waterbutler/pull/314
h/t to @TomBaxter for the initial efforts
Changes
A 🐛 In Box
In addition to type annotation mentioned above, this PR fixed a bug in Box where ._intra_move_copy_metadata() calls a buggy ._get_folder_meta() that did
not call ._serialize_item() with correct arguments.
A 🐞 In path
I guess a long time ago path is of type str, which is probably the reason why there are many places where path is annotated or documented as str while  it should be WaterBulterPath or its sub classes. I only updated where I fixed the typing.
Minimal Style Update
Type annotation leads to longer lines, especially our code base. I try not to do a refactor by only changing a few things and only where I fixed the typing.

from ... import settings -> from ... import settings as pd_settings for all providers affected in this PR. I hate "shadowing" and pd stands for provider
import typing -> from typing import List, Sequence, Tuple, Union ....  This change significantly reduces the length of method definition line.
Similarly, for one or two providers, import ...metadata -> from ...metadata import ... and import ...path as wb_path -> from ...path import ...
Combine imports from waterbutler.core since there is no need for them to be separate.
If we use type annotation for a method, we should use it for all eligible args and for return type for that method.

Side effects
Update mypy from 0.560 to 0.580.
QA Notes
No QA
Deployment Notes
Nothing special

Coverage decreased (-0.03%) to 89.954% when pulling d1d4a9df7d85d4cedb3fc6ce6fb138c81e6b97fa on cslzchen:bug-fix/svcs-595-fix-mypy into 9abd9f63c6c33d12078fe2d0a906ddd2ea0a907d on CenterForOpenScience:develop.

Love it!  Thanks, @cslzchen and @TomBaxter!


Move R users of jupyter.utoronto.ca to r.datatools.utoronto.ca

We moved UToronto to have multiple hubs as part of https://github.com/2i2c-org/infrastructure/issues/1712, and set up r.datatools.utoronto.ca with a rocker based image. As part of https://github.com/2i2c-org/infrastructure/issues/2583, we want to simplify the images we maintain. We had already communicated to UToronto users that R is going to go away from jupyter.utoronto.ca, and we should use this opportunity to do that now.
Based on in-person conversations with @ntaback, the following schedule should work:

UToronto announces to all users (via their own mechanisms) that R will go away on August 15. This should be sent out by first week of July so they have time. Auguest 14 is last day of class for summer of Utoronto, and september 7 is first day of fall classes (source).
We merge https://github.com/2i2c-org/utoronto-image/pull/54, getting rid of R and simplifying everything else, on August 15.
If there are missing R packages, we sort them out over the next few weeks as requests come in. @ntaback should be able to corral them to us as needed.

https://2i2c.freshdesk.com/a/tickets/952 is the linked ticket. There is a plan outlined there on how to do this + timelines.

I tried to find a list of users who have ever used rstudio, and found that this way:

deployer exec-homes-shell utoronto prod. This spins up a pod with the utoronto homes be mounted under /home
Run this command to find all user home directories with a .rstudio directory created in them. I think this happens only if the user has ever used rstudio: k -n prod exec utoronto-prod-shell  -- /bin/bash -c "cd /home; find . -name '.rstudio' -maxdepth 2 -mindepth 2" > rstudio-homedirs-utoronto. This must be run in a different tab, while (1) is still running. It'll output to a file locally named rstudio-homedirs-utoronto.
The home directories are escaped, unescape them by first making this following script and calling it doirstudio.py:import sys
from escapism import unescape

for l in sys.stdin:
    print(unescape(l.split('/')[1], '-'))

Run it with: cat rstudio-homedirs-utoronto| python doirstudio.py > users-with-rstudio.txt
This produces a list of usernames, which may be either emails or LDAP oids (that would need to be mapped). There may be some duplicates as well.

I saw about 40122 home directories and 12658 of them had .rstudio in them. I'll pass on this list to them.

I have assigned @yuvipanda to this one since he has been working on this piece for some time. Additionally, I am adding @GeorgianaElena as a secondee to help @yuvipanda to get everything in place before the break.

Yep, most important part of this is really to finish https://github.com/2i2c-org/utoronto-image/pull/54 and roll it out to staging. Nothing else needed from our side.

There is a recent ticket that I think is relevant for this transition: https://2i2c.freshdesk.com/a/tickets/1185.

Plan for tomorrow!

[ ] Make sure that datatools.utoronto.ca is up and running (this is managed by the UToronto team, will await confirmation from them)
[ ] Merge https://github.com/2i2c-org/infrastructure/pull/3582 to bring in new images to prod
[ ] Merge https://github.com/2i2c-org/infrastructure/pull/3583 to fixup the home page
[ ] Watch for issues.

Soooo https://github.com/2i2c-org/infrastructure/pull/3531 nullifies https://github.com/2i2c-org/infrastructure/pull/3583, because the home page is never shown! So there's no redirect to their unified homepage, instead we just get shunted to the login page. This is important for nbgitpuller links to work for logged out users. We can work around this with some JS in their unified landing page, but I'd prefer to not. Let's communicate this to them and see what their desire is.

The daily active user count for the R hub overtook the daily user count for the python hub today, reflecting real usage levels I think.
This has been completed!


Enable Content-Encoding:gzip for api request

Environment
"nuxt": "3.2.0"
Reproduction
import compression from 'compression';
export default defineNitroPlugin((nitroApp) => {
console.log('Nitro plugin', nitroApp)
const { h3App } = nitroApp;
h3App.use(compression());
})
check the console:
[h3] Implicit event handler conversion is deprecated. Use eventHandler() or fromNodeMiddleware() to define event handlers.
Describe the bug
i want to gzip the api request response, the backend api and nginx already support gzip,but i check the api requset in nuxt, it's
Content-Encoding is disabled

Additional context
No response
Logs
No response

This should be the job of your platform or reverse proxy.
An opt-in compression (which will be likely be worse than what your NGINX/Apache/... in front of your nuxt app can offer) is WIP here https://github.com/unjs/nitro/issues/1007#issuecomment-1453362030


react-timer-mixin throws errors in production (_setter is not a function)

[x] Review the documentation: https://facebook.github.io/react-native
[x] Search for existing issues: https://github.com/facebook/react-native/issues
[x] Use the latest React Native release: https://github.com/facebook/react-native/releases

Environment
  React Native Environment Info:
    System:
      OS: macOS High Sierra 10.13.5
      CPU: x64 Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz
      Memory: 209.75 MB / 8.00 GB
      Shell: 3.2.57 - /bin/bash
    Binaries:
      Node: 10.6.0 - /usr/local/bin/node
      npm: 6.1.0 - /usr/local/bin/npm
      Watchman: 4.9.0 - /usr/local/bin/watchman
    SDKs:
      iOS SDK:
        Platforms: iOS 11.4, macOS 10.13, tvOS 11.4, watchOS 4.3
    IDEs:
      Android Studio: 3.1 AI-173.4819257
      Xcode: 9.4.1/9F2000 - /usr/bin/xcodebuild
    npmPackages:
      react: ^16.4.1 => 16.4.1
      react-native: ^0.56.0 => 0.56.0
    npmGlobalPackages:
      create-react-native-app: 1.0.0
      react-native-cli: 2.0.1

Description
When bundling for release on iOS, many some elements crash the app by just being there.
An error report gave an unreadable junk, but I managed to reproduce it on a "debug" version with full stack trace.
TypeError: _setter is not a function. (In _setter(function() {
  _clearer.call(this, id);

  callback.apply(this, arguments);
}.bind(this), delta)', '_setter' is undefined)

This error is located at:
  in TextInput (at Login.js:304)

react-timer-mixin is loaded in ListView, TextInput, TouchableWithoutFeedback.
Now react-timer-mixin tries to wrap timing functions. I thought that because setImmediate which specifically isn't available on iOS Safari, maybe it's failing on that, but it doesn't.
I managed to print out some data, pointing out that setImmediate is available, and requestAnimationFrame as well.
The function in react-timer-mixin is this:
var setter = function(_setter, _clearer, array) {
  return function(callback, delta) {
    var id = _setter(function() {
      _clearer.call(this, id);
      callback.apply(this, arguments);
    }.bind(this), delta);

    if (!this[array]) {
      this[array] = [id];
    } else {
      this[array].push(id);
    }
    return id;
  };
};

and there are 4 calls to it:
var _setTimeout = setter(GLOBAL.setTimeout, _clearTimeout, _timeouts);
var _setInterval = setter(GLOBAL.setInterval, function() {/* noop */}, _intervals);
var _setImmediate = setter(GLOBAL.setImmediate, _clearImmediate, _immediates);
var _requestAnimationFrame = setter(GLOBAL.requestAnimationFrame, _cancelAnimationFrame, _rafs);

Reproducible Demo
Let us know how to reproduce the issue. Include a code sample, share a project, or     share an app that reproduces the issue using https://snack.expo.io/. Please follow the guidelines for providing a

Create an empty react-native project.
Put a <TextInput /> on the screen
Run on device (from Xcode)
Make sure that the Metro packager is shut down.
Kill the app on the device, then run it again.
Now it should say "Loading from pre-bundled file...". Fortunately, that pre-bundled file has not been uglified.
It should immediately crash.

Uhm, wait a second: you mention

bundling for release on iOS

but then you write

Make sure that the Metro packager is shut down.
Kill the app on the device, then run it again.
Now it should say "Loading from pre-bundled file...". Fortunately, that pre-bundled file has not been uglified.

This is not how you create a release bundle for iOS.

Yes, but this is how I manage to have a "release" non-uglified version on the device, so I can see where the error actually comes from.
As the original error from the release version was "e is not a function", which is not that informative.

Anyway, I manually patched Metro, and I can confirm that https://github.com/facebook/metro/issues/197 fixes it!
Seems like the whole transition to the new babel introduced lots of issues, but this looks like the last of them.

Yes, but this is how I manage to have a "release" non-uglified version on the device, so I can see where the error actually comes from.

Uhm that's weird, but I guess that if it works it's great to learn this approach 🎉
Anyway, thanks for the feedback for that metro issue - hopefully a new minor metro release will fix, which potentially means that it won't be even needed to create a 0.56.1.

Seems like the whole transition to the new babel introduced lots of issues, but this looks like the last of them.

Not sure about this, I mean I think this fix may help a lot with the other open issue which is a big one since it influences the release builds.
Anyway any single step is still a step 💪

Yes it looks like all the issues until now are fixed by metro updates, no need for RN release.
I say that it looks like the last of them because I'm working on something with some friends, and a release based on 0.56 had lots of problems to get to an actual working version on a device - but now after solving this one it actually works. And it's an app with lots of native modules, customized stuff for iOS and Android, weird optimizations and so on. If it's working, then most other apps will probably work 😆


[libpqxx] add cxx20 feature

According discussion add cxx20 feature
https://github.com/jtv/libpqxx/issues/743#issuecomment-1794714813

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

https://github.com/microsoft/vcpkg-docs/blob/main/vcpkg/contributing/maintainer-guide.md#do-not-use-features-to-control-alternatives-in-published-interfaces
The library authors didn't really think about the scenario where CXX_STANDARD at build time != CXX_STANDARD at consumption time. This code https://github.com/jtv/libpqxx/blob/75868467f6808cd712144ebfa2ba26ebbf05e4cb/include/pqxx/internal/cxx-features.hxx#L27-L31 should be generated at build time.
The semi-correct way right now is to add this to your custom triplet and make sure that your project also builds with this flag:
if("${PORT}" STREQUAL "libpqxx")
    list(APPEND VCPKG_CMAKE_CONFIGURE_OPTIONS "-DCMAKE_CXX_STANDARD=23")
endif()


Publish on AppCenter

Thanks for this great script, worked out of the box on Loki!
Can you make this installer available on the new elementary AppCenter (https://github.com/elementary/appcenter) so that elementary-dropbox integration replaces the nautilus-dropbox installer there?

Sorry, but I have no plans to update this project anymore, since I'm currently not an elementary OS user.


v0.9.0

@Davide put a spell on this release please, do we believe that's something for a major version?
I think so!
anyway, spid-django seems right now to be quite "perfect" if you agree.
Feel free to do this release, I just started this PR
If you need to add commits on this PR feel free!

Hi @peppelinux,
it's better to switch the minor version (0.8 -> 0.9), but before closing this and publish the release i want try to have an option to run the demo with a non local address, providing an alternative configuration.


release v1.0.1

update v1.0.1 in update_information.json
Signed-off-by: LinHaiming<EMAIL_ADDRESS>

Maybe we can register a microsoft dev account to publish it to edge.
https://developer.microsoft.com/zh-cn/store/register
And the fee is $20(￥116).