|
From: <cli...@li...> - 2010-10-04 12:04:53
|
Send clisp-cvs mailing list submissions to cli...@li... To subscribe or unsubscribe via the World Wide Web, visit https://lists.sourceforge.net/lists/listinfo/clisp-cvs or, via email, send a message with subject or body 'help' to cli...@li... You can reach the person managing the list at cli...@li... When replying, please edit your Subject line so it is more specific than "Re: Contents of clisp-cvs digest..." CLISP CVS commits for today Today's Topics: 1. clisp/src ChangeLog, 1.7543, 1.7544 debug.d, 1.126, 1.127 lispbibl.d, 1.914, 1.915 spvw.d, 1.541, 1.542 zthread.d, 1.88, 1.89 (Vladimir Tzankov) ---------------------------------------------------------------------- Message: 1 Date: Sun, 03 Oct 2010 20:41:00 +0000 From: Vladimir Tzankov <vt...@us...> Subject: clisp/src ChangeLog, 1.7543, 1.7544 debug.d, 1.126, 1.127 lispbibl.d, 1.914, 1.915 spvw.d, 1.541, 1.542 zthread.d, 1.88, 1.89 To: cli...@li... Message-ID: <E1P...@sf...> Update of /cvsroot/clisp/clisp/src In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv25503/src Modified Files: ChangeLog debug.d lispbibl.d spvw.d zthread.d Log Message: fix bug#3077583: show-stack segfaults with MT Index: spvw.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/spvw.d,v retrieving revision 1.541 retrieving revision 1.542 diff -u -d -r1.541 -r1.542 --- spvw.d 5 Aug 2010 21:10:29 -0000 1.541 +++ spvw.d 3 Oct 2010 20:40:58 -0000 1.542 @@ -599,12 +599,12 @@ if (!low) return NULL; high = low + byte_size; #ifdef STACK_DOWN - thread->_STACK_bound=(gcv_object_t *)(low + 0x40); - thread->_STACK=(gcv_object_t *)high; + thread->_STACK_bound = (gcv_object_t *)(low + 0x40); + thread->_STACK = (gcv_object_t *)high; #endif #ifdef STACK_UP - thread->_STACK_bound=(gcv_object_t *)(high - 0x40); - thread->_STACK=(gcv_object_t *)low; + thread->_STACK_bound = (gcv_object_t *)(high - 0x40); + thread->_STACK = (gcv_object_t *)low; #endif thread->_STACK_start=thread->_STACK; return thread->_STACK; @@ -740,8 +740,13 @@ /* The LISP stack should be unwound so no interesting stuff on it. Let's deallocate it.*/ begin_system_call(); - if (thread->_own_stack) - free(THREAD_LISP_STACK_START(thread)); + if (thread->_own_stack) { + #ifdef STACK_DOWN + free((char *)thread->_STACK_bound - 0x40); + #else /* STACK_UP */ + free(thread->_STACK_start); + #endif + } free(thread->_ptr_symvalues); /* free per trread special var bindings */ free(thread); end_system_call(); Index: zthread.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/zthread.d,v retrieving revision 1.88 retrieving revision 1.89 diff -u -d -r1.88 -r1.89 --- zthread.d 7 Jul 2010 12:29:20 -0000 1.88 +++ zthread.d 3 Oct 2010 20:40:58 -0000 1.89 @@ -221,14 +221,8 @@ set_current_thread(me); /* first: initialize TLS */ var struct backtrace_t bt; me->_SP_anchor=(void*)SP(); - /* initialize backtrace */ - bt.bt_next = NULL; - bt.bt_function = L(make_thread); /* not exactly */ - bt.bt_stack = STACK STACKop -1; - bt.bt_num_arg = -1; - back_trace = &bt; - /* push the exit tag */ - pushSTACK(O(thread_exit_tag)); + back_trace = NULL; /* no back trace */ + pushSTACK(O(thread_exit_tag)); /* push the exit tag */ var gcv_object_t *initial_bindings = &STACK_1; var gcv_object_t *funptr = &STACK_2; /* create the thread exit CATCH frame */ Index: debug.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/debug.d,v retrieving revision 1.126 retrieving revision 1.127 diff -u -d -r1.126 -r1.127 --- debug.d 15 Jul 2010 15:34:06 -0000 1.126 +++ debug.d 3 Oct 2010 20:40:58 -0000 1.127 @@ -1505,7 +1505,7 @@ var gcv_object_t* stream_ = &STACK_0; var uintL count = 0; var p_backtrace_t bt = back_trace; - while (!((gcv_object_t*)STACK_start cmpSTACKop FRAME) + while (!((gcv_object_t*)STACK_start == FRAME) && (frame_limit==0 || count<frame_limit)) { fresh_line(stream_); print_bt_to_frame(stream_,FRAME,&bt,&count); Index: lispbibl.d =================================================================== RCS file: /cvsroot/clisp/clisp/src/lispbibl.d,v retrieving revision 1.914 retrieving revision 1.915 diff -u -d -r1.914 -r1.915 --- lispbibl.d 27 Sep 2010 22:07:20 -0000 1.914 +++ lispbibl.d 3 Oct 2010 20:40:58 -0000 1.915 @@ -17315,15 +17315,6 @@ #endif #endif /* !defined(per_thread)*/ - #ifdef STACK_DOWN - #define THREAD_LISP_STACK_START(thread) \ - ((gcv_object_t *)thread->_STACK_bound-0x40) - #endif - #ifdef STACK_UP - #define THREAD_LISP_STACK_START(thread) \ - ((gcv_object_t *)thread->_STACK_start) - #endif - /* just the beginning of the structure is exported - what modules want to know about (in order to build) */ %% puts("struct object_tab_tl_ {"); Index: ChangeLog =================================================================== RCS file: /cvsroot/clisp/clisp/src/ChangeLog,v retrieving revision 1.7543 retrieving revision 1.7544 diff -u -d -r1.7543 -r1.7544 --- ChangeLog 3 Oct 2010 02:17:06 -0000 1.7543 +++ ChangeLog 3 Oct 2010 20:40:58 -0000 1.7544 @@ -1,3 +1,12 @@ +2010-10-03 Vladimir Tzankov <vtz...@gm...> + + fix bug#3077583: show-stack segfaults with MT + * lispbibl.d (THREAD_LISP_STACK_START): remove + * spvw.d (delete_thread): calculate thread stack address and free it + * debug.d (show_stack): do not use cmpSTACKop for testing end of stack. + FRAME == STACK_start should be correct end condition in all cases + * zthread.d (thread_stub): no back trace for new thread + 2010-10-02 Sam Steingold <sd...@gn...> * makemake.in: make charstrg.o depend on gllib ------------------------------ ------------------------------------------------------------------------------ Virtualization is moving to the mainstream and overtaking non-virtualized environment for deploying applications. Does it make network security easier or more difficult to achieve? Read this whitepaper to separate the two and get a better understanding. http://p.sf.net/sfu/hp-phase2-d2d ------------------------------ _______________________________________________ clisp-cvs mailing list cli...@li... https://lists.sourceforge.net/lists/listinfo/clisp-cvs End of clisp-cvs Digest, Vol 54, Issue 2 **************************************** |