emacs-pretest-bug
[Top][All Lists]
Advanced

[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




reply via email to

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