Hi P.O.,

thank you for your Dropbox-URL
(https://www.dropbox.com/sh/n88384s9coop7az/AADZ0EGjbuU0AJ0EYdVRbB35a?dl=0) and 
the files there with
the results of running the test application in order to gather crash 
information!

On 09.08.2017 10:06, P.O. Jonsson wrote:
> I have continued to run&crash the GUI, The crash happens randomly early or 
> late.
All your 11 crashes occur according to Java's hs_error*log-files while running 
on the Java-GUI
therad ("JavaFX Application Thread")!

---

Looking at the last two stack-entries in each hs_error*log file of the crash 
location, most of them
occur in only a few places (MemoryObject::newObject, five times in: 
DeadObject.remove,
NativeActivation::setDigits, twice in: MethodDictionary::getMethod, 
RexxInternalObject::clearObject,
RexxActivation::cleanUpLocalVariables):

    G:\test\oorexx\tmp\macbypo\20170808-03>grep -2 "Native frames" hs*
    hs_err_pid17378.log-
    hs_err_pid17378.log-Stack: [0x00007f1db0078000,0x00007f1db0179000],  
sp=0x00007f1db0175ec0,  free space=1015k
    hs_err_pid17378.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid17378.log-C  [librexx.so.5.0.0+0x138582]  
*MemoryObject::newObject*(unsigned long, unsigned long)+0x352
    hs_err_pid17378.log-
    --
    hs_err_pid1750.log-
    hs_err_pid1750.log-Stack: [0x00007fff5d591000,0x00007fff5dd91000],  
sp=0x00007fff5dd8b430,  free space=8169k
    hs_err_pid1750.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid1750.log-C  [librexx.5.0.0.dylib+0x97ed0]  
_ZN10*DeadObject6remove*Ev+0x20
    hs_err_pid1750.log-C  [librexx.5.0.0.dylib+0xa0af6]  
_ZN14DeadObjectPool7findFitEmPm+0x66
    --
    hs_err_pid1872.log-
    hs_err_pid1872.log-Stack: [0x000070000eed1000,0x000070000ef51000],  
sp=0x000070000ef50600,  free space=509k
    hs_err_pid1872.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid1872.log-C  [librexx.5.0.0.dylib+0x8ef1b]  
*NativeActivation::setDigits*(long)+0x2b
    hs_err_pid1872.log-C  [librexx.5.0.0.dylib+0xe720d]  
RexxInstructionNumeric::execute(RexxActivation*, ExpressionStack*)+0x1dd
    --
    hs_err_pid2437.log-
    hs_err_pid2437.log-Stack: [0x00007fff5379d000,0x00007fff53f9d000],  
sp=0x00007fff53f97430,  free space=8169k
    hs_err_pid2437.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid2437.log-C  [librexx.5.0.0.dylib+0x97ed0] 
*DeadObject::remove*()+0x20
    hs_err_pid2437.log-C  [librexx.5.0.0.dylib+0xa0af6]  
DeadObjectPool::findFit(unsigned long, unsigned long*)+0x66
    --
    hs_err_pid554.log-
    hs_err_pid554.log-Stack: [0x00007fff53aae000,0x00007fff542ae000],  
sp=0x00007fff542a7200,  free space=8164k
    hs_err_pid554.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid554.log-C  [librexx.5.0.0.dylib+0xcca7]  
_ZN16*MethodDictionary9getMethod*EP10RexxString+0x17
    hs_err_pid554.log-C  [librexx.5.0.0.dylib+0x6bf01]  
_ZN13RexxBehaviour12methodLookupEP10RexxString+0x21
    --
    hs_err_pid620.log-
    hs_err_pid620.log-Stack: [0x00007fff5ac5a000,0x00007fff5b45a000],  
sp=0x00007fff5b454430,  free space=8169k
    hs_err_pid620.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid620.log-C  [librexx.5.0.0.dylib+0x97ed0]  
_ZN10*DeadObject6remove*Ev+0x20
    hs_err_pid620.log-C  [librexx.5.0.0.dylib+0xa0af6]  
_ZN14DeadObjectPool7findFitEmPm+0x66
    --
    hs_err_pid639.log-
    hs_err_pid639.log-Stack: [0x00007fff553e1000,0x00007fff55be1000],  
sp=0x00007fff55bdb430,  free space=8169k
    hs_err_pid639.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid639.log-C  [librexx.5.0.0.dylib+0x97ed0]  
*DeadObject::remove*()+0x20
    hs_err_pid639.log-C  [librexx.5.0.0.dylib+0xa0af6]  
DeadObjectPool::findFit(unsigned long, unsigned long*)+0x66
    --
    hs_err_pid660.log-
    hs_err_pid660.log-Stack: [0x00007000057e0000,0x0000700005860000],  
sp=0x000070000585eb30,  free space=506k
    hs_err_pid660.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid660.log-C  [libsystem_platform.dylib+0x6bc9]  
*_platform_bzero$VARIANT$Haswell*+0x29
    hs_err_pid660.log-C  [librexx.5.0.0.dylib+0x51864] 
*RexxInternalObject::clearObjec*t()+0x34
    --
    hs_err_pid706.log-
    hs_err_pid706.log-Stack: [0x00007fff5bbd2000,0x00007fff5c3d2000],  
sp=0x00007fff5c3cc430,  free space=8169k
    hs_err_pid706.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid706.log-C  [librexx.5.0.0.dylib+0x97ed0]  
_ZN10*DeadObject6remove*Ev+0x20
    hs_err_pid706.log-C  [librexx.5.0.0.dylib+0xa0af6]  
_ZN14DeadObjectPool7findFitEmPm+0x66
    --
    hs_err_pid725.log-
    hs_err_pid725.log-Stack: [0x00007000070c6000,0x0000700007146000],  
sp=0x0000700007145430,  free space=509k
    hs_err_pid725.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid725.log-C  [librexx.5.0.0.dylib+0xcca7]  
*MethodDictionary::getMethod*(RexxString*)+0x17
    hs_err_pid725.log-C  [librexx.5.0.0.dylib+0x6bf01]  
RexxBehaviour::methodLookup(RexxString*)+0x21
    --
    hs_err_pid850.log-
    hs_err_pid850.log-Stack: [0x000070000e0c2000,0x000070000e142000],  
sp=0x000070000e141160,  free space=508k
    hs_err_pid850.log:Native frames: (J=compiled Java code, j=interpreted, 
Vv=VM code, C=native code)
    hs_err_pid850.log-C  [librexx.5.0.0.dylib+0x87db4]  
_ZN12*RexxVariable7isLoca*lEP14RexxActivation+0x14
    hs_err_pid850.log-C  [librexx.5.0.0.dylib+0x7f09e]  
_ZN14R*exxActivation21cleanupLocalVariables*Ev+0xce

I have seen your Mac crash locations also on Windows and Linux.


> When I manage to stall it I save it as Hang.
The two hangs occur while doing an AttachThread() for the Java-GUI thread and 
carrying out a
DeadObjectPool::findFit() using ObjectHeader::getObjectSize(),  eg. in your 
supplied "Hang2.txt":

      24  
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject + 
432 (libBSF4ooRexx.dylib + 64576) [0x12f618c40]
      24 *RexxInstance_::AttachThread*(RexxThreadContext_**) + 47 
(libBSF4ooRexx.dylib + 61887) [0x12f6181bf]
      24  AttachThread + 42 (librexx.5.0.0.dylib + 392842) [0x12f692e8a]
      24  InterpreterInstance::attachThread(RexxThreadContext_*&) + 25 
(librexx.5.0.0.dylib + 1160105) [0x12f74e3a9]
      24  InterpreterInstance::attachThread() + 49 (librexx.5.0.0.dylib + 
1160193) [0x12f74e401]
      24  Activity::nestAttach() + 39 (librexx.5.0.0.dylib + 800295) 
[0x12f6f6627]
      24  Activity::createNewActivationStack() + 34 (librexx.5.0.0.dylib + 
787474) [0x12f6f3412]
      24  *ActivityManager::newNativeActivation*(Activity*) + 24 
(librexx.5.0.0.dylib + 768952) [0x12f6eebb8]
      24  NativeActivation::operator new(unsigned long) + 28 
(librexx.5.0.0.dylib + 567324) [0x12f6bd81c]
      24  new_object(unsigned long, unsigned long) + 39 (librexx.5.0.0.dylib + 
9479) [0x12f635507]
      24  MemoryObject::newObject(unsigned long, unsigned long) + 114 
(librexx.5.0.0.dylib + 743922) [0x12f6e89f2]
      24  *NormalSegmentSet::allocateObject*(unsigned long) + 312 
(librexx.5.0.0.dylib + 653064) [0x12f6d2708]
      14  DeadObjectPool::findFit(unsigned long, unsigned long*) + 278 
(librexx.5.0.0.dylib + 658342) [0x12f6d3ba6]
      7   DeadObject::getObjectSize() + 25 (librexx.5.0.0.dylib + 622249) 
[0x12f6caea9]
      5   ObjectHeader::getObjectSize() + 15 (librexx.5.0.0.dylib + 212063) 
[0x12f666c5f] (running)

and watching the call sequences further down both hangs occur while executing
DeadObjectPool::findFit() repeatedly, eg. in your supplied "Hang2.txt":

    ... cut ...
                                                                                
          24  
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxSendMessageToRexxObject + 
432 (libBSF4ooRexx.dylib + 64576) [0x12f618c40] 1-24
                                                                                
            24  *RexxInstance_::AttachThread(*RexxThreadContext_**) + 47 
(libBSF4ooRexx.dylib + 61887) [0x12f6181bf] 1-24
                                                                                
              24  AttachThread + 42 (librexx.5.0.0.dylib + 392842) 
[0x12f692e8a] 1-24
                                                                                
                24  InterpreterInstance::attachThread(RexxThreadContext_*&) + 
25 (librexx.5.0.0.dylib + 1160105) [0x12f74e3a9] 1-24
                                                                                
                  24  InterpreterInstance::attachThread() + 49 
(librexx.5.0.0.dylib + 1160193) [0x12f74e401] 1-24
                                                                                
                    24  Activity::nestAttach() + 39 (librexx.5.0.0.dylib + 
800295) [0x12f6f6627] 1-24
                                                                                
                      24  Activity::createNewActivationStack() + 34 
(librexx.5.0.0.dylib + 787474) [0x12f6f3412] 1-24
                                                                                
                        24  *ActivityManager::newNativeActivation(*Activity*) + 
24 (librexx.5.0.0.dylib + 768952) [0x12f6eebb8] 1-24
                                                                                
                          24  NativeActivation::operator new(unsigned long) + 
28 (librexx.5.0.0.dylib + 567324) [0x12f6bd81c] 1-24
                                                                                
                            24  new_object(unsigned long, unsigned long) + 39 
(librexx.5.0.0.dylib + 9479) [0x12f635507] 1-24
                                                                                
                              24  MemoryObject::newObject(unsigned long, 
unsigned long) + 114 (librexx.5.0.0.dylib + 743922) [0x12f6e89f2] 1-24
                                                                                
                                24  *NormalSegmentSet::allocateObject*(unsigned 
long) + 312 (librexx.5.0.0.dylib + 653064) [0x12f6d2708] 1-24
                                                                                
                                  1   DeadObject::getObjectSize() + 0 
(librexx.5.0.0.dylib + 622224) [0x12f6cae90] (running) 1
      <priority 22 (31)>
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 56 (librexx.5.0.0.dylib + 658120) [0x12f6d3ac8] 2
                                                                                
                                   *1   return_from_trap + 160 (kernel + 
636240) [0xffffff800029b550] (running) 2
      <priority 21 (31)>
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 61 (librexx.5.0.0.dylib + 658125) [0x12f6d3acd] (running) 3
      <priority 25 (31)>
                                                                                
                                  8   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 278 (librexx.5.0.0.dylib + 658342) [0x12f6d3ba6] 4-11
                                                                                
                                    1   DeadObject::getObjectSize() + 4 
(librexx.5.0.0.dylib + 622228) [0x12f6cae94] (running) 4
                                                                                
                                    1   DeadObject::getObjectSize() + 16 
(librexx.5.0.0.dylib + 622240) [0x12f6caea0] (running) 5
      <priority 27 (31)>
                                                                                
                                    3   DeadObject::getObjectSize() + 25 
(librexx.5.0.0.dylib + 622249) [0x12f6caea9] 6-8
                                                                                
                                      1   ObjectHeader::getObjectSize() + 15 
(librexx.5.0.0.dylib + 212063) [0x12f666c5f] (running) 6
      <priority 29 (31)>
                                                                                
                                      1   ObjectHeader::getObjectSize() + 12 
(librexx.5.0.0.dylib + 212060) [0x12f666c5c] (running) 7
      <priority 30 (31)>
                                                                                
                                      1   ObjectHeader::getObjectSize() + 15 
(librexx.5.0.0.dylib + 212063) [0x12f666c5f] (running) 8
      <priority 31 (31)>
                                                                                
                                    1   DeadObject::getObjectSize() + 4 
(librexx.5.0.0.dylib + 622228) [0x12f6cae94] (running) 9
                                                                                
                                    2   DeadObject::getObjectSize() + 25 
(librexx.5.0.0.dylib + 622249) [0x12f6caea9] 10-11
                                                                                
                                      2   ObjectHeader::getObjectSize() + 15 
(librexx.5.0.0.dylib + 212063) [0x12f666c5f] (running) 10-11
                                                                                
                                  2   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 254 (librexx.5.0.0.dylib + 658318) [0x12f6d3b8e] (running) 
12-13
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 61 (librexx.5.0.0.dylib + 658125) [0x12f6d3acd] (running) 14
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 269 (librexx.5.0.0.dylib + 658333) [0x12f6d3b9d] (running) 15
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 67 (librexx.5.0.0.dylib + 658131) [0x12f6d3ad3] (running) 16
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 278 (librexx.5.0.0.dylib + 658342) [0x12f6d3ba6] 17
                                                                                
                                    1   DeadObject::getObjectSize() + 25 
(librexx.5.0.0.dylib + 622249) [0x12f6caea9] 17
                                                                                
                                      1   ObjectHeader::getObjectSize() + 8 
(librexx.5.0.0.dylib + 212056) [0x12f666c58] (running) 17
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 61 (librexx.5.0.0.dylib + 658125) [0x12f6d3acd] (running) 18
                                                                                
                                  5   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 278 (librexx.5.0.0.dylib + 658342) [0x12f6d3ba6] 19-23
                                                                                
                                    1   DeadObject::getObjectSize() + 8 
(librexx.5.0.0.dylib + 622232) [0x12f6cae98] (running) 19
                                                                                
                                    1   DeadObject::getObjectSize() + 20 
(librexx.5.0.0.dylib + 622244) [0x12f6caea4] (running) 20
                                                                                
                                    1   DeadObject::getObjectSize() + 29 
(librexx.5.0.0.dylib + 622253) [0x12f6caead] (running) 21
                                                                                
                                    1   DeadObject::getObjectSize() + 25 
(librexx.5.0.0.dylib + 622249) [0x12f6caea9] 22
                                                                                
                                      1   ObjectHeader::getObjectSize() + 15 
(librexx.5.0.0.dylib + 212063) [0x12f666c5f] (running) 22
                                                                                
                                    1   ObjectHeader::getObjectSize() + 0 
(librexx.5.0.0.dylib + 212048) [0x12f666c50] (running) 23
                                                                                
                                  1   DeadObjectPool::findFit(unsigned long, 
unsigned long*) + 269 (librexx.5.0.0.dylib + 658333) [0x12f6d3b9d] (running) 24
                                                                                
                                


Maybe someone with experience in studying MacOSX crash and debug information 
can find out more?

---

> Of to buy furniture :-)
Good luck hunting for good furniture! :-)

---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
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to