简体   繁体   中英

Windows puma unable to load application due to backports Bad File descriptor

I'm trying to run a puma project on my Windows 8 machine and keep getting this error whenever I try to run bundle puma exec -p 4567 I get an error about a Bad file descriptor in part of the backports code.

PS C:\Users\andrew\work\test> bundle exec puma -p 4567
DL is deprecated, please use Fiddle
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 2.9.1 (ruby 2.0.0-p576), codename: Team High Five
* Min threads: 0, max threads: 16
* Environment: development
! Unable to load application
C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1.9.1/io/open.
rb:2:in `close': Bad file descriptor - C:/Ruby200/lib/ruby/gems/2.0.0/gems/backp
orts-3.4.0/lib/backports/1.9.1/io/open.rb (Errno::EBADF)
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.1/io/open.rb:2:in `open'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.1/io/open.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:22:in `block in require_relative_dir'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:21:in `each'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:21:in `require_relative_dir'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.1/io.rb:3:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:22:in `block in require_relative_dir'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:21:in `each'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:21:in `require_relative_dir'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.1.rb:3:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.2.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.3.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/1
.9.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/2
.0.0.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/2
.0.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/2
.1.0.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/2
.1.rb:2:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports/t
ools.rb:328:in `require_with_backports'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/backports-3.4.0/lib/backports.r
b:3:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/sinatra-contrib-1.4.2/lib/sinat
ra/capture.rb:3:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/sinatra-contrib-1.4.2/lib/sinat
ra/capture.rb:3:in `<top (required)>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/sinatra-contrib-1.4.2/lib/sinat
ra/content_for.rb:2:in `require'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/sinatra-contrib-1.4.2/lib/sinat
ra/content_for.rb:2:in `<top (required)>'
        from C:/Users/andrew/work/youcue/routes.rb:2:in `require'
        from C:/Users/andrew/work/youcue/routes.rb:2:in `<top (required)>'
        from config.ru:3:in `require'
        from config.ru:3:in `block in <main>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:
55:in `instance_eval'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:
55:in `initialize'
        from config.ru:in `new'
        from config.ru:in `<main>'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:
49:in `eval'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:
49:in `new_from_string'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/builder.rb:
40:in `parse_file'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/puma-2.9.1/lib/puma/configurati
on.rb:96:in `app'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/puma-2.9.1/lib/puma/runner.rb:1
13:in `load_and_bind'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/puma-2.9.1/lib/puma/single.rb:7
3:in `run'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/puma-2.9.1/lib/puma/cli.rb:499:
in `run'
        from C:/Ruby200/lib/ruby/gems/2.0.0/gems/puma-2.9.1/bin/puma:10:in `<top
 (required)>'
        from C:/Ruby200/bin/puma:23:in `load'
        from C:/Ruby200/bin/puma:23:in `<main>'

I'm using ruby 2.0.0p576 (2014-09-19) [i386-mingw32] DevKit-mingw64-32-4.7.2-20130224

I was able to successfully run install (had to install the ssl headers to get it to work), but I keep getting this error when I try to deploy the puma server. I'm pretty new to ruby development, so I'm unsure what other things I could look into or how to resolve the EBADF error in a gem.

Thanks!

This is fixed in the latest release of Backports (3.6.1) per issue 86 . Either require 3.6.1 or go back to p481

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM