This is a discussion on Trouble with getbyhostname() within the Linux Networking forums, part of the Linux Forums category; Hi, I am having trouble with getbyhostname().I works sometimes but on other occasions it crashes. IPADDRESS is a string ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
Hi,
I am having trouble with getbyhostname().I works sometimes but on other occasions it crashes. IPADDRESS is a string say "192.123.12.1" (gdb) Client::SendSocket (this=0xbfa9493c, QuerBuf=@0xbfa948c4, IPADDRESS=@0xbfa948d4) at Client.cc:141 141 h = gethostbyname(IPADDRESS.c_str()); (gdb) *** glibc detected *** /home/workspace/DNSResolver1/checkstring: free(): invalid next size (normal): 0x0804eb38 *** ======= Backtrace: ========= /lib/tls/i686/cmov/libc.so.6[0xb7db1d65] /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7db5800] /lib/tls/i686/cmov/libc.so.6(fclose+0x134)[0xb7da06f4] /lib/tls/i686/cmov/libc.so.6[0xb7e2a73d] /lib/tls/i686/cmov/libc.so.6(__res_ninit+0x25)[0xb7e2ae65] /lib/tls/i686/cmov/libc.so.6(__res_maybe_init+0x7b)[0xb7e2c30b] /lib/tls/i686/cmov/libc.so.6(__nss_hostname_digits_dots+0x2d) [0xb7e2dcdd] /lib/tls/i686/cmov/libc.so.6(gethostbyname+0x9a)[0xb7e3227a] |
|
|||
|
sam.barker0@gmail.com wrote:
> Hi, > I am having trouble with getbyhostname().I works sometimes but on > other occasions it crashes. > IPADDRESS is a string say "192.123.12.1" Well, gethostbyname really does work, honest. So you will have to send us a snippet of your code if you want advice on what is wrong with it. Robert > > (gdb) > Client::SendSocket (this=0xbfa9493c, QuerBuf=@0xbfa948c4, > IPADDRESS=@0xbfa948d4) at Client.cc:141 > 141 h = gethostbyname(IPADDRESS.c_str()); > (gdb) > *** glibc detected *** /home/workspace/DNSResolver1/checkstring: > free(): invalid next size (normal): 0x0804eb38 *** > ======= Backtrace: ========= > /lib/tls/i686/cmov/libc.so.6[0xb7db1d65] > /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7db5800] > /lib/tls/i686/cmov/libc.so.6(fclose+0x134)[0xb7da06f4] > /lib/tls/i686/cmov/libc.so.6[0xb7e2a73d] > /lib/tls/i686/cmov/libc.so.6(__res_ninit+0x25)[0xb7e2ae65] > /lib/tls/i686/cmov/libc.so.6(__res_maybe_init+0x7b)[0xb7e2c30b] > /lib/tls/i686/cmov/libc.so.6(__nss_hostname_digits_dots+0x2d) > [0xb7e2dcdd] > /lib/tls/i686/cmov/libc.so.6(gethostbyname+0x9a)[0xb7e3227a] |
|
|||
|
Uhm... not being a programmer, or anything, but isn't gethostbyname used
for resolving names into adresses and not the other way around? sam.barker0@gmail.com wrote: > Hi, > I am having trouble with getbyhostname().I works sometimes but on > other occasions it crashes. > IPADDRESS is a string say "192.123.12.1" > > (gdb) > Client::SendSocket (this=0xbfa9493c, QuerBuf=@0xbfa948c4, > IPADDRESS=@0xbfa948d4) at Client.cc:141 > 141 h = gethostbyname(IPADDRESS.c_str()); > (gdb) > *** glibc detected *** /home/workspace/DNSResolver1/checkstring: > free(): invalid next size (normal): 0x0804eb38 *** > ======= Backtrace: ========= > /lib/tls/i686/cmov/libc.so.6[0xb7db1d65] > /lib/tls/i686/cmov/libc.so.6(cfree+0x90)[0xb7db5800] > /lib/tls/i686/cmov/libc.so.6(fclose+0x134)[0xb7da06f4] > /lib/tls/i686/cmov/libc.so.6[0xb7e2a73d] > /lib/tls/i686/cmov/libc.so.6(__res_ninit+0x25)[0xb7e2ae65] > /lib/tls/i686/cmov/libc.so.6(__res_maybe_init+0x7b)[0xb7e2c30b] > /lib/tls/i686/cmov/libc.so.6(__nss_hostname_digits_dots+0x2d) > [0xb7e2dcdd] > /lib/tls/i686/cmov/libc.so.6(gethostbyname+0x9a)[0xb7e3227a] |
|
|||
|
Jurgen Haan <jurgen@fake.tld> wrote:
> Uhm... not being a programmer, or anything, but isn't gethostbyname > used for resolving names into adresses and not the other way around? Yes, but for the last decade or so just about everyone's gethostbyname() is willing to take-in an IPv4 address as a dotted-decimal string. However, for the last, oh five years or so, people should be migrating to getaddrinfo() rather than gethostbyname()... :) rick jones -- denial, anger, bargaining, depression, acceptance, rebirth... where do you want to be today? these opinions are mine, all mine; HP might not want them anyway... :) feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH... |
|
|||
|
Rick Jones <rick.jones2@hp.com> writes:
>Jurgen Haan <jurgen@fake.tld> wrote: >> Uhm... not being a programmer, or anything, but isn't gethostbyname >> used for resolving names into adresses and not the other way around? >Yes, but for the last decade or so just about everyone's >gethostbyname() is willing to take-in an IPv4 address as a >dotted-decimal string. >However, for the last, oh five years or so, people should be migrating >to getaddrinfo() rather than gethostbyname()... :) Which unfortunately has ( or maybe had) a problem in that it would not use the local hosts file but went out to the dns server for everything. >rick jones >-- >denial, anger, bargaining, depression, acceptance, rebirth... > where do you want to be today? >these opinions are mine, all mine; HP might not want them anyway... :) >feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH... |
|
|||
|
Unruh <unruh-spam@physics.ubc.ca> wrote:
> Rick Jones <rick.jones2@hp.com> writes: > >However, for the last, oh five years or so, people should be > >migrating to getaddrinfo() rather than gethostbyname()... :) > Which unfortunately has ( or maybe had) a problem in that it would > not use the local hosts file but went out to the dns server for > everything. I would expect that is had rather than has as I've been using it without reported trouble (of that sort at least) in netperf for a few years now. rick jones -- denial, anger, bargaining, depression, acceptance, rebirth... where do you want to be today? these opinions are mine, all mine; HP might not want them anyway... :) feel free to post, OR email to rick.jones2 in hp.com but NOT BOTH... |
![]() |
| Thread Tools | |
| Display Modes | |
|
|