Bug 94125

Summary: Assertion failed in function wizard
Product: LibreOffice Reporter: Oliver Specht (CIB) <oliver.specht>
Component: CalcAssignee: Not Assigned <libreoffice-bugs>
Status: RESOLVED WORKSFORME    
Severity: normal CC: serval2412
Priority: medium    
Version: 5.1.0.0.alpha0+ Master   
Hardware: Other   
OS: All   
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 105582    

Description Oliver Specht (CIB) 2015-09-11 08:59:12 UTC
In a debug build:
- create a spreadsheet
- start the function wizard
- click 'Next'
- insert a character into the 'Number' text field
- insert a double quote _before_ that character
->assertion from rtl_uString_newFromSubString()


sal3.dll!rtl_uString_newFromSubString(_rtl_uString * * ppThis, const _rtl_uString * pFrom, long beginIndex, long count) Line 1398	C++
foruilo.dll!rtl::OUString::copy(long beginIndex, long count) Line 1721	C++
foruilo.dll!formula::FormulaDlg_Impl::EditThisFunc(long nFStart) Line 1168	C++
foruilo.dll!formula::FormulaDlg_Impl::MakeTree(formula::IStructHelper * _pTree, SvTreeListEntry * pParent, formula::FormulaToken * _pToken, long Count) Line 720	C++
foruilo.dll!formula::FormulaDlg_Impl::fillTree(formula::IStructHelper * _pTree) Line 779	C++
foruilo.dll!formula::FormulaDlg_Impl::CalcStruct(const rtl::OUString & rStrExp) Line 647	C++
Comment 1 Julien Nabet 2015-09-12 07:16:55 UTC
On pc Debian x86-64 with master sources updated today, I could reproduce this.

Here are params:
#4  0x00002aaaaad11d0a in rtl_uString_newFromSubString(rtl_uString**, rtl_uString const*, sal_Int32, sal_Int32) (ppThis=0x7fffffff2880, pFrom=0x3693170, beginIndex=1, count=8) at /home/julien/compile-libreoffice/libreoffice/sal/rtl/strtmpl.cxx:1398
#5  0x00002aaad8e1275a in rtl::OUString::copy(int, int) const (this=0x7fffffff28d0, beginIndex=1, count=8)
    at /home/julien/compile-libreoffice/libreoffice/include/rtl/ustring.hxx:1721
#6  0x00002aaad8e0d373 in formula::FormulaDlg_Impl::EditThisFunc(int) (this=0x3946850, nFStart=0)
    at /home/julien/compile-libreoffice/libreoffice/formula/source/ui/dlg/formula.cxx:1168

Some gdb session:
(gdb) p PrivStart
$17 = 1
(gdb) p PrivEnd
$18 = 9
(gdb) p aFormula
$19 = "=ABS(\"a)"
So double quotes escaped counts for 2 not 1.
Comment 2 QA Administrators 2016-09-20 10:32:48 UTC Comment hidden (obsolete)
Comment 3 Julien Nabet 2017-02-23 21:25:52 UTC
On pc Debian x86-64 with master sources updated yesterday or with LO Debian package 5.2.5, I don't reproduce this anymore.
Let's put this one to WFM.

Oliver: don't hesitate to reopen this tracker if you still reproduce this.