Re: new bridgetest failures in 7.6 on ppc64le

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 5 Oct 2023 17:11:55 +0200
Stephan Bergmann <sbergman@xxxxxxxxxx> wrote:

> On 10/5/23 10:38, Dan Horák wrote:
> > I would appreciate any tips and tricks how to attack this problem with
> > gdb, because I wasn't successful in getting into the right place or
> > process and relied mainly on the old school "printf" method :-)
> 
> The call
> 
> >             TwoFloats aOut = xLBT->echoTwoFloats(aIn);
> 
> at testtools/source/bridgetest/bridgetest.cxx:474 goes to a dynamically 
> created stub, generated at runtime by codeSnippet in 
> bridges/source/cpp_uno/gcc3_linux_powerpc64/cpp2uno.cxx, which calls 
> privateSnippetExecutor, which calls cpp_mediate, which (in its case 
> typelib_TypeClass_INTERFACE_METHOD case's default case) calls 
> cpp2uno_call, which at
> 
> >     // invoke uno dispatch call
> >     (*pThis->getUnoI()->pDispatcher)( pThis->getUnoI(), pMemberTypeDescr, pUnoReturn, pUnoArgs, &pUnoExc );
> 
> calls into the binary UNO to Java bridge.  So if you assume that things 
> are fine between binary UNO and Java (which is a reasonable assumption, 
> as that part should be mostly architecture-agnostic), I'd start to debug 
> at the return of that pDispatcher call, and see how its return value 
> (i.e., the return value from
> 
> >         public TwoFloats echoTwoFloats( TwoFloats i_Struct) throws com.sun.star.uno.RuntimeException {
> >             return i_Struct;
> >         }
> 
> in testtools/com/sun/star/comp/bridge/TestComponent.java) propagates 
> back down to the original C++ call at 
> testtools/source/bridgetest/bridgetest.cxx:474.
> 

thanks and for the record, with https://fedora.danny.cz/ppc/bridge-debug.patch
I am getting https://fedora.danny.cz/ppc/bridge-debug.log after "make unitcheck"
under testtools/

You can see both the C++ and Java test running (IMO good for comparison)
and when the struct is translated from Java to UNO, it still looks good
(IMHO), search for "STRUCT top-level". Then the "f1" and "f2" prints from
right after https://git.libreoffice.org/core/+/refs/heads/master/bridges/source/cpp_uno/gcc3_linux_powerpc64/uno2cpp.cxx#218
they are bad.

I will look further especially at the dynamically generated stubs,
which is new to me. Apply those stubs to the C++ bridge as well?


		Dan



[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux