On Sat, 22 Feb 2003, Szakacsits Szabolcs wrote:
Somebody who can reproduce the problem (I couldn't) would please 'strace' drakfont and send the last 50-100 lines or put all output to some downloadable place to see where the NTFS driver hangs? You can try by starting drakfont like
strace -f -e trace=file drakfont
or after it's started but before importing Windows font, what makes the driver hang, attaching to drakfont like
strace -f -e trace=file -p <pid_of_drakfont>
Using strace helped me discover why I could copy the files manually, but drakfont couldn't. If I execute
cp /mnt/windows/c/WINDOWS/Fonts/*.ttf fonts
it works every time. If I execute
cp /mnt/windows/c/WINDOWS/fonts/*.ttf fonts
it works sometimes and hangs sometimes. If I execute
cp /mnt/windows/c/windows/fonts/*.ttf fonts
it hangs every time. The point at which it hangs varies from run to run.
Attached is the output from executing
strace -f -e trace=file cp /mnt/windows/c/windows/fonts/*.ttf fonts
on a Mandrake 9.0 system. The destination directory, 'fonts', is an empty directory on an ext3 partition (but I get the same results if the destination is on a FAT32 partition).
BTW, it would be much better if you could do an Alt+SysRq+t (press together) from the character console and could decode the output (should go also to /var/log/dmesg or /var/log/messages) with 'ksymoops'. The Magic SysRq Key's can be enabled as
echo 1 > /proc/sys/kernel/sysrq
This generated no output apart from the initial message
SysRq : Show State
Martin
[EMAIL PROTECTED] root]# strace -f -e trace=file cp /mnt/windows/c/windows/fonts/*.ttf
fonts
execve("/bin/cp", ["cp", "/mnt/windows/c/windows/fonts/arialbd.ttf",
"/mnt/windows/c/windows/fonts/arialbi.ttf", "/mnt/windows/c/windows/fonts/ariali.ttf",
"/mnt/windows/c/windows/fonts/arial.ttf", "/mnt/windows/c/windows/fonts/ariblk.ttf",
"/mnt/windows/c/windows/fonts/comicbd.ttf", "/mnt/windows/c/windows/fonts/comic.ttf",
"/mnt/windows/c/windows/fonts/courbd.ttf", "/mnt/windows/c/windows/fonts/courbi.ttf",
"/mnt/windows/c/windows/fonts/couri.ttf", "/mnt/windows/c/windows/fonts/cour.ttf",
"/mnt/windows/c/windows/fonts/estre.ttf", "/mnt/windows/c/windows/fonts/framdit.ttf",
"/mnt/windows/c/windows/fonts/framd.ttf", "/mnt/windows/c/windows/fonts/gautami.ttf",
"/mnt/windows/c/windows/fonts/georgiab.ttf",
"/mnt/windows/c/windows/fonts/georgiai.ttf",
"/mnt/windows/c/windows/fonts/georgia.ttf",
"/mnt/windows/c/windows/fonts/georgiaz.ttf",
"/mnt/windows/c/windows/fonts/impact.ttf", "/mnt/windows/c/windows/fonts/l_10646.ttf",
"/mnt/windows/c/windows/fonts/latha.ttf", "/mnt/windows/c/windows/fonts/lucon.ttf",
"/mnt/windows/c/windows/fonts/mangal.ttf", "/mnt/windows/c/windows/fonts/marlett.ttf",
"/mnt/windows/c/windows/fonts/micross.ttf", "/mnt/windows/c/windows/fonts/mvboli.ttf",
"/mnt/windows/c/windows/fonts/opens___.ttf",
"/mnt/windows/c/windows/fonts/palabi.ttf", "/mnt/windows/c/windows/fonts/palab.ttf",
"/mnt/windows/c/windows/fonts/palai.ttf", "/mnt/windows/c/windows/fonts/pala.ttf",
"/mnt/windows/c/windows/fonts/raavi.ttf", "/mnt/windows/c/windows/fonts/shruti.ttf",
"/mnt/windows/c/windows/fonts/sylfaen.ttf", "/mnt/windows/c/windows/fonts/symbol.ttf",
"/mnt/windows/c/windows/fonts/tahomabd.ttf",
"/mnt/windows/c/windows/fonts/tahoma.ttf", "/mnt/windows/c/windows/fonts/timesbd.ttf",
"/mnt/windows/c/windows/fonts/timesbi.ttf", "/mnt/windows/c/windows/fonts/timesi.ttf",
"/mnt/windows/c/windows/fonts/times.ttf", "/mnt/windows/c/windows/fonts/trebucbd.ttf",
"/mnt/windows/c/windows/fonts/trebucbi.ttf",
"/mnt/windows/c/windows/fonts/trebucit.ttf",
"/mnt/windows/c/windows/fonts/trebuc.ttf", "/mnt/windows/c/windows/fonts/tunga.ttf",
"/mnt/windows/c/windows/fonts/verdanab.ttf",
"/mnt/windows/c/windows/fonts/verdanai.ttf",
"/mnt/windows/c/windows/fonts/verdana.ttf",
"/mnt/windows/c/windows/fonts/verdanaz.ttf",
"/mnt/windows/c/windows/fonts/webdings.ttf",
"/mnt/windows/c/windows/fonts/wingding.ttf", "fonts"], [/* 64 vars */]) = 0
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=42695, ...}) = 0
open("/lib/i686/libc.so.6", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0755, st_size=1167240, ...}) = 0
open("/usr/share/locale/locale.alias", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2601, ...}) = 0
open("/usr/share/locale/en_GB/LC_IDENTIFICATION", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=361, ...}) = 0
open("/usr/share/locale/en_GB/LC_MEASUREMENT", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=28, ...}) = 0
open("/usr/share/locale/en_GB/LC_TELEPHONE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=61, ...}) = 0
open("/usr/share/locale/en_GB/LC_ADDRESS", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=132, ...}) = 0
open("/usr/share/locale/en_GB/LC_NAME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=67, ...}) = 0
open("/usr/share/locale/en_GB/LC_PAPER", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=39, ...}) = 0
open("/usr/share/locale/en_GB/LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
open("/usr/share/locale/en_GB/LC_MESSAGES/SYS_LC_MESSAGES", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=57, ...}) = 0
open("/usr/share/locale/en_GB/LC_MONETARY", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=291, ...}) = 0
open("/usr/share/locale/en_GB/LC_COLLATE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=21499, ...}) = 0
open("/usr/share/locale/en_GB/LC_TIME", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=2380, ...}) = 0
open("/usr/share/locale/en_GB/LC_NUMERIC", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0
open("/usr/share/locale/en_GB/LC_CTYPE", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=173408, ...}) = 0
lstat64("fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("fonts", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/arialbd.ttf", {st_mode=S_IFREG|0555,
st_size=288496, ...}) = 0
stat64("fonts/arialbd.ttf", 0xbfffe940) = -1 ENOENT (No such file or directory)
open("/mnt/windows/c/windows/fonts/arialbd.ttf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0555, st_size=288496, ...}) = 0
open("fonts/arialbd.ttf", O_WRONLY|O_CREAT|O_LARGEFILE, 0100555) = 4
fstat64(4, {st_mode=S_IFREG|0555, st_size=0, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=288496, ...}) = 0
lstat64("fonts/arialbd.ttf", {st_mode=S_IFREG|0555, st_size=288496, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/arialbi.ttf", {st_mode=S_IFREG|0555,
st_size=226748, ...}) = 0
stat64("fonts/arialbi.ttf", 0xbfffe910) = -1 ENOENT (No such file or directory)
open("/mnt/windows/c/windows/fonts/arialbi.ttf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0555, st_size=226748, ...}) = 0
open("fonts/arialbi.ttf", O_WRONLY|O_CREAT|O_LARGEFILE, 0100555) = 4
fstat64(4, {st_mode=S_IFREG|0555, st_size=0, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=226748, ...}) = 0
lstat64("fonts/arialbi.ttf", {st_mode=S_IFREG|0555, st_size=226748, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/ariali.ttf", {st_mode=S_IFREG|0555,
st_size=207808, ...}) = 0
stat64("fonts/ariali.ttf", 0xbfffe8e0) = -1 ENOENT (No such file or directory)
open("/mnt/windows/c/windows/fonts/ariali.ttf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0555, st_size=207808, ...}) = 0
open("fonts/ariali.ttf", O_WRONLY|O_CREAT|O_LARGEFILE, 0100555) = 4
fstat64(4, {st_mode=S_IFREG|0555, st_size=0, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=207808, ...}) = 0
lstat64("fonts/ariali.ttf", {st_mode=S_IFREG|0555, st_size=207808, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/arial.ttf", {st_mode=S_IFREG|0555,
st_size=311636, ...}) = 0
stat64("fonts/arial.ttf", 0xbfffe8b0) = -1 ENOENT (No such file or directory)
open("/mnt/windows/c/windows/fonts/arial.ttf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0555, st_size=311636, ...}) = 0
open("fonts/arial.ttf", O_WRONLY|O_CREAT|O_LARGEFILE, 0100555) = 4
fstat64(4, {st_mode=S_IFREG|0555, st_size=0, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=311636, ...}) = 0
lstat64("fonts/arial.ttf", {st_mode=S_IFREG|0555, st_size=311636, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/ariblk.ttf", {st_mode=S_IFREG|0555,
st_size=117028, ...}) = 0
stat64("fonts/ariblk.ttf", 0xbfffe880) = -1 ENOENT (No such file or directory)
open("/mnt/windows/c/windows/fonts/ariblk.ttf", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0555, st_size=117028, ...}) = 0
open("fonts/ariblk.ttf", O_WRONLY|O_CREAT|O_LARGEFILE, 0100555) = 4
fstat64(4, {st_mode=S_IFREG|0555, st_size=0, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0555, st_size=117028, ...}) = 0
lstat64("fonts/ariblk.ttf", {st_mode=S_IFREG|0555, st_size=117028, ...}) = 0
stat64("/mnt/windows/c/windows/fonts/comicbd.ttf", 