NetBSD-Bugs archive

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

port-i386/39521: SIGIO, xemacs random crashes on SMP system



>Number:         39521
>Category:       port-i386
>Synopsis:       SIGIO, xemacs random crashes on SMP system
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Sep 11 17:55:00 +0000 2008
>Originator:     anthony.mallet%useless-ficus.net@localhost
>Release:        NetBSD 4.99.72
>Organization:
>Environment:
System: NetBSD ficus 4.99.72 NetBSD 4.99.72 (FICUS) #8: Sat Aug 30 13:19:16 
CEST 2008 troot@ficus:/usr/obj/sys/arch/i386/compile/FICUS i386
Architecture: i386
Machine: i386
>Description:
I am observing random crashes of xemacs on an SMP/i386 system (intel quad
core CPU) since quite a long time now (I would say since January this year).
Since then I have upgraded several time the base sytem, and ran on a regular
basis pkg_rolling-replace -sur. xemacs has been recompiled with up-to-date
system each time.

The crashes can be quite easily reproduced by running `xemacs-21.4.17 -vanilla`
(from pkgsrc), visiting a big buffer (an autoconf 'configure' script of 20k
lines is the perfect example), turning on font lock, fontifying the buffer
and searching for some text. It's not 100% guaranteed but on my system I have a
combination of configure file / search text that can crash xemacs 100% of
the time. The core dump shows evidence of memory corruption, or a failed
assertion.

a/ The problem disappears as soon as I turn all but one CPUs offline, or if I
   run the same binary/userland/kernel on another UP machine. So this looks
   SMP-related.

b/ The problem disppears if I remove completely the SIGIO handler that xemacs
   installs (commenting the line 801 in src/signal.c of pkgsrc/xemacs). So this
   looks SIGIO-related.

c/ The problem remains if I install *an empty* SIGIO handler (an empty
   function binded to SIGIO). That an empty SIGIO handler can crash the
   application make me think the source of the problem might be in the kernel.

d/ The problem is the same with xemacs 21.4.17, 21.4.21, 21.5.27. I was not
   able to reproduce the problem in a small code snippet yet (I'm still trying
   though).

>How-To-Repeat:
take an SMP system.
run xemacs. (any version greater than or equal to 21.4.17 will do).
load a big buffer (20k lines or so).
turn on font-lock-mode.
M-x font-lock-fontify-buffer
C-s (search) for some text, repeatedly.
You should be looking at a core dump within a few seconds.

>Fix:
A workaround is to remove the SIGIO handler in src/signal.c:801 of
xemacs-21.4.17 from pkgsrc.



Home | Main Index | Thread Index | Old Index