XFS: RevServer, web hosts, and you
Richmond
richmondmathewson at gmail.com
Tue Jan 22 15:41:07 EST 2013
On 01/22/2013 10:32 PM, Phil Davis wrote:
> Great sleuthing, Richard! Thanks for sharing what you learned.
>
> Phil
>
>
> On 1/22/13 11:33 AM, Richard Gaskin wrote:
>> I recently had occasion to learn a bit more about file systems than I
>> had intended, and will share what I've learned here because it may
>> affect some RevServer or Rev CGI installations on third-party hosts:
>>
>>
>> PROBLEM: Some file I/O operations fail under XFS
>> ------------------------------------------------
>> Dreamhost and some other web hosting companies have begun rolling out
>> new servers which use the XFS file system.
>>
>> XFS is said to have better performance than EXT3 and even EXT4 used
>> on most Linux systems, but apparently this comes with a risk of
>> compatibility issues.
>>
>> With LiveCode I've found two specific issues, though there may be
>> others:
>>
>> 1. put url ("file:PathToLocalFile")
>> This fails, with sysError reporting 75. Oddly, using
>> "open..."/"read..."/"close..." works fine.
>>
>> 2. put the files
>> This also fails, always returning empty even when you know there are
>> files there.
>>
>> While researching this I found some comments in the RealBASIC list
>> archives suggesting that the RB engine also has problems with the XFS
>> file system, so this is not solely a LiveCode issue.
>>
>> In fact, it seems there may be a few other programs that have also
>> experienced problems with XFS.
>>
>>
>> DIAGNOSIS
>> ---------
>> You can determine which file system your host is using by logging
>> into the system via SSH and running this command:
>>
>> df -T
>>
>> This will produce a columnar output which lists the various volumes
>> and their file systems available to your account. Note the second
>> column on the line for /home (often the last line of the output).
>> It's usually either EXT3, EXT4, or XFS.
>>
>> If it's XFS you may want to try a quick script to verify that your
>> system is having the same limitations I had, either attempting to get
>> a list of files using "the files" or reading a local file using "put
>> url...".
>>
>>
>>
>> REMEDY: Short-term
>> ------------------
>> If your system is using XFS, the quickest short-term solution is to
>> ask your web hosting company to move your account to a system that is
>> both 32-bit compatible and also uses either EXT3 or EXT4.
>>
>> With Dreamhost, it took a little back-and-forth via email, but as
>> with the RealBASIC user I'd come across they eventually offered to
>> move my accounts to a compatible system.
>>
>> Hopefully your web host will be able to do the same.
>>
>>
>>
>> REMEDY: Long-term
>> -----------------
>> With the apparent growing popularity of XFS on web servers, clearly
>> any long-term solution will require a version of the LiveCode engine
>> which is compatible with XFS.
>>
>> I've been using my Dev Program "Quick Incident" benefits to enlist
>> the assistance of David Williams at RunRev, who's been enormously
>> helpful in going through the code to try to pinpoint the underlying
>> cause.
>>
>> His diagnosis is still ongoing at the moment, and as I learn more
>> I'll report back.
>>
>> If we're lucky we'll find that there are alternative API calls that
>> RunRev could use for XFS which will take care of this. If so, we can
>> then expect a future version of LiveCode to be compatible with XFS.
>>
>> We may also find that the issue may be a bug in the driver or other
>> component in the system, in which case we'll have to monitor progress
>> on that and see how it goes.
>>
>>
>> Hopefully one way or another we'll have a good long-term solution in
>> place soon.
>>
>> The RunRev team is putting in an admirable effort toward this, and in
>> the meantime if you experience file I/O issues on your web server and
>> can verify that your host is using XFS, you may want to contact your
>> hosting company to see if they can move your account to a machine
>> using a different file system.
>>
>> --
>> Richard Gaskin
>> Fourth World
>> LiveCode training and consulting: http://www.fourthworld.com
>> Webzine for LiveCode developers: http://www.LiveCodeJournal.com
>> Follow me on Twitter: http://twitter.com/FourthWorldSys
>>
>> __
Here's my 2 leva worth:
Recently installed an Ubuntu distro on a Pentium IV using Ext4 and had
the system lock-up irretrievably on me:
being a sucker for punishment, I reinstalled 3 times and got the same
result every time:
eventually reinstalled using Ext3 and after 3 months have had not a
whisper of a problem.
So I am steering well clear of Ext4.
[Word of warning: unscientific prejudice]
Richmond.
More information about the use-livecode
mailing list