Base - file size randomly increases dramatically

Hi,

I’m working on a very simple database (embedded database, 2 tables, 1 relationship, 2 forms) with a file size of about 40k. At random moments this filesize would suddenly increase to sometimes a few hundred k, but mostly 1M or 1.2M. This happens many, many times a day, but I haven’t been able to reproduce it. It doesn’t crash the application (even though I have many crashes as well). It can happen when editing a table, editing a form, changing the properties of a control, running code. Often, but not always, it involves code with errors, like referencing an object that hasn’t been declared (though like I said, I can’t reproduce it).

It doesn’t affect any of the visible features of the database (the data, the tables, the forms,…). It also doesn’t affect the functionality of the database, everything keeps working as before.

I’m assuming it has to do with Base encountering an error, making a dump, and then keeping the dump inside. But the (unrelated) dumps I find in /home/myusername/.config/libreoffice/4/crash/ are all about 600k, so that doesn’t really explain the resulting file sizes of 200, 300, 800, 1000 and 1200 k.

Does this sound familiar? Is there a way to find out what this extra file size is used for? Should this be reported as a bug, and if so, how do I do that?

Using LO 6.2.8.2 on Linux Mint 18.3

tnx

What is it you are looking at for file size? The size of a file will not change until it is actually saved. Your question states this size can change while changing/editing/running code.

In general, typical database engines have a slightly different behavior from typical document centered engines (for creating text documents, spreadsheet etc.) With a new file, other applications suggest saving before closing, but Base requires that you save first. You can’t begin working with your database until the file is saved.

A database uses space for several kinds of data:

  • Your stored objects (tables filled with information)
  • Indices
  • Log files
  • Scripts
  • Result generated from scripts.

Some of this is temporary data while other parts will be persistent. As a part of DB engine work, space is also reserved in advance. Not sure about specific behavior for “embedded” DB engines in Base, but typically data ranges (including empty/reserved space) will be written to disk “as required” without specific save actions. Also not sure whether temp. data will be written into your file or external files.

Does this explain the seemingly random behavior?

@Ratslinger: I’m looking at file size as indicated in my file manager. I might notice the changes in file size both after manually saving the database, or after crashes. eg File size is 40k > i run a script that refers to a non-existing property (eg numericalbox.text instead of numericalbox.value) > Base displays an error message > i save the file > file size is now 1M. Or, file size is 40k > I move a button to a different location > Base crashes > file size is now 1M.

But like I said, even though this happens very often, I can’t make it happen, I can’t recreate the issue on purpose.

@keme: I’m puzzled. “A database uses space for […] log files […] results generated from scripts.” You mean scripts writing massive data to tables? I don’t have those. And anyway, 40 records test data only increase file size with 2 k, so data doesn’t account for a jump from 40k to 1M. Also unsure about log files. I would expect those in a separate file outside the database. I can’t find logs inside the database.
I understand databases reserve space for future needs or for indexes, but I would expect this behaviour to be consistent. But…

eg1: file size 40k > I move a button > Base crashes > file size now 1M > I open the last backup > i move the same button to the same new location > no crash > save file > file size still 40k.
eg2: file size 40k > I try writing text to numerical field > error message (no crash) > save file > file size now 1M. > I open last backup > again try writing text to numerical field > error message > save file > file size still 40k.

@keme: btw, because base crashes so often, i save my file manually 2-3 times per minute and cron makes a copy every minute. So backups are recent.

@stabiloboss,

Have asked this before in another question but never got an answer. Where did you obtain you version from. Also mentioned before, PPA version is best for your system. It would appear that until you eliminate the erratic crashing of LO (not seen by myself on similar systems) you will continue to have a variety of problems as indicated in your question. Have already commented on the user profile and you have stated this did not help.

Also, have you tried creating a new Base file? If so do you still have the same problems?

Wish I had a better answer but would need to examine your entire system to diagnose.

@Ratslinger, sorry you missed my answer here (base frequent random crashes delete all tables, cannot be recovered despite autosave). My LO 5 came with Linux MInt 18.3, my version 6 was downloaded from the LO website.
OK, I’ll try versions from different sources (PPA first). tnx!

@stabiloboss,

Was looking at different question/answer. Sorry for confusion. Getting few notifications on this site (bug in system) including none on your last few comments here. Need to keep searching posts to see if anything new is posted.

Don’t believe PPA vs Main site download will be of any help. I just tend to stay away from distro versions completely.