new bridgetest failures in 7.6 on ppc64le
Stephan Bergmann
sbergman at redhat.com
Thu Aug 31 12:04:34 UTC 2023
On 8/31/23 13:51, Dan Horák wrote:
> On Thu, 31 Aug 2023 10:21:05 +0200
> Dan Horák <dan at danny.cz> wrote:
>
>> Hello,
>>
>> I am working with the Fedora LibreOffice team on keeping LO building on
>> ppc64le and s390x platforms and we found some new test failures during the
>> rebase to 7.6. This is the first of them.
>>
>> ...
>> [CXX] vcl/qa/cppunit/GraphicTest.cxx
>> [CXX] vcl/qa/cppunit/GraphicDescriptorTest.cxx
>> two floats struct test failed
>> four floats struct test failed
>> standard test failed
>> exception occurred: error: test failed! at /home/sharkcz/projects/libreoffice/testtools/source/bridgetest/bridgetest.cxx:1268
>>
>>> error: error: test failed! at /home/sharkcz/projects/libreoffice/testtools/source/bridgetest/bridgetest.cxx:1268
>>> dying...make[1]: *** [/home/sharkcz/projects/libreoffice/testtools/CustomTarget_uno_test.mk:26: /home/sharkcz/projects/libreoffice/workdir/CustomTarget/testtools/uno_test.done] Error 1
>> make[1]: *** Waiting for unfinished jobs....
>>
>>
>> I have tracked it down to
>> https://git.libreoffice.org/core/+/32c845cb4389aba9430ce471b04f2891f5ff630d%5E%21/
>> So I guess it possibly uncovered a real issue somewhere else.
>>
>> Seems the TwoFloat/FourFloat checks from
>> https://git.libreoffice.org/core/+/refs/heads/master/testtools/source/bridgetest/bridgetest.cxx#472
>> are called twice during "make unitcheck" and the second run returns
>> garbage in the second (and third/fourth?) member. Any pointers where to
>> look further or any help on resolving it would be appreciated.
>
> and before the mentioned commit the check is run only once. Doesn't it
> mean the Java bridge is broken for ppc64le, because it now runs the
> Java test as well?
Smells a bit like it, though that would also be somewhat odd as that
bridge should mostly be platform-agnostic.
While the first test checks a roundtrip from C++
(testtools/source/bridgetest/bridgetest.cxx) to the binary UNO hub to
C++ (testtools/source/bridgetest/cppobj.cxx) and back, that second test
checks a roundtrip form C++ (testtools/source/bridgetest/bridgetest.cxx)
to the binary UNO hub to Java
(testtools/com/sun/star/comp/bridge/TestComponent.java) and back.
Maybe bridges/source/jni_uno/jni_data.cxx Bridge::map_to_uno/_java are
good first pointers where to look for corrupted values in-flight, and
then go from there...
More information about the LibreOffice
mailing list