UNO API doesn't work as expected when ATT enabled

Efe Gürkan YALAMAN efeyalaman at gmail.com
Sat Oct 19 23:55:27 CEST 2013


Hi all,

I was trying to find the reason of the
fdo#70465<https://bugs.freedesktop.org/show_bug.cgi?id=70465>.
Reproduced the bug and debugged that.

During the load page traverses the options recursively with
CuiAboutConfigTabPage::FillItems method. Exit condition of this method is
an exception thrown from this line:
"Reference< XHierarchicalNameAccess >xNextHierarchicalNameAccess( aNode,
uno::UNO_QUERY_THROW );"

It works if Assistive Technology Tools disabled. But if it is enabled
interestingly it jumps another declaration which has same type. Couldn't
figure out what may cause the problem is because of this interesting
behavior and how it is related to ATT. Any kind of help is appreciated.



Here is some info:

Exception is thrown from
cui/source/options/optaboutconfig.cxx#n228<http://cgit.freedesktop.org/libreoffice/core/tree/cui/source/options/optaboutconfig.cxx#n228>normally,
after exception thrown program jumps here and it try-catch block
handles it.

But instead, program jumps here
cui/source/options/optaboutconfig.cxx::216<http://cgit.freedesktop.org/libreoffice/core/tree/cui/source/options/optaboutconfig.cxx#n216>which
breaks program flow. And causes infinite recursion and lock's page.
It explains reported 1.5 GB memory usage before crash.


bt just before exception thrown from reference.

#0  com::sun::star::uno::BaseReference::iquery_throw (pInterface=0x0,
rType=...) at
/home/efe/libreoffice/include/com/sun/star/uno/Reference.hxx:72
#1  0x00002aaacaeb62e6 in
com::sun::star::uno::Reference<com::sun::star::container::XHierarchicalNameAccess>::iquery_throw
(pInterface=0x0) at
/home/efe/libreoffice/include/com/sun/star/uno/Reference.hxx:84
#2  0x00002aaacaeb56bf in
com::sun::star::uno::Reference<com::sun::star::container::XHierarchicalNameAccess>::Reference
(this=0x7fffffff0db0, rAny=...) at
/home/efe/libreoffice/include/com/sun/star/uno/Reference.hxx:189
#3  0x00002aaacaeb0804 in CuiAboutConfigTabPage::FillItems (this=0x18b6350,
xNameAccess=..., sPath=...) at
/home/efe/libreoffice/cui/source/options/optaboutconfig.cxx:228
#4  0x00002aaacaeb0937 in CuiAboutConfigTabPage::FillItems (this=0x18b6350,
xNameAccess=..., sPath=...) at
/home/efe/libreoffice/cui/source/options/optaboutconfig.cxx:230
#5  0x00002aaacaeb0937 in CuiAboutConfigTabPage::FillItems (this=0x18b6350,
xNameAccess=..., sPath=...) at
/home/efe/libreoffice/cui/source/options/optaboutconfig.cxx:230

-- 
Efe Gürkan YALAMAN
http://about.me/efegurkan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20131020/59ce72cb/attachment.html>


More information about the LibreOffice mailing list