[ Martin, could you have a look at this? I think this might be
related to your changes to mapcar1 in December'98, but I'm not
smart enough to figure it out... ]
Georg Nikodym <georgn(a)canada.sun.com> writes:
>>>>> "RT" == Raymond Toy
<toy(a)rtp.ericsson.se> writes:
RT> We finally moved over to 2.7 here, and I rebuilt 21.2-b19 on
RT> Solaris
RT> 2.7 with gcc 2.7.2.2.
RT> See the attached Installation file for specifics.
RT> I got the following crash while trying to view a new message in
RT> VM. VM was displaying an html message, I think, when it crashed.
RT> The lisp and C tracebacks are given below. I tried to view the
RT> message just now, and it shows up just fine.
I, too, have seen this crash but was unable to reproduce it so I just
chalked it up to sun spots (no pun intended ;-)
We have seen this a couple of times before with different compilers on
different platforms:
Simon:
http://www.xemacs.org/list-archives/xemacs-beta/9901/msg00718.html
Colin:
http://www.xemacs.org/list-archives/xemacs-beta/9906/msg00076.html
Raymond:
http://www.xemacs.org/list-archives/xemacs-beta/9906/msg00123.html
http://www.xemacs.org/list-archives/xemacs-beta/9910/msg00046.html
Cameron:
http://www.xemacs.org/list-archives/xemacs-beta/9908/msg00018.html
Georg:
http://www.xemacs.org/list-archives/xemacs-beta/9909/msg00235.html
The pattern I see is something like:
- execute_optimized_program calls Fmapcar or Fmapconcat via Ffnucall
- the function passed to Fmap[concat|car] either is or at least
involves char-to-string
- the SEQ is a string.
I looked at this some time ago and made some wild guesses related to
GC and Martin's 'Marzilla' changes:
http://www.xemacs.org/list-archives/xemacs-beta/9906/msg00191.html
looking at this again I'm not so sure this is really a GC problem as
execute_optimized_program seems to do all the necessary GCPROing (as
Hrvoje pointed out).
Maybe there is some subtle bug in the interaction of Fchar_to_string
and the (new) string code in mapcar1. I'll look at this again.
If anyone sees this again, please send a LISP backtrace in addition to
the C backtrace and if possible save the core for further examination.
Naturally I prefer backtraces from debug builds...
Gunnar