Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

John Wolfe-2
I have been working on a port of OpenOffice to SCO's OpenServer 6.0
and UnixWare 7.1.4 platforms using the native C/C++ compilers on
those systems.  The source that I am using is OO 2.0.3 that was
downloaded in May/June 2006.  I have the the native C++
bridge complete and I think working:

    - importing and accessing MS word, spreadsheets and .ppt
    - developing and presenting  full-featured OO presentations
    - Latest J2SE 1.4.2 update 16 embedded into OO
        (haven't tries J2SE 5.0 yet)

I have one nagging problem that has haunted me for the for the last 8
months.  Numerous interruptions have prevented me from resolving the
issue and catching up to the "latest" stable OO source release.

Letter / Fax / Agenda wizards crash when either finished or canceled.

These use Java and the hotspot error file presents the following
stack trace:

C  0x00000004
C  [libuno_cppu.so.3+0x78537]  uno_any_construct+0x118f
C  [libuslc_uno.so+0xca88]  cpp_vtable_call+0x32c
C  [libuslc_uno.so+0x145d1]  privateSnippetExecutorClass_cctor+0x11
C  [libuno_cppuhelperuslc.so.3+0x640b4]
iquery__Q5_3com3sun4star3uno13BaseReferenceSFPQ5_3com3sun4star3uno10XInterfaceRCQ5_3com3sun4star3uno4Type+0x30
C  [libuno_cppuhelperuslc.so.3+0x8f97e]
disposeAndClear__Q2_4cppu25OInterfaceContainerHelperFRCQ5_3com3sun4star4lang11EventObject+0x242
C  [libtk680ci.so+0x31783c]  dispose__16UnoButtonControlFv+0xa8
C  [libtk680ci.so+0x2f48cc]  dispose__19UnoControlContainerFv+0x35c
C  [libtk680ci.so+0x35f972]  dispose__16UnoDialogControlFv+0xb6
C  [libuslc_uno.so+0x1009e]
callVirtualMethod__23__Nuno2cpp_cxx_f42b3feaFPvlT118_typelib_TypeClassPlT2+0xba
C  [libuslc_uno.so+0xfd13]
cpp_call__23__Nuno2cpp_cxx_f42b3feaFPQ4_7bridges7cpp_uno6shared17UnoInterfaceProxyQ4_7bridges7cpp_uno6shared10VtableSlotP33_typelib_TypeDescriptionReferencelP24_typelib_MethodParameterPvPPvPP8_uno_Any+0x40f
C  [libuslc_uno.so+0xf389]
dispatch__Q4_7bridges7cpp_uno6shared17UnoInterfaceProxySFP14_uno_InterfacePC24_typelib_TypeDescriptionPvPPvPP8_uno_Any+0x305
C  [libjava_uno.so+0x3501f]
call_uno__Q2_7jni_uno6BridgeCFRCQ2_7jni_uno11JNI_contextP14_uno_InterfaceP24_typelib_TypeDescriptionP33_typelib_TypeDescriptionReferencelPC24_typelib_MethodParameterP13_jobjectArray+0x3b3
C  [libjava_uno.so+0x3259a]
Java_com_sun_star_bridges_jni_1uno_JNI_1proxy_dispatch_1call+0x141e
J
com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(JLjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
J
com.sun.star.bridges.jni_uno.JNI_proxy.invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
v  ~RuntimeStub::alignment_frame_return Runtime1 stub
j  $Proxy13.dispose()V+9
j  com.sun.star.wizards.letter.LetterWizardDialogImpl.closeDocument()V+4
j  com.sun.star.wizards.letter.LetterWizardDialogImpl.finishWizard()V+306
j  com.sun.star.wizards.ui.WizardDialog.finishWizard_1()V+1
v  ~StubRoutines::call_stub

The symptom is either a missing, uninitialized or incorrect virtual
function table.


A search of OO issues shows a number of "in the area" problems
reported by others; some unreproducible other marked as fixed.

Two of immediate interest are:

   35454 "crash by finishing any wizard"    fixed in "SRC680:m57"
                                       verified with "cws qwizardsbf1"

   42034 "Cannot close Fax/Letter wizard using system-close-button"
                                         fixed in "cws qwizardspp4"


My solenv/inc/minor.mk shows:

    RSCVERSION=680
    RSCREVISION=680m7(Build:9044)
    BUILD=9044
    LAST_MINOR=m7
    SOURCEVERSION=OOC680

But I cannot relate this to the comment time stamps in the issues..

What I would like to do is fix this issue and get the 2.0.3 version
in the hands of some other users to stress the new bridge code,
as I integrate my changes into the 2.2.x tree.

How can I determine what source files where changed in
the qwizardsbf1 and qwizardspp4 bundles that were checked into the
source tree?

Thanks for any suggestions or assistance that you can provide

-- John


--
John Wolfe [hidden email]
The SCO Group Inc., Murray Hill, NJ 908 790 2399

SCO is a leading provider of UNIX-based solutions and mobile services

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

James Mckenzie
>Subject: [porting-dev] Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3
>
>I have been working on a port of OpenOffice to SCO's OpenServer 6.0
>and UnixWare 7.1.4 platforms using the native C/C++ compilers on
>those systems.  The source that I am using is OO 2.0.3 that was
>downloaded in May/June 2006.  I have the the native C++
>bridge complete and I think working:

Please try using the latest code, which is 2.3.  There are no development efforts
ongoing on 2.0.3.

James McKenzie

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

Jan Holesovsky
In reply to this post by John Wolfe-2
Hi John,

On Wednesday 17 October 2007 04:05, John Wolfe wrote:

> These use Java and the hotspot error file presents the following
> stack trace:
>
> C  0x00000004
> C  [libuno_cppu.so.3+0x78537]  uno_any_construct+0x118f
> C  [libuslc_uno.so+0xca88]  cpp_vtable_call+0x32c
> C  [libuslc_uno.so+0x145d1]  privateSnippetExecutorClass_cctor+0x11
> C  [libuno_cppuhelperuslc.so.3+0x640b4]
> iquery__Q5_3com3sun4star3uno13BaseReferenceSFPQ5_3com3sun4star3uno10XInterf
>aceRCQ5_3com3sun4star3uno4Type+0x30 C  [libuno_cppuhelperuslc.so.3+0x8f97e]
> disposeAndClear__Q2_4cppu25OInterfaceContainerHelperFRCQ5_3com3sun4star4lan
>g11EventObject+0x242 C  [libtk680ci.so+0x31783c]
> dispose__16UnoButtonControlFv+0xa8
> C  [libtk680ci.so+0x2f48cc]  dispose__19UnoControlContainerFv+0x35c
> C  [libtk680ci.so+0x35f972]  dispose__16UnoDialogControlFv+0xb6
> C  [libuslc_uno.so+0x1009e]
> callVirtualMethod__23__Nuno2cpp_cxx_f42b3feaFPvlT118_typelib_TypeClassPlT2+
>0xba C  [libuslc_uno.so+0xfd13]
> cpp_call__23__Nuno2cpp_cxx_f42b3feaFPQ4_7bridges7cpp_uno6shared17UnoInterfa
>ceProxyQ4_7bridges7cpp_uno6shared10VtableSlotP33_typelib_TypeDescriptionRefe
>rencelP24_typelib_MethodParameterPvPPvPP8_uno_Any+0x40f C
> [libuslc_uno.so+0xf389]
> dispatch__Q4_7bridges7cpp_uno6shared17UnoInterfaceProxySFP14_uno_InterfaceP
>C24_typelib_TypeDescriptionPvPPvPP8_uno_Any+0x305 C
> [libjava_uno.so+0x3501f]
> call_uno__Q2_7jni_uno6BridgeCFRCQ2_7jni_uno11JNI_contextP14_uno_InterfaceP2
>4_typelib_TypeDescriptionP33_typelib_TypeDescriptionReferencelPC24_typelib_M
>ethodParameterP13_jobjectArray+0x3b3 C  [libjava_uno.so+0x3259a]
> Java_com_sun_star_bridges_jni_1uno_JNI_1proxy_dispatch_1call+0x141e
> J
> com.sun.star.bridges.jni_uno.JNI_proxy.dispatch_call(JLjava/lang/String;Lja
>va/lang/String;[Ljava/lang/Object;)Ljava/lang/Object; J
> com.sun.star.bridges.jni_uno.JNI_proxy.invoke(Ljava/lang/Object;Ljava/lang/
>reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object; v
> ~RuntimeStub::alignment_frame_return Runtime1 stub
> j  $Proxy13.dispose()V+9
> j  com.sun.star.wizards.letter.LetterWizardDialogImpl.closeDocument()V+4
> j  com.sun.star.wizards.letter.LetterWizardDialogImpl.finishWizard()V+306
> j  com.sun.star.wizards.ui.WizardDialog.finishWizard_1()V+1
> v  ~StubRoutines::call_stub
>
> The symptom is either a missing, uninitialized or incorrect virtual
> function table.

From my point of view, that means a problem in the bridge.  Are you sure that
your code that constructs the trampolines for virtual methods is really
correct?  Can you debug it to see what _exactly_ went wrong in
uno_any_construct/cpp_vtable_call/privateSnippetExecutorClass_cctor?

> What I would like to do is fix this issue and get the 2.0.3 version
> in the hands of some other users to stress the new bridge code,
> as I integrate my changes into the 2.2.x tree.

I'd recommend you to extract the patches you've done, and try to apply it
against more recent sources, ideally 2.3.  Not that it should fix your
problem, but will definitely ease you the integration up-stream.

> How can I determine what source files where changed in
> the qwizardsbf1 and qwizardspp4 bundles that were checked into the
> source tree?

In ooo-build (http://www.go-oo.org), we have a script for that, cws-extract
(http://svn.gnome.org/viewvc/ooo-build/trunk/bin/cws-extract).  Ideally
checkout ooo-build, and run it in your tree using 'cws-extract qwizardsbf1',
and you'll get the patch showing changes in qwizardsbf1.

Regards,
Jan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

Caolán McNamara

On Wed, 2007-10-17 at 11:29 +0200, Jan Holesovsky wrote:

> Hi John,
>
> On Wednesday 17 October 2007 04:05, John Wolfe wrote:
>
> >
> > The symptom is either a missing, uninitialized or incorrect virtual
> > function table.
>
> From my point of view, that means a problem in the bridge.  Are you sure that
> your code that constructs the trampolines for virtual methods is really
> correct?  Can you debug it to see what _exactly_ went wrong in
> uno_any_construct/cpp_vtable_call/privateSnippetExecutorClass_cctor?

Have you also built testcppu in cppu/test and cd ../unx*.pro/bin and
run ./testcppu. Does that work without failure ?

C.

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

John Wolfe-2
In reply to this post by James Mckenzie
James,

Thanks for your reply.   I intend to, but was hoping to get a somewhat
usable Open Office into others' hands to exercise the native C++
bridge.  I have been investigating the problem as if there
was a problem in the bridges port and there maybe such a problem.

I was wondering how I could best search the CVS trees to determine the
changes/fixes related to issues

   35454 "crash by finishing any wizard"    fixed in "SRC680:m57"
                                       verified with "cws qwizardsbf1"

   42034 "Cannot close Fax/Letter wizard using system-close-button"
                                       fixed in "cws qwizardspp4"

That, at the very least, could point me to the components involved
and allow me to verify the interface registration.

-- John


James Mckenzie wrote:

>>Subject: [porting-dev] Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3
>>
>>I have been working on a port of OpenOffice to SCO's OpenServer 6.0
>>and UnixWare 7.1.4 platforms using the native C/C++ compilers on
>>those systems.  The source that I am using is OO 2.0.3 that was
>>downloaded in May/June 2006.  I have the the native C++
>>bridge complete and I think working:
>
>
> Please try using the latest code, which is 2.3.  There are no development efforts
> ongoing on 2.0.3.
>
> James McKenzie
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [hidden email]
> For additional commands, e-mail: [hidden email]
>

--
John Wolfe [hidden email]
The SCO Group Inc., Murray Hill, NJ 908 790 2399

SCO is a leading provider of UNIX-based solutions and mobile services

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

Joost Andrae
In reply to this post by James Mckenzie
Hi John,

you can search for the child workspaces (CWS) involved within the EIS
application (http://eis.services.openoffice.org).

CWS "qwizardsbf1" contained the following modules:

extras
officecfg
sfx2
sw
vcl

CWS qwizardspp4 contained the following modules:

default_images
wizards


Kind regards, Joost


> I was wondering how I could best search the CVS trees to determine the
> changes/fixes related to issues
>
>   35454 "crash by finishing any wizard"    fixed in "SRC680:m57"
>                                       verified with "cws qwizardsbf1"
>
>   42034 "Cannot close Fax/Letter wizard using system-close-button"
>                                       fixed in "cws qwizardspp4"
>
> That, at the very least, could point me to the components involved
> and allow me to verify the interface registration.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

Jan Holesovsky
In reply to this post by Caolán McNamara
Hi John,

On Wednesday 17 October 2007 12:42, Caolan McNamara wrote:

> > From my point of view, that means a problem in the bridge.  Are you sure
> > that your code that constructs the trampolines for virtual methods is
> > really correct?  Can you debug it to see what _exactly_ went wrong in
> > uno_any_construct/cpp_vtable_call/privateSnippetExecutorClass_cctor?
>
> Have you also built testcppu in cppu/test and cd ../unx*.pro/bin and
> run ./testcppu. Does that work without failure ?

Which reminds me, also do 'build' in testtools, 'cd
testtools/unxlng*.pro/lib', and issue './bridgetest_inprocess', it could
uncover some problems as well.

Regards,
Jan

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Letter, Fax, and Agenda Wizard crash - cancel/finish - OO 2.0.3

John Wolfe-2
Thanks all for the many responses and helpful hints.

I think that I have trampolines for the virtual methods at least 99%
correct.  Everything but these Java plugin wizards seems to
be working.  I have been investigating the problem under the assumption
that this 1% or so has surfaced.

I have debugged it from the UnoButtonControl::dispose(void) down
to the uno_any_construct().   Through the cpp_vtable_call, the
interface pointer looked valid; it had a valid vtbl at offset
zero.  Once into uno_any_construct(), there was no vtbl at offset
zero.  I will recheck the this pointer adjustments being made
prior to the call.

I have built cppu/test and run ../unx*/bin/testcppu.   This were
quite helpful in getting the bridge port working.  I will
rerun the tests on my latest build.

No certain if I have ever run testtools bridges_inprocess.  The
testtools project is built, but the log file only indicates:

    "start test with dmake runtest"

then copies build.lst into solver.  This "dmake runtest" seems to be
for the python only?  I will manually (re)run the testtools tests.

Thanks Jan and Joost for the list of components changed and directions
to look at the changes in a patch.

Are there other components, in addition to these wizard Java plugins,
that make use of any of the following routines?

    UnoDialogControl::dispose(void)
    UnoControlContainer::dispose(void)
    UnoControl::dispose(void)
    UnoButtonControl::dispose(void)

I have not encountered problems elsewhere, but also have not
reached UnoButtonControl::dispose() when closing/canceling
other windows that have buttons.

Thanks again.

-- John


Jan Holesovsky wrote:

> Hi John,
>
> On Wednesday 17 October 2007 12:42, Caolan McNamara wrote:
>
>
>>>From my point of view, that means a problem in the bridge.  Are you sure
>>>that your code that constructs the trampolines for virtual methods is
>>>really correct?  Can you debug it to see what _exactly_ went wrong in
>>>uno_any_construct/cpp_vtable_call/privateSnippetExecutorClass_cctor?
>>
>>Have you also built testcppu in cppu/test and cd ../unx*.pro/bin and
>>run ./testcppu. Does that work without failure ?
>
>
> Which reminds me, also do 'build' in testtools, 'cd
> testtools/unxlng*.pro/lib', and issue './bridgetest_inprocess', it could
> uncover some problems as well.
>
> Regards,
> Jan

Joost Andrae wrote:
 > Hi John,
 >
 > you can search for the child workspaces (CWS) involved within the EIS
 > application (http://eis.services.openoffice.org).
 >
 > CWS "qwizardsbf1" contained the following modules:
 >
 > extras
 > officecfg
 > sfx2
 > sw
 > vcl
 >
 > CWS qwizardspp4 contained the following modules:
 >
 > default_images
 > wizards
 >
--
John Wolfe [hidden email]
The SCO Group Inc., Murray Hill, NJ 908 790 2399

SCO is a leading provider of UNIX-based solutions and mobile services

---------------------------------------------------------------------
To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]