Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TmpIO doesn't respect PassengerDataBufferDir #2555

Open
jcoyne opened this issue Jul 8, 2024 · 0 comments
Open

TmpIO doesn't respect PassengerDataBufferDir #2555

jcoyne opened this issue Jul 8, 2024 · 0 comments

Comments

@jcoyne
Copy link

jcoyne commented Jul 8, 2024

Issue report

Fill in as much as possible so that we can understand, find and fix the problem.

Are you sure this is a bug in Passenger?
Yes
Please try with the newest version of Passenger to avoid issues that have already been fixed

Question 1: What is the problem?

  • What is the expected behavior?
    Temporary upload files are written to PassengerDataBufferDir
  • What is the actual behavior?
    Temporary files are written to $TMPDIR
  • How can we reproduce it? Please try to provide a sample application (or Virtual Machine) demonstrating the issue. Otherwise, if we can't reproduce it, we might have to ask you a number of followup questions or run certain commands to try and figure out the problem.
    We have this config:
<IfModule mod_passenger.c>
  PassengerDataBufferDir "/opt/app/lyberadmin/purl-fetcher/shared/tmp"
  PassengerDefaultRuby "/usr/local/rvm/rubies/ruby-3.3.3/bin/ruby"
  PassengerInstanceRegistryDir "/var/run/passenger-instreg"
  PassengerMaxPoolSize 30
  PassengerRoot "/usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini"
  PassengerRuby "/usr/local/rvm/rubies/ruby-3.3.3/bin/ruby"
  PassengerShowVersionInHeader Off
</IfModule>

When we try to upload a file that is larger than /tmp we see this error in the log:

App 1019421 output: [7dfd293d-9322-451f-804c-90eba118759d] Errno::ENOSPC (No space left on device @ io_write - /tmp/PassengerTeeInput-1tfvyic):

Your answer:

Question 2: Passenger version and integration mode:

  • open source 6.0.22/apache

Your answer:

Question 3: OS or Linux distro, platform (including version):

Your answer: Ubuntu 20.04.4 LTS

Question 4: Passenger installation method:

Your answer:
[ ] RubyGems + Gemfile
[ ] RubyGems, no Gemfile
[x] Phusion APT repo
[ ] Phusion YUM repo
[ ] OS X Homebrew
[ ] source tarball
[ ] Other, please specify:

Question 5: Your app's programming language (including any version managers) and framework (including versions):
Your answer: Ruby 3.3.3, RVM, Rails 7.1.3.4

Question 6: Are you using a PaaS and/or containerization? If so which one?

  • For example: Heroku, Amazon Container Services, Docker 1.9 with an image based on passenger-docker

Your answer: no

Question 7: Anything else about your setup that we should know?

Your answer: none

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant