On 03.12.2018 13:58, Rick McGuire wrote:
> What is really needed is a stack trace for the macrospace exception.

Here is the stacktrace (thanks to Enrico for pointing out the command!):

    wu114184:trunk rony$ lldb -- rexx testOORexx.rex -f Macrospace.testGroup -s 
-S
    (lldb) target create "rexx"
    Current executable set to 'rexx' (x86_64).
    (lldb) settings set -- target.run-args  "testOORexx.rex" "-f" 
"Macrospace.testGroup" "-s" "-S"
    (lldb) r
    Process 3206 launched: '/usr/local/bin/rexx' (x86_64)
    Searching for test containers..
    Executing automated test suite
    Executing testSuite [testCase: [] (an 
ooTestSuite@n/a_-4321004065)@-4321004065] with [2] test cases ...
    Executing testSuite [testCase: [The Macrospace.testGroup class] (an 
ooTestSuite@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)@-4321030817]
 with [36] test cases ...
    ... running TestCase object [testCase: [TEST_ADD_ARG_OPTION_ILLEGAL] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_ARG_PATH_NOT_EXISTING] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_ARG_PATH_NULL] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_FOUR_ARGS_TOO_MANY] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_NO_ARG_TOO_FEW] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_ONE_ARG_TOO_FEW] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    ... running TestCase object [testCase: [TEST_ADD_THREE_ARGS_OPTION] (a 
Macrospace.testGroup@/Users/rony/dev/oorexx_allura/test/trunk/ooRexx/base/rexxutil/Macrospace.testGroup)]
 ...
    Process 3206 stopped
    * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
(code=1, address=0x40)
        frame #0: 0x00000001040059bc 
librexx.5.0.0.dylib`ArrayClass::lastIndex() + 12
    librexx.5.0.0.dylib`ArrayClass::lastIndex:
    ->  0x1040059bc <+12>: movq   0x40(%rdi), %rax
        0x1040059c0 <+16>: popq   %rbp
        0x1040059c1 <+17>: retq   
        0x1040059c2 <+18>: nopw   %cs:(%rax,%rax)
    Target 0: (rexx) stopped.
    (lldb) bt
    * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS 
(code=1, address=0x40)
      * frame #0: 0x00000001040059bc 
librexx.5.0.0.dylib`ArrayClass::lastIndex() + 12
        frame #1: 0x00000001040c3f31 
librexx.5.0.0.dylib`ActivityManager::findActivity(_opaque_pthread_t*) + 33
        frame #2: 0x00000001040c4181 
librexx.5.0.0.dylib`ActivityManager::findActivity() + 17
        frame #3: 0x00000001040c44fd 
librexx.5.0.0.dylib`ActivityManager::getRootActivity() + 13
        frame #4: 0x000000010412f14f 
librexx.5.0.0.dylib`Interpreter::createInterpreterInstance(RexxOption*) + 95
        frame #5: 0x000000010412f556 
librexx.5.0.0.dylib`InstanceBlock::InstanceBlock(_RXSYSEXIT*, char const*) + 230
        frame #6: 0x000000010412f605 
librexx.5.0.0.dylib`InstanceBlock::InstanceBlock(_RXSYSEXIT*, char const*) + 37
        frame #7: 0x00000001040c17fb 
librexx.5.0.0.dylib`ActivityDispatcher::invoke(_RXSYSEXIT*, char const*) + 59
        frame #8: 0x000000010406252f 
librexx.5.0.0.dylib`RexxTranslateInstoreProgram + 79
        frame #9: 0x0000000100686e1e 
librexxapi.5.0.0.dylib`LocalMacroSpaceManager::translateRexxProgram(char 
const*, ManagedRxstring&) + 1118
        frame #10: 0x0000000100686951 
librexxapi.5.0.0.dylib`LocalMacroSpaceManager::addMacroFromFile(char const*, 
char const*, unsigned long) + 65
        frame #11: 0x000000010068a69d librexxapi.5.0.0.dylib`RexxAddMacro + 109
        frame #12: 0x000000010038d960 
librexxutil.dylib`SysAddRexxMacro_impl(RexxCallContext_*, char const*, char 
const*, char const*) + 160
        frame #13: 0x000000010038d88c librexxutil.dylib`SysAddRexxMacro + 60
        frame #14: 0x00000001040922e6 
librexx.5.0.0.dylib`NativeActivation::callNativeRoutine(RoutineClass*, 
NativeRoutine*, RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 
614
        frame #15: 0x0000000104096746 
librexx.5.0.0.dylib`NativeRoutine::call(Activity*, RoutineClass*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 150
        frame #16: 0x000000010403ddae 
librexx.5.0.0.dylib`RoutineClass::call(Activity*, RexxString*, RexxObject**, 
unsigned long, ProtectedObject&) + 110
        frame #17: 0x00000001040c0c83 
librexx.5.0.0.dylib`PackageManager::callNativeRoutine(Activity*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 147
        frame #18: 0x0000000104124849 
librexx.5.0.0.dylib`SystemInterpreter::invokeExternalFunction(RexxActivation*, 
Activity*, RexxString*, RexxObject**, unsigned long, RexxString*, 
ProtectedObject&) + 137
        frame #19: 0x0000000104085ac1 
librexx.5.0.0.dylib`RexxActivation::externalCall(RoutineClass*&, RexxString*, 
RexxObject**, unsigned long, RexxString*, ProtectedObject&) + 465
        frame #20: 0x00000001040e087b 
librexx.5.0.0.dylib`RexxExpressionFunction::evaluate(RexxActivation*, 
ExpressionStack*) + 603
        frame #21: 0x00000001040fec61 
librexx.5.0.0.dylib`RexxInstruction::evaluateArguments(RexxActivation*, 
ExpressionStack*, RexxInternalObject**, unsigned long) + 97
        frame #22: 0x00000001040fa0b9 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 249
        frame #23: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #24: 0x000000010408d15c 
librexx.5.0.0.dylib`RexxCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 124
        frame #25: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #26: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #27: 0x0000000104019180 
librexx.5.0.0.dylib`MessageClass::dispatch() + 432
        frame #28: 0x0000000104018ca5 librexx.5.0.0.dylib`MessageClass::send() 
+ 85
        frame #29: 0x0000000104018c47 
librexx.5.0.0.dylib`MessageClass::sendRexx(RexxObject**, unsigned long) + 263
        frame #30: 0x000000010407b9c1 
librexx.5.0.0.dylib`CPPCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 321
        frame #31: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #32: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #33: 0x00000001040e13a8 
librexx.5.0.0.dylib`ExpressionStack::send(RexxString*, unsigned long, 
ProtectedObject&) + 104
        frame #34: 0x00000001040fa0ea 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 298
        frame #35: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #36: 0x000000010408d15c 
librexx.5.0.0.dylib`RexxCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 124
        frame #37: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #38: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #39: 0x00000001040e13a8 
librexx.5.0.0.dylib`ExpressionStack::send(RexxString*, unsigned long, 
ProtectedObject&) + 104
        frame #40: 0x00000001040fa0ea 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 298
        frame #41: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #42: 0x000000010408d15c 
librexx.5.0.0.dylib`RexxCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 124
        frame #43: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #44: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #45: 0x00000001040e13a8 
librexx.5.0.0.dylib`ExpressionStack::send(RexxString*, unsigned long, 
ProtectedObject&) + 104
        frame #46: 0x00000001040fa0ea 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 298
        frame #47: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #48: 0x000000010408d15c 
librexx.5.0.0.dylib`RexxCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 124
        frame #49: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #50: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #51: 0x00000001040e13a8 
librexx.5.0.0.dylib`ExpressionStack::send(RexxString*, unsigned long, 
ProtectedObject&) + 104
        frame #52: 0x00000001040fa0ea 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 298
        frame #53: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #54: 0x000000010408d15c 
librexx.5.0.0.dylib`RexxCode::run(Activity*, MethodClass*, RexxObject*, 
RexxString*, RexxObject**, unsigned long, ProtectedObject&) + 124
        frame #55: 0x000000010401ab71 
librexx.5.0.0.dylib`MethodClass::run(Activity*, RexxObject*, RexxString*, 
RexxObject**, unsigned long, ProtectedObject&) + 129
        frame #56: 0x000000010402eb7b 
librexx.5.0.0.dylib`RexxObject::messageSend(RexxString*, RexxObject**, unsigned 
long, ProtectedObject&) + 283
        frame #57: 0x00000001040e13a8 
librexx.5.0.0.dylib`ExpressionStack::send(RexxString*, unsigned long, 
ProtectedObject&) + 104
        frame #58: 0x00000001040fa0ea 
librexx.5.0.0.dylib`RexxInstructionMessage::execute(RexxActivation*, 
ExpressionStack*) + 298
        frame #59: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #60: 0x000000010408d0d4 
librexx.5.0.0.dylib`RexxCode::call(Activity*, RoutineClass*, RexxString*, 
RexxObject**, unsigned long, RexxString*, RexxString*, ActivationContext, 
ProtectedObject&) + 180
        frame #61: 0x000000010403de6a 
librexx.5.0.0.dylib`RoutineClass::call(Activity*, RexxString*, RexxObject**, 
unsigned long, RexxString*, RexxString*, ActivationContext, ProtectedObject&) + 
170
        frame #62: 0x0000000104085d9a 
librexx.5.0.0.dylib`RexxActivation::callExternalRexx(RexxString*, RexxObject**, 
unsigned long, RexxString*, ProtectedObject&) + 506
        frame #63: 0x000000010412487c 
librexx.5.0.0.dylib`SystemInterpreter::invokeExternalFunction(RexxActivation*, 
Activity*, RexxString*, RexxObject**, unsigned long, RexxString*, 
ProtectedObject&) + 188
        frame #64: 0x0000000104085ac1 
librexx.5.0.0.dylib`RexxActivation::externalCall(RoutineClass*&, RexxString*, 
RexxObject**, unsigned long, RexxString*, ProtectedObject&) + 465
        frame #65: 0x00000001040e087b 
librexx.5.0.0.dylib`RexxExpressionFunction::evaluate(RexxActivation*, 
ExpressionStack*) + 603
        frame #66: 0x00000001040e66b9 
librexx.5.0.0.dylib`RexxInstructionAssignment::execute(RexxActivation*, 
ExpressionStack*) + 249
        frame #67: 0x000000010407f855 
librexx.5.0.0.dylib`RexxActivation::run(RexxObject*, RexxString*, RexxObject**, 
unsigned long, RexxInstruction*, ProtectedObject&) + 1733
        frame #68: 0x000000010408d0d4 
librexx.5.0.0.dylib`RexxCode::call(Activity*, RoutineClass*, RexxString*, 
RexxObject**, unsigned long, RexxString*, RexxString*, ActivationContext, 
ProtectedObject&) + 180
        frame #69: 0x000000010403e28f 
librexx.5.0.0.dylib`RoutineClass::runProgram(Activity*, RexxObject**, unsigned 
long, ProtectedObject&) + 207
        frame #70: 0x00000001040d4325 
librexx.5.0.0.dylib`CallProgramDispatcher::run() + 325
        frame #71: 0x0000000104092de3 
librexx.5.0.0.dylib`NativeActivation::run(ActivityDispatcher&) + 115
        frame #72: 0x00000001040cd06f 
librexx.5.0.0.dylib`Activity::run(ActivityDispatcher&) + 143
        frame #73: 0x000000010406601d librexx.5.0.0.dylib`CallProgram + 77
        frame #74: 0x0000000100002dc6 rexx`RexxThreadContext_::CallProgram(char 
const*, _RexxArrayObject*) + 70
        frame #75: 0x0000000100002b0c rexx`main + 1548
        frame #76: 0x00007fff6bc5c08d libdyld.dylib`start + 1
        frame #77: 0x00007fff6bc5c08d libdyld.dylib`start + 1
    (lldb) q
    Quitting LLDB will kill one or more processes. Do you really want to 
proceed: [Y/n] 
    wu114184:trunk rony$ 

---rony

_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to