Warning if upgrading to SmarterMail 13.2 - filestore.xml
Problem reported by Nathan Y - January 31, 2015 at 4:56 PM
Resolved
Just a quick 'heads up' to anyone thinking of upgrading to 13.2. We upgraded from 13.0 to 13.2 this evening and it broke our installation. After the upgrade errors were reported in the application log and a closer look showed 13.2 had created 0 byte filestore.xml files within the users 'FileStore' directory. At this point Smartermail was in essence dead, service was running but no POP/IMAP/SMTP or Webmail. To resolve I removed 13.2 and reverted back to 13.0 which allowed access via IMAP/POP but not webmail. The fix for webmail access was to copy a working filestore.xml (there is nothing user specific in it) over every 0 byte filestore.xml.
 
If you have to do this a quick tip for locating the filestore.xml files is from a command prompt switch to your 'domains' directory then run something like this:
 
dir filestore.xml /b /s > C:\filestore-locations.txt
 
You can then quickly modify the output using notepad (find & replace) to copy a working filestore.xml over your broken filestore.xml - this will actually overwrite all but it is a quick way of resolving the issue.
 
The experience somewhat tallies with the change log comments around FileStore changes in 13.2. 
 
Has anyone else encountered this? 
 
 
 

10 Replies

Reply to Thread
0
Robert Emmett Replied
Employee Post
Nathan Y, thank you for bringing the issue up. I have been able to replicate the issue, and it is being fixed.
Robert Emmett
Software Developer
SmarterTools Inc.
(877) 357-6278
www.smartertools.com
0
Robert Emmett Replied
Employee Post
Nathan, you can download the new custom build that fixes this issue here
Robert Emmett
Software Developer
SmarterTools Inc.
(877) 357-6278
www.smartertools.com
0
Nathan Y Replied
Thanks Robert for the quick fix.
0
Steve Reid Replied
I did not experience this when installing the latest version. Was it something specific that would make this problem happen?
0
Robert Emmett Replied
Employee Post
If a user's filestorage.xml file was corrupt or 0 bytes it would occur.
Robert Emmett
Software Developer
SmarterTools Inc.
(877) 357-6278
www.smartertools.com
0
Steve Reid Replied
He says the corruption happened because of the Upgrade.
0
Robert Emmett Replied
Employee Post
If the filestore.xml was existed but was 0 bytes, it would have caused the issue. If the filestore.xml did not exist it was trying to create / rebuild the filestore.xml and then fail and thus the 0 byte file was created but was not properly populated. EDIT: fixed filestore.xml typos
Robert Emmett
Software Developer
SmarterTools Inc.
(877) 357-6278
www.smartertools.com
0
Nathan Y Replied
The filestore.xml file did not exist in our scenario (for many, may be all users) and it was 13.2 that created the faulty 0 byte files. Interestingly Robert refers to the file as fileStorage.xml but it was filestore.xml that caused the problems - perhaps just a typo?
 
For the record, the filestore.xml that was copied over the 0 byte files / resolved the issue when reverting back to 13.0 contained this:
 
<?xml version="1.0" encoding="utf-8"?>
<FileStore>
  <RootFolder>
    <Folder>
      <Name>Root Folder</Name>
    </Folder>
  </RootFolder>
</FileStore>
 
I am not sure if this impacted us because we have been using Smartermail since around v6 and the file store features was added in a more recent version and perhaps missed from our users created before it was introduced?
0
Robert Emmett Replied
Employee Post
It was a typo on my part. In 13.1, we introduced a feature to rebuild a faulty/corrupt filestore.xml. This change effectively creates a filestore.xml for every user on all domains. There was an inadvertent code change in 13.2 to the way this file created that was the issue. It has been fixed as of the custom build linked above.
Robert Emmett
Software Developer
SmarterTools Inc.
(877) 357-6278
www.smartertools.com
0
CCWH Replied
Just to confirm, if we use the custom build as linked above, I am guessing that will not impact any further updates received?

Reply to Thread