Performance

With API server having 100k lines of code (2.89 MB), compiled jsc - 4.36 MB.
With bytenode:
avg rps: 14443.6
avg. latency: 0.22 ms

Without bytenode:
avg rps:  17303.64
avg latency: 0.08 ms

This maybe due to Bytenode itself, or the internals of v8 or node.
If it is Bytenode's fault, I guess it maybe because of this issue: https://github.com/OsamaAbbas/bytenode/pull/7 . I will do some tests and get back to you.

I made some huge .js files. However, there was some sort of repetition so I could not reproduce your problem (the .jsc files were extremely small and no big difference in performance). Also, I don't know how did you do the benchmark, so I used the simple time command.
So now we have two options:
Option A: You manually change the lines 88 and 175 in bytenode/index.js file, so that the dummyCode uses a plain space, like this:
dummyCode = '"' + " ".repeat(length - 2) + '"';
and repeat your tests. If you get the same lag we would know that the problem is NOT in bytenode itself.
Option B: I can do the tests if you know an open-source file that is as huge as your file, or at least you give me something I could use because I can't write 100k lines of code without repetition.

OK, all stats are averages.
Without bytenode:
9051.1 rps
0.39 ms

With bytenode:
8973.19 rps
0.42 ms

With modified bytenode:
9256.82 rps
0.36 ms

Seems it improves things :)

So, we need to modify it to use the plain space charachter when appropriate. I will change it in the new release, hopefully soon.
Thank you for the report.


Crashes when encountering comment blocks

When running against a file that contains comment blocks without jsdoc tags directly above a variable declaration that does not reference a function or class:
/**
 * Following label is used in the settings to describe values which should be
 * determined by the code while running, from the current data and graph style.
 *
 * Using 'undefined' directly achieves the same thing, but this is more
 * descriptive by describing the intent.
 */
var autoByDefault = undefined;

It appears to crash with:
/Users/mbroad/workspaces/vis/node_modules/dts-dom/bin/index.js:268
    throw new Error(err);
    ^

Error: Unknown declaration kind property
    at never (/Users/mbroad/workspaces/vis/node_modules/dts-dom/bin/index.js:268:11)
    at writeDeclaration (/Users/mbroad/workspaces/vis/node_modules/dts-dom/bin/index.js:780:28)
    at Object.emit (/Users/mbroad/workspaces/vis/node_modules/dts-dom/bin/index.js:276:5)
    at Emitter.emit (/Users/mbroad/workspaces/vis/node_modules/tsd-jsdoc/Emitter.js:65:24)
    at Object.publish (/Users/mbroad/workspaces/vis/node_modules/tsd-jsdoc/publish.js:25:39)
    at Object.module.exports.cli.generateDocs (/usr/local/lib/node_modules/jsdoc/cli.js:448:35)
    at Object.module.exports.cli.processParseResults (/usr/local/lib/node_modules/jsdoc/cli.js:399:20)
    at module.exports.cli.main (/usr/local/lib/node_modules/jsdoc/cli.js:240:14)
    at Object.module.exports.cli.runCommand (/usr/local/lib/node_modules/jsdoc/cli.js:189:5)
    at /usr/local/lib/node_modules/jsdoc/jsdoc.js:105:9
    at Object.<anonymous> (/usr/local/lib/node_modules/jsdoc/jsdoc.js:106:3)
    at Module._compile (module.js:573:30)
    at Object.Module._extensions..js (module.js:584:10)
    at Module.load (module.js:507:32)
    at tryModuleLoad (module.js:470:12)
    at Function.Module._load (module.js:462:3)

I've been able to work around the issue by adding the @ignore tag to the comment block.

Thanks for the report, I'll make sure to handle this more gracefully.

v2 was just released and this seems to be working as expected now.


Debian 10 Buster: "ofc-bootstrap apply" failure on k8s.GetNodeArchitecture()

Expected Behaviour

I have read the README, set up my configuration details for each individual item using Digital Ocean. When I run ofc-bootstrap apply --file init.yaml I expect to get past the initialization.
Current Behaviour

I have read the README, set up my configuration details for each individual item using Digital Ocean. When I run ofc-bootstrap apply --file init.yaml in the ofc-bootstrap directory it results in Error: unable to detect node architecture. Do not run as root, or directly on a Kubernetes master node. I am not running as root or on a Kubernetes master node. I looked into the "GetNodeArchitecture()" function which runs a kubectl get nodes. When I run the command manually, I get some expected output showing my K8S cluster and nodes, including the architecture.
I have also tried different binary versions of kubectl and there is no difference in the error. I have tried the Snap version of kubectl as well as manually installed kubectl given the instructions here: https://kubernetes.io/docs/tasks/tools/install-kubectl/
Possible Solution

I suspect this is due to output parsing from the "GetNodeArchitecture" function here https://github.com/alexellis/arkade/blob/master/pkg/k8s/kubernetes_exec.go
Steps to Reproduce (for bugs)

Set up a minimal init.yaml on a Debian 10 system.
Run ofc-bootstrap apply --file init.yaml and view the result showing the failed initialization step.

Context

I am trying to set up my own social network using telar social and I want to set up my own computing resources using this ofc-bootstrap tool. I really like this architecture and would like to use this instead of some of the other PHP/Server based social media open source architectures.
Your Environment

Operating System and version (e.g. Linux, Windows, MacOS):
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

faas-cli version ( full output ):
CLI:
commit:  598336a0cad38a79d5466e6a3a9aebab4fc61ba9
version: 0.12.21

ofc-bootstrap version ( full output ):
ofc-bootstrap

Bootstrap your own self-hosted OpenFaaS Cloud
Commit:
Version: dev

Kubernetes version kubectl version:
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.1", GitCommit:"c4d752765b3bbac2237bf87cf0b1c2e307844666", GitTreeState:"clean", BuildDate:"2020-12-18T12:09:25Z", GoVersion:"go1.15.5", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:41:49Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"linux/amd64"}

What kind of Kubernetes service or distribution are you using?
Digital Ocean

Link to your project or a code example to reproduce issue:
I don't have this code posted, it is just the latest master version of ofc-bootstrap.

Please also follow the OpenFaaS Cloud self-hosted troubleshooting guide and paste in any other diagnostic information you have:

init.yaml (obscure your secrets, but leave domains in place):

secrets:
  ### Generated secrets (do not edit)
  - name: s3-secret-key
    literals:
      - name: s3-secret-key
    filters:
      - "default"
    namespace: "openfaas-fn"
  - name: s3-access-key
    literals:
      - name: s3-access-key
    filters:
      - "default"
    namespace: "openfaas-fn"
  - name: basic-auth
    literals:
      - name: basic-auth-user
        value: admin
      - name: basic-auth-password
        value: ""
    filters:
      - "default"
    namespace: "openfaas"
  - name: "payload-secret"
    literals:
      - name: payload-secret
        value: ""
    filters:
      - "default"
    namespace: "openfaas"
  - name: "jwt-private-key"
    files:
      - name: "key"
        value_from: "./tmp/key"
        value_command: "openssl ecparam -genkey -name prime256v1 -noout -out ./tmp/key"
    filters:
      - "auth"
    namespace: "openfaas"
  - name: "jwt-public-key"
    files:
      - name: "key.pub"
        value_from: "./tmp/key.pub"
        value_command: "openssl ec -in ./tmp/key -pubout -out ./tmp/key.pub"
    filters:
      - "auth"
    namespace: "openfaas"

  ### User-input
  ### In this section, you must populate all your secrets or secret file-locations
  ### and your desired configuration.
  ### For more information see: https://github.com/openfaas/openfaas-cloud/tree/master/docs

  ## This value is used by Github to talk to system-github-event, the password will be
  ## generated if left blank. Alternatively, you can enter a password here of your own.
  ## Enter it into the GitHub App's UI.
  - name: "github-webhook-secret"
    literals:
      - name: "github-webhook-secret"
        value: ""
    filters:
      - "scm_github"
    namespace: "openfaas-fn"

  # Download from GitHub App on GitHub UI
  - name: "private-key"
    files:
      - name: "private-key"
        value_from: ""
    filters:
      - "scm_github"
    namespace: "openfaas-fn"
  # Populate your OAuth client_secret
  - name: "of-client-secret"
    literals:
      - name: of-client-secret
        value: ""
    filters:
      - "auth"
    namespace: "openfaas"

  # Enter your GitLab Webhook secret and API token
  - name: "gitlab-webhook-secret"
    literals:
      - name: "gitlab-webhook-secret"
        value: ""
    filters:
      - "scm_gitlab"
    namespace: "openfaas-fn"
  - name: "gitlab-api-token"
    literals:
      - name: "gitlab-api-token"
        value: ""
    filters:
      - "scm_gitlab"
    namespace: "openfaas-fn"

 # DNS Service Account secret for DNS01 (wildcard) challenge

  ## Use DigitalOcean
  ### Create a Personal Access Token and save it into a file, with no new-lines
  - name: "digitalocean-dns"
    files:
      - name: "access-token"
        value_from: ""
    filters:
      - "do_dns01"
    namespace: "cert-manager"

  # Used by Buildkit to push images to your registry
  - name: "registry-secret"
    files:
      - name: "config.json"
        value_from: "./credentials/config.json"
    filters:
      - "default"
    namespace: "openfaas"

  # Used to pull functions / images to nodes by Kubernetes
  - name: "registry-pull-secret"
    files:
      - name: ".dockerconfigjson"
        value_from: "./credentials/config.json"
    namespace: "openfaas-fn"
    filters:
      - "default"
    type: "kubernetes.io/dockerconfigjson"

## If not using a HTTPS URL, then set a list of CUSTOMERS
## To use this set "value_from" to a real file path, and put in a list (each item on a new line) of usernames, without other whitespace
  - name: "customers"
    files:
      - name: "customers"
        value_from: ""
    namespace: "openfaas-fn"
    filters:
      - "default"

### Docker registry
#### This can be any cluster accessible by your cluster. To populate the file
#### run `docker login` with "store in keychain" turned off in Docker Desktop.
#### This can also be your private registry
#### Format: registry/username/ - i.e. replace ofctest with your login

registry: https://hub.docker.com/repository/docker/aemuluswardwell/abyssal-plane/

### Use a secret instead of a publicly accessible URL for the ACL
### of valid users.
customers_secret: false

### Enable only if using AWS ECR
enable_ecr: false

### Change if your using ECR
ecr_config:
  ### The region to use for ECR
  ecr_region: "eu-central-1"

### Your root DNS domain name, this can be a sub-domain i.e. staging.o6s.io / prod.o6s.io
root_domain: "myfaas.club"

## Ingress into OpenFaaS Cloud

### Keep active if using a cluster with a LoadBalancer available.
ingress: loadbalancer

### Uncomment if using on-premises or a host/cloud without a loadbalancer
# ingress: host

## Define the custom templates available for your users
### If needed edit the git-tar Deployment after running the tool
deployment:
  custom_templates:
    - "https://github.com/openfaas-incubator/golang-http-template.git"
    - "https://github.com/openfaas-incubator/node10-express-template.git"
    - "https://github.com/openfaas-incubator/python-flask-template.git"
    - "https://github.com/openfaas-incubator/ruby-http"

## Source Control Management
### Pick either github or gitlab
scm: github
# scm: gitlab

## Populate from GitHub App
github:
  app_id: "93345"
  public_link: "https://github.com/apps/pyrocumulusoverstyx"

## GitLab
### Public URL for your GitLab instance with a trailing slash
gitlab:
  gitlab_instance: "https://gitlab.o6s.io/"

## Enable auth:
### When enabled users must log in with a valid GitHub account and be present in the
### customers file to view any dashboard
enable_oauth: false

## Populate from OAuth App
oauth:
  client_id: ""

  ## For GitLab put your OAuth provider base URL
  # oauth_provider_base_url: "https://gitlab.o6s.io"

  ## For GitHub leave blank
  oauth_provider_base_url: ""

## Slack
### You can set your own url to get an audit trail in your Slack workspace
### You can edit this after deployment if needed in the audit function
slack:
  url: http://gateway.openfaas23432423:8080/function/echo

### Users allowed to access your OpenFaaS Cloud
#### ACL for your users, it must be a raw text file or GitHub RAW URL
#### At time of writing this _must_ be a public repo URL
customers_url: "https://raw.githubusercontent.com/AemulusWardwell/ts-ui/master/allowed_users"

##  S3 configuration
### Build logs from buildkit are stored in S3
### Defaults to in-cluster deployment of Minio. AWS S3 is also possible
s3:
  s3_url: minio.openfaas.svc.cluster.local:9000
  s3_region: us-east-1
  s3_tls: false
  s3_bucket: pipeline

## TLS
tls: true
tls_config:
  # issuer_type: "prod"

  issuer_type: "staging"
  email<EMAIL_ADDRESS>
  ## Select DNS web service between Amazon Route 53 (route53) and Google Cloud DNS (clouddns)
  # by uncommenting the required option

  ### DigitalOcean
  dns_service: digitalocean

## Dockerfile language support
### Use with caution, it allows any workload to be built and run
enable_dockerfile_lang: false

## Set to true to enable scaling to zero
### When enabled, all functions are included by default, to turn off add a label
### of com.openfaas.scale.zero: "false"
scale_to_zero: false

## Enable network policies
### Prevents functions from talking to the openfaas namespace, and to each other.
### Use the ingress address for the gateway or the external IP instead.
network_policies: false

## Branch that OpenFaaS Cloud will build and deploy
## You should change this if you want a different branch to be built and deployed instead of master
build_branch: master

## This setting, if true, will install the openfaas ingress-operator using the openfaas-fn namespace
## for finding functions, creating Ingress records in the openfaas namespace
ingress_operator: false

## Version of OpenFaaS Cloud from https://github.com/openfaas/openfaas-cloud/releases/
### Usage: release tag, a SHA or branch name
openfaas_cloud_version: 0.14.6

## This setting, if true, will deploy OpenFaaS and use the OpenFaaS operator CRD controller,
## default uses faas-netes as the Kubernetes controller
openfaas_operator: false

Is anybody out there? Did I format my ticket poorly? I'm happy to provide more information.

Is anybody out there? Did I format my ticket poorly? I'm happy to provide more information.

Hi there, we don't provide technical support on GitHub, you'd be better participating actively in the community and starting a discussion on Slack.

Hi there, we don't provide technical support on GitHub, you'd be better participating actively in the community and starting a discussion on Slack.

/msg: slack

/msg: slack

Outside of commercial support, there is no SLA for issues or PRs.
Please read "Setting expectations, support and SLAs"

Outside of commercial support, there is no SLA for issues or PRs.
Please read "Setting expectations, support and SLAs"

PRs are also welcome if you want to work on a fix for your use-case.

PRs are also welcome if you want to work on a fix for your use-case.

Thanks for the comments! I'll reach out on slack instead. If I can resolve the issue with some code and it's not a configuration thing I'll open a PR.

Thanks for the comments! I'll reach out on slack instead. If I can resolve the issue with some code and it's not a configuration thing I'll open a PR.

@AemulusWardwell
I am also seeing this issue. Let me know if you were able to resolve!


fail with determineEncoding() in Validator

This function compare mb_list_encodings() with the encoding asked. But the funcion generates a list in uperscore. And the encoding is in lowerscore.
The funcion has bool $caseSensitive but... is not configurable. Atleast I dont see how configure StringDecoder using it from Php-Html-Parser

I find the problem the html has:
<meta charset="utf-8" />
And chooses the codification in lowerscore. So, now i have to replace that meta-tag before inserting the string in php-html-parser.


Consistent .measure API for ScrollView

I would like to allow for any renderable view to be passed in as a component type used in a module, right now the only problem with this approach is that .measure is not present in ScrollView.
I would expect .measure on the ScrollView component to redirect itself to its container, since that is just an implementation detail of the ScrollView.
My current solution is to allow for a function: reachContainer(element: view) prop that gets called and returns the actual measurable container, for this specific case, which is obviously worse than just having a consistent api.
Is .measure just an implementation detail that I shouldn't be using, or is it the defacto api for getting layout details after rendering, if so i'd argue it should be consistent.

This appears to be even more complicated than I realized, custom components also do not have a .measure API, nor do they have a standard way of reaching the native view, so as to grab their measures. Am I missing some way to do this? I inspected the element through the dev tools and I could not find how this would be done in a standard way, and I do not want people to have to implement a custom getNativeView interface just to use their components as children in mine.

@JohnyDays you can add a ref to the element you render and call measure on this. https://facebook.github.io/react/docs/more-about-refs.html

Actually the element does not have a .measure function, I am already using refs.
A snippet of the code I am using as a temporary solution:
layouts.push(new Promise((resolve, reject) => {

  if(!view.getNodeHandle){
    if(!view.getNativeView){
      throw new Error("Non-native views must implement getNativeView")
    }
    var handle = view.getNativeView().getNodeHandle()
  }
  else{
    var handle = view.getNodeHandle()
  }

  RCTUIManager.measure(handle, (x, y, width, height, pageX, pageY) => {resolve({key, value:{x, y, width, height, pageX, pageY}})})
}))

In the above code, the variable "view" contains an element obtained through a ref

@vjeux From your comment, am I correct in assuming any rendered component grabbed from a ref should have a .measure function? If so, maybe this should be reported as a bug, because none of my custom components do, and neither does the ScrollView native component (I am using ES6 classes, maybe this is related?)

Your reading of my comment is correct but i was actually wrong. We need the equivalent of React.findDOMNode() for React Native

So in order to implement this, I would assume you would save a unique integer representation of every rendered component, and then asynchronously grab it from some kind of manager in Obj-C, and serialize it through the bridge, correct? e.g
React.findComponent(int: handle, callback: callback)

Given the performance cost this kind of communication/serializing has, I have a few proposals, tell me if I should open a new issue for these.
I think there should be either a React.findComponents(array: ids, callback) or React.findComponents(...ids, callback), so we would only have to pay the cost once.
An even better option, albeit I don't know how easy this would be to implement in obj-c, would be one where no actual serializing of components occurs through the bridge, so as to not allocate unnecessary memory and waste cpu resources, my proposed solution would be the following:
React.callNativeMethodOnComponent(int: id, string: methodName, callback(result): callback)

and an equivalent to the above
React.callNativeMethodOnComponents(array: ids, string: methodName, callback(result): callback)

This would completely remove any costs of serializing components through the bridge, since we only really care about the result of one call to a component method in some cases. An example of this would be for layout purposes, where we only care about the result of .measure() (Whatever this method is called natively) and not about the rest of the component.
Thoughts? Also, what can I do to help?

ping @vjeux

I should close this, since the latest version of react this has been implemented. Thanks @vjeux!

@JohnyDays might you know, where's the commit(s) that address this? I'd love that feature :-)

Not sure what the specific commit is, but It's in these release notes https://github.com/facebook/react-native/releases/tag/v0.4.3 (the new api is React.findNodeHandle(ref))


Delete Jawn

Separate PR to delete the jawn project.

Current coverage is 94.36%

Merging #314 into master will change coverage by 0% by 5c92c61

Powered by Codecov

:+1: from me.

Nice!

Current coverage is 94.36%

Merging #314 into master will change coverage by 0% by 5c92c61

Powered by Codecov


[release/2.0.x] Fix installation location of header file eosio.version.hpp

Fixes #8280. eosio.version.hpp now, by default, installs in directory /usr/local/include/eosio/, as opposed to /usr/local/include/.

Rebasing and force pushing to get latest CI to run.

@jeffreyssmith2nd are you going to review this to get it over the finish line, since you reviewed the changes that went into develop?

@jeffreyssmith2nd are you going to review this to get it over the finish line, since you reviewed the changes that went into develop?

Thanks for the reminder, this is good to go in today.


cv page changes

either remove this page or update it with a current CV.

if this page is going to stay in use be sure to change the cv-pdf page with it


Better support for portals & CSS-in-JS

Currently (because of mutation observer), it's possible to have FOUC when using CSS-in-JS because styles are copied with small delay. It might be good idea to implement custom Sheet and Tag to support multiple targets for injection.
Related:
https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/sheet/Sheet.ts#L78C41-L78C41
https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/sheet/Tag.ts#L5

Fixes for styles-components, still need to work on emotion
Probably will need to implement custom cache https://github.com/emotion-js/emotion/blob/main/packages/cache/src/index.js


[Bug]

$ echo $SEED | atto -a 0 b
Error: json: cannot unmarshal array into Go struct field internalPending.blocks of type map[string]atto.pendingBlock

I've tried to troubleshoot but the best I can figure the offending bug is somewhere here;
https://github.com/codesoap/atto/blob/ee338fbf358690f249197eb2d29ade720572ad92/pending.go#L19-L47

Seems interesting, the JSON formatting looks fine;
{
    "frontier": "",
    "open_block": "",
    "representative_block": "",
    "balance": "",
    "modified_timestamp": "",
    "block_count": "",
    "account_version": "",
    "confirmation_height": "",
    "confirmation_height_frontier": "",
    "balance_nano": "",
    "username": ""
}

Thanks for chiming in, @nano2dev! I have tested the problematic requests with your node and was able to reproduce the problem. When there are pending blocks/receivables, the response is as expected:
$ curl -s -H 'Content-Type: application/json' \
    -d '{
        "action": "pending",
        "account": "nano_3zxjpc798ts7ist3wuzp1wx8rbawpgf9ysoz91khjigubdj435ss7k4bubac",
        "include_only_confirmed": "true",
        "source": "true"
    }' https://rpc.nano.to | jq .
{
  "deprecated": "1",
  "blocks": {
    "8C7C28AD6CE62A1BF7B419F0898047E7E7E6BE895FC4104DCEBD34FA3FE92D72": {
      "amount": "100000000000000000000000000000",
      "source": "nano_1b6st6e5duu763g9m5px5jfhjesw6hdbceka8pg5fxn58fhucqy1u9wsapir"
    }
  }
}

However, if there is nothing to receive, blocks is an empty array ([]) instead of an empty object ({}). This seems like a bug to me since "source": "true" was requested:
curl -s -H 'Content-Type: application/json' \
    -d '{
        "action": "pending",
        "account": "nano_3zxjpc798ts7ist3wuzp1wx8rbawpgf9ysoz91khjigubdj435ss7k4bubac",
        "include_only_confirmed": "true",
        "source": "true"
    }' https://rpc.nano.to | jq .
{
  "deprecated": "1",
  "blocks": []
}

What software are you running your node with? Is it https://github.com/nanocurrency/nano-node ? I want to report this bug.

@nano2dev I think we have a misunderstanding. The response to the pending/receivable action should indeed contain an array below blocks for "regular" requests. However, as you can see in the (first) example of my previous comment and in the documentation, when "source": "true" is specified in the request, the response should not contain an array below blocks, but an object instead.
Am I understanding it correctly, that you have explicitly configured your node to deviate from the behavior of the official node, https://github.com/nanocurrency/nano-node ?

@zQueal I'm closing this issue for now. Esteban has explained that the bug stems from a modification to the protocol, that he has made for his node. I don't want to support inofficial RPC responses in atto, so I'm afraid that https://rpc.nano.to/ is not a good node to use with atto.
If you still want to use this node, you can apply this patch to your version of atto and everything should work again: bdb6338c264b8baadcc8c256fb68623b7aa94b73

I appreciate the patch (and wil use it for testing), but I have to agree. Deviating from the official protocol is too dangerous for anything other than testing.
Thanks for your time.

Not really sure what the hostility is for...everyone is perfectly cognizant of what an RPC proxy is. But even your website says specifically "PUBLIC NANO NODE" and not "PUBLIC NANO PROXY" so you'll have to excuse the confusion... In the end you're altering the accepted and default schema sent by the node through your proxy, which causes bugs for people not expecting that behavior. As clearly evidenced here. It's your right to do, but you go through great lengths to confuse your end users--even saying explicitly that they're interfacing with a node. 🤷🏻♂
But this really isn't the place for that kind of discussion, I guess. I appreciate the service.


[Bug]: FastAPI 0.113.0 breaks vLLM OpenAPI

Your current environment

The output of `python collect_env.py`
Collecting environment information...
WARNING 09-05 21:11:49 cuda.py:22] You are using a deprecated `pynvml` package. Please install `nvidia-ml-py` instead, and make sure to uninstall `pynvml`. When both of them are installed, `pynvml` will take precedence and cause errors. See https://pypi.org/project/pynvml for more information.
WARNING 09-05 21:11:49 _custom_ops.py:18] Failed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'")
/vllm/vllm/connections.py:8: RuntimeWarning: Failed to read commit hash:
No module named 'vllm.commit_id'
  from vllm.version import __version__ as VLLM_VERSION
PyTorch version: 2.4.0a0+3bcc3cddb5.nv24.07
Is debug build: False
CUDA used to build PyTorch: 12.5
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.4 LTS (aarch64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: version 3.30.0
Libc version: glibc-2.35

Python version: 3.10.12 (main, Jul 29 2024, 16:56:48) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-6.5.0-1024-nvidia-64k-aarch64-with-glibc2.35
Is CUDA available: True
CUDA runtime version: 12.5.82
CUDA_MODULE_LOADING set to: LAZY
GPU models and configuration: GPU 0: NVIDIA GH200 480GB
Nvidia driver version: 560.35.03
cuDNN version: Probably one of the following:
/usr/lib/aarch64-linux-gnu/libcudnn.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_adv.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_cnn.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_engines_precompiled.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_engines_runtime_compiled.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_graph.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_heuristic.so.9.2.1
/usr/lib/aarch64-linux-gnu/libcudnn_ops.so.9.2.1
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                       aarch64
CPU op-mode(s):                     64-bit
Byte Order:                         Little Endian
CPU(s):                             72
On-line CPU(s) list:                0-71
Vendor ID:                          ARM
Model name:                         Neoverse-V2
Model:                              0
Thread(s) per core:                 1
Core(s) per socket:                 72
Socket(s):                          1
Stepping:                           r0p0
Frequency boost:                    disabled
CPU max MHz:                        3492.0000
CPU min MHz:                        81.0000
BogoMIPS:                           2000.00
Flags:                              fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma lrcpc dcpop sha3 sm3 sm4 asimddp sha512 sve asimdfhm dit uscat ilrcpc flagm ssbs sb paca pacg dcpodp sve2 sveaes svepmull svebitperm svesha3 svesm4 flagm2 frint svei8mm svebf16 i8mm bf16 dgh bti
L1d cache:                          4.5 MiB (72 instances)
L1i cache:                          4.5 MiB (72 instances)
L2 cache:                           72 MiB (72 instances)
L3 cache:                           114 MiB (1 instance)
NUMA node(s):                       9
NUMA node0 CPU(s):                  0-71
NUMA node1 CPU(s):
NUMA node2 CPU(s):
NUMA node3 CPU(s):
NUMA node4 CPU(s):
NUMA node5 CPU(s):
NUMA node6 CPU(s):
NUMA node7 CPU(s):
NUMA node8 CPU(s):
Vulnerability Gather data sampling: Not affected
Vulnerability Itlb multihit:        Not affected
Vulnerability L1tf:                 Not affected
Vulnerability Mds:                  Not affected
Vulnerability Meltdown:             Not affected
Vulnerability Mmio stale data:      Not affected
Vulnerability Retbleed:             Not affected
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass:    Mitigation; Speculative Store Bypass disabled via prctl
Vulnerability Spectre v1:           Mitigation; __user pointer sanitization
Vulnerability Spectre v2:           Not affected
Vulnerability Srbds:                Not affected
Vulnerability Tsx async abort:      Not affected

Versions of relevant libraries:
[pip3] numpy==1.24.4
[pip3] nvidia-cudnn-frontend==1.5.1
[pip3] nvidia-dali-cuda120==1.39.0
[pip3] nvidia-ml-py==12.560.30
[pip3] nvidia-modelopt==0.13.0
[pip3] nvidia-nvimgcodec-cu12==<IP_ADDRESS>
[pip3] nvidia-pyindex==1.0.9
[pip3] onnx==1.16.0
[pip3] optree==0.12.1
[pip3] pynvml==11.4.1
[pip3] pytorch-triton==3.0.0+989adb9a2
[pip3] pyzmq==26.0.3
[pip3] torch==2.4.0a0+3bcc3cddb5.nv24.7
[pip3] torch-tensorrt==2.5.0a0
[pip3] torchvision==0.19.0a0
[pip3] transformers==4.44.2
[pip3] triton==3.0.0
[conda] Could not collect
ROCM Version: Could not collect
Neuron SDK Version: N/A
vLLM Version: 0.6.0@COMMIT_HASH_PLACEHOLDER
vLLM Build Flags:
CUDA Archs: 9.0+PTX; ROCm: Disabled; Neuron: Disabled
GPU Topology:
GPU0    NIC0    NIC1    CPU Affinity    NUMA Affinity   GPU NUMA ID
GPU0     X      NODE    NODE    0-71    0               1
NIC0    NODE     X      PIX
NIC1    NODE    PIX      X

Legend:

  X    = Self
  SYS  = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
  NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
  PHB  = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
  PXB  = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
  PIX  = Connection traversing at most a single PCIe bridge
  NV#  = Connection traversing a bonded set of # NVLinks

NIC Legend:

  NIC0: mlx5_0
  NIC1: mlx5_1

🐛 Describe the bug
FastAPI released 0.113.0 about 5 hours ago. This release has a major refactor of Pydantic support. It appears this causes a Pydantic failure with the OpenAI-API calling.
Confirmed that reverting to FastAPI 0.112.2 resolves the problem (pip install fastapi==0.112.2).
Here are logs on the failure:
INFO:     <IP_ADDRESS>:40700 - "GET /v1/models HTTP/1.1" 200 OK
INFO:     <IP_ADDRESS>:39032 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 277, in _init_core_attrs
    self._core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 119, in _getattr_no_parents
    raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 73, in app
    response = await f(request)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 291, in app
    solved_result = await solve_dependencies(
  File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 639, in solve_dependencies
    ) = await request_body_to_args(  # body_params checked above
  File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 810, in request_body_to_args
    fields_to_extract = get_model_fields(first_field.type_)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 283, in get_model_fields
    return [
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 284, in <listcomp>
    ModelField(field_info=field_info, name=name)
  File "<string>", line 6, in __init__
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 109, in __post_init__
    self._type_adapter: TypeAdapter[Any] = TypeAdapter(
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 264, in __init__
    self._init_core_attrs(rebuild_mocks=False)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 142, in wrapped
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 284, in _init_core_attrs
    self._core_schema = _get_schema(self._type, config_wrapper, parent_depth=self._parent_depth)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 102, in _get_schema
    schema = gen.generate_schema(type_)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 768, in _generate_schema_inner
    return self._annotated_schema(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1822, in _annotated_schema
    schema = self._apply_annotations(source_type, annotations)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1890, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1968, in <lambda>
    lambda source, handler: handler(source)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_std_types_schema.py", line 316, in __get_pydantic_core_schema__
    items_schema = handler.generate_schema(self.item_source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 97, in generate_schema
    return self._generate_schema.generate_schema(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 871, in match_type
    return self._match_generic_type(obj, origin)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 895, in _match_generic_type
    return self._union_schema(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1207, in _union_schema
    choices.append(self.generate_schema(arg))
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 837, in match_type
    return self._typed_dict_schema(obj, None)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1309, in _typed_dict_schema
    for field_name, annotation in get_type_hints_infer_globalns(
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_fields.py", line 57, in get_type_hints_infer_globalns
    return get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras)
  File "/usr/lib/python3.10/typing.py", line 1833, in get_type_hints
    value = _eval_type(value, base_globals, base_locals)
  File "/usr/lib/python3.10/typing.py", line 327, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
  File "/usr/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
TypeError: 'pydantic_core._pydantic_core.PydanticUndefinedType' object is not subscriptable
INFO:     <IP_ADDRESS>:39048 - "POST /v1/chat/completions HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 277, in _init_core_attrs
    self._core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 119, in _getattr_no_parents
    raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/protocols/http/httptools_impl.py", line 401, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.10/dist-packages/uvicorn/middleware/proxy_headers.py", line 70, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/applications.py", line 113, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 187, in __call__
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/errors.py", line 165, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/middleware/exceptions.py", line 62, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 715, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 735, in app
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 288, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 76, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 62, in wrapped_app
    raise exc
  File "/usr/local/lib/python3.10/dist-packages/starlette/_exception_handler.py", line 51, in wrapped_app
    await app(scope, receive, sender)
  File "/usr/local/lib/python3.10/dist-packages/starlette/routing.py", line 73, in app
    response = await f(request)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/routing.py", line 291, in app
    solved_result = await solve_dependencies(
  File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 639, in solve_dependencies
    ) = await request_body_to_args(  # body_params checked above
  File "/usr/local/lib/python3.10/dist-packages/fastapi/dependencies/utils.py", line 810, in request_body_to_args
    fields_to_extract = get_model_fields(first_field.type_)
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 283, in get_model_fields
    return [
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 284, in <listcomp>
    ModelField(field_info=field_info, name=name)
  File "<string>", line 6, in __init__
  File "/usr/local/lib/python3.10/dist-packages/fastapi/_compat.py", line 109, in __post_init__
    self._type_adapter: TypeAdapter[Any] = TypeAdapter(
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 264, in __init__
    self._init_core_attrs(rebuild_mocks=False)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 142, in wrapped
    return func(self, *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 284, in _init_core_attrs
    self._core_schema = _get_schema(self._type, config_wrapper, parent_depth=self._parent_depth)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/type_adapter.py", line 102, in _get_schema
    schema = gen.generate_schema(type_)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 768, in _generate_schema_inner
    return self._annotated_schema(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1822, in _annotated_schema
    schema = self._apply_annotations(source_type, annotations)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1890, in _apply_annotations
    schema = get_inner_schema(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1968, in <lambda>
    lambda source, handler: handler(source)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_std_types_schema.py", line 316, in __get_pydantic_core_schema__
    items_schema = handler.generate_schema(self.item_source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_schema_generation_shared.py", line 97, in generate_schema
    return self._generate_schema.generate_schema(source_type)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 871, in match_type
    return self._match_generic_type(obj, origin)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 895, in _match_generic_type
    return self._union_schema(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1207, in _union_schema
    choices.append(self.generate_schema(arg))
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 837, in match_type
    return self._typed_dict_schema(obj, None)
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 1309, in _typed_dict_schema
    for field_name, annotation in get_type_hints_infer_globalns(
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_fields.py", line 57, in get_type_hints_infer_globalns
    return get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras)
  File "/usr/lib/python3.10/typing.py", line 1833, in get_type_hints
    value = _eval_type(value, base_globals, base_locals)
  File "/usr/lib/python3.10/typing.py", line 327, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
  File "/usr/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
TypeError: 'pydantic_core._pydantic_core.PydanticUndefinedType' object is not subscriptable

Before submitting a new issue...

[X] Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.

I believe I was able to find a solution to this. It is related to OpenAI-Python #1454
Not sure why it works with fastapi 0.112.2 but fails in 0.113.0
Problem line:
https://github.com/vllm-project/vllm/blob/main/vllm/entrypoints/openai/api_server.py#L286
async def create_chat_completion(request: ChatCompletionRequest,
                                 raw_request: Request):

Confirmed Fix:
async def create_chat_completion(request: Annotated[dict, ChatCompletionRequest],
                                 raw_request: Request):

I'll make a PR on this and reference the issue. Can also add some try/catch with TypeAdapter validation, unless it's seen as unnecessary or impacts performance.

Minimal example of triggering the issue:
Quick guide to running the latest vllm-openai container, upgrading fastapi, and triggering the issue. Also includes instructions to quickly change to editable mode
Pre-requisites:

Requires system with GPU and ability to pass GPU into docker container (e.g. nvidia-container-toolkit)

Download and start the latest vllm container:
docker run --gpus all -it --rm --network=host --ipc=host --entrypoint /bin/bash vllm/vllm-openai:latest

Working Example with 0.112.2:
Show current fastapi version:
python3 -c "import fastapi; print(fastapi.__version__)"
0.112.2

Start server with small model
python3 -m vllm.entrypoints.openai.api_server --model facebook/opt-125m

POST to 'v1/chat/completions'
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "facebook/opt-125m",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"}
]
}'

Non-working example after upgrading fastapi:
Upgrade fastapi to 0.113.0 or higher
pip install --upgrade fastapi==0.113.0

Start openai-compatible api_server:
python3 -m vllm.entrypoints.openai.api_server --model facebook/opt-125m

From outside the container, attempt POST to 'v1/chat/completions':
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "facebook/opt-125m",
"messages": [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who won the world series in 2020?"}
]
}'

Dev setup using pre-compiled C-binaries (saves hours of compiling when running pip install -e .):
Start docker container as above.

Run API server
python3 ./vllm/entrypoints/openai/api_server.py --model facebook/opt-125m

Example of an inference request:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
  "model": "facebook/opt-125m",
  "messages": [
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Who won the world series in 2020?"}
  ],
  "chat_template": "{% if messages[0][\"role\"] == \"system\" %}{{ messages[0][\"content\"] }}\n{% endif %}{% for message in messages[1:] %}{% if message[\"role\"] == \"user\" %}Human: {{ message[\"content\"] }}\n{% elif message[\"role\"] == \"assistant\" %}Assistant: {{ message[\"content\"] }}\n{% endif %}{% endfor %}Assistant:",
  "max_tokens": 100
}'

I resolved the issue by downgrading FastAPI to version 0.111.0:
pip install fastapi==0.111.0

For reference, I'm using vllm==0.6.0.

A few things I noticed:

these issues seem to be related to this change: https://github.com/fastapi/fastapi/commit/aa21814a89853c17c139054a5c51f0bb1ea68a0a  (that new get_model_fields() list comprehension)
this particular issue seems to happen around TypedDicts; from stack trace above:

# ...
File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_generate_schema.py", line 837, in match_type
    return self._typed_dict_schema(obj, None)

This may be a red herring, but wondering if there's some weirdness with Required or similar TypedDict hints.
Anyway, smallest reproducible example:
$ pip install vllm==0.6.0 fastapi==0.113.0 pydantic==2.8.2
$ python

Python 3.11.4 (main, Nov 28 2023, 16:28:36) [Clang 15.0.0 (clang-15<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from fastapi._compat import get_model_fields
>>> from vllm.entrypoints.openai.protocol import ChatCompletionRequest
INFO 09-10 02:16:23 importing.py:10] Triton not installed; certain GPU-related functions will not be available.
WARNING 09-10 02:16:23 _custom_ops.py:18] Failed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'")
>>> get_model_fields(ChatCompletionRequest)
Traceback (most recent call last):
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 277, in _init_core_attrs
    self._core_schema = _getattr_no_parents(self._type, '__pydantic_core_schema__')
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 119, in _getattr_no_parents
    raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/fastapi/_compat.py", line 283, in get_model_fields
    return [
           ^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/fastapi/_compat.py", line 284, in <listcomp>
    ModelField(field_info=field_info, name=name)
  File "<string>", line 6, in __init__
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/fastapi/_compat.py", line 109, in __post_init__
    self._type_adapter: TypeAdapter[Any] = TypeAdapter(
                                           ^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 264, in __init__
    self._init_core_attrs(rebuild_mocks=False)
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 142, in wrapped
    return func(self, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 284, in _init_core_attrs
    self._core_schema = _get_schema(self._type, config_wrapper, parent_depth=self._parent_depth)
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/type_adapter.py", line 102, in _get_schema
    schema = gen.generate_schema(type_)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 768, in _generate_schema_inner
    return self._annotated_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1822, in _annotated_schema
    schema = self._apply_annotations(source_type, annotations)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1890, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1968, in <lambda>
    lambda source, handler: handler(source)
                            ^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 83, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1972, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_std_types_schema.py", line 316, in __get_pydantic_core_schema__
    items_schema = handler.generate_schema(self.item_source_type)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 97, in generate_schema
    return self._generate_schema.generate_schema(source_type)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 871, in match_type
    return self._match_generic_type(obj, origin)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 895, in _match_generic_type
    return self._union_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1207, in _union_schema
    choices.append(self.generate_schema(arg))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 512, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 789, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 837, in match_type
    return self._typed_dict_schema(obj, None)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1309, in _typed_dict_schema
    for field_name, annotation in get_type_hints_infer_globalns(
                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/envs/fastapi-vllm-repro/lib/python3.11/site-packages/pydantic/_internal/_fields.py", line 57, in get_type_hints_infer_globalns
    return get_type_hints(obj, globalns=globalns, localns=localns, include_extras=include_extras)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/.pyenv/versions/3.11.4/lib/python3.11/typing.py", line 2336, in get_type_hints
    value = _eval_type(value, base_globals, base_locals)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/.pyenv/versions/3.11.4/lib/python3.11/typing.py", line 371, in _eval_type
    return t._evaluate(globalns, localns, recursive_guard)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/pachewise/.pyenv/versions/3.11.4/lib/python3.11/typing.py", line 877, in _evaluate
    eval(self.__forward_code__, globalns, localns),
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<string>", line 1, in <module>
TypeError: 'pydantic_core._pydantic_core.PydanticUndefinedType' object is not subscriptable
>>>

Note that pydantic==2.9.0 does not have this issue.
$ pip install pydantic==2.9.0
$ python

Python 3.11.4 (main, Nov 28 2023, 16:28:36) [Clang 15.0.0 (clang-15<IP_ADDRESS>)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from fastapi._compat import get_model_fields
>>> from vllm.entrypoints.openai.protocol import ChatCompletionRequest
INFO 09-10 02:26:12 importing.py:10] Triton not installed; certain GPU-related functions will not be available.
WARNING 09-10 02:26:12 _custom_ops.py:18] Failed to import from vllm._C with ModuleNotFoundError("No module named 'vllm._C'")
>>> get_model_fields(ChatCompletionRequest)
[ModelField(field_info=FieldInfo(annotation=List[Union[ChatCompletionSystemMessageParam, ChatCompletionUserMessageParam, ChatCompletionAssistantMessageParam, ChatCompletionToolMessageParam, ChatCompletionFunctionMessageParam, CustomChatCompletionMessageParam]], required=True), name='messages', mode='validation'), ModelField(field_info=FieldInfo(annotation=str, required=True), name='model', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), name='frequency_penalty', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[Dict[str, float], NoneType], required=False, default=None), name='logit_bias', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), name='logprobs', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=0), name='top_logprobs', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=None), name='max_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=1), name='n', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[float, NoneType], required=False, default=0.0), name='presence_penalty', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[ResponseFormat, NoneType], required=False, default=None), name='response_format', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=None, metadata=[Ge(ge=-9223372036854775808), Le(le=9223372036854775807)]), name='seed', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, List[str], NoneType], required=False, default_factory=list), name='stop', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), name='stream', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[StreamOptions, NoneType], required=False, default=None), name='stream_options', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[float, NoneType], required=False, default=0.7), name='temperature', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[float, NoneType], required=False, default=1.0), name='top_p', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[List[ChatCompletionToolsParam], NoneType], required=False, default=None), name='tools', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[Literal['none'], Literal['auto'], ChatCompletionNamedToolChoiceParam, NoneType], required=False, default='none'), name='tool_choice', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[bool, NoneType], required=False, default=False), name='parallel_tool_calls', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None), name='user', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=None), name='best_of', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False), name='use_beam_search', mode='validation'), ModelField(field_info=FieldInfo(annotation=int, required=False, default=-1), name='top_k', mode='validation'), ModelField(field_info=FieldInfo(annotation=float, required=False, default=0.0), name='min_p', mode='validation'), ModelField(field_info=FieldInfo(annotation=float, required=False, default=1.0), name='repetition_penalty', mode='validation'), ModelField(field_info=FieldInfo(annotation=float, required=False, default=1.0), name='length_penalty', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False), name='early_stopping', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[List[int], NoneType], required=False, default_factory=list), name='stop_token_ids', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False), name='include_stop_str_in_output', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False), name='ignore_eos', mode='validation'), ModelField(field_info=FieldInfo(annotation=int, required=False, default=0), name='min_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=True), name='skip_special_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=True), name='spaces_between_special_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[Annotated[int, FieldInfo(annotation=NoneType, required=True, metadata=[Ge(ge=1)])], NoneType], required=False, default=None), name='truncate_prompt_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[int, NoneType], required=False, default=None), name='prompt_logprobs', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False, description='If true, the new message will be prepended with the last message if they belong to the same role.'), name='echo', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=True, description='If true, the generation prompt will be added to the chat template. This is a parameter used by chat template in tokenizer config of the model.'), name='add_generation_prompt', mode='validation'), ModelField(field_info=FieldInfo(annotation=bool, required=False, default=False, description='If true, special tokens (e.g. BOS) will be added to the prompt on top of what is added by the chat template. For most models, the chat template takes care of adding the special tokens so this should be set to false (as is the default).'), name='add_special_tokens', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[List[Dict[str, str]], NoneType], required=False, default=None, description='A list of dicts representing documents that will be accessible to the model if it is performing RAG (retrieval-augmented generation). If the template does not support RAG, this argument will have no effect. We recommend that each document should be a dict containing "title" and "text" keys.'), name='documents', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='A Jinja template to use for this conversion. As of transformers v4.44, default chat template is no longer allowed, so you must provide a chat template if the tokenizer does not define one.'), name='chat_template', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[Dict[str, Any], NoneType], required=False, default=None, description='Additional kwargs to pass to the template renderer. Will be accessible by the chat template.'), name='chat_template_kwargs', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, dict, BaseModel, NoneType], required=False, default=None, description='If specified, the output will follow the JSON schema.'), name='guided_json', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='If specified, the output will follow the regex pattern.'), name='guided_regex', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[List[str], NoneType], required=False, default=None, description='If specified, the output will be exactly one of the choices.'), name='guided_choice', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='If specified, the output will follow the context free grammar.'), name='guided_grammar', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description="If specified, will override the default guided decoding backend of the server for this specific request. If set, must be either 'outlines' / 'lm-format-enforcer'"), name='guided_decoding_backend', mode='validation'), ModelField(field_info=FieldInfo(annotation=Union[str, NoneType], required=False, default=None, description='If specified, will override the default whitespace pattern for guided json decoding.'), name='guided_whitespace_pattern', mode='validation')]
>>>

This makes me feel like this is a pydantic issue? Or at least a confluence of factors across openai / pydantic / fastapi.

Checking @pachewise's code, I was able to reduce the error reproduction to:
from typing_extensions import Annotated
from typing import List
from vllm.entrypoints.chat_utils import (
    ChatCompletionMessageParam,
)
from vllm.entrypoints.openai.protocol import ChatCompletionRequest

from pydantic import TypeAdapter

for name, field in ChatCompletionRequest.model_fields.items():
    print(name, field)
    TypeAdapter(Annotated[List[ChatCompletionMessageParam], field])

That doesn't use FastAPI, it's just Pydantic. And indeed, it's fixed by upgrading Pydantic to 2.9.0. :tada:

It wasn't breaking in FastAPI before because the logic before 0.113.0 wasn't using TypeAdapter yet in that part of the code, and it seems that in the previous version of Pydantic there was a bug in it (not sure where, but it's already solved in 2.9.0).

@DarkLight1337 yes, I'd recommend fastapi >= 0.114.1 (to fix a performance issue related to this part of their code) and pydantic >= 2.9.0 (to fix the actual issue we're seeing here).

Unfortunately the fastapi bump has broken Ray 2.9 compatibility.
$ pip install vllm==0.6.1.post2 'ray[serve]==2.9.3'
... snip...
The conflict is caused by:
    vllm 0.6.1.post2 depends on fastapi>=0.114.1; python_version >= "3.9"
    ray[serve] 2.9.3 depends on fastapi<=0.108.0; extra == "serve"

I've prepped a fix for the Ray 2.9 regression introduced in a different PR, but it won't really help unless we address the fastapi pin here as well.
Can we lower the fastapi pinned version, since it wasn't actually the cause of the issue, so we maintain the Ray 2.9 compatibility?

Unfortunately the fastapi bump has broken Ray 2.9 compatibility.
$ pip install vllm==0.6.1.post2 'ray[serve]==2.9.3'
... snip...
The conflict is caused by:
    vllm 0.6.1.post2 depends on fastapi>=0.114.1; python_version >= "3.9"
    ray[serve] 2.9.3 depends on fastapi<=0.108.0; extra == "serve"

I've prepped a fix for the Ray 2.9 regression introduced in a different PR, but it won't really help unless we address the fastapi pin here as well.
Can we lower the fastapi pinned version, since it wasn't actually the cause of the issue, so we maintain the Ray 2.9 compatibility?

On it!


Blank page with Docker+Traefik+Https

I try to run the convos docker container behing traefik reverse proxy.
No pb to access convos with http, however it prints a blank page when I want to access through https (my other https service has no issue with traefik).
When I display source code of the page it tells:

        Javascript is disabled, so Convos cannot start. Please enable Javascript and try again.

        Try again
        Contact admin

Don't know if this is really an issue with javascript because it works well with http...
Also, chrome tells me that js sources are not authenticated...
It fails in a same manner with firefox, chrome, edge.
Where the issue would come from?

Today is the first time I’ve heard about traefik, so I can’t really tell you how to set it up, but maybe you can extract the information from https://convos.by/doc/faq.html#can-convos-run-behind-behind-my-favorite-web-server and apply it to your server? Please pay attention to the environment variables and headers mentioned in the faq.

Thanks for the link! I will check carefully and come back to you if any additional issue.

@fabthegreat can you describe how you fix it? I have same error ;)

Hello,
no I never achieved to fix it unfortunately. So I gave up this solution...too bad, it seemed promising. If you achieve something please let me know.

Please share the config for traefik directly in the issue if it's small, or in a pastebin. Maybe I can understand what is missing. The only thing I can think of (which is mentioned in the link I shared) is that there's something wrong with the X-Request-Base header - Either missing or invalid.

Here is my config:
version: "3.7"

volumes:
  convos:
    name: convos

networks:
  default:
    name: traefik

services:
  convos:
    container_name: convos
    image: registry.***.***/convos
    hostname: convos.***.***
    restart: always
    volumes:
      - convos:/data
    environment:
      TZ: Europe/Paris
      CONVOS_ORGANIZATION_NAME: My Organization
      CONVOS_ORGANIZATION_URL: https://***.***
      CONVOS_CONTACT<EMAIL_ADDRESS>      CONVOS_REVERSE_PROXY: '1'
      CONVOS_DEBUG: 'true'
      CONVOS_SECURE_COOKIES: 'true'
    # command: daemon --listen https://*:3000
    labels:
      traefik.enable: 'true'
      traefik.docker.network: 'traefik'
      traefik.http.routers.convos.rule: 'Host(`convos.***.***`)'
      traefik.http.routers.convos.entrypoints: 'websecure'
      traefik.http.routers.convos.tls.certResolver: 'letsencrypt'
      traefik.http.middlewares.convos.headers.customrequestheaders.Host: 'https://convos.***.***/'
      traefik.http.middlewares.convos.headers.customrequestheaders.X-Request-Base: 'https://convos.***.***/'
      traefik.http.middlewares.convos.headers.customrequestheaders.X-Forwarded-Proto: 'https'

When I arrive on https://convos.***.***/, one request is http://convos.***.***/login without the s of https, I don't understand why.
I'm testing The Lounge and now Kiwi IRC ;)

Do you see "You should set X-Request-Base: https://convos.by/doc/faq.html#can-convos-run-behind-behind-my-favorite-web-server" in the docker logs?

@kosssi looking into the json confing inside the container in the /data folder I found that I had some http url instead of https, but I changed that ind restarted and still it didn't help me even trying out a similat config as yours...
Maybe that could help you getting it working somehow...


adding title to the avatar for better readability

closing pull request to add bit more changes

RE: adding title to the avatar for better readability
Added a tooltip with name, party and electoral district.


Super slow attachment downloads

I'm on SSD with just confluence, postgres and this tool all on localhost. Download speeds are at like 150KB/s. Large attachments take hours to download. Is there anything you can suggest? I tried adding user agents, increasing tomcat's connection timeouts and ensuring that rate limiting is disabled. I'm not sure what the bottle neck is

Hmm. This is https://pypi.org/project/atlassian-python-api/ that I use to do the actual heavy lifting.
You might try a fresher version of that package, maybe it was a bug they fixed.
I will release a version with updated requirements later today. Let me know if the issue persists and I'll see into this further.

Fixed in 4502bfe54f4891943b09b2f4950819e9637c0e3d


all react-motion's exposed functions return undefined.

Hi,
So I am on the latest release,
"react-motion": "^0.3.0",
However, no matter what I try I get undefined:
import reactMotion from 'react-motion';

import {TransitionMotion, Motion} from 'react-motion';

Not sure what's causing this.. any help appreciated!
Thanks

It works now. I believed that react-motion in my node_modules was still on 0.2.7.


Can't evaluate pretrained model

Hi, when I try to evaluate the pretrained model with 'th evaluate_model.lua 'I get following error:
/home/meeso/torch/install/bin/luajit: /home/meeso/torch/install/share/lua/5.1/nn/Container.lua:67:
In 3 module of nn.Sequential:
/home/meeso/torch/install/share/lua/5.1/nn/THNN.lua:110: bad argument #8 to 'v' (cannot convert 'nil' to 'int64_t')
stack traceback:
	[C]: in function 'v'
	/home/meeso/torch/install/share/lua/5.1/nn/THNN.lua:110: in function 'ClassNLLCriterion_updateOutput'
	...eso/torch/install/share/lua/5.1/nn/ClassNLLCriterion.lua:41: in function 'updateOutput'
	./densecap/modules/OurCrossEntropyCriterion.lua:19: in function 'forward'
	./densecap/LocalizationLayer.lua:466: in function 'f'
	./densecap/LocalizationLayer.lua:228: in function 'timeit'
	./densecap/LocalizationLayer.lua:455: in function <./densecap/LocalizationLayer.lua:383>
	[C]: in function 'xpcall'
	/home/meeso/torch/install/share/lua/5.1/nn/Container.lua:63: in function 'rethrowErrors'
	/home/meeso/torch/install/share/lua/5.1/nn/Sequential.lua:44: in function 'forward'
	./densecap/DenseCapModel.lua:255: in function 'forward'
	./densecap/DenseCapModel.lua:411: in function 'forward_backward'
	./eval/eval_utils.lua:62: in function 'eval_split'
	evaluate_model.lua:64: in main chunk
	[C]: in function 'dofile'
	...eeso/torch/install/lib/luarocks/rocks/trepl/scm-1/bin/th:150: in main chunk
	[C]: at 0x00406670

Any idea how to solve it?

Did you solve it? I'm facing the same problem now.

@mees
I solved the problem by commenting out lines 39,58,59,78,79,80,81.
Maybe the calculation of the loss is not needed.


run cricket/tests/gpu/checkpoint.sh get error

hello, I run the cricket/tests/gpu/checkpoint.sh script and get an error. like this:
`0x00007ffff7ddc140 in _start () from /lib64/ld-linux-x86-64.so.2
[Inferior 1 (process 16963) detached]
04/20/22 15:06:25.475429 (DEBUG):       the command is 'kernel.testapp'
04/20/22 15:06:25.475654   DEBUG: using prog=-246232657, vers=674482919, derived from "/proc/self/exe"  in cpu-server.c(200)
04/20/22 15:06:25.475671 (INFO):        using TCP...
04/20/22 15:06:25.476136 (INFO):        listening on port 60942
04/20/22 15:06:25.476267 (DEBUG):       opening '/home/eiling/projects/cricket/tests/bin/kernel.testapp'
04/20/22 15:06:25.476433 (INFO):        found CUDA initialization function at 0x4018aa
04/20/22 15:06:25.476481 (INFO):        waiting for RPC requests...
server pid: 16963
client pid: 16983
04/20/22 15:06:27.138071 (INFO):        connection to host "localhost"
04/20/22 15:06:27.138345 (DEBUG):       the command is "kernel.testapp"
04/20/22 15:06:27.138356   DEBUG: using prog=-246232657, vers=674482919 in cpu-client.c(87)
04/20/22 15:06:27.138366 (INFO):        connecting via TCP...
04/20/22 15:06:27.139252 (INFO):        string: "hello"
04/20/22 15:06:27.142453 (DEBUG):       found kernel "_Z15kernel_no_paramv" [param_num: 0, param_size: -1445615080]
04/20/22 15:06:27.142590 (DEBUG):       found kernel "_Z6kernelPtS_S_csix" [param_num: 7, param_size: 40]
04/20/22 15:06:27.144101 (DEBUG):       child exit code: 0
04/20/22 15:06:27.144126   DEBUG: __cudaRegisterFatBinary       in cpu-client.c(270)
__cudaRegisterFunction(fatCubinHandle=(nil), hostFun=0x401812, devFunc=_Z15kernel_no_paramv, deviceName=_Z15kernel_no_paramv, thread_limit=-1, tid=[(nil)], bid=[(nil)], bDim=[(nil)], gDim=[(nil)], wSize=(nil))
04/20/22 15:06:27.144141   DEBUG: searching for _Z15kernel_no_paramv in 2 entries       in cpu-utils.c(193)
04/20/22 15:06:27.144147   DEBUG: _Z15kernel_no_paramv  in cpu-utils.c(198)
__cudaRegisterFunction(fatCubinHandle=(nil), hostFun=0x4016cd, devFunc=_Z6kernelPtS_S_csix, deviceName=_Z6kernelPtS_S_csix, thread_limit=-1, tid=[(nil)], bid=[(nil)], bDim=[(nil)], gDim=[(nil)], wSize=(nil))
04/20/22 15:06:27.144156   DEBUG: searching for _Z6kernelPtS_S_csix in 2 entries        in cpu-utils.c(193)
04/20/22 15:06:27.144161   DEBUG: _Z15kernel_no_paramv  in cpu-utils.c(198)
04/20/22 15:06:27.144166   DEBUG: _Z6kernelPtS_S_csix   in cpu-utils.c(198)
04/20/22 15:06:27.144234   DEBUG: cudaGetDeviceCount    in cpu-server-runtime.c(302)
elapsed time: 0.151057
found 1 devices
A[2048]={15183, 5909, 39324, 16294, 25624, 63281, 1133, 9314, 52216, 12031, 2445, 21597, 13509, 26926, 26717, 17449, 43697, 9177, 38203, 37564, 12105, 14935, 31848, 46153, 29089, 43698, 2093, 2036, 22994, 54249, 10114, 26076, ... }
x[64]={17933, 27638, 54613, 24189, 9017, 1175, 50149, 57193, 19645, 55487, 22299, 17105, 43083, 11672, 34953, 11345, 33499, 59732, 33792, 8338, 37813, 38540, 51229, 58687, 14390, 5712, 18699, 57188, 8470, 21585, 22370, 26403, }
About to initialize CUDA context...
04/20/22 15:06:27.295370   DEBUG: cudaMalloc    in cpu-server-runtime.c(1164)
dev_A = 0x7fff95e00000
CUDA context initialized
04/20/22 15:06:27.436070   DEBUG: cudaMalloc    in cpu-server-runtime.c(1164)
04/20/22 15:06:27.436169   DEBUG: cudaMalloc    in cpu-server-runtime.c(1164)
04/20/22 15:06:27.436273   DEBUG: cudaMalloc    in cpu-server-runtime.c(1164)
Mallocs done
04/20/22 15:06:27.436385   DEBUG: cudaMemcpyHtoD        in cpu-server-runtime.c(1326)
04/20/22 15:06:27.436531   DEBUG: cudaMemcpyHtoD        in cpu-server-runtime.c(1326)
04/20/22 15:06:27.436597   DEBUG: cudaMemcpyHtoD        in cpu-server-runtime.c(1326)
04/20/22 15:06:27.436660   DEBUG: cudaLaunchKernel(0x4016cd)    in cpu-client-runtime.c(936)
04/20/22 15:06:27.436684 (DEBUG):       calling kernel "_Z6kernelPtS_S_csix" (param_size: 40, param_num: 7)
04/20/22 15:06:27.436734   DEBUG: arg: 0x7fff95e00000 (-1780482048)     in cpu-server-runtime.c(850)
04/20/22 15:06:27.436745   DEBUG: arg: 0x7fff95e00800 (-1780480000)     in cpu-server-runtime.c(850)
04/20/22 15:06:27.436750   DEBUG: arg: 0x7fff95e00a00 (-1780479488)     in cpu-server-runtime.c(850)
04/20/22 15:06:27.436755   DEBUG: arg: (nil) (0)        in cpu-server-runtime.c(850)
04/20/22 15:06:27.436761   DEBUG: arg: (nil) (0)        in cpu-server-runtime.c(850)
04/20/22 15:06:27.436766   DEBUG: arg: (nil) (0)        in cpu-server-runtime.c(850)
04/20/22 15:06:27.436770   DEBUG: arg: (nil) (0)        in cpu-server-runtime.c(850)
04/20/22 15:06:27.436775   DEBUG: cudaLaunchKernel(func=0x4016cd, gridDim=[1,1,1], blockDim=[32,1,1], args=0xd625a0, sharedMem=0, stream=(nil))       in cpu-server-runtime.c(853)
04/20/22 15:06:27.439502   DEBUG: cudaLaunchKernel result: 0    in cpu-server-runtime.c(864)
Kernel Test: Create a checkpoint now!
04/20/22 15:06:27.439597   DEBUG: cudaDeviceSynchronize in cpu-server-runtime.c(287)
local still running: 0/128
local still running: 1/128
local still running: 2/128
local still running: 3/128
local still running: 4/128
local still running: 5/128
local still running: 6/128
local still running: 7/128
local still running: 8/128
local still running: 9/128
local still running: 10/128
local still running: 11/128
local still running: 12/128
local still running: 13/128
local still running: 14/128
local still running: 15/128
local still running: 16/128
local still running: 17/128
local still running: 18/128
criu doing
c1.sh: line 47: 16983 Killed                  LD_PRELOAD=${CRICKET_CLIENT}:/opt/cricket/bin/libtirpc.so ${CUDA_APP}
criu done
cricket checkpoint doing
[New LWP 16989]
[New LWP 16990]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
0x00007ffff7ffa7c2 in clock_gettime ()
local still running: 19/128
local still running: 20/128
local still running: 21/128
[Detaching after fork from child process 17041]
04/20/22 15:06:30.558914 (DEBUG):       the command is 'cudbgprocess'
04/20/22 15:06:30.558961 (DEBUG):       skipping RPC server
Thread 1 "kernel.testapp" received signal SIGURG, Urgent I/O condition.
[Switching focus to CUDA kernel 0, grid 1, block (0,0,0), thread (0,0,0), device 0, sm 0, warp 0, lane 0]
0x0000000000d5d960 in kernel(unsigned short*, unsigned short*, unsigned short*, char, short, int, long long)<<<(1,1,1),(32,1,1)>>> ()
Cuda api initialized and attached!
got API
Device "Tesla V100-SXM2-16GB":
    index: 0

    type: "GV100GL-A"

    SM type: "sm_70"

    lanes: 32

    predicates 7

    registers: 256

    SMs: 80

    warps: 64

checkpointing kernel with name: "_Z6kernelPtS_S_csix"
stack-size: 336, param-addr: 352, param-size: 40, param-num: 7
SM 0: 1 -<PHONE_NUMBER>000000000000000000000000000000000000000000000000000001
SM 0 warp 0 (active): 55555555 -<PHONE_NUMBER>0101010101010101010101
SM 0 warp 0 (valid): ffffffff -<PHONE_NUMBER>1111111111111111111111
04/20/22 15:06:30.811030   ERROR: There is no room in the top level function (i.e. the kernel). This kernel can thus never be restored!       in /cricket-cr.c(835)
cricket-checkpoint: could not make checkpointable.
local still running: 22/128
Thread 1 "kernel.testapp" received signal SIGURG, Urgent I/O condition.
0x00007ffff7ffa7c2 in clock_gettime ()
[Inferior 1 (process 16963) detached]
cricket done
`
how can i solve this problem?

Hi,
I haven't had the time to work on the checkpoint/restart code for quite some time. It is only tested with sm_61 devices, i.e., Tesla P100 and Tesla P4. For newer sm generations the SASS assembly changed quite a bit (more control codes, different machine code). Howerver, as newer devices can also run sm_61 code the example should work as cricket works mostly on the SASS assembly level.
I don't have access to a V100 device, however I was able to replicate your problem on T4 and A100 devices. The cause is probably that newer devices react differently to GDB commands (i.e. stepping through the kernel).
Making the checkpoint/restart procedures work with newer generations is on my todo list. I will probably not work on V100 support, though.
Sorry, but for now I don't think it's possible to use checkpoint/restart on your device unless you want to modify the code yourself. A good starting point would be here: https://github.com/RWTH-ACS/cricket/blob/30eace1289ef9cc2240a1a73c7f2694b2308cd18/gpu/src/cricket-cr.c#L806

thanks, I will test it on other devices.


Add remove cursor when there are multiple cursors and cmd clicking on it

Closes https://github.com/atom/atom/issues/6909

Cmd / Ctrl-Click  -ing on a cursor when there are multiple cursors will remove that cursor.
If there is only the one cursor and it is Cmd / Ctrl-Click-ed, nothing will happen.

I like this! Looks good except for some pretty minor comments that I left.

@maxbrunsfeld thanks for the feedback and the encouragement. It's always a bit scary/intimidating making a the first pull to a large, mature project.  I'm implemented your suggestions and made some new commits.

Great; thanks for adding this @lpommers!

This is awesome :sparkles:

thanks @maxbrunsfeld and @mnquintana for making so easy to get involved and contribute. I'm looking forward to contributing more. And thanks for making beginner labels as it's a really great way to jump in and I probably wouldn't have known where to get started otherwise

Niceee :) Until now i had to start from beginning when i had to do 50 selections and clicked one wrong 😂


MTDSA-22268: Remove HATEOAS links

The following code can also be removed from FlattenedGenericAuditDetail:
    val respNoHateoas = auditResponse.body.map {
      case js: JsObject => js - "links"
      case js: JsValue  => js
    }


Auto show tag suggestions when you type < in jsx

From #24524
Feature Request
Automatically show tag suggestions when you type < in a jsx file

We would likely only want to enable this for cases like:
(

        <|

)

where the user is typing inside of jsx already. Otherwise, we would risk triggering on the less than operator <

Depends on https://github.com/Microsoft/TypeScript/issues/21012

I don't understand what I should see. Seems the same as 1.23

Thanks for taking a look @roblourens. This only applies if you are inside of a jsx context already. For example try typing < at the | in:
const a =

	|

After typing the < you should now automatically see suggestions

Oh I do see it in jsx but not in tsx, is that right?

Actually, I see it in tsx in one case. But it seems kind of flaky. Trying in several files, it seems like it works in some and not others.

But then after reloading the window it worked


APT whitelist request for ghc-7.10.2

:+1:

setuid was found only in the library source, not in use by package itself. @meatballhat how does one go about getting this merged now? Nothing in README how to skip the robot.

Duplicate of #686. Please comment on that issue instead.


Unclear on how to compile/install SUSE/SLES kernel module

I'll just paste the chat here that we had over on the #falco slack channel, and then add some commentary afterward.
Begin quoted text
Post 1
Hey, I’m trying to install the falco kernel driver on SUSE/SLES, and I’m running into some issues.
Here is the (overly general) host info:
> uname -r
5.3.18-22-default
> cat /etc/os-release
NAME="SLES"
VERSION="15-SP2"
VERSION_ID="15.2"
PRETTY_NAME="SUSE Linux Enterprise Server 15 SP2"
ID="sles"
ID_LIKE="suse"
ANSI_COLOR="0;32"
CPE_NAME="cpe:/o:suse:sles:15:sp2"

I was trying to follow the instructions on this page, but there were some... unforeseen problems.
> rpm --import https://falco.org/repo/falcosecurity-3672BA8F.asc
> curl -s -o /etc/zypp/repos.d/falcosecurity.repo https://falco.org/repo/falcosecurity-rpm.repo
> zypper -n install kernel-default-devel-$(uname -r | sed s/\-default//g)
Refreshing service 'Basesystem_Module_x86_64'.
...
Reading installed packages...
Package 'kernel-default-devel-5.3.18-22' not found.
>

That seems like a problem, but we can get past that by manually doing the zypper install:
> zypper -n install kernel-default-devel-5.3.18 # Note: remove the -22
Refreshing service 'Basesystem_Module_x86_64'.
...
Reading installed packages...
Resolving package dependencies...

The following 26 NEW packages are going to be installed:
...
(26/26) Installing: site-config-0.2-bp152.3.13.x86_64 ..............................................................................[done]
>

Ok, so that seems a lot better.
But when I try to install falco, I get an error:
> zypper -n install falco
Refreshing service 'Basesystem_Module_x86_64'.
...
Resolving package dependencies...

Problem: nothing provides kernel-syms needed by dkms-2.3-bp152.3.19.noarch
 Solution 1: do not install falco-0.30.0-1.x86_64
 Solution 2: break dkms-2.3-bp152.3.19.noarch by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/c/d/?] (c): c
>

It seems like my options are as follows:
a) Don’t install falco
b) Break a nice feature of SUSE/SLES
Am I missing something obvious here? Is there an easier way forward?
Post 2
Hmmm… frustratingly, even if I do decide to break dkms, the kernel module does not install because “the kernel source for this kernel does not seem to be installed.”
Post 3
So I need to install the 5.3.18 kernel headers, and then this should work?
(Editor's note: here POP intervened and asked me to thread all the responses, I'll start using more-normal chatlog style formatting)
Threaded replies
POP: hi Tom can we thread the feedback so we can track this better?
the other option would be to have driverkit create the prebuilts.
https://kubernetes.slack.com/archives/CMWH3EH32/p1643108928207000?thread_ts=1643105064.206800&cid=CMWH3EH32
Tom: Yeah - sorry about that.
POP: no worries.
Tom: I’m… not totally sure what I’m looking at with the driverkit. This is going to build the kernel driver, ya? Is there a specific format that I need to use to make sure that I get the latest code, and that it’s compiled for SUSE/SLES? I was trying to reverse-engineer the make call from the filenames, but it doesn’t look like you build for SUSE/SLES, which leaves me a little high-and-dry.
Tom: I get that it’s probably something along the lines of make -e TARGET_DISTRO=SLES -e TARGET_KERNEL="5.3.18-22" specific_target, but I’m not 100% on that.
Tom: And even with that, I get:
> make -e TARGET_DISTRO="SLES" -e TARGET_KERNEL="5.3.18-22" specific_target
make: Nothing to be done for `specific_target'.

Tom: Granted, it looks like I’m even failing to build the docs:
make -e TARGET_DISTRO="debian" -e TARGET_KERNEL="5.9.0" specific_target
make: Nothing to be done for `specific_target'.

Tom: I’m trying to build these on MacOS, if that matters.
Tom: My “best case scenarios” for this are
1: That I could download the pre-built kernel driver
2: That I could build the kernel driver for my OS, and then upload that so people could download that kernel driver
3: Change the kernel of the machines that I’m trying to install Falco on (I really don’t want to do this)
POP: ill ask the core contributors to give a reply (apologies this is a release week so it might be a little hectic)  if you want to submit an issue that would also be great!   thank you
{More info about where/how to post a request for docs which leads conveniently to this ticket}
So, like the title says, I'm confused on how to compile the falco kernel module from sources. It seems like the driverkit that I downloaded isn't quite what is needed, and I'm not sure where to get the correct code.
Reading through the driverkit Readme, it looks like I would need to make a SUSE/SLES builder file? I'm not sure that I'm the correct person to take that on, but if worse comes to worst, I can try it.

Hey, I don't think I got a response on this. Is there some way to get these kernel drivers for SUSE/SLES?

Help, please.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


CI builds

AppVeyor offers a free CI service for open-source .NET projects. This should be set up for this project to check that all tests pass for a PR before merging. This can only be set up by the owner of the project or a collaborator. See:
http://www.appveyor.com/

These are the settings we use to build the project on AppVeyor:
version: 1.0.{build}
os: Visual Studio 2015
configuration: Release
assembly_info:
  patch: true
  file: '**\AssemblyInfo.*'
  assembly_version: '{version}'
  assembly_file_version: '{version}'
  assembly_informational_version: '{version}'
before_build:
- ps: nuget restore BigQuery.Linq.sln
build:
  verbosity: minimal

If you put that in to a file in the root of the solution called "appveyor.yml" then AppVeyor will pick up those settings.
Hope that helps!


Keeps crashing!

Description
Randomly crashes when I click to open any folder inside the app, sometimes I just try again and it works, sometimes it keeps crashing. Happens to me many times, with random folders.
Steps To Reproduce

Try to open a folder.

Expected behavior
Do not crash and popup notification asking me to report the crash. Just open the folder.
Files Version
Version: <IP_ADDRESS> OS Version: 10.0.22000.556
Windows Version
Edition	Windows 11 Pro Version	21H2 Installed on	27/11/2021 OS build	22000.556 Experience	Windows Feature Experience Pack 1000.22000.556.0
Relevant Assets/Logs
debug.log
debug_fulltrust.log
https://youtu.be/bw7Hdtji1Mk

Do you have show folder size enable. if so turn it off and see if it happends.

I had, them I disabled it weeks ago. The problem is still the same.

According to log file, merging with #8749


home page background

when displaying page media content on home page, ignore first image

no longer needed, adding separate page background
site background image is handled by a different component