[HELP] fdo#57611 try{} catch() does not catch through UNO bridge

Lionel Elie Mamane lionel at mamane.lu
Tue Nov 27 06:15:20 PST 2012


Would appreciate help on fdo#57611. LibreOffice aborts because
uncaught com::sun::star::beans::PropertyVetoException is thrown, but
backtrace contains

        try
        {
            impl_processEvent_throw( _rEvent );
        }
        catch( const Exception& )
        {
            // can't handle otherwise, since our caller (the notification thread) does not allow
            // for exceptions (it could itself abort only)
            DBG_UNHANDLED_EXCEPTION();
        }


According to udkapi/com/sun/star/beans/PropertyVetoException.idl,
PropertyVetoException is a com::sun::star::uno::Exception, so it
should be caught here!

Backtrace also contains

#2  0x00007fffe49fb30a in gcc3::callVirtualMethod (...)
    at
    /home/master/src/libreoffice/workdirs/libreoffice-3.6/bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:128
#3  0x00007fffe49fd838 in cpp_call (...)
    at
    /home/master/src/libreoffice/workdirs/libreoffice-3.6/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:246
#4  0x00007fffe49fe091 in bridges::cpp_uno::shared::unoInterfaceProxyDispatch (...)
    at /home/master/src/libreoffice/workdirs/libreoffice-3.6/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:378

Which I suppose it what makes the trouble, but
com::sun::star::uno::Exception should traverse UNO bridge, right?


So what's happening here?

-- 
Lionel


More information about the LibreOffice mailing list