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.
_______________________________________________
use-livecode mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode