[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Reentrant call to malloc/free
From: |
YAMAMOTO Mitsuharu |
Subject: |
Re: Reentrant call to malloc/free |
Date: |
Thu, 06 Jul 2006 09:53:57 +0900 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.6 (Marutamachi) APEL/10.6 Emacs/22.0.50 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) |
>>>>> On Wed, 05 Jul 2006 13:25:12 +0200, address@hidden (Dr. Carsten Bormann)
>>>>> said:
> While typing input (apparently often related to file/process
> operations, such as minibuffer completions of file names), emacs
> occasionally (say, once a day in heavy usage) hangs and uses high
> CPU (most of which is system time). Attaching GDB says:
> #11 0x000e0850 in poll_for_input ()
> #12 0x00213930 in alarm_signal_handler ()
> #13 <signal handler called>
> #14 0x90006a8c in szone_free ()
> #15 0x03200000 in ?? ()
> #16 0x9005d7dc in getgr_internal ()
> #17 0x9005d070 in getgr ()
> #18 0x0013ed6c in Ffile_attributes ()
I've once posted a (not complete) list of Darwin library functions
that may call malloc-related functions but are not protected by
BLOCK_INPUT:
localtime, gmtime, ctime, opendir, getc, getaddrinfo, fwrite, mkstemp
fclose, closedir, freeaddrinfo,
mktime (not used as of 2004-09)
(http://lists.gnu.org/archive/html/emacs-devel/2004-09/msg00074.html)
I cannot detect `getgrgid' as such a function, but I guess this is due
to the difference in name service backends (NIS, LDAP, ...).
We can put BLOCK_INPUTs around every getpw* and getgr* call, but if
the problem only occurs on Darwin, creating wrapper functions is an
alternative way. Does anyone know the situation on other systems?
YAMAMOTO Mitsuharu
address@hidden