Hello.

Nxlog  falls to SIGSEGV when I set PC hostname to something like 
"invalid-dns-name".
Before die nxlog prints:

failed to determine FQDN hostname: Name or service not known

Useful information after crash from gdb:

bt
#0 0xb76f5e8a in apr_getnameinfo () from /usr/lib/libapr-1.so.0
#1 0x080914c2 in nxlog_init (nxlog=0xbffde774) at nxlog.c:182
#2 0x08054724 in main (argc=2, argv=0xbffde8d4, env=0xbffde8e0) at 
main-unix.c:80 disass
0xb76f5e46 <apr_getnameinfo+0>: push %ebp
0xb76f5e47 <apr_getnameinfo+1>: mov %esp,%ebp
0xb76f5e49 <apr_getnameinfo+3>: push %esi
0xb76f5e4a <apr_getnameinfo+4>: push %ebx
0xb76f5e4b <apr_getnameinfo+5>: sub $0x450,%esp
0xb76f5e51 <apr_getnameinfo+11>: call 0xb76e2597 <__i686.get_pc_thunk.bx>
0xb76f5e56 <apr_getnameinfo+16>: add $0xf19e,%ebx
0xb76f5e5c <apr_getnameinfo+22>: mov 0x8(%ebp),%eax
0xb76f5e5f <apr_getnameinfo+25>: mov %eax,-0x42c(%ebp)
0xb76f5e65 <apr_getnameinfo+31>: mov 0xc(%ebp),%eax
0xb76f5e68 <apr_getnameinfo+34>: mov %eax,-0x430(%ebp)
0xb76f5e6e <apr_getnameinfo+40>: mov %gs:0x14,%eax
0xb76f5e74 <apr_getnameinfo+46>: mov %eax,-0xc(%ebp)
0xb76f5e77 <apr_getnameinfo+49>: xor %eax,%eax
0xb76f5e79 <apr_getnameinfo+51>: call 0xb76e1ac0 <__h_errno_location@plt>
0xb76f5e7e <apr_getnameinfo+56>: movl $0x0,(%eax)
0xb76f5e84 <apr_getnameinfo+62>: mov -0x430(%ebp),%eax
0xb76f5e8a <apr_getnameinfo+68>: mov 0x10(%eax),%eax
0xb76f5e8d <apr_getnameinfo+71>: cmp $0xa,%eax
0xb76f5e90 <apr_getnameinfo+74>: jne 0xb76f5f45 <apr_getnameinfo+255>
0xb76f5e96 <apr_getnameinfo+80>: mov -0x430(%ebp),%eax
0xb76f5e9c <apr_getnameinfo+86>: add $0x30,%eax
0xb76f5e9f <apr_getnameinfo+89>: mov (%eax),%eax
0xb76f5ea1 <apr_getnameinfo+91>: test %eax,%eax
0xb76f5ea3 <apr_getnameinfo+93>: jne 0xb76f5f45 <apr_getnameinfo+255>
0xb76f5ea9 <apr_getnameinfo+99>: mov -0x430(%ebp),%eax



I suppose that SIGSEGV raised because inside nxlog_init()
apr_getnameinfo() runs even if previous call of apr_sockaddr_info_get() fails.

-------------
if ((rv = apr_sockaddr_info_get(&sa, tmpstr, APR_INET, 0, 0, nxlog->pool)) != 
APR_SUCCESS )
{
    log_aprwarn(rv, "failed to determine FQDN hostname");
}
if ((rv = apr_getnameinfo(&(nxlog->hostname_fqdn.buf), sa, 0)) != APR_SUCCESS )
{
    log_aprwarn(rv, "failed to determine FQDN hostname");
}
-------------


Additional information:
OS: 
$uname -a Linux XXXX 2.6.32-5-686 #1 SMP Fri May 10 08:33:48 UTC 2013 i686 
GNU/Linux
nxlog version: nxlog-ce-2.4.1054

libapr version: 1.4.2-6


------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
nxlog-ce-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nxlog-ce-users

Reply via email to