Skip to content

[1.11.0rc1] HTTP 400 on file upload from third party client, e.g. Cura #5100

@foosel

Description

@foosel

Problem

I need to do some validation like full hard reboot of device and safe mode but I have applied the changes you made in your fix commit and it will authenticate, but I am getting 400's when Cura is trying to upload to Octoprint. I have tried refreshing the API Token so far:
From Cura Log:

2025-01-31 23:52:13,072 - ERROR - [MainThread] OctoPrintPlugin.OctoPrintOutputDevice._onUploadFinished [1608]: OctoPrintOutputDevice got an 400 error uploading to https://{redacted}:443/api/files/local
2025-01-31 23:52:13,073 - ERROR - [MainThread] OctoPrintPlugin.OctoPrintOutputDevice._onUploadFinished [1614]: OctoPrint responded with an unknown error

Octoprint (via Octo4a) Tornado Log:

2025-01-31 13:22:12 - tornado.access - WARNING - 400 POST /api/files/local (192.168.1.215) 618.92ms

Other Tornado Log 400's from other integration:

2025-01-31 10:21:34 - tornado.access - WARNING - 400 POST /api/plugin/octoapp (192.168.1.215) 95.24ms
2025-01-31 10:23:54 - tornado.access - WARNING - 400 POST /api/plugin/octoapp (192.168.1.215) 19.00ms
2025-01-31 10:26:10 - tornado.access - WARNING - 400 POST /api/plugin/octoapp (192.168.1.215) 37.67ms

One thing I will try that should be an easy test is going via local direct IP, both octoapp and cura are going via my public domain 🤔
It shouldn't make a difference because the .215 proxy is in the list of trusted proxies but who knows 🤷

Edit: Can confirm same issue over local IP instead of public domain:

localhost:~$ tail /mnt/external/.octoprint/logs/tornado.log | grep " 400 "
2025-01-31 13:29:41 - tornado.access - WARNING - 400 POST /api/login (192.168.2.91) 8.03ms
2025-01-31 13:29:41 - tornado.access - WARNING - 400 POST /api/login (192.168.2.91) 10.24ms
2025-01-31 13:29:42 - tornado.access - WARNING - 400 POST /api/login (192.168.2.91) 26.91ms
2025-01-31 13:29:42 - tornado.access - WARNING - 400 POST /api/login (192.168.2.91) 7.65ms

Edit 2: Originally I didn't see this but extra info from Octoprint log, these are absolutely spamming for these failed connections:

2025-01-31 13:28:29,401 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.1.215
2025-01-31 13:28:30,311 - octoprint.server.util.sockjs - WARNING - Unknown user/session combo: null:null
...
2025-01-31 13:30:00,208 - octoprint.server.util.sockjs - INFO - New connection from client: 192.168.2.91
2025-01-31 13:30:00,307 - octoprint.server.util.sockjs - WARNING - Unknown user/session combo: null:null

Originally posted by @XxInvictus in #5098

Can confirm this on a local checkout of staging/maintenance, so there's still an issue here that needs solving.

Solution

Currently unsure, investigating.

Metadata

Metadata

Assignees

No one assigned

    Labels

    approvedIssue has been approved by the bot or manually for further processingbugIssue describes a bugdoneDone but not yet released

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions