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


Hello,

I'm trying to open a quite big xls file (sorry, I'm allowed to publish it).
Here are the 4 types of error in logs :
Error: SolarMutex not locked From File
/home/maryline/compile-libreoffice/libo/vcl/source/app/dbggui.cxx at Line
1978
This one is famous, I don't know if someone's working on it but I'll forget
it for the moment.

Error: UniString::SearchAndReplaceAllAscii() - pAsciiStr include characters
127 From File
/home/maryline/compile-libreoffice/libo/tools/source/string/strascii.cxx at
Line 628
After some research to confirm first thought, some characters in the file
have an ascii code > 127 and LO doesn't like. Ok why not.

Error: UniString::SearchAscii() - pAsciiStr include characters > 127 From
File
/home/maryline/compile-libreoffice/libo/tools/source/string/strascii.cxx at
Line 566
not same line in the file but same error as above

Error: XclImpOutlineBuffer::MakeScOutline: unexpected level! From File
/home/maryline/compile-libreoffice/libo/sc/source/filter/excel/exctools.cxx
at Line 148
Here we are, let's extract some extra lines to have the context (all these
lines are in a loop) :
    139         sal_uInt8 nLevel = itr->second;
    140         sal_uInt8 nCurLevel =
static_cast<sal_uInt8>(aOutlineStack.size());
    141         if (nLevel > nCurLevel)
    142         {
    143             for (sal_uInt8 i = 0; i < nLevel - nCurLevel; ++i)
    144                 aOutlineStack.push_back(nPos);
    145         }
    146         else
    147         {
    148             OSL_ENSURE(nLevel < nCurLevel,
"XclImpOutlineBuffer::MakeScOutline: unexpected level!");

Ok, let's say nLevel = 4 and nCurLevel = 3 at the beginning (I don't know if
it's possible but since this case is taken into account and there's no
runtime exception or something if it's not the case...)
So we go in the if part.
then enter in the for part and we loop once only.
and so aOutlineStack grows of 1
so we loop again on the big loop.
Now nLevel = 4 and nCurLevel = 4
now we go in else part, OSL_ENSURE fails.

Since it's quite late here, perhaps I misunderstood or missed something.
I don't know how it has to work but it seems there something wrong here no ?

Julien

--
View this message in context: 
http://nabble.documentfoundation.org/Bug-in-XclImpOutlineBuffer-MakeScOutline-tp3337397p3337397.html
Sent from the Dev mailing list archive at Nabble.com.

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.