Strange NFS+GD problem with kernel 2.6.24-16-server (on Hardy)

From: Adam Olsen
Date: Thu May 15 2008 - 09:57:46 EST


Hello,

I'm having an issue with perl and libgd reading TrueType fonts over an
NFS mount.

The NFS server is an Isilon cluster (I believe they are based on FreeBSD 6.1?)
The client is a machine that's just been updated to Hardy.
* Kernel 2.6.24-16-server
* libgd-gd2-perl 2.35-1
* libgd2-xpm 2.0.35

The issue is this: using libgd via a perl script, I try writing text
to an image in a font, specified by a file name (the font is located
on the remote NFS server). The script says that it cannot locate the
font. The client machine does not have any other known problems with
the NFS share, it can read and write other files just fine. We have
several other machines that are reading this same share, though they
are running kernel 2.6.24 from Gutsy (I confirmed that a downgrade to
2.6.24 on Hardy resolves the issue).

Here is a link to a script that can duplicate the problem 100% of the
time: http://soc.ath.cx/testfont.pl.txt

An strace using the kernel that doesn't work looks like this:

access("/mnt/isilon/fonts/arial.ttf", R_OK) = 0
open("/mnt/isilon/fonts/arial.ttf", O_RDONLY) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0666, st_size=48784, ...}) = 0
close(3) = 0

And the strace on the system that *does* work looks like this:

access("/mnt/isilon/fonts/arial.ttf", R_OK) = 0
open("/mnt/isilon/fonts/arial.ttf", O_RDONLY) = 3
fcntl64(3, F_SETFD, FD_CLOEXEC) = 0
fstat64(3, {st_mode=S_IFREG|0666, st_size=48784, ...}) = 0
mmap2(NULL, 48784, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb79cd000
close(3) = 0

Everything looks the same except the missing "mmap2" section. Again,
a note, this same machine *can* access other shares and read fonts
just fine. It appears to just be the connection to the Isilon
machine. Everything worked before the upgrade, and a downgrade to
2.6.24 works. Any information would be helpful.

--
Adam Olsen
SendOutCards.com
http://www.vimtips.org
http://last.fm/user/synic
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/