Bug 80205

Summary: assertion in OUString::operator[], at ustring.hxx:421
Product: LibreOffice Reporter: Terrence Enger <lo_bugs>
Component: BaseAssignee: Not Assigned <libreoffice-bugs>
Status: VERIFIED FIXED    
Severity: normal CC: momonasmon
Priority: medium Keywords: haveBacktrace, regression
Version: 4.3.0.0.alpha0+ Master   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
Crash report or crash signature: Regression By:
Bug Depends on:    
Bug Blocks: 69036    
Attachments: terminal output
gdb on the core file, with backtrace with symbols

Description Terrence Enger 2014-06-18 23:22:10 UTC
STR

(1) Using a new user installation directory, run LibreOffice.  Program
    presents Start Center.

(2) Exit LibreOffice.

(3) Run LibreOffice with parameter --base.  Program presents Database
    Wizard Step 1 "Select Database".

(4) Select "Connect to an existing database", and in dropdown list
    select Spreadshhet; click <Next>.  Program presents Database
    Wizard Step 2 "Set up Spreadsheet connection".

(5) Click <Browse> to browse for existing file.  Program exits.  The
    last few messages in the terminal  are:

        warn:legacy.osl:4742:1:filter/source/config/cache/filtercache.cxx:1246: error	:The type "draw_ClarisWorks" points to an invalid filter "Claris_Works_Draw".
        error	:	The type "calc_ClarisWorks" points to an invalid filter "Claris_Works_Calc".
        Warning	:	The type "calc_Mac_Wingz" does not contain any URL pattern nor any extensions.

        warn:legacy.tools:4742:1:sfx2/source/dialog/filtergrouping.cxx:475: AppendWildcardToDescriptor::AppendWildcardToDescriptor: invalid wildcard!
        soffice.bin: /home/terry/lo_hacking/git/libo4/include/rtl/ustring.hxx:421: sal_Unicode rtl::OUString::operator[](sal_Int32) const: Assertion `index >= 0 && static_cast<sal_uInt32>(index) < static_cast<sal_uInt32>(getLength())' failed.
        Application Error


I see this with master commit 82e1456, fetched 2014-05-30, configured
as:

    --enable-option-checking=fatal
    --enable-dbgutil
    --enable-crashdump
    --without-system-postgresql
    --without-myspell-dicts
    --with-extra-buildid
    --without-doxygen
    --with-external-tar=/home/terry/lo_hacking/git/src

built and running on debian-wheezy 64-bit:

    $ uname -a
    Linux debian-wheezy 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u2 x86_64 GNU/Linux
    $ gcc --version
    gcc (Debian 4.7.2-5) 4.7.2
    Copyright (C) 2012 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    $ java -version
    java version "1.6.0_31"
    OpenJDK Runtime Environment (IcedTea6 1.13.3) (6b31-1.13.3-1~deb7u1)
    OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)
Comment 1 Terrence Enger 2014-06-18 23:27:12 UTC
Created attachment 101325 [details]
terminal output
Comment 2 Terrence Enger 2014-06-18 23:28:40 UTC
Created attachment 101326 [details]
gdb on the core file, with backtrace with symbols
Comment 3 Terrence Enger 2014-06-18 23:47:10 UTC
Note that the assertion is raised here in what is very much like
step (4) of bug 69036.  Hence, keyword "regression".
Comment 5 Terrence Enger 2014-06-21 12:55:04 UTC
Fix verified with commit dc795cb, fetched 2014-06-20 1642 UTC.