>>>>> "wb" == William Brew <[EMAIL PROTECTED]> writes:

  wb> In 18e, whenever we tried saving with :purify t (the default),
  wb> cmucl dumped core. We progressed by just specifying :purify nil.
  wb> This appeared to work fine in 18e and 2003_12. In 2004_04, this
  wb> approach saves a lisp core but when you start the core, you get
  wb> a div by 0 error before lisp even has a chance to print the
  wb> herald.

  I can reproduce this on Sparc; it looks like it's due to a false
  assumption in VOLATILE-INFO-LOOKUP. I'm rebuilding to see whether my
  simple fix is sufficient.
  

  wb> In 18e, using purify fails on our application   Ditto  in 2003_12.
  wb> Ditto in 2004_04.   The failure mode is a core dump.  The heap size
  wb> is around 53Mbyte.

  from your transcript, it looks like you are loading 3 foreign object
  files using EXT:LOAD-FOREIGN. You should not expect these objects to
  be reloaded correctly when restarting a dumped core, and the
  symptoms could indeed be a core dump.

  Assuming that these are shared libraries, could you try using
  SYS::LOAD-OBJECT-FILE instead of LOAD-FOREIGN, and say

    (pushnew 'sys::reinitialize-global-table ext:*after-save-initializations*)

  before saving your lisp. This only has a chance of working in the
  2004-04 snapshot, otherwise you can try the code in
  http://article.gmane.org/gmane.lisp.cmucl.general/2401
    

  wb> Related to the purify problem, I attempted to duplicate the
  wb> purify problem outside the context of our application. I created
  wb> a program that just consed up a bunch of arrays and then tried
  wb> to do a purify. There is some fog here. In 2003_12, with a
  wb> particular set of size parameters you get a segmentation
  wb> violation.

  I can reproduce this too, on both Sparc and Linux/x86, when the size
  parameters are increased. I don't know what the cause is. 
  
-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>

Reply via email to