[Libreoffice] limiting maximum sheet number to 10000 in 32 bit builds

Jean-Baptiste Faure jbf.faure at orange.fr
Fri Jan 6 01:54:47 PST 2012

Hi Markus,

Le 06/01/2012 00:49, Markus Mohrhard a écrit :
> Hey,
> I'm sorry but I have to correct one of our features from the release
> note page. After some discussion I need to limit the maximum amount of
> sheets in 32 bit builds to 10000 sheets. That should still be much
> more than most people will ever need but we had some adventurous users
> who tried to create 32000 sheets in 32 bit environments. Since we need
> really much memory for an empty sheet ( around 120-150KB in a 64bit
> build ) we got several reports of crashs because of a std::bad_alloc.
> There are still a lot of other ways to crash Calc with a
> std::bad_alloc but I hope that all other ways are better hidden and
> will only occur if the user tries to crash Calc. In theory we should
> work on catching std::bad_alloc but I recall that handling
> std::bad_alloc is often tricky.
> Any objections against limiting the number of sheets to 10000 for the
> 32 bit builds and perhaps for 64 bit builds too? I'm sorry for all the
> problems I created with this.

No problem for me, I think 10000 is still very high.
I suggest you consider differently the number of sheets created by
default for a new spreadsheet. If you set this number of sheets to a
very high value the creation of the empty document take very long time.
So the user will have a bad user experience.

I have tried to reproduce the crash on Linux 64 bits by setting the
option value to 30000 and the creation of a new speadsheet took several
minutes. No crash but 5 Go of RAM. I killed LibO instead of closing the
file. Problem: when creating another spreadsheet I had still the same
option. Knowing that you can't access Calc options without having a Calc
document opend, how do you kill this vicious circle? Ok, easy for an
experienced user: open a small existing Calc document and modify the
option. I am not sure whether a new user can find the solution easily.

My proposition:
1/ Maximum number of sheets : 10000
2/ Limit on the number of sheets created by default: 20

Best regards.
Seuls des formats ouverts peuvent assurer la pérennité de vos documents.

More information about the LibreOffice mailing list