Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


On 10/19/2013 11:55 PM, Efe Gürkan YALAMAN wrote:
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 );"

...you mean "exit condition from the FillItems recursion," I assume. In any event, it would arguably be better to not rely on an exception there to break the recursion. Rather, stop once aNode does not reference an object implementing XHierarchicalNameAccess, by doing

Reference<XHierarchicalNameAccess> xNextHierarchicalNameAccess(aNode, uno::UNO_QUERY);
bIsLeafNode = !aNode.is();

However, I cannot reproduce the problem as you describe it below. Given your backtrace contains "/home/efe/", I assume it is on Linux?

(What I can reproduce is the UI being unresponsive and CPU load being high for a very long time, see <https://bugs.freedesktop.org/show_bug.cgi?id=70465#c9>.)

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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.