From xemacs-m  Thu Mar 27 15:11:43 1997
Received: from mailbox2.ucsd.edu (mailbox2.ucsd.edu [132.239.1.54])
	by xemacs.org (8.8.5/8.8.5) with ESMTP id PAA22639
	for <xemacs-beta@xemacs.org>; Thu, 27 Mar 1997 15:11:42 -0600 (CST)
Received: from sdnp5.ucsd.edu (sdnp5.ucsd.edu [132.239.79.10]) by mailbox2.ucsd.edu (8.8.5/8.6.9) with SMTP id NAA10422 for <xemacs-beta@xemacs.org>; Thu, 27 Mar 1997 13:11:43 -0800 (PST)
Received: by sdnp5.ucsd.edu (SMI-8.6/SMI-SVR4)
	id NAA21060; Thu, 27 Mar 1997 13:13:31 -0800
Sender: dmoore@sdnp5.ucsd.edu
To: xemacs-beta@xemacs.org
Subject: Re: XEmacs crash (efs-related)
References: <199703271307.OAA03894@atusel63.alcatel.at>
X-Face: "oX;zS#-JU$-,WKSzG.1gGE]x^cIg!hW.dq>.f6pzS^A+(k!T|M:}5{_%>Io<>L&{hO7W4cicOQ|>/lZ1G(m%7iaCf,6Qgk0%%Bz7b2-W3jd0m_UG\Y;?]}4s0O-U)uox>P3JN)9cm]O\@,vy2e{`3pb!"pqmRy3peB90*2L
Mail-Copies-To: never
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
From: David Moore <dmoore@ucsd.edu>
Date: 27 Mar 1997 13:13:30 -0800
In-Reply-To: Martin Pottendorfer's message of Thu, 27 Mar 1997 14:07:49 +0100
Message-ID: <rvwwqt6nt1.fsf@sdnp5.ucsd.edu>
Lines: 42
X-Mailer: Gnus v5.4.37/XEmacs 19.15

Martin Pottendorfer <Martin.Pottendorfer@aut.alcatel.at> writes:

>   load-internal("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t nil nil)
>   # bind (nosuffix nomessage noerror file)
>   efs-real-load("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t)
>   # bind (after-load-alist parsed after-load filename nosuffix nomessage noerror file)
>   load("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t)
>   apply(load ("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t))
>   # bind (inhibit-file-name-handlers inhibit-file-name-operation args op)
>   dired-handler-fn(load "/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t)
>   load-internal("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t nil nil)
>   # bind (nosuffix nomessage noerror file)
>   efs-real-load("/local/pottendo/gnu-inst/build/xemacs-20.1-b9/lisp/gnus/gnus.elc" nil t t)
>   # bind (after-load-alist parsed after-load filename nosuffix nomessage noerror file)
>   load("gnus" nil nil nil)


Why does efs override 'load' instead of just using the handlers?

Ok, this GC crash may have been fixed, or not.  The problem is related
to the lovely file handler that dired installs, which matches every
file.  Which ensures that once you'd loaded dired, even without loading
efs, that you're quite likely to find some remaining GC bugs in the file
handler code, since every file operation now involves handlers and
calling back to lisp [1].

Btw, this also means that once you load dired your file loading
performance will drop through the floor.  Since when it's going through
the search path looking for the file to load, it'll be calling back into
lisp on every single one.


file-name-handler-alist's value is (("." . dired-handler-fn) ("^/[^/:]+:" . efs-file-handler-function) ("^/$" . efs-root-handler-function) ("\\(^\\|[^$]\\)\\(\\$\\$\\)*\\$[{a-zA-Z0-9]" . efs-sifn-handler-function))


[1] Can I scream now?

-- 
David Moore <dmoore@ucsd.edu>       | Computer Systems Lab      __o
UCSD Dept. Computer Science - 0114  | Work: (619) 534-8604    _ \<,_
La Jolla, CA 92093-0114             | Fax:  (619) 534-1445   (_)/ (_)
<URL:http://oj.egbt.org/dmoore/>    | In a cloud bones of steel.

