CppunitTest_sw_filters_test failing on x86 Linux, std::exception -> uno::RuntimeException

Stephan Bergmann sbergman at redhat.com
Tue Apr 10 07:14:03 UTC 2018


On 09/04/18 17:06, Caolán McNamara wrote:
> On Wed, 2018-04-04 at 21:37 +0000, Luke Benes wrote:
>> After commit https://cgit.freedesktop.org/libreoffice/core/commit/?id
>> =975884fbbc3f80a634258ee562037688a42027a9
>>
>> ofz#7110 ensure join is called on std::exceptions as well as
>> uno::Exception
>>
>> Both gcc and clang are failing on my 32 bit Fedora box.
> 
> huh, I was unaware of that. Seems that tinderbox isn't the mailing
> kind. Works under x86_64 (obviously, passed ci) so I don't quite know
> what's going on there. For the moment does simply removing that test
> case make it pass again (https://gerrit.libreoffice.org/#/c/52643/) ?
> 
> caolanm->sberg: that should have worked, right ? I see gcc3_linux_x86-
> 64/uno2cpp.cxx has explicit catch (std::exception) from
> 0166b35fc660911c02d56852fca79f89e7cede5c #i114635# handle non-UNO
> exceptions in C++ UNO bridge, for unxlngx6, rest to follow.
> 
> Is it the case that the x86 bridge never got extended the same way
> after all ?

Calling cppu::getCaughtException on non-UNO exceptions (and relying on 
the C++ UNO bridge called internally by that to translate those to 
RuntimeException) is a bit of a stretch.  And it turns out 
<https://bz.apache.org/ooo/show_bug.cgi?id=114635> "C++ UNO bridge 
should convert non-UNO exceptions into RuntimeException" had indeed 
never been implemented at least for 
bridges/source/cpp_uno/gcc3_linux_intel.  But the current state is a 
convincing argument to port that trivial fix also to the bridge variants 
that are still missing it.  I'll take care.



More information about the LibreOffice mailing list