Subject: [clisp-list] clisp 2.27 Unhandled exception. Stack limitations

From: "Maciej Skierski" <[email-masked]>
Date: Wed Feb 20 22:01:08 2002

Hello

1. I have compiled lisp v.2.27 on XP Professional using VC++ 6.0 and I'm
getting unhandled exception message
============================================================================
============
[14]> *** - handle_fault error2 ! address = 0x1E492000 not in
[0x1E2C0000,0x1E44C074)
!SIGSEGV cannot be cured. Fault address = 0x1E492000.
============================================================================
============

I have re-compiled lisp using the debug single threaded library and I
received the following stack unwind report:

============================================================================
============
string_eqcomp_ci(void * 0x1e491ff9, unsigned long 0, void * 0x1e35436d,
unsigned long 0, unsigned long 2) line 2992 + 3 bytes
read_form() line 149 + 18 bytes
C_read_eval_print() line 267
funcall_subr(void * 0x006c05aa, unsigned long 2) line 5541
funcall(void * 0x006c6ded, unsigned long 2) line 5143 + 11 bytes
interpret_bytecode_(void * 0x1e357741, sbvector_ * 0x1e35770c, const
unsigned char * 0x1e357734) line 7206 + 123 bytes
funcall_closure(void * 0x1e357741, unsigned long 0) line 5981 + 20 bytes
funcall(void * 0x1e357741, unsigned long 0) line 5138 + 11 bytes
C_driver() line 2134 + 15 bytes
interpret_bytecode_(void * 0x1e35776d, sbvector_ * 0x1e3576c4, const
unsigned char * 0x1e3576dc) line 7212 + 71 bytes
funcall_closure(void * 0x1e35776d, unsigned long 0) line 5981 + 20 bytes
funcall(void * 0x1e35776d, unsigned long 0) line 5138 + 11 bytes
interpret_bytecode_(void * 0x1e3e2a51, sbvector_ * 0x1e2f63f8, const
unsigned char * 0x1e2f643a) line 7262 + 29 bytes
funcall_closure(void * 0x1e3e2a51, unsigned long 0) line 5981 + 20 bytes
funcall(void * 0x1e3e2a51, unsigned long 0) line 5138 + 11 bytes
driver() line 337 + 10 bytes
main(int 7, char * * 0x05a712f0) line 2855
mainCRTStartup() line 206 + 25 bytes
KERNEL32! 77e7eb69()
============================================================================
============

The actual offending line is:

if (!chareq(up_case(as_chart(*charptr1++)),up_case(*charptr2++)))

where debugger shows that the unallocated value is *charptr1++.

Would you have any advice on this?

The second problem I have is the stack size allocation. Although I have
changed the executable to use 80MB of stack it appears that the system runs
out of stack space with the working set about 38MB. Is there build in
limitation on the size of accessible stack?

Regards
Maciej Skieski
[email-masked]
Web: www.ecandv.com.au

---

From: Sam Steingold <[email-masked]>
Date: Thu Feb 21 08:47:04 2002

> * In message <[email-masked]>
> * On the subject of "[clisp-list] clisp 2.27 Unhandled exception. Stack limitations"
> * Sent on Thu, 21 Feb 2002 17:02:01 +1100
> * Honorable "Maciej Skierski" <[email-masked]> writes:
>

I think this was fixed in the development sources on 2001-09-10.
Could you please check out the latest from the CVS and try it?

Thanks a lot for such a thorough bug report!
(the only thing missing is the instructions on how to reproduce the
crash :-)

> The second problem I have is the stack size allocation. Although I
> have changed the executable to use 80MB of stack it appears that the
> system runs out of stack space with the working set about 38MB. Is
> there build in limitation on the size of accessible stack?

I don't think so.  Bruno?

-- 
Sam Steingold (http://www.podval.org/~sds) running RedHat7.2 GNU/Linux
Keep Jerusalem united! <http://www.onejerusalem.org/Petition.asp>
Read, think and remember! <http://www.iris.org.il> <http://www.memri.org/>
Single tasking: Just Say No.