Re: InteractiveAugmentedIOException in CUT sc_ucalc

2013-02-15 Thread Henrik /KaarPoSoft

On 02/13/2013 05:41 PM, Stephan Bergmann wrote:

On 02/13/2013 04:46 PM, Tor Lillqvist wrote:

so that some catch block that should match doesn't.


Isn't one typical problem that two type_infos are compared for
equality by comparing the name string pointers instead of comparing
the name strings with strcmp? I have seen stuff like that both in the
Android and iOS ports, I think. Unfortunately it is such a complex
topic that I don't recall the details. But yeah, there must be
something special in his toolchain compared to that on normal Linux.


Comparing just pointers is indeed how the g++ runtime traditionally
behaved---though that's been changed in more recent times, to actually
compare the strings.  That's the reason why LO has traditionally been
careful to export all the weak _ZTI* and _ZTS* symbols from all libraries.

Stephan



I have only very limited knowledge of the LO codebase and inner 
workings, and I have no clue what C++ UNO bridge is or how it works.


Any hints on what I could do to debug / investigate this further would 
be most appreciated.


/Henrik
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: InteractiveAugmentedIOException in CUT sc_ucalc

2013-02-13 Thread Stephan Bergmann

On 02/09/2013 10:04 PM, Henrik /KaarPoSoft wrote:

Program received signal SIGABRT, Aborted.
0x76fcaf65 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:63
63  ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
#0  0x76fcaf65 in __GI_raise (sig=sig@entry=6) at 
../nptl/sysdeps/unix/sysv/linux/raise.c:63
#1  0x76fcc3e8 in __GI_abort () at abort.c:90
#2  0x778a8edd in __gnu_cxx::__verbose_terminate_handler () at 
../../../../gcc-4.7.2/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x778a6fd6 in __cxxabiv1::__terminate (handler=optimized out) at 
../../../../gcc-4.7.2/libstdc++-v3/libsupc++/eh_terminate.cc:40
#4  0x778a7003 in std::terminate () at 
../../../../gcc-4.7.2/libstdc++-v3/libsupc++/eh_terminate.cc:50
#5  0x778a722e in __cxxabiv1::__cxa_throw (obj=0x49f270, tinfo=optimized 
out, dest=optimized out) at 
../../../../gcc-4.7.2/libstdc++-v3/libsupc++/eh_throw.cc:83
#6  0x756ef5fa in 
cpp2uno_call(bridges::cpp_uno::shared::CppInterfaceProxy*, 
_typelib_TypeDescription const*, _typelib_TypeDescriptionReference*, int, 
_typelib_MethodParameter*, void**, void**, void**, unsigned long*) [clone 
.3078] () from 
/home/kaarpux/kaarpux/linux/build/opt/libreoffice-4.0.0.3/solver/unxlngx6.pro/lib/libgcc3_uno.so
#7  0x756eb31c in cpp_vtable_call () from 
/home/kaarpux/kaarpux/linux/build/opt/libreoffice-4.0.0.3/solver/unxlngx6.pro/lib/libgcc3_uno.so
#8  0x756f0a1e in privateSnippetExecutor () at 
/home/kaarpux/kaarpux/linux/build/opt/libreoffice-4.0.0.3/bridges/source/cpp_uno/gcc3_linux_x86-64/call.s:56
#9  0x77eacf1e in cppu::throwException(com::sun::star::uno::Any const) 
() from 
/home/kaarpux/kaarpux/linux/build/opt/libreoffice-4.0.0.3/solver/unxlngx6.pro/lib/libuno_cppuhelpergcc3.so.3


cppu::throwException is dirty in that it synthesizes a C++ throw 
expression, by using the bridge between C++ and binary UNO 
(bridges/source/cpp_uno/).  __cxxabiv1::__cxa_throw calling 
std::terminate can either mean that the synthesized stuff LO passes into 
the C++ runtime is not acceptable at all, or that the synthesized RTTI 
is bad, so that some catch block that should match doesn't.


Looks like the C++ UNO bridge is not working well with your toolchain, 
for whatever reason.


Stephan
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: InteractiveAugmentedIOException in CUT sc_ucalc

2013-02-13 Thread Tor Lillqvist
 so that some catch block that should match doesn't.

Isn't one typical problem that two type_infos are compared for
equality by comparing the name string pointers instead of comparing
the name strings with strcmp? I have seen stuff like that both in the
Android and iOS ports, I think. Unfortunately it is such a complex
topic that I don't recall the details. But yeah, there must be
something special in his toolchain compared to that on normal Linux.

--tml
___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice


Re: InteractiveAugmentedIOException in CUT sc_ucalc

2013-02-13 Thread Stephan Bergmann

On 02/13/2013 04:46 PM, Tor Lillqvist wrote:

so that some catch block that should match doesn't.


Isn't one typical problem that two type_infos are compared for
equality by comparing the name string pointers instead of comparing
the name strings with strcmp? I have seen stuff like that both in the
Android and iOS ports, I think. Unfortunately it is such a complex
topic that I don't recall the details. But yeah, there must be
something special in his toolchain compared to that on normal Linux.


Comparing just pointers is indeed how the g++ runtime traditionally 
behaved---though that's been changed in more recent times, to actually 
compare the strings.  That's the reason why LO has traditionally been 
careful to export all the weak _ZTI* and _ZTS* symbols from all libraries.


Stephan

___
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice