OK - progress in some ways.  As Bill is running LibreOffice,  I
downloaded it in place of Open Office, tweaking the default
program settings to force wdooo calls to invoke its binaries.

My application still crashes with the new JQT and Jconsole,
and so does oocalc.ijs.

HOWEVER,  I've changed oleinvoke from an adverb to a
verb, together with the verbs that call it.  This is so that
debug can trace through oleinvoke  (is there a way to trace
execution through a verb derived on the fly from an adverb?)

So now, I can report that test'' fails at the following line in oleinvoke:
(NB. I'm breaking it into three parts, so it should appear as three lines
here)

if.
S_OK~: hr=. disp idInvoke id ; GUID_NULL ; 0 ; m ; (<dispparams) ; (<temp) ; 0 ; 0
do. 13!:8[3 [ oleerrno=: hr

The rh argument for idInvoke is
id ; GUID_NULL ; 0 ; m ;(<dispparams) ; (<temp) ; 0 ; 0

+-----------+----------------+-+-+--------------+--------------+-+-+

|_4294967295| |0|1|+------------+|+------------+|0|0|

|           |                | | ||867122743072|||867151675840|| | |

|           |                | | |+------------+|+------------+| | |

+-----------+----------------+-+-+--------------+--------------+-+-+

(though presumably handles are arbitrary)

Opening the two boxed items makes this easier to read:
id ; GUID_NULL ; 0 ; m ;dispparams ; temp ; 0 ; 0

+-----------+----------------+-+-+------------+------------+-+-+

|_4294967295| |0|1|867122743072|867151675840|0|0|

+-----------+----------------+-+-+------------+------------+-+-+

(Apologies if these boxes are poorly aligned!)


Copying the following from the debug gui and running explicitly

in the J terminal session
disp idInvoke id ; GUID_NULL ; 0 ; m ; (<dispparams) ; (<temp) ; 0 ; 0
leads to the crash.


idInvoke is a system call:
'1 6 > i x x *c x s *x *x x x'&(15!:0)@;


That's all folks!


Thanks, Mike



On 06/11/2014 16:09, Mike Day wrote:
But how to see them if J crashes first?

I could see that S_OK was  zero in olecreate,
but debug then only got as far as the first line
oleinvoke with no chance of checking the code.

Bill was keen to see reports on wdooo behaviour
with a variety of Windows o/s and numbers of
bits.

Mike

On 06/11/2014 13:37, bill lam wrote:
When calls in wdooo fail, they should return non-zero error code,that might
give hints of why it failed.
On Nov 6, 2014 5:05 PM, "Mike Day" <[email protected]> wrote:

Dear Forum

I've got a problem with J crashing with wdooo, which I've
been discussing privately with Bill Lam.  Privately because
my example involved private data.

We seem to have discovered where the trouble lies or at
least where it starts,  and in a public area, so it can be
shared.

I tried the verb "test" in ~addons/tables/wdooo/oocalc.ijs.
Using debug,  I see that it fails at the line
olemethod__p base ; 'createInstance' ; 'com.sun.star.frame.Desktop'
(Actually, olemethod attempts to call oleinvoke; the error appears
to occur with '' (m oleinvoke) y   )


Executing this line throws an exception under Windows 8.1
with the message
     jqt.exe has stopped working  etc

While I'm running Apache Open Office 4.1.1 in Windows 8.1 on a
64 bit machine,   Bill has libreoffice 4.3.3 in windows xp in
32 bits,  where oocalc's test works ok,  so we're at an impasse.

Is anyone else who's got an Open Office + 64-bit Windows 8.1
setup willing to try the oocalc test?

I recall trying out libreoffice two or three years ago and then
finding Open Office to be more stable - but perhaps things have
improved.

Thanks in advance,

Mike


---
This email is free from viruses and malware because avast! Antivirus protection 
is active.
http://www.avast.com



-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2014.0.4765 / Virus Database: 4189/8522 - Release Date: 11/06/14

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to