Application Testing: Zero Free Space

No Comments

I should clarify from the beginning that this is not a technical article containing any kind of debugging information – I don’t have the knowledge anyway – or any other type of proof that indicates that some commonly used applications have bugs. This is just about some observations, or better an unofficial user report, of “what went wrong when I ran out of free space“.

I had written a script which recorded information to a log file the other day. I had forgotten to turn it off and the result was that my home directory became full of data, leaving zero free space. This came at a moment while I was using firefox (v2.0.0.1) and gftp (v2.0.18) on a GNOME (v2.16.3) Fedora 6 desktop. Of course, as soon as I realised that my home was full of data, I deleted that huge log file. In the next moments, I noticed that the things I outline below had gone wrong during this incident. I have not tried to reproduce these errors, so I haven’t filed any bugs. Feel free to do so, if you are able to reproduce them.

First, I do not remember being warned about running out of free space. GNOME is supposed to do this, but, in my case, either it did not raise that warning message or I was too focused on my work so I didn’t notice it. I’d bet that the latter is what actually happened.

Second, I have setup several profiles in firefox and I have adjusted its launcher in the GNOME menu to start the profile manager each time I want to use the browser. Firefox keeps the profile information in the ~/.mozilla/firefox/profiles.ini file. Under the “no free space” conditions, something had caused the file to be re-created as a zero-size file, losing all of my profile information. Fortunately, this was the only file that was affected. My profile directories were in tact, so it was rather easy to recover from this situation by setting my profiles again with the profile manager.

The third observation has to do with the FTP client, gftp. As I have mentioned earlier I was also working with this client when I run out of free space. It is strange to me how some things happen sometimes, but at that moment I was adding some ftp sites to the gftp bookmarks. Well, it seems that if you happen to save your bookmarks or settings in gftp while there is no free space in the partition that holds gftp’s config files, you are LOST! All the files in ~/.gftp/ are replaced with zero-size files and all your settings and bookmarks are lost, unless you have a recent backup of them. Well, I didn’t have one and that’s why I was angry (against myself). This was fixed – but not my bookmarks :-( – by completely removing the ~/.gftp/ directory and getting it recreated when launching gftp.

After this incident, I kept wondering if there were more configuration files in my user account’s home that were affected. I guess it is impossible to know in advance. Time will show.

An application which acted absolutely professionally and actually was the one that made me realize that there was something wrong with the free space is Evolution. It displayed proper warning messages about not being able to write the newly fetched email and news messages to the disk and, generally, the problematic situation had absolutely no effect on it. I take my hat off to Evolution (v2.8.3).

This incident made me think if software developers ever test how their software would behave if there is no free space available, especially if its usage involves reading/writing/appending from/to files. I would bet that other programs might have problems under such conditions too, but I guess these situations are rare. On the other hand, if it happens and the software is not designed to work well, then your personal data could be at risk. At this point, I am rather happy I was not running my password manager at that critical period of time! ;-)

Anyway, as I have already written earlier, I blame noone. Unfortunately, I do not have the required free time or will to reproduce those errors in a test environment, but I guess I will do this at some later time. All the above might just be wrong conclusions and something else might was the cause of the problem. I really do not know, but I felt like writing about that experience.

Application Testing: Zero Free Space by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2007 - Some Rights Reserved

George Notaras avatar

About George Notaras

George Notaras is the editor of the G-Loaded Journal, a technical blog about Free and Open-Source Software. George, among other things, is an enthusiast self-taught GNU/Linux system administrator. He has created this web site to share the IT knowledge and experience he has gained over the years with other people. George primarily uses CentOS and Fedora. He has also developed some open-source software projects in his spare time.