Skip to content

[Triage] 25.2.0 Update Results in Permanent 500 Internal Server Error on ASGI #3576

@benoitc

Description

@benoitc

Discussed in #3574

Originally posted by Roukoswarf April 2, 2026

Type

Bug Report

Description

Upon updating to 25.2.0 from a working configuration, all requests now return HTTP/1.1 500 Internal Server Error, including un-proxied direct http 1.1 calls to gunicorn's http bind.

Steps to Reproduce (for bugs)

  1. create django app with asgi support
  2. start application with configuration below

Configuration

wsgi_app = "django.asgi:application"
accesslog = "-"
loglevel = "info"
timeout = 300
worker_class = "asgi"
asgi_loop = "uvloop"
workers = 10
bind = ["127.0.0.1:8000"]

Logs / Error Output

Completely silent log, gunicorn access log contains the 500, but nothing more.
curl:

* Host localhost:8000 was resolved.
* IPv6: ::1
* IPv4: 127.0.0.1
*   Trying [::1]:8000...
* connect to ::1 port 8000 from ::1 port 49120 failed: Connection refused
*   Trying 127.0.0.1:8000...
* Established connection to localhost (127.0.0.1 port 8000) from 127.0.0.1 port 47250
* using HTTP/1.x
> GET / HTTP/1.1
> Host: localhost:8000
> User-Agent: curl/8.19.0
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 500 Internal Server Error
< Content-Type: text/plain
< Content-Length: 21
< Connection: close
<
* shutting down connection #0
Internal Server Error#

Gunicorn Version

gunicorn 25.2.0

Python Version

Python 3.14.3

Worker Class

asgi (beta)

Operating System

Arch Linux

Additional Context

Switching to the Uvicorn ASGI worker class the configuration otherwise works as intended.

Checklist

  • I have searched existing discussions and issues for duplicates
  • I have checked the documentation and FAQ

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions