On 3/25/14 12:51 PM, Rony G. Flatscher (Apache) wrote:
> Hi Jürgen,
> 
> in the past two days I traced down the crash and I think I found the reason, 
> which looks like a
> regression to me (worked on OOo 2.x and OOo 3.x): when the ooRexx interpreter 
> is loaded via JNI it
> needs to get its pieces together and relies on information from the process 
> environment.
> 
> This particular crash occurs on MacOSX only (works flawlessly on 32/64 Linux 
> and Windows), because
> getenv("PATH") returns a null value during startup of the ooRexx interpreter! 
> So somewhere the
> environment is not properly set up for the scripting framework, if e.g. PATH 
> is not accessible.
> 
> Thought I report my findings ASAP with the latest MacOSX beta, will update 
> the issue later this
> evening and create an issue requesting a showstopper flag (have to leave).

crashing when PATH is null for whatever reason is strange, where is his
code.

But to be honest this sounds not really like a showstopper to me but if
somebody has a fix in time we can take it for 4.1.

Juergen


> 
> ---rony
> 
> P.S.: It was just a coincidence that the Java thread where the crash occurs 
> is at the same time the
> awt thread. That thread is not in jeopardy with the MacOSX AppKit thread. Cf.
> <http://searchcode.com/codesearch/view/18259454> for 
> "com.sun.star.script.framework.provider.
> SwingInvocation" that gets used in beanshell.
> 
> 
> 
> 
> 
> 
> On 26.02.2014 15:38, Jürgen Schmidt wrote:
>> Hi Ronny,
>>
>> the problem is not new as far as I know and not easy to fix. Both the
>> office and the JVM requires to run their event loop in the main thread
>> and this conflicts on MacOS.
>>
>> A solution can be potentially to start the JVM in a separate process and
>> bridge the communication via UNO.
>>
>> But I don't see the chance that it get fixed for AOO 4.1 or in the near
>> future.
>>
>> Any usage of awt in macros or extensions on Mac will cause problems and
>> is not recommended. And again this problem is not new and exists since
>> some time.
>>
>> It is correct that it worked in the past and I don't know when the
>> problem was introduced and which change triggered it. But I know that
>> exists since several years and is not easy to fix.
>>
>> Juergen
>>
>> On 2/26/14 3:12 PM, Rony G. Flatscher (Apache) wrote:
>>> Hi there,
>>>
>>> it seems that dispatching scripts via AOO's Java scripting framework is 
>>> done using the wrong thread
>>> on MacOSX.
>>>
>>> This reasoning stems from observing the Java runtime error to be caused 
>>> e.g. when using a JDialog to
>>> popup reporting the following error:
>>>
>>>     com.sun.star.uno.RuntimeException[jni_uno_bridge_error] UNO calling 
>>> Java method invoke: non-UNO exception occurred:
>>>     java.lang.InternalError: Can't start the AWT because Java was started 
>>> on the first thread.
>>>     Make sure StartOnFirstThread is not specified in your application's 
>>> info.plist or on the command line
>>>
>>> This problem is also present in Herbert's latest drop.
>>>
>>> This effectively inhibits dispatching any scripts from within AOO on 
>>> MacOSX, which works fine on
>>> Windows and Linux otherwise (in 32- and the latter in addition in 64-bit).
>>>
>>> As the code for making ooRexx available was copied from the BeanShell's 
>>> Java scripting framework
>>> implementation and works on all other platforms flawlessly, this seems to 
>>> be a serious error on
>>> MacOSX, and therefore a showstopper, IMHO.
>>> [The code gets dispatched by AOO and on its supplied thread.]
>>>
>>> However and interestingly, there seems to be no problem with BeanShell and 
>>> JavaScript, which is
>>> surprising to me. Not sure why they execute properly on MacOSX, but that 
>>> observation is also the
>>> reason why I prefer to ask first, before setting the showstopper flag on 
>>> bug 124170 (see below).
>>>
>>> There are two bug issues that document this problem:
>>>
>>>   * Bug <https://issues.apache.org/ooo/show_bug.cgi?id=124170>, Comment # 
>>> 9: explains where to find
>>>     the (basically a pure Java-) oxt (a debug version using JDialog) and 
>>> how to get the Java error
>>>     on MacOSX.
>>>
>>>   * Bug <https://issues.apache.org/ooo/show_bug.cgi?id=120359> is probably 
>>> related to the same
>>>     reason (in the part describing problems dispatching scripts and some 
>>> sort of work around that
>>>     more or less worked on the prior 32-bit version).
>>>
>>> ---
>>>
>>> It might be interesting to note, that in OpenOffice.org times (32-bit OOo) 
>>> it used to work on
>>> MacOSX. I am not aware of any changes in the scripting framework that could 
>>> cause this behaviour.
>>>
>>> ---rony
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
>> For additional commands, e-mail: dev-h...@openoffice.apache.org
>>
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to