Status/Resolution/Reason: Closed/Won't Fix/
Reporter/Name(from Bugbase): Tom Chiverton / Tom Chiverton (Tom Chiverton)
Created: 10/24/2014
Components: Core Runtime
Versions: 11.0
Failure Type: Crash
Found In Build/Fixed In Build: CF11_Final /
Priority/Frequency: Normal / Some users will encounter
Locale/System: ALL / Linux All
Vote Count: 3
Problem Description:
When the disk containing the CF install root has no disk space, CF still attempts to rewrite various neo*xml files, creating empty or partial versions, which will break CF on restart.
This includes files that should never change during normal use such as neo-drivers.xml
Steps to Reproduce:
Start CF
Fill the disk
Stop CF
Empty disk
Start CF
Actual Result:
CF fails to start with XML parse errors
Expected Result:
CF should
* buffer the files to memory before writing in a single atomic operation, rather than streaming them out and risking creating partials.
* not write new versions of files like neo-drivers or neo-datasource unless something in the admin alters them.
* recover from parse errors on startup e.g. start the DataSource service with no datasources, rather than not starting that part of CF at all. At least the end user can recreate them in the CFIDE vs. having to dive into the guts of CF.
Any Workarounds:
If you are lucky, the auto created .bak versions will be OK. More often than not they are broken too.
Every Linux CF install I have ever seen has had this issue at some point. It's not always because the disk filled up, though that's the easiest way to trigger it. Sometimes the files just get corrupted during shutdown, again, because they are being rewritten even if nothing changed.
The fact that there are still .bak files created by CF in CF11 means this long standing issue (at least since CF9) has been sticky plastered over rather than correctly fixed. Let's take a proper look at this.
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3842800
Deployment Phase: Pre-Alpha
External Customer Info:
External Company:
External Customer Name: ChivertonT
External Customer Email:
External Test Config: CentOS and Ubuntu as well as RHEL
Attachments:
Comments: