Hello,
1)
Trying to reproduce fdo#47466 with master sources updated this morning, I
had this:
#0 0x00007ff8cd039475 in *__GI_raise (sig=<optimized out>) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007ff8cd03c6f0 in *__GI_abort () at abort.c:92
#2 0x00007ff8cd8de31d in __gnu_debug::_Error_formatter::_M_error() const ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ff8ae7c3f24 in
__gnu_debug::_Safe_iterator<std::_Rb_tree_const_iterator<short>,
std::__debug::set<short, std::less<short>, std::allocator<short> >
::operator* (
this=0x7fff96484bf0) at /usr/include/c++/4.7/debug/safe_iterator.h:261
#4 0x00007ff8aee0bd21 in ScDocFunc::AutoFormat (this=0x288bd00, rRange=...,
pTabMark=0x297b6d0, nFormatNo=1, bRecord=true, bApi=false)
at
/home/julien/compile-libreoffice/libo/sc/source/ui/docshell/docfunc.cxx:3743
#5 0x00007ff8af222bd0 in ScViewFunc::AutoFormat (this=0x296a7c0,
nFormatNo=1, bRecord=1 '\001') at
/home/julien/compile-libreoffice/libo/sc/source/ui/view/viewfun2.cxx:1553
#6 0x00007ff8af102636 in ScCellShell::Execute (this=0x29a45a0, rReq=...) at
/home/julien/compile-libreoffice/libo/sc/source/ui/view/cellsh3.cxx:843
...
on console:
Objects involved in the operation:
iterator "this" @ 0x0x7fff96484bf0 {
type =
N11__gnu_debug14_Safe_iteratorISt23_Rb_tree_const_iteratorIsENSt7__debug3setIsSt4lessIsESaIsEEEEE
(mutable iterator);
state = past-the-end;
references sequence with type `NSt7__debug3setIsSt4lessIsESaIsEEE' @
0x0x7fff96484bf0
}
I noticed this:
3740 ScMarkData::iterator itr = aMark.begin(), itrEnd =
aMark.end();
3741 for (; itr != itrEnd && *itr < nTabCount; ++itr)
3742 SetWidthOrHeight( sal_True, 1,nCols, *itr,
SC_SIZE_VISOPT, STD_EXTRA_WIDTH, false, sal_True);
3743 SetWidthOrHeight( false,1,nRows, *itr,
SC_SIZE_VISOPT, 0, false, false);
3744 rDocShell.PostPaint( 0,0,*itr, MAXCOL,MAXROW,*itr,
3745 PAINT_GRID | PAINT_LEFT | PAINT_TOP
);
Should the for loop include all the block (until line 3745) or something
should be done?
2) It could be linked too
cppcheck detected this:
[sc/source/core/tool/autoform.cxx:749] ->
[sc/source/core/tool/autoform.cxx:752]: (performance) Variable 'bRet' is
reassigned a value before the old one has been used.
[sc/source/core/tool/autoform.cxx:1019] ->
[sc/source/core/tool/autoform.cxx:1029]: (performance) Variable 'bRet' is
reassigned a value before the old one has been used.
[sc/source/core/tool/autoform.cxx:1082] ->
[sc/source/core/tool/autoform.cxx:1092]: (performance) Variable 'bRet' is
reassigned a value before the old one has been used.
[sc/source/core/tool/autoform.cxx:1107] ->
[sc/source/core/tool/autoform.cxx:1110]: (performance) Variable 'bRet' is
reassigned a value before the old one has been used.
In some of these cases, the result of a test is retrieved in bRet but unused
even if there's a problem.
Any idea?
Julien
--
View this message in context:
http://nabble.documentfoundation.org/Wrong-indentation-which-leads-to-segfault-in-sc-source-ui-docshell-docfunc-cxx-tp4026726.html
Sent from the Dev mailing list archive at Nabble.com.
Context
- Wrong indentation which leads to segfault in sc/source/ui/docshell/docfunc.cxx · julien2412
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.