Hi there,

trying to debug an awkward error on MacOSX when ooRexx is created from within a 
64-bit Java thread,
initialized by Apache OpenOffice (AOO).

Preliminary comment: 64-bit ooRexx, Java and BSF4ooRexx work stand-alone 
without any problems. It is
also possible to run ooRexx scripts using the AOO jre-libraries to interact 
with AOO.

The problem occurs when having AOO dispatch ooRexx scripts ("macros") via 
64-bit Java on MacOSX.
(The same scenario works flawlessly e.g. on 64-bit Linux and on 32-bit Linux 
and Windows AOO; there
is no 64-bit AOO for Windows yet.)

Here are the relevant snippets from the (impressively detailed) crash report on 
MacOSX:

    Process:         soffice [92432]
    Path:            /Applications/OpenOffice Beta.app/Contents/MacOS/soffice
    Identifier:      org.openoffice.script
    Version:         4.1.0 (???)
    Code Type:       *X86-64 (Native)*
    Parent Process:  launchd [254]
    Responsible:     soffice [92432]
    User ID:         501

    Date/Time:       2014-03-24 20:44:16.238 +0100
    OS Version:      Mac OS X 10.9.2 (13C64)
    Report Version:  11
    Anonymous UUID:  E2667C29-B337-0D61-D55C-512C7C88AD32

    Sleep/Wake UUID: 5C125262-4B0C-411C-A290-DF7A9D64F65B

    *Crashed Thread:  35  Java: AWT-EventQueue-0*

    *Exception Type:  EXC_BAD_ACCESS (SIGSEGV)**
    **Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000*

    VM Regions Near 0:
    -->
        __TEXT                 000000010209e000-000000010209f000 [    4K] 
r-x/rwx SM=COW 
    /Applications/OpenOffice Beta.app/Contents/MacOS/soffice

    Application Specific Information:
    Java information:
     Exception type: Bus Error (0xa) at pc=7fff8d3a1732
     
     *Java VM: Java HotSpot(TM) 64-Bit Server VM (20.65-b04-462 mixed mode 
macosx-amd64)*

    ... cut ...

    Thread 35 Crashed:: Java: AWT-EventQueue-0
    0   libsystem_c.dylib                 0x00007fff8d3a1732 *strlen *+ 18
    1  *librexx.4.dylib                   *0x000000011ee56ea9 
*SysFileSystem::searchPath(char
    const*, char const*, char*) *+ 41 (SysFileSystem.cpp:520)*
    **2  librexx.4.dylib                   *0x000000011ee56ea9 
*SysFileSystem::searchPath(char
    const*, char const*, char*) *+ 41 (SysFileSystem.cpp:520)*
    **3   librexx.4.dylib                   *0x000000011ee56dbe
    *SysFileSystem::primitiveSearchName(char const*, char const*, char const*, 
char*) *+ 270
    (SysFileSystem.cpp:449)*
    **4   librexx.4.dylib                   *0x000000011ee55ab6
    *SystemInterpreter::loadImage(char**, unsigned long*) *+ 102 
(FileSystem.cpp:154)*
    **5   librexx.4.dylib                   *0x000000011ee1de6a 
*RexxMemory::restoreImage() *+ 58
    (RexxMemory.cpp:813)*
    **6   librexx.4.dylib                   *0x000000011ee1dd97 
*RexxMemory::initialize(bool) *+ 839
    (RexxMemory.cpp:202)*
    **7  librexx.4.dylib                   *0x000000011ee5da62
    *Interpreter::startInterpreter(Interpreter::InterpreterStartupMode) *+ 66 
(Interpreter.cpp:135)*
    **8   librexx.4.dylib                   *0x000000011ee5de9d
    *Interpreter::createInterpreterInstance(RexxOption*) + 45 
(SysSemaphore.hpp:82)**
    **9   librexx.4.dylib                   *0x000000011ee5de18
    *Interpreter::createInstance(RexxInstance_*&, RexxThreadContext_*&, 
RexxOption*) *+ 24
    (Interpreter.cpp:261)*
    **10  librexx.4.dylib                   *0x000000011edf98d9 
*RexxCreateInterpreter* + 9
    (InterpreterAPI.cpp:382)*
    **11 libBSF4ooRexx.dylib               0x0000000109687178
    
Java_org_rexxla_bsf_engines_rexx_RexxAndJava_jniRexxCreateInterpreterInstance 
*+ 2536
    12  ???                               0x0000000115741eee 0 + 4654898926
    13  ???                               0x00000001157369b3 0 + 4654852531
    14  ???                               0x00000001157369b3 0 + 4654852531
    15  ???                               0x0000000115736e8d 0 + 4654853773
    16  ???                               0x0000000115731438 0 + 4654830648
    17  libclient64.dylib                 0x0000000114f01ef4 0x114e6b000 + 
618228
    18  libclient64.dylib                 0x0000000114f01cb8 0x114e6b000 + 
617656
    19  libclient64.dylib                 0x0000000114f0d427 JVM_DoPrivileged + 
1037
    20  libjvmlinkage.dylib               0x000000011557211d JVM_DoPrivileged + 
93

    ... cut ...

My wild guess at the moment is that AOO 64-Bit on MacOSX somehow (memory?) 
restricts (maybe native
code loaded via) Java.

It seems that RexxCreateInterpreter() is called successfully which in turn does 
all sorts of
initializations.

What could be the reason that a crash occurs either in 
SysFileSystem::searchPath(), if the crash
occurs there? Any ideas, wild guesses, speculations of any sort?

Thankful for any thoughts, hints and advice!

---rony


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to