[DRE-maint] Bug#741145: ruby-fcgi doesn't work with ruby1.8

Satoru Takeuchi satoru.takeuchi at gmail.com
Sun Mar 9 03:39:32 UTC 2014


Source: ruby-fcgi
Version: 0.9.2.1-1
Severity: normal

Dear Maintainer,

* What led up to the situation?

  There is something bad in the transition from libfcgi-ruby1.8 to ruby-fcgi.

* What exactly did you do (or not do) that was effective (or
  ineffective)?

  1. run aptitude-safeupgrade to upgrade my system.

  2. Then libfcgi-ruby1.8 is replaced by the transitional package to ruby-fcgi.

  3. Run my web service (rails2.3 app) using lighttpd+fastcgi.

* What was the outcome of this action?

  Failed to launch the process for fastcgi with the following error log in fastcgi.crash.log.

===
[09/Mar/2014:12:22:45 :: 7825] Dispatcher failed to catch: undefined method `first' for 15:Fixnum (NoMethodError)
  /usr/lib/ruby/vendor_ruby/fcgi.rb:461:in `read_length'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:453:in `read_pair'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:446:in `parse_values'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:440:in `parse'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:200:in `read_record'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:131:in `next_request'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:121:in `session'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:109:in `each_request'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:41:in `each'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:77:in `process_each_request'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:76:in `catch'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:76:in `process_each_request'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:51:in `process!'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:23:in `process!'
  /<my_rails_app_dir>/public/dispatch.fcgi:24
retrying after unhandled exception
[09/Mar/2014:12:22:45 :: 7825] starting
[09/Mar/2014:12:22:45 :: 7825] Dispatcher failed to catch: Bad file descriptor (Errno::EBADF)
  /usr/lib/ruby/vendor_ruby/fcgi.rb:54:in `for_fd'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:54:in `default_connection'
  /usr/lib/ruby/vendor_ruby/fcgi.rb:40:in `each'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:77:in `process_each_request'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:76:in `catch'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:76:in `process_each_request'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:51:in `process!'
  /var/lib/gems/1.8/gems/rails-2.3.18/lib/fcgi_handler.rb:23:in `process!'
  /<my_rails_app_dir>/public/dispatch.fcgi:24
stopping after unhandled exception within 10 seconds of the last
===

* What outcome did you expect instead?

  Succeeded to launch the process.

* The result of my analysis.

  Although ruby-fcgi says that it replaces and provides libfcgi-ruby1.8, actually it seems not.
  There is no ruby1.8-related package in Depends section.

===
# aptitude show ruby-fcgi
Package: ruby-fcgi                       
New: yes
State: installed
Automatically installed: no
Version: 0.9.2.1-1
Priority: optional
Section: ruby
Maintainer: Debian Ruby Extras Maintainers <pkg-ruby-extras-maintainers at lists.alioth.debian.org>
Architecture: amd64
Uncompressed Size: 154 k
Depends: libc6 (>= 2.15), libfcgi0ldbl, libruby1.9.1 (>= 1.9.2.0) | libruby2.0 (>= 2.0.0), ruby | ruby-interpreter
Breaks: libfcgi-ruby1.8 (< 0.9.2.1-1~), libfcgi-ruby1.9.1 (< 0.9.2.1-1~)
Replaces: libfcgi-ruby1.8 (< 0.9.2.1-1~), libfcgi-ruby1.9.1 (< 0.9.2.1-1~)
Provides: libfcgi-ruby1.8, libfcgi-ruby1.9.1
Description: FastCGI library for Ruby
 FastCGI is a language independent, scalable, open extension to CGI that provides high performance without the limitations of server specific APIs. For more information, see http://www.fastcgi.com/. 
 
 This merges matz's C version(fcgi.so) & Eli's pure ruby version(fastcgi.rb)
Homepage: http://github.com/alphallc/ruby-fcgi-ng
===

I confirmed this problem didn't happen after running the following steps.

 1. Uninstall ruby-fcgi.

    # aptitude purge ruby-fcgi.

 2. Get old (wheezy's) libfcgi-ruby1.8 from the following URL.

    # wget http://ftp.jp.debian.org/debian/pool/main/libf/libfcgi-ruby/libfcgi-ruby1.8_0.8.8-1_amd64.deb

 3. Install the old libfcgi-ruby1.8

    # dpkg -i libfcgi-ruby1.8_0.8.8-1_amd64.deb

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash



More information about the Pkg-ruby-extras-maintainers mailing list