[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