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