From: Theodore Knab Date: 2004-01-23T10:17:22+09:00 Subject: Re: Socket.gethosbyname AgrumentError Seems to work on Debian Sarge Linux. bash-2.05b$ ruby -v ruby 1.8.1 (2003-11-11) [i386-linux] irb(main):001:0> require 'socket' => true irb(main):003:0> Socket.gethostbyname('146.102.77.77') => ["sM05h01.vse.cz", [], 2, "\002\000\000\000\222fMM\000\000\000\000\000\000\00 0\000"] You could always try using a redirect: irb(main):005:0> myip = IO.readlines("|/usr/bin/host 146.102.77.77") => ["Name: sM05h01.vse.cz\n", "Address: 146.102.77.77\n", "\n"] irb(main):006:0> print "debug: myip is " + myip[0].chomp!,"\n" debug: myip is Name: sM05h01.vse.cz => nil On 23/01/04 05:44 +0900, Dalibor Sramek wrote: > Hi. > > I have upgraded and one of my scripts now dies with ArgumentError while > calling Socket.gethostbyname - see bellow. > Can someone explain to me why this is happening? Can it be caused by an > interference with IPv6? > > Thanks, > > Dalibor Sramek > > vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv > > dali@epot:~$ ruby -v > ruby 1.8.1 (2003-12-25) [i386-freebsd5.2] > dali@epot:~$ irb > irb(main):001:0> require 'socket' > => true > irb(main):002:0> Socket.gethostbyname('146.102.77.77') > ArgumentError: NULL pointer given > from (irb):2:in ethostbyname' > from (irb):2 > irb(main):003:0> > > dali@epot:~$ nslookup 146.102.77.77 > Server: ns1.casablanca.cz > Address: 217.11.224.1 > > Name: sM05h01.vse.cz > Address: 146.102.77.77 > > > -- > Dalibor Sramek http://www.insula.cz/dali | In the eyes of cats, > dalibor.sramek@insula.cz | all things belong to cats. > -- ------------------------------------------ Ted Knab Chester, MD 21619 ------------------------------------------ 35570707f6274702478656021626f6c6964796f6e602f66602478656 02e6164796f6e60237471647560216e6460276c6f62616c60257e696 4797e2a0