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