Currently experimenting with a 64-bit debug version build from the latest trunk 
using the
professional Visual Studio C++ compiler from MS (latest patches applied).

While running a Rexx program an alert-window popped up with the following 
message:

    --------------------------- Microsoft Visual C++ Runtime Library 
---------------------------
    Debug Error! Program: C:\Program Files\ooRexx\rxwinsys.DLL Module: 
C:\Program
    Files\ooRexx\rxwinsys.DLL File:
    
g:\oorexx.tmp\oorexxsvn\main\trunk\extensions\platform\windows\rxwinsys\rxwinsys.cpp
 Line: 3869
    Run-Time Check Failure #2 - Stack around the variable 'timeOut' was 
corrupted. (Press Retry to
    debug the application) --------------------------- Abort Retry Ignore 
---------------------------

"Retry" allows to run the VS debugger. Here the stack trace:

    rxwinsys.dll!failwithmessage(void * retaddr=0x000007feded059a8, int 
crttype=1, int errnum, const
    char * msg=0x000000000019c300) C++ rxwinsys.dll!_RTC_StackFailure(void *
    retaddr=0x000007feded059a8, const char * varname=0x000007fededeb100) C++
    rxwinsys.dll!_RTC_CheckStackVars(void * frame=0x000000000019c750, 
_RTC_framedesc *
    v=0x000007fededeb360) C++ > rxwinsys.dll!WSCtrlSend(const char * 
funcname=0x000007fffd8924c4,
    unsigned __int64 argc=7, _CONSTRXSTRING * argv=0x000000000019c970, const 
char *
    qname=0x000007fffd7b4874, _RXSTRING * retstr=0x000000000019cab8) Line 3869 
C++
    rexx.dll!NativeActivation::callRegisteredRoutine(RoutineClass * 
_routine=0x000007fffd805500,
    RegisteredRoutine * _code=0x000007fffd8054c0, RexxString * 
functionName=0x000007fffd892480,
    RexxObject * * list=0x000007fffd398168, unsigned __int64 count=7, 
ProtectedObject &
    resultObj={...}) Line 1477 C++ rexx.dll!RegisteredRoutine::call(Activity *
    activity=0x000007fffd7aed20, RoutineClass * routine=0x000007fffd805500, 
RexxString *
    functionName=0x000007fffd892480, RexxObject * * argPtr=0x000007fffd398168, 
unsigned __int64
    count=7, ProtectedObject & result={...}) Line 402 C++ 
rexx.dll!RoutineClass::call(Activity *
    activity=0x000007fffd7aed20, RexxString * routineName=0x000007fffd892480, 
RexxObject * *
    argPtr=0x000007fffd398168, unsigned __int64 argcount=7, ProtectedObject & 
result={...}) Line 169
    C++ rexx.dll!PackageManager::callNativeRoutine(Activity * 
activity=0x000007fffd7aed20,
    RexxString * name=0x000007fffd892480, RexxObject * * 
arguments=0x000007fffd398168, unsigned
    __int64 argcount=7, ProtectedObject & result={...}) Line 667 C++
    rexx.dll!SystemInterpreter::invokeExternalFunction(RexxActivation *
    activation=0x000007fffd92ecc0, Activity * activity=0x000007fffd7aed20, 
RexxString *
    target=0x000007fffd892480, RexxObject * * arguments=0x000007fffd398168, 
unsigned __int64
    argcount=7, RexxString * calltype=0x000007ffff983d90, ProtectedObject & 
result={...}) Line 277
    C++ rexx.dll!RexxActivation::externalCall(RexxString * 
target=0x000007fffd892480, RexxObject * *
    arguments=0x000007fffd398168, unsigned __int64 argcount=7, RexxString *
    calltype=0x000007ffff983d90, ProtectedObject & resultObj={...}) Line 2687 
C++
    rexx.dll!RexxExpressionFunction::evaluate(RexxActivation * 
context=0x000007fffd92ecc0,
    ExpressionStack * stack=0x000007fffd92ee10) Line 201 C++
    rexx.dll!RexxInstructionExpression::evaluateExpression(RexxActivation *
    context=0x000007fffd92ecc0, ExpressionStack * stack=0x000007fffd92ee10) 
Line 229 C++
    rexx.dll!RexxInstructionReturn::execute(RexxActivation * 
context=0x000007fffd92ecc0,
    ExpressionStack * stack=0x000007fffd92ee10) Line 72 C++ 
rexx.dll!RexxActivation::run(RexxObject
    * _receiver=0x000007fffd92ec90, RexxString * name=0x000007fffd7c67a0, 
RexxObject * *
    _arglist=0x000007fffd398098, unsigned __int64 _argcount=1, RexxInstruction *
    start=0x0000000000000000, ProtectedObject & resultObj={...}) Line 623 C++
    rexx.dll!RexxCode::run(Activity * activity=0x000007fffd7aed20, MethodClass *
    method=0x000007fffd893b30, RexxObject * receiver=0x000007fffd92ec90, 
RexxString *
    msgname=0x000007fffd7c67a0, RexxObject * * argPtr=0x000007fffd398098, 
unsigned __int64
    argcount=1, ProtectedObject & result={...}) Line 212 C++ 
rexx.dll!MethodClass::run(Activity *
    activity=0x000007fffd7aed20, RexxObject * receiver=0x000007fffd92ec90, 
RexxString *
    msgname=0x000007fffd7c67a0, RexxObject * * argPtr=0x000007fffd398098, 
unsigned __int64 count=1,
    ProtectedObject & result={...}) Line 171 C++ 
rexx.dll!RexxObject::messageSend(RexxString *
    msgname=0x000007fffd7c67a0, RexxObject * * arguments=0x000007fffd398098, 
unsigned __int64
    count=1, ProtectedObject & result={...}) Line 839 C++ 
rexx.dll!ExpressionStack::send(RexxString
    * message=0x000007fffd7c67a0, unsigned __int64 count=1, ProtectedObject & 
result={...}) Line 80
    C++ rexx.dll!RexxInstructionMessage::execute(RexxActivation * 
context=0x000007fffd7ec9f0,
    ExpressionStack * stack=0x000007fffd7ecb40) Line 188 C++ 
rexx.dll!RexxActivation::run(RexxObject
    * _receiver=0x0000000000000000, RexxString * name=0x000007fffd7b5690, 
RexxObject * *
    _arglist=0x000007fffd7b4ce0, unsigned __int64 _argcount=1, RexxInstruction *
    start=0x0000000000000000, ProtectedObject & resultObj={...}) Line 623 C++
    rexx.dll!RexxCode::call(Activity * activity=0x000007fffd7aed20, 
RoutineClass *
    routine=0x000007fffd7ec9b0, RexxString * routineName=0x000007fffd7b5690, 
RexxObject * *
    argPtr=0x000007fffd7b4ce0, unsigned __int64 argcount=1, RexxString *
    calltype=0x000007ffff8c3bd0, RexxString * environment=0x000007ffff983de0, 
ActivationContext
    context=PROGRAMCALL, ProtectedObject & result={...}) Line 188 C++
    rexx.dll!RoutineClass::runProgram(Activity * activity=0x000007fffd7aed20, 
RexxObject * *
    arguments=0x000007fffd7b4ce0, unsigned __int64 argCount=1, ProtectedObject 
& result={...}) Line
    264 C++ rexx.dll!CallProgramDispatcher::run() Line 241 C++
    rexx.dll!NativeActivation::run(ActivityDispatcher & dispatcher={...}) Line 
1575 C++
    rexx.dll!Activity::run(ActivityDispatcher & target={...}) Line 3184 C++
    rexx.dll!CallProgram(RexxThreadContext_ * c=0x000007fffd7aed48, const char *
    p=0x0000000000359a55, _RexxArrayObject * a=0x000007fffd7b4c80) Line 498 C++
    rexx.exe!RexxThreadContext_::CallProgram(const char * n=0x0000000000359a55, 
_RexxArrayObject *
    a=0x000007fffd7b4c80) Line 866 C++ rexx.exe!main(int argc=5, char * * 
argv=0x0000000000359a20)
    Line 226 C++ rexx.exe!invoke_main() Line 65 C++ 
rexx.exe!__scrt_common_main_seh() Line 253 C++
    rexx.exe!__scrt_common_main() Line 296 C++ rexx.exe!mainCRTStartup() Line 
17 C++
    kernel32.dll!0000000076fe59cd() Unknown ntdll.dll!000000007711a561() Unknown

Here the Locals from WSCtrlSend:

    argc 7 unsigned __int64 - argv 0x000000000019c970 {strlength=2 
strptr=0x000007fffd92f494 "TO" }
    _CONSTRXSTRING * strlength 2 unsigned __int64 - strptr 0x000007fffd92f494 
"TO" const char * 84
    'T' const char - funcname 0x000007fffd8924c4 "WSCTRLSEND" const char * 87 
'W' const char - hW
    0x000000000000ffff {unused=??? } HWND__ * unused <Unable to read memory> - 
HwndFgWin
    0xcccccccccccccccc {unused=??? } HWND__ * unused <Unable to read memory> - 
qname
    0x000007fffd7b4874 "SESSION" const char * 83 'S' const char - retstr 
0x000000000019cab8
    {strlength=1 strptr=0x000000000019caf0 "0" } _RXSTRING * strlength 1 
unsigned __int64 + strptr
    0x000000000019caf0 "0" char *

Not sure what to do with this, hence reporting it here.

---rony


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to