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

Passenger 6.0.10 raise 'ArgumentError: Malformed version number string Stream' when use passenger-install-apache2-module on CentOS Stream 8 #2377

Closed
taketo1113 opened this issue Sep 3, 2021 · 0 comments · Fixed by #2378

Comments

@taketo1113
Copy link
Contributor

Please follow the steps below if you have found an issue with Passenger, or would like to request a feature.

Post to Stack Overflow instead if you are not sure, or if you have a question about your configuration.


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?
Please read our troubleshooting and debugging guides first:
https://www.phusionpassenger.com/library/admin/troubleshooting/
https://www.phusionpassenger.com/library/admin/

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?

passenger-install-apache2-module command completes without error on CentOS Stream 8.

  • What is the actual behavior?

passenger-install-apache2-module command raise error of ArgumentError: Malformed version number string Stream

Error details is following trace

# passenger-install-apache2-module --auto
Welcome to the Phusion Passenger Apache 2 module installer, v6.0.10.

This installer will guide you through the entire installation process. It
shouldn't take more than 3 minutes in total.

Here's what you can expect from the installation process:

 1. The Apache 2 module will be installed for you.
 2. You'll learn how to configure Apache.
 3. You'll learn how to deploy a Ruby on Rails application.

Don't worry if anything goes wrong. This installer will advise you on how to
solve any problems.

Press Enter to continue, or Ctrl-C to abort.

--------------------------------------------

Which languages are you interested in?

Override selection with --languages.

 ‣ ⬢  Ruby
   ⬡  Python
   ⬢  Node.js
   ⬡  Meteor

--------------------------------------------

Checking for required software...

 * Checking for C compiler...
      Found: yes
      Location: /usr/bin/cc
 * Checking for C++ compiler...
      Found: yes
      Location: /usr/bin/c++
 * Checking for Curl development headers with SSL support...
      Found: yes
      curl-config location: /usr/bin/curl-config
      Header location: /usr/include/curl/curl.h
      Version: libcurl 7.61.1
      Usable: yes
      Supports SSL: yes
 * Checking for Zlib development headers...
      Found: yes
      Location: /usr/include/zlib.h
 * Checking for Apache 2...
      Found: yes
      Location of httpd: /usr/sbin/httpd
      Apache version: 2.4.37
 * Checking for Rake (associated with /usr/local/rbenv/versions/3.0.2/bin/ruby)...
      Found: yes
      Location: /usr/local/rbenv/versions/3.0.2/bin/ruby /usr/local/rbenv/versions/3.0.2/bin/rake
 * Checking for OpenSSL support for Ruby...
      Found: yes
 * Checking for RubyGems...
      Found: yes
 * Checking for Ruby development headers...
      Found: yes
      Location: /usr/local/rbenv/versions/3.0.2/include/ruby-3.0.0/ruby.h
 * Checking for rack...
      Found: yes
 * Checking for OpenSSL development headers...
      Found: yes
      Location: /usr/include/openssl/ssl.h
 * Checking for Apache 2 development headers...
      Found: yes
      Location of apxs2: /usr/bin/apxs
 * Checking for Apache Portable Runtime (APR) development headers...
      Found: yes
      Location: /usr/bin/apr-1-config
      Version: 1.6.3
 * Checking for Apache Portable Runtime Utility (APU) development headers...
      Found: yes
      Location: /usr/bin/apu-1-config
      Version: 1.6.1

--------------------------------------------

Checking whether there are multiple Apache installations...
Only a single installation detected. This is good.

--------------------------------------------
Compiling and installing Apache 2 module...
cd /usr/local/rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/passenger-6.0.10
# env NOEXEC_DISABLE=1 /usr/local/rbenv/versions/3.0.2/bin/ruby /usr/local/rbenv/versions/3.0.2/bin/rake RELEASE=yes apache2:clean apache2
rm -rf buildout/cache
rm -rf buildout/common/libboost_oxt.a buildout/common/libboost_oxt
rm -f buildout/common/libpassenger_common/LoggingKit.o buildout/common/libpassenger_common/Exceptions.o buildout/common/libpassenger_common/FileTools/PathManip.o buildout/common/libpassenger_common/FileTools/FileManip.o buildout/common/libpassenger_common/FileTools/PathSecurityCheck.o buildout/common/libpassenger_common/ProcessManagement/Spawn.o buildout/common/libpassenger_common/ProcessManagement/Utils.o buildout/common/libpassenger_common/SystemTools/UserDatabase.o buildout/common/libpassenger_common/Utils/SystemTime.o buildout/common/libpassenger_common/StrIntTools/StrIntUtils.o buildout/common/libpassenger_common/StrIntTools/StrIntUtilsNoStrictAliasing.o buildout/common/libpassenger_common/IOTools/IOUtils.o buildout/common/libpassenger_common/Algorithms/Hasher.o buildout/common/libpassenger_common/Utils.o buildout/common/libpassenger_common/jsoncpp.o
rm -f buildout/common/libpassenger_common/SecurityKit/Crypto.o buildout/common/libpassenger_common/Utils/CachedFileStat.o buildout/common/libpassenger_common/WatchdogLauncher.o buildout/common/libpassenger_common/MemoryKit/mbuf.o buildout/common/libpassenger_common/MemoryKit/palloc.o buildout/common/libpassenger_common/ServerKit/http_parser.o buildout/common/libpassenger_common/ServerKit/Implementation.o buildout/common/libpassenger_common/DataStructures/LString.o buildout/common/libpassenger_common/AppTypeDetector/CBindings.o buildout/common/libpassenger_common/WrapperRegistry/CBindings.o
rm -f buildout/common/libpassenger_common/vendor-modified/modp_b64.o buildout/common/libpassenger_common/vendor-modified/modp_b64_strict_aliasing.o
rm -f buildout/common/libpassenger_common/JsonTools/CBindings.o
rm -f buildout/common/libpassenger_common/FileTools/LargeFiles.o
rm -f buildout/common/libpassenger_common/FileTools/PathManipCBindings.o
rm -f buildout/common/libpassenger_common/ProcessManagement/Ruby.o
rm -rf buildout/common/libpassenger_common
rm -rf buildout/support-binaries/PassengerAgent buildout/support-binaries/AgentMain.o buildout/support-binaries/AgentFundamentals.o buildout/support-binaries/WatchdogMain.o buildout/support-binaries/CoreMain.o buildout/support-binaries/CoreApplicationPool.o buildout/support-binaries/CoreController.o buildout/support-binaries/SystemMetricsMain.o buildout/support-binaries/TempDirToucherMain.o buildout/support-binaries/SpawnEnvSetupper.o buildout/support-binaries/ExecHelperMain.o buildout/support-binaries/FileReadHelperMain.o
rm -rf buildout/apache2/module_libboost_oxt.a buildout/apache2/module_libboost_oxt
rm -f buildout/apache2/module_libpassenger_common/LoggingKit.o buildout/apache2/module_libpassenger_common/Exceptions.o buildout/apache2/module_libpassenger_common/FileTools/PathManip.o buildout/apache2/module_libpassenger_common/FileTools/FileManip.o buildout/apache2/module_libpassenger_common/FileTools/PathSecurityCheck.o buildout/apache2/module_libpassenger_common/ProcessManagement/Spawn.o buildout/apache2/module_libpassenger_common/ProcessManagement/Utils.o buildout/apache2/module_libpassenger_common/SystemTools/UserDatabase.o buildout/apache2/module_libpassenger_common/Utils/SystemTime.o buildout/apache2/module_libpassenger_common/StrIntTools/StrIntUtils.o buildout/apache2/module_libpassenger_common/StrIntTools/StrIntUtilsNoStrictAliasing.o buildout/apache2/module_libpassenger_common/IOTools/IOUtils.o buildout/apache2/module_libpassenger_common/Algorithms/Hasher.o buildout/apache2/module_libpassenger_common/Utils.o buildout/apache2/module_libpassenger_common/jsoncpp.o
rm -f buildout/apache2/module_libpassenger_common/SecurityKit/Crypto.o buildout/apache2/module_libpassenger_common/Utils/CachedFileStat.o buildout/apache2/module_libpassenger_common/WatchdogLauncher.o buildout/apache2/module_libpassenger_common/MemoryKit/mbuf.o buildout/apache2/module_libpassenger_common/MemoryKit/palloc.o buildout/apache2/module_libpassenger_common/ServerKit/http_parser.o buildout/apache2/module_libpassenger_common/ServerKit/Implementation.o buildout/apache2/module_libpassenger_common/DataStructures/LString.o buildout/apache2/module_libpassenger_common/AppTypeDetector/CBindings.o buildout/apache2/module_libpassenger_common/WrapperRegistry/CBindings.o
rm -f buildout/apache2/module_libpassenger_common/vendor-modified/modp_b64.o buildout/apache2/module_libpassenger_common/vendor-modified/modp_b64_strict_aliasing.o
rm -f buildout/apache2/module_libpassenger_common/JsonTools/CBindings.o
rm -f buildout/apache2/module_libpassenger_common/FileTools/LargeFiles.o
rm -f buildout/apache2/module_libpassenger_common/FileTools/PathManipCBindings.o
rm -f buildout/apache2/module_libpassenger_common/ProcessManagement/Ruby.o
rm -rf buildout/apache2/module_libpassenger_common
rm -rf buildout/apache2/mod_passenger.o buildout/apache2/CBindings.o buildout/apache2/Config.o buildout/apache2/Bucket.o buildout/apache2/Hooks.o buildout/apache2/mod_passenger.so
mkdir -p buildout/apache2/module_libpassenger_common
rake aborted!
ArgumentError: Malformed version number string Stream

Tasks: TOP => apache2 => buildout/apache2/mod_passenger.so => buildout/apache2/module_libpassenger_common/LoggingKit.o
(See full trace by running task with --trace)

--------------------------------------------

It looks like something went wrong

Please read our documentation for troubleshooting tips:

   https://www.phusionpassenger.com/library/install/apache/
   https://www.phusionpassenger.com/library/admin/apache/troubleshooting/

If that doesn't help, please use our support facilities. We'll do our best to help you.

   https://www.phusionpassenger.com/support
  • 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.

Be as detailed as possible in your descriptions, include any logs and stack traces (don't just cut/paste the error, provide some logging before that too).

(if you are requesting a feature instead of reporting an issue, describe here what you have in mind and how it would help you)

Your answer:
Prepare the Virtual Machine with vagrant which use vm box of "centos/stream8".
Then it execute command of passenger-install-apache2-module.

Question 2: Passenger version and integration mode:

  • For example: open source 5.0.26 standalone; enterprise 5.0.21/nginx

Your answer:
Phusion Passenger(R) 6.0.10

as a side note: In passenger 6.0.9, passenger-install-apache2-module command completes without error.

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

  • For example: Debian 8, x86_64 or OS X 10.10 Yosemite, x86_64

Your answer:
OS: CentOS Stream 8

Question 4: Passenger installation method:

Your answer:
[x] RubyGems + Gemfile
[ ] RubyGems, no Gemfile
[ ] 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):

  • For example: Ruby 2.3.0, RVM, Rails 5.0.0; Node.js 4.0.0 with Express 4.13.4

Your answer:
Ruby 3.0.2 (rbenv)

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:

About workaround patch:
I guess that os_version parser is unexpected working when use CentOS Stream 8.
PlatformInfo.os_version return string of Stream with following code.
https://github.com/phusion/passenger/blob/release-6.0.10/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb#L90

I seems that it fixed to replace following code.

          data =~ /^(.+?) (Linux |Stream )?(release |version )?(.+?)( |$)/i

And added CentOS version file for refarence.

  • ref: /etc/redhat-release file in CentOS Stream 8
CentOS Stream release 8
  • ref: /etc/redhat-release file in CentOS 7
CentOS Linux release 7.9.2009 (Core)

We strive for quality and appreciate you taking the time to submit a report! Please note that if you want guaranteed response times and priority issue support we encourage you to join our enterprise customer base. They also provide us with the means to continue our high level of open source support!

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

Successfully merging a pull request may close this issue.

2 participants