Better UnknownHostException in RubySocket class
-----------------------------------------------

                 Key: JRUBY-3534
                 URL: http://jira.codehaus.org/browse/JRUBY-3534
             Project: JRuby
          Issue Type: Improvement
          Components: Core Classes/Modules
    Affects Versions: JRuby 1.2
         Environment: OS: Linux engel 2.6.28-ARCH #1 SMP PREEMPT Tue Mar 17 
06:42:43 UTC 2009 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz GenuineIntel 
GNU/Linux
Java: java version "1.6.0_12" \ Java(TM) SE Runtime Environment (build 
1.6.0_12-b04) \ Java HotSpot(TM) Server VM (build 11.2-b01, mixed mode)
MRI: ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-linux]
            Reporter: Dharivs Hax
            Priority: Trivial
         Attachments: main.rb

While handling UnkownHostException in RubySocket class, instead of giving a 
hard-coded message in the thrown sockerr, it would be more clear if it throws 
this with the UnknownHostException's message.

For example, executing the attached script which creates a Webrick HTTPServer, 
by default on port 80, as a non-privileged user, you get this:

[2009-03-26 22:53:56] INFO  WEBrick 1.3.1
[2009-03-26 22:53:56] INFO  ruby 1.8.6 (2009-03-16) [java]
[2009-03-26 22:53:56] WARN  TCPServer Error: initialize: name or service not 
known
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/utils.rb:73:in 
`new': initialize: name or service not known (SocketError)
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/utils.rb:73:in 
`create_listeners'
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/utils.rb:70:in 
`each'
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/utils.rb:70:in 
`create_listeners'
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/server.rb:75:in 
`listen'
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/server.rb:63:in 
`initialize'
        from 
/home/dharivs/software/opt/jruby-1.2.0/lib/ruby/1.8/webrick/httpserver.rb:24:in 
`initialize'
        from src/main.rb:26

But if you execute the same under MRI, you get this, which is more clear:

[2009-03-26 22:48:24] INFO  WEBrick 1.3.1
[2009-03-26 22:48:24] INFO  ruby 1.8.7 (2008-08-11) [i686-linux]
[2009-03-26 22:48:24] WARN  TCPServer Error: Permission denied - bind(2)
[2009-03-26 22:48:24] WARN  TCPServer Error: Permission denied - bind(2)
/usr/lib/ruby/1.8/webrick/utils.rb:73:in `initialize': Permission denied - 
bind(2) (Errno::EACCES)
        from /usr/lib/ruby/1.8/webrick/utils.rb:73:in `new'
        from /usr/lib/ruby/1.8/webrick/utils.rb:73:in `create_listeners'
        from /usr/lib/ruby/1.8/webrick/utils.rb:70:in `each'
        from /usr/lib/ruby/1.8/webrick/utils.rb:70:in `create_listeners'
        from /usr/lib/ruby/1.8/webrick/server.rb:75:in `listen'
        from /usr/lib/ruby/1.8/webrick/server.rb:63:in `initialize'
        from /usr/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize'
        from src/main.rb:26:in `new'
        from src/main.rb:26

Maybe UnknownHostException doesn't give more insight about the cause of itself, 
but it would be worth to check this, because I find myself fighting with this 
simple error and I didn't find any answer about this.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to