[syslog-ng] syslog-ng 1.2.22 coredumps in Solaris 7.0 x86
Jubal Kessler
jubal@interq.or.jp
Tue, 8 Jun 1999 21:09:32 +0900 (JST)
Hello,
With help I've finally gotten syslog-ng to work, up to a point. It loads
the simple configuration file without a problem, and streams to all the
right files; but after about a minute the program gives up and segfaults,
leaving a core file.
I have saved a large (1250k) 'truss -f' output file; the tail end follows:
----
13356: poll(0xEFFFFA28, 5, 100) = 1
13356: recvfrom(3, " < 2 0 > J u n 8 2".., 1024, 0, 0xEFFFF808, 0xEFFFF804) = 119
13356: time() = 928842741
13356: door_info(9, 0xEFFFD300) = 0
13356: door_call(9, 0xEFFFD2E8) = 0
13356: open("/etc/hosts", O_RDONLY) = 0
13356: ioctl(0, TCGETA, 0xEFFFCFBC) Err#25 ENOTTY
13356: fstat64(0, 0xEFFFD030) = 0
13356: read(0, " #\n # I n t e r n e t".., 8192) = 116
13356: read(0, 0x00056594, 8192) = 0
13356: llseek(0, 0, SEEK_CUR) = 116
13356: close(0) = 0
13356: stat("/etc/resolv.conf", 0xEFFFC190) = 0
13356: door_return(0x00000000, 0, 0x00000000, 0) = 0
13356: lwp_create(0xEF3059A0, LWP_DETACHED, 0xEF204E0C) = 5
13356: lwp_create() (returning as new lwp ...) = 0
13356: lwp_self() = 5
13356: lwp_schedctl(SC_STATE, -1, 0xEF204D6C) = 0
13356: so_socket(2, 1, 0, "", 1) = 0
13356: yield() = 0
13356: connect(0, 0x0004FAF4, 16, 1) = 0
13356: Incurred fault #6, FLTBOUNDS %pc = 0x0001F2F8
13356: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
13356: Received signal #11, SIGSEGV [caught]
13356: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
13356: sysconfig(_CONFIG_SIGRT_MIN) = 38
13356: sigprocmask(SIG_SETMASK, 0xEF57BEF0, 0x00000000) = 0
13356: sigaction(SIGSEGV, 0xEF3057C0, 0x00000000) = 0
13356: sysconfig(_CONFIG_SIGRT_MIN) = 38
13356: setcontext(0xEF305908)
13356: send(0, "17C101\0\001\0\0\0\0\0\0".., 43, 0) = 43
13356: Incurred fault #6, FLTBOUNDS %pc = 0x0001F2F8
13356: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
13356: Received signal #11, SIGSEGV [default]
13356: siginfo: SIGSEGV SEGV_MAPERR addr=0x00000000
13356: *** process killed ***
----
I also have the core file, but doing a backtrace on it only reveals hex
offsets which I can't associate with functions in syslog-ng's source ..
I'm a gdb beginner so any help would be appreciated.
My conf file looks like this:
----
source src { udp 0.0.0.0,514; sun-door /etc/.syslog_door; internal; };
destination c1 { file /log/mail/remotehost1/mail.log; };
destination c2 { file /log/mail/remotehost2/mail.log; };
destination c3 { file /log/mail/remotehost3/mail.log; };
destination c4 { file /log/mail/remotehost4/mail.log; };
filter f_c1 { host("remotehost1"); };
filter f_c2 { host("remotehost2"); };
filter f_c3 { host("remotehost3"); };
filter f_c4 { host("remotehost4"); };
log { source src; filter f_c1; destination c1; };
log { source src; filter f_c2; destination c2; };
log { source src; filter f_c3; destination c3; };
log { source src; filter f_c4; destination c4; };
----
Any ideas?
--Jubal
---
Jubal Kessler, Systems Administrator, interQ Incorporated
Key Fingerprint: 5D32 BEB1 8E4B B454 6B9A FDCD 2D4C 19DD 9B47 7DC4