From: SourceForge.net <no...@so...> - 2009-06-09 16:04:40
|
Bugs item #2803585, was opened at 2009-06-09 17:37 Message generated for change (Comment added) made by orexx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684730&aid=2803585&group_id=119701 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: v4.0beta Status: Open Resolution: None Priority: 5 Private: No Submitted By: Rony G. Flatscher (orexx) Assigned to: Nobody/Anonymous (nobody) Summary: rev. 4776: rxapi has exception Initial Comment: Running the "testSleep.rex" script on a freshly build 4776 debug version from trunk, causes an exception in "rxapi.exe" after the end of the execution. Here's the stack trace: > rxapi.exe!std::list<APIServerThread *,std::allocator<APIServerThread *> >::_Insert(std::list<APIServerThread *,std::allocator<APIServerThread *> >::_Const_iterator<1> _Where=..., APIServerThread * const & _Val=0x00672a10) Line 718 + 0xc bytes C++ rxapi.exe!std::list<APIServerThread *,std::allocator<APIServerThread *> >::push_back(APIServerThread * const & _Val=0x00672a10) Line 670 + 0x3c bytes C++ rxapi.exe!APIServer::sessionTerminated(APIServerThread * thread=0x00672a10) Line 115 C++ rxapi.exe!APIServerThread::dispatch() Line 58 C++ rxapi.exe!call_thread_function(void * arguments=0x00672a10) Line 51 C++ kernel32.dll!7c80b729() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Here's a cut & paste from the source code having a "// <===" added to point to the place where the debugger points to: void _Insert(const_iterator _Where, const _Ty& _Val) { // insert _Val at _Where #if _HAS_ITERATOR_DEBUGGING if (_Where._Mycont != this) _DEBUG_ERROR("list insert iterator outside range"); #endif /* _HAS_ITERATOR_DEBUGGING */ _Nodeptr _Pnode = _Where._Mynode(); _Nodeptr _Newnode = _Buynode(_Pnode, _Prevnode(_Pnode), _Val); // <--- _Incsize(1); _Prevnode(_Pnode) = _Newnode; _Nextnode(_Prevnode(_Newnode)) = _Newnode; } Here's the script: --------------- cut here ------------- /* set some seconds to sleep ... */ i=0 i=i+1; a.i = 0 i=i+1; a.i = 1 i=i+1; a.i = .1 i=i+1; a.i = .01 i=i+1; a.i = .001 i=i+1; a.i = .0001 i=i+1; a.i = 1.987654 i=i+1; a.i = 1.001 i=i+1; a.i = 1.01 i=i+1; a.i = 1.1 a.0 = i; PARSE VERSION version PARSE SOURCE source say "running the following Rexx interpreter: ["version"]" say "parse source yields: ["source"]" say l=length(a.0) tab="09"x do i=1 to a.0 say right(i,l)"/"a.0 "- rexx: sleeping" a.i "secs)" call time 'r' /* reset timer */ call sysSleep a.i /* sleep given time */ time = time('r') /* reset timer, receive elapsed time */ say tab tab tab tab tab "elapsed time:" tab format(time, , 3) "secs" say end --------------- cut here ------------- ---------------------------------------------------------------------- >Comment By: Rony G. Flatscher (orexx) Date: 2009-06-09 18:04 Message: O.K. Am using MSVS90, MSP SDK for WServer 2003 R2. Here's the compiler version (dated, Nov 8th, 2007): F:\work\svn\oorexx\main\trunk>cl Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 Copyright (C) Microsoft Corporation. All rights reserved. ---------------------------------------------------------------------- Comment By: Rick McGuire (bigrixx) Date: 2009-06-09 17:50 Message: This is not reproducible on either the trunk or beta builds. What version of the compiler are you using to build this? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=684730&aid=2803585&group_id=119701 |