[#68478] Looking for MRI projects for Ruby Google Summer of Code 2015 — Tony Arcieri <bascule@...>

Hi ruby-core,

10 messages 2015/03/10

[ruby-core:68476] [Ruby trunk - Bug #10956] [Open] Webrick cannot restart since Ruby 2.2.0

From: goodies@...
Date: 2015-03-10 04:08:44 UTC
List: ruby-core #68476
Issue #10956 has been reported by Shintaro Kojima.

----------------------------------------
Bug #10956: Webrick cannot restart since Ruby 2.2.0
https://bugs.ruby-lang.org/issues/10956

* Author: Shintaro Kojima
* Status: Open
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-03-09 trunk 49906) [x86_64-darwin14]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN
----------------------------------------
Webrick keeps showing NoMethodError when WEBrick::HTTPServer#start is called after #stop.

```zsh
webrick $ ruby -v
ruby 2.3.0dev (2015-03-09 trunk 49906) [x86_64-darwin14]
webrick $ ruby webrick.rb
[2015-03-10 12:51:16] INFO  WEBrick 1.3.1
[2015-03-10 12:51:16] INFO  ruby 2.3.0 (2015-03-09) [x86_64-darwin14]
[2015-03-10 12:51:16] INFO  WEBrick::HTTPServer#start: pid=10889 port=4567
# started
[2015-03-10 12:51:18] INFO  going to shutdown ...
[2015-03-10 12:51:18] INFO  WEBrick::HTTPServer#start done.
# stopped
[2015-03-10 12:51:18] INFO  WEBrick::HTTPServer#start: pid=10889 port=4567
[2015-03-10 12:51:18] ERROR NoMethodError: undefined method `[]' for nil:NilClass
        /Users/koji/.rbenv/versions/2.3.0-dev/lib/ruby/2.3.0/webrick/server.rb:174:in `block in start'
[2015-03-10 12:51:18] ERROR NoMethodError: undefined method `[]' for nil:NilClass
        /Users/koji/.rbenv/versions/2.3.0-dev/lib/ruby/2.3.0/webrick/server.rb:174:in `block in start'
[2015-03-10 12:51:18] ERROR NoMethodError: undefined method `[]' for nil:NilClass
```

Meanwhile, it can be restarted with Ruby 2.1.5. (until [this commit](http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?revision=48353&view=revision))
[Middleman](https://middlemanapp.com/) is affected for instance, resulting in its auto-reload feature crashing.

Here is a simple code to reproduce:

```ruby
require 'webrick'

server = WEBrick::HTTPServer.new(BindAddress: '0.0.0.0', Port: 4567)

Thread.start { server.start }
sleep 1 until server.status == :Running
puts "# started"

server.stop
sleep 1 until server.status == :Stop
puts "# stopped"

server.start
```



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next