spamass-milt-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: spamass-milter terminated with signal 6


From: Valentin Chopov
Subject: Re: spamass-milter terminated with signal 6
Date: Tue, 3 Jun 2003 08:17:24 -0400 (EDT)

Thanks Mike,

I think I did it simpler. I'm running spamass-milter from the script with
no "-f"  option and I'm executing this  script in the background.
My current script is:


#! /bin/sh
cd /home/spamass
PIDFILE=/var/run/runspamassmilter.sh.pid
echo $$ > "${PIDFILE}"
while true; do
        su - spamass -c '/usr/local/sbin/spamass-milter -p
inet:address@hidden'  >/dev/null 2>&1
        date >> /store/logs/spamass.log
        echo "spamass-milter died!" >> /store/logs/spamass.log
        if [ -f spamass-milter.core ]
        then
                mv -f spamass-milter.core spamass-milter.core.`date "+%s"`
2>/dev/null
        fi

        sleep 1
done

Currently I'm saving all core files but I'll remove this  soon, first
I'll try to find a solution for this.

Val

On Mon, 2 Jun 2003, Mike Tancsa wrote:

>
> I see this all the time. Not sure if its a bug in the milter, or libc_r. I
> 'did a microsoft' and just wrote a little controlling daemon to respawn the
> process if it does a SIGABORT.
>
>
>
> #include <sys/types.h>
> #include <sys/wait.h>
> #include <syslog.h>
> #include <stdio.h>
> #include <stdarg.h>
>
>
>
> int main (void) {
>          pid_t   pid;
>          int     status;
>          extern char **environ;
>          static char program[] = "/usr/local/etc/spamass-milter.sh";
>          static char *argv[] = {"/usr/local/etc/spamass-milter.sh",
> "start",NULL};
>
>          while(1) {
>                  if ( (pid = fork()) < 0) {
>                          abort("fork error");}
>                  else if ( pid == 0 ) { /* child */
>                          status = execve(program,argv, environ);
>                          syslog(LOG_ALERT|LOG_LOCAL1,"on signal %d",status);
>                          exit(127);
>                  }
>                  syslog(LOG_ALERT|LOG_LOCAL1, "pid is %d\n",pid);
>                  /* parent process */
>
>                  if ( (pid = waitpid(pid, &status,0)) < 0)
>                          abort("waitpid error");
>                  printf("\n our exit status was %d \n",status);
>                  syslog(LOG_ALERT|LOG_LOCAL1,"process exiting on signal
> %d",status);
>                  sleep(2);
>                  }
>          }
>
>
>
>
> At 04:11 PM 02/06/2003 -0400, Valentin Chopov wrote:
> >Hi all,
> >
> >
> >I have a small problem with spamass-milter.
> >I'm running it on FreeBSD 4.8.
> >It core dumps about every 30-60min
> >Here is the gdb info:
> >
> >bash-2.05b# gdb -c spamass-milter.core  /usr/local/sbin/spamass-milter
> >GNU gdb 4.18 (FreeBSD)
> >Copyright 1998 Free Software Foundation, Inc.
> >GDB is free software, covered by the GNU General Public License, and you
> >are
> >welcome to change it and/or distribute copies of it under certain
> >conditions.
> >Type "show copying" to see the conditions.
> >There is absolutely no warranty for GDB.  Type "show warranty" for
> >details.
> >This GDB was configured as "i386-unknown-freebsd"...Deprecated bfd_read
> >called at
> >/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c
> >line 2627 in elfstab_build_psymtabs
> >Deprecated bfd_read called at
> >/usr/src/gnu/usr.bin/binutils/gdb/../../../../contrib/gdb/gdb/dbxread.c
> >line 933 in fill_symbuf
> >
> >Core was generated by `spamass-milter'.
> >Program terminated with signal 6, Abort trap.
> >Reading symbols from /usr/lib/libmilter.so.2...done.
> >Reading symbols from /usr/lib/libstdc++.so.3...done.
> >Reading symbols from /usr/lib/libm.so.2...done.
> >Reading symbols from /usr/lib/libc_r.so.4...done.
> >Reading symbols from /usr/libexec/ld-elf.so.1...done.
> >#0  0x2811bba0 in kill () from /usr/lib/libc_r.so.4
> >(gdb) bt
> >#0  0x2811bba0 in kill () from /usr/lib/libc_r.so.4
> >#1  0x28169dfe in abort () from /usr/lib/libc_r.so.4
> >#2  0x280bc25f in __default_terminate () from /usr/lib/libstdc++.so.3
> >#3  0x280bc26d in __terminate () from /usr/lib/libstdc++.so.3
> >#4  0x280bc54b in __sjthrow () from /usr/lib/libstdc++.so.3
> >#5  0x804e2f1 in mlfi_eom (ctx=0x807c380) at spamass-milter.cpp:629
> >#6  0x28077c0f in mi_clr_macros () from /usr/lib/libmilter.so.2
> >#7  0x28077100 in mi_engine () from /usr/lib/libmilter.so.2
> >#8  0x28076d79 in mi_handle_session () from /usr/lib/libmilter.so.2
> >#9  0x2807659e in mi_thread_handle_wrapper () from /usr/lib/libmilter.so.2
> >#10 0x280f6128 in _thread_start () from /usr/lib/libc_r.so.4
> >#11 0xbfadcffc in ?? ()
> >(gdb)
> >
> >
> >I couldn't find nothing suspicious at spamass-milter.cpp:629
> >
> >   } catch (string& problem)
> >     {
> >       throw_error(problem);
> >       smfi_setpriv(ctx, static_cast<void*>(0));
> >       delete assassin;
> >       debug(1, "mlfi_eom: exit");
> >       return SMFIS_TEMPFAIL;    <---line 629
> >     };
> >
> >BTW, if I include a line after this line (e.g. debug(0,...)) the gdb/bt
> >shows spamass-milter.cpp:630.
> >
> >Any ideas with this?
> >
> >Thanks,
> >Val
> >
> >
> >
> >==
> >Valentin S. Chopov, CC[ND]P
> >Sys/Net Admin
> >SEI Data Inc.
> >E-Mail: address@hidden
> >==
> >
> >
> >
> >
> >_______________________________________________
> >Spamass-milt-list mailing list
> >address@hidden
> >http://mail.nongnu.org/mailman/listinfo/spamass-milt-list
>
>
>

==
Valentin S. Chopov, CC[ND]P
Sys/Net Admin
SEI Data Inc.
E-Mail: address@hidden
==






reply via email to

[Prev in Thread] Current Thread [Next in Thread]