>>>> "Adrian" == Adrian Aichner
<aichner(a)ecf.teradyne.com> writes: 
>>>> "Martin" == Martin Buchholz
<martin(a)xemacs.org> writes: 
>>>> "APA" == Adrian Aichner
<aichner(a)ecf.teradyne.com> writes: 
    Martin> Please test out this patch.  Especially Adrian, I would
    Martin> appreciate if you could give me a `thumbs up' by Sunday.
    Martin> Untested on NT, as usual.
    Adrian> How about this Backtrace then? :-)
    Adrian> This occured after rebuilding with you patches successfully applied.
    Adrian> I assume it's correct that only
    Adrian> event-msw.c had to be re-compiled (for WidowsNT native build)
    Adrian> before link.exe @C:\WINNT\Profiles\AichnerA\tmp\nma00176.  That's what
    Adrian> xemacs.mak did anyway.
    Adrian> Here's the VC++ 5.0 CallStack, edited for bandwidth:
    Adrian> allocate_lisp_storage(unsigned int 2044) line 482 + 3 bytes
    Adrian> Fcons(Lisp_Object {...}, Lisp_Object {...}) line 1143 + 71 bytes
    Adrian> list2(Lisp_Object {...}, Lisp_Object {...}) line 1197 + 15 bytes
    Adrian> throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object
    Adrian> {...}, Lisp_Object {...}) line 1432 + 13 bytes
    Adrian> Fthrow(Lisp_Object {...}, Lisp_Object {...}) line 1468 + 28 bytes
    Adrian> Fsignal(Lisp_Object {...}, Lisp_Object {...}) line 2036 + 18 bytes
    Adrian> throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object
    Adrian> {...}, Lisp_Object {...}) line 1432 + 29 bytes
    Adrian> ABOVE THREE LINES REPEATED 326 TIMES
    Adrian> Fthrow(Lisp_Object {...}, Lisp_Object {...}) line 1468 + 28 bytes
Another one of these just happened after I had used CVS menus and
played one game of tetris.  This time the story ends right in Fcons.
The comments in throw_or_bomb_out() in src/eval.c are scarey enough to 
give some clue to the knowledgable.  All I can make of it is this:
There is a warning about infinite recursion, which is what seems to be 
happening here:
     'top-level.  If this tag doesn't exist (happens during the
     initialization stages) we would get in an infinite recursive
     Fsignal/Fthrow loop, so instead we bomb out to the
     really-early-error-handler.
There problem is: We don't bomb out in throw_or_bomb_out():
      if (!bomb_out_p)
        tag = Fsignal (Qno_catch, list2 (tag, val));
      else
        call1 (Qreally_early_error_handler, Fcons (sig, data));
Fcons(Lisp_Object {...}, Lisp_Object {...}) line 1143 + 125 bytes
list2(Lisp_Object {...}, Lisp_Object {...}) line 1197 + 15 bytes
throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object {...},
Lisp_Object {...}) line 1432 + 13 bytes
Fthrow(Lisp_Object {...}, Lisp_Object {...}) line 1468 + 28 bytes
Fsignal(Lisp_Object {...}, Lisp_Object {...}) line 2036 + 18 bytes
throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object {...},
Lisp_Object {...}) line 1432 + 29 bytes
Fthrow(Lisp_Object {...}, Lisp_Object {...}) line 1468 + 28 bytes
Fsignal(Lisp_Object {...}, Lisp_Object {...}) line 2036 + 18 bytes
throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object {...},
Lisp_Object {...}) line 1432 + 29 bytes
<MANY LINES DELETED BY ADRIAN>
Fthrow(Lisp_Object {...}, Lisp_Object {...}) line 1468 + 28 bytes
Fsignal(Lisp_Object {...}, Lisp_Object {...}) line 2036 + 18 bytes
throw_or_bomb_out(Lisp_Object {...}, Lisp_Object {...}, int 0, Lisp_Object {...},
Lisp_Object {...}) line 1432 + 29 bytes
HTH,
Adrian
    Adrian> It occured after XEmacs had started, reading my extensive
    Adrian> site-start.el and .emacs (crashes usually don't happen with
    Adrian> -no-init-file -no-site-file, sorry).  Hitting the News toolbar button,
    Adrian> which starts Gnus for me, crashed XEmacs-21.0-b5++++++
    Adrian> Thanks for looking into this!  I am confident that this is the right
    Adrian> way to a robust XEmacs, EVEN on WindowsNT ;->
    Adrian> I'll try my best to give crash feedback.  Let me know what additional
    Adrian> information might help.
    Adrian> Regards,
    Adrian> Adrian
    Martin> 1998-12-11  Martin Buchholz  <martin(a)xemacs.org>
    Martin> * events.h (struct timeout_data):
    Martin> * event-tty.c (tty_timeout_to_emacs_event):
    Martin> * event-msw.c (mswindows_wm_timer_callback):
    Martin> * event-Xt.c (Xt_timeout_to_emacs_event):
    Martin> * event-msw.c (mswindows_cancel_dispatch_event):
    Martin> Make sure Lisp_Objects inside events are initialized to 
    Adrian> Qnil, not
    Martin> Qnull_pointer, which is now illegal.