Re: reproducible bug in 2.2.19 & 2.4.x [lkml]

From: Balazs Scheidler (bazsi@balabit.hu)
Date: Wed Oct 03 2001 - 06:41:43 EST


On Wed, Oct 03, 2001 at 12:55:16PM +0200, pierre.lombard@imag.fr wrote:
> Hi,
>
> I checked glibc syslog() code in misc/syslog.[hc]
>
> A possible explanation:
> 1. you ignore SIGPIPE
> 2. syslog communicates with syslogd thru a pipe and mess with sigpipe
> handler
> 3. this breaks things.
>
> Can you test the patch I attached, it seems to work fine here (whereas your
> snippet crashes quickly) and send feedback if it works ?

The problem is that my the problem occurs in a program completely
independent from my stressthreads program (it is meant only for
demonstration purposes). This SIGSEGV occurs in our multithreaded proxy
firewall software called Zorp.

We are using a dummy signal handler (not SIG_IGN), and the SIGSEGV still
occurs.

A last addition is that the problem occurs on non-SMP kernels as well,
albeit much more rarely.

My workaround is now not to use syslog() from libc. I implemented my own
syslog writing routines, and the problem didn't occur (though it's been
running for two days now, so nothing is for sure yet).

For the time being I'm also trying to reproduce the problem without
syslog() as I think it is a kernel related problem.

I think it must be related to the fact syslog() is changing signal handler
routines very often.

thanks for the feedback.

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 07 2001 - 21:00:26 EST