mirror of
https://github.com/BookStackApp/BookStack.git
synced 2026-02-06 00:59:39 +03:00
Attachments are not available anymore for download via browser from page "ERR_INVALID_RESPONSE" #2778
Closed
opened 2026-02-05 05:09:49 +03:00 by OVERLORD
·
13 comments
No Branch/Tag Specified
development
further_theme_development
l10n_development
release
llm_only
vectors
v25-11
docker_env
drawio_rendering
user_permissions
ldap_host_failover
svg_image
prosemirror
captcha_example
fix/video-export
v25.12.3
v25.12.2
v25.12.1
v25.12
v25.11.6
v25.11.5
v25.11.4
v24.11.4
v25.11.3
v25.11.2
v25.11.1
v25.11
v25.07.3
v25.07.2
v25.07.1
v25.07
v25.05.2
v25.05.1
v25.05
v25.02.5
v25.02.4
v25.02.3
v25.02.2
v25.02.1
v25.02
v24.12.1
v24.12
v24.10.3
v24.10.2
v24.10.1
v24.10
v24.05.4
v24.05.3
v24.05.2
v24.05.1
v24.05
v24.02.3
v24.02.2
v24.02.1
v24.02
v23.12.3
v23.12.2
v23.12.1
v23.12
v23.10.4
v23.10.3
v23.10.2
v23.10.1
v23.10
v23.08.3
v23.08.2
v23.08.1
v23.08
v23.06.2
v23.06.1
v23.06
v23.05.2
v23.05.1
v23.05
v23.02.3
v23.02.2
v23.02.1
v23.02
v23.01.1
v23.01
v22.11.1
v22.11
v22.10.2
v22.10.1
v22.10
v22.09.1
v22.09
v22.07.3
v22.07.2
v22.07.1
v22.07
v22.06.2
v22.06.1
v22.06
v22.04.2
v22.04.1
v22.04
v22.03.1
v22.03
v22.02.3
v22.02.2
v22.02.1
v22.02
v21.12.5
v21.12.4
v21.12.3
v21.12.2
v21.12.1
v21.12
v21.11.3
v21.11.2
v21.11.1
v21.11
v21.10.3
v21.10.2
v21.10.1
v21.10
v21.08.6
v21.08.5
v21.08.4
v21.08.3
v21.08.2
v21.08.1
v21.08
v21.05.4
v21.05.3
v21.05.2
v21.05.1
v21.05
v21.04.6
v21.04.5
v21.04.4
v21.04.3
v21.04.2
v21.04.1
v21.04
v0.31.8
v0.31.7
v0.31.6
v0.31.5
v0.31.4
v0.31.3
v0.31.2
v0.31.1
v0.31.0
v0.30.7
v0.30.6
v0.30.5
v0.30.4
v0.30.3
v0.30.2
v0.30.1
v0.30.0
v0.29.3
v0.29.2
v0.29.1
v0.29.0
v0.28.3
v0.28.2
v0.28.1
v0.28.0
v0.27.5
v0.27.4
v0.27.3
v0.27.2
v0.27.1
v0.27
v0.26.4
v0.26.3
v0.26.2
v0.26.1
v0.26.0
v0.25.5
v0.25.4
v0.25.3
v0.25.2
v0.25.1
v0.25.0
v0.24.3
v0.24.2
v0.24.1
v0.24.0
v0.23.2
v0.23.1
v0.23.0
v0.22.0
v0.21.0
v0.20.3
v0.20.2
v0.20.1
v0.20.0
v0.19.0
v0.18.5
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.0
v0.16.3
v0.16.2
v0.16.1
v0.16.0
v0.15.3
v0.15.2
v0.15.1
v0.15.0
v0.14.3
v0.14.2
v0.14.1
v0.14.0
v0.13.1
v0.13.0
v0.12.2
v0.12.1
v0.12.0
v0.11.2
v0.11.1
v0.11.0
v0.10.0
v0.9.3
v0.9.2
v0.9.1
v0.9.0
v0.8.2
v0.8.1
v0.8.0
v0.7.6
v0.7.5
v0.7.4
v0.7.3
0.7.2
v.0.7.1
v0.7.0
v0.6.3
v0.6.2
v0.6.1
v0.6.0
v0.5.0
Labels
Clear labels
🎨 Design
📖 Docs Update
🐛 Bug
🐛 Bug
:cat2:🐈 Possible duplicate
💿 Database
☕ Open to discussion
💻 Front-End
🐕 Support
🚪 Authentication
🌍 Translations
🔌 API Task
🏭 Back-End
⛲ Upstream
🔨 Feature Request
🛠️ Enhancement
🛠️ Enhancement
🛠️ Enhancement
❤️ Happy feedback
🔒 Security
🔍 Pending Validation
💆 UX
📝 WYSIWYG Editor
🌔 Out of scope
🔩 API Request
:octocat: Admin/Meta
🖌️ View Customization
❓ Question
🚀 Priority
🛡️ Blocked
🚚 Export System
♿ A11y
🔧 Maintenance
> Markdown Editor
pull-request
Mirrored from GitHub Pull Request
No Label
🐛 Bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/BookStack#2778
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @whentotrade on GitHub (May 4, 2022).
Describe the Bug
I had a bookstack running site with pages and attachments. After latest upgrade to v22.04, now all attachments are still shown but if you click an attachment no attachment can be downloaded and the browser just shows "ERR_INVALID_RESPONSE".
For all attachments on the site https://docs.cycle.tools/attachments/[NUMBER]
Attchment downloading has been working before - so no change in content on my pages.
Even if I start to upload a new attachment (which works) - if I try to read the page and try to download it from the page, I get the "ERR INVALID RESPONSE" in the browser window.
What has happened that now all browser URLS like https://docs.cycle.tools/attachments/[NUMBER] result in an "ERR INVALID RESPONSE"?
Steps to Reproduce
Expected Behaviour
Download should start after click on attachment - as it did before upgrade.
Screenshots or Additional Context
Browser Details
Chrome
Exact BookStack Version
v 22.04
PHP Version
7.4
Hosting Environment
Linux
@ssddanbrown commented on GitHub (May 4, 2022):
Hi @whentotrade,
Thanks for reporting.
In v22.04 I did indeed change how attachments are served, for better efficiency to help the handling of large files.
Unfortunately I am not able to re-produce on my own BookStack environment, even using the exact same attachment file as you have on yours.
Interestingly your attachments serve without error via the "open" url variation, often accessed by Ctrl+Clicking the attachment, as per this URL an an example:
https://docs.cycle.tools/attachments/7?open=true
There's not a massive amount of difference between the two attachment download types. In fact, the working "open" variation is a little more technically complex.
Could you check your error logs for any error output upon seeing this error? My guess would be the error would be in the Apache logs, since it does not appear that BookStack is handling this error, but I might be wrong.
@anonymous-gituser commented on GitHub (May 5, 2022):
Browser Details
Brave
Exact BookStack Version
v 22.04
PHP Version
7.4
Hosting Environment
Linux
I just installed BookStack yesterday, and was having trouble with a very similar if not the same issue as listed above.
My log files stated that it couldn't delete a buffer using ob_end_clean().
I commented out the lines
if (!app()->runningUnitTests()) {
ob_end_clean();
}
and it works to download files now.
Thought I'd mention it, but additionally wanted to see if you thought this would cause an issue down the road?
@whentotrade commented on GitHub (May 5, 2022):
Thanks @ssddanbrown , the only error I can spot is in the laravel bookstack logs when trying to open the "attachments" URL:
maybe this is related to the download call? As I see the following code around line 133:
I am not able to find other errors in the log?
Does this help?
It is really a problem for me as usage depends on being able to download attachments. Which is not possible for all attachments now. It is not related to specific file types - all attachment downloads result now in that error.
Any hint to solve would help. If you need additional information, please let me know.
@whentotrade commented on GitHub (May 5, 2022):
Just a hint, I have spotted the error:
If I disable this line in the function "Create a response that forces a download, from a given stream of content.":
ob_end_clean();The download function works as normal again. But this seems to be a bad workaround for me know manually changing the code to get it working. I just dont know why this line is the root cause of this problem on my server?
Changing the code worked:
@whentotrade commented on GitHub (May 5, 2022):
Any idea how to finally solve it without the need to manualy alter the code?
@whentotrade commented on GitHub (May 5, 2022):
@anonymous-gituser Thanks for posting - I think we responded at the same time;-)
@ssddanbrown commented on GitHub (May 5, 2022):
Thanks for the information @whentotrade and @anonymous-gituser, Looks like the same line is tripping up both instances. This line, during my testing, does serve a purpose primarily for large attachment downloads to ensure that less memory is used. Most existing smaller attachments downloads should work without this line, but I'd rather find out why this is a problem in some environments.
Could you both share further insight regarding your hosting environment?
What linux distro and what exact version is it?
What version of PHP are you using?
What webserver are you using?
Are you using some kind of hosting/webserver-mangement layer?
@anonymous-gituser commented on GitHub (May 6, 2022):
Distro:
NAME="Ubuntu"
VERSION="21.04 (Hirsute Hippo)"
PHP:
7.4
webserver
Apache2
The host is a local VM - that does run another proprietary item, but shouldn't have any effect.
@ssddanbrown commented on GitHub (May 6, 2022):
@anonymous-gituser Thanks for providing. Rare to see 21.04 in use, and it is out of support now, but just created an instance in a VM and set up a BookStack instance on Apache. Attachment downloads worked fine though. Might be something more nuanced.
Some exact versions for reference:
@whentotrade commented on GitHub (May 6, 2022):
webserver running on latest linux, I dont know the exact distro.
PHP config:
PHP Version 7.4.29

@ssddanbrown commented on GitHub (May 6, 2022):
Okay, Have done some further testing.
This can occur in environments where the PHP
output_bufferingoption is disabled.This is less common, although not invalid, in production environments.
I'll assign this to the next patch release to address so that we check buffer level before attempting to escape the default top-level buffer.
As a potential workaround, you could enable buffering by adding (Or editing the existing variable if existing) something like
within your
php.inifile.@whentotrade commented on GitHub (May 8, 2022):
@ssddanbrown Thanks for your research and testing. I can confirm that the workaround setting the
output_bufferingin the php.ini solved this issue. Thank you.@ssddanbrown commented on GitHub (May 9, 2022):
@whentotrade Thanks for confirming the solution.
I have updated the logic in
2a99e23e6dto handle environments where output buffering is disabled. This will be part of our next patch release.