all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#2403: And the guilty is: Garbage Collecting leak
@ 2009-03-30 10:18 Pierre Poissinger
  2009-03-30 15:42 ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Pierre Poissinger @ 2009-03-30 10:18 UTC (permalink / raw)
  To: 2403

[-- Attachment #1: Type: text/plain, Size: 513 bytes --]

Hi,

Took time to trace/debug with the help of Pascal Stenuit: The bug and
pattern seems to be a leak in GC due to a missing GCUNPRO...
This result in a unclean gcprolist in AIX (I do think the bug is "all
arch", just badly visible in AIX and some specific GNU/Linux arch -
other archs will just leak)...

Here come the patch - applied to a clean today checkout and passed the
bootstrap of "characters" just fine

Regs,
Pierre
--
>>> horsemen = ['war', 'pestilence', 'famine']
>>> horsemen.append('Powerbuilder')

[-- Attachment #2: emacs-fix-missing-gc.patch --]
[-- Type: application/octet-stream, Size: 242 bytes --]

diff --git a/src/charset.c b/src/charset.c
index 2781275..50f1ba5 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -728,6 +728,8 @@ map_charset_for_dump (c_function, function, arg, from, to)
 	}
       c++;
     }
+  
+  UNGCPRO;
 }
 
 void

^ permalink raw reply related	[flat|nested] 6+ messages in thread
* bug#2403: And the guilty is: Garbage Collecting leak
@ 2009-03-30 18:11 Ulrich Mueller
  2009-03-31  2:00 ` Stefan Monnier
  0 siblings, 1 reply; 6+ messages in thread
From: Ulrich Mueller @ 2009-03-30 18:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: 2403

> Other arches don't use GCPROs at all, instead they conservatively
> scan the whole stack.  They do that by setting

>    #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS

> in the corresponding emacs/src/s/*.h.  This is the preferred way to
> function, [...]

Since almost all other arches do it, I wonder if this shouldn't be
done for GNU/Linux on SuperH, too. That is, add "|| defined __sh__"
to the large #if statement in src/s/gnu-linux.h .

Ulrich






^ permalink raw reply	[flat|nested] 6+ messages in thread
* bug#2403: And the guilty is: Garbage Collecting leak
@ 2009-03-31 13:33 Raúl Porcel
  0 siblings, 0 replies; 6+ messages in thread
From: Raúl Porcel @ 2009-03-31 13:33 UTC (permalink / raw)
  To: 2403

Doing what Ulrich recommended makes it not hang on SuperH. However it
fails with a Bus error later on.

I'll try some stuff and submit a new bug for that one.

This is the error i get now:
Compiling quail/quick-cns.el
Fatal error (7)make[2]: *** [quail/quick-cns.elc] Bus error
make[2]: Leaving directory `/root/emacs/leim'
make[1]: *** [leim] Error 2

Unaligned accesses are fatal on sh like on sparc. But as I said, i'll
file another bug.

Thanks Pierre for finding out this stuff :)






^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-31 13:33 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-30 10:18 bug#2403: And the guilty is: Garbage Collecting leak Pierre Poissinger
2009-03-30 15:42 ` Stefan Monnier
2009-03-30 21:56   ` Pierre Poissinger
  -- strict thread matches above, loose matches on Subject: below --
2009-03-30 18:11 Ulrich Mueller
2009-03-31  2:00 ` Stefan Monnier
2009-03-31 13:33 Raúl Porcel

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.