On Oct 8, 2010, at 12:00 , Henning Hraban Ramm wrote:
Am 2010-10-08 um 11:25 schrieb Florian Wobbe:
This output looks quite messy because it is composed of the mixed output for five processes. I don't suspect the fault in luatex executable itself, however, mtxrun calls uname -m in a subshell and my guess is that it hangs there. Have you tried calling uname alone from your script?
As I told Taco and Luigi off-list:
Simply calling uname works as well as calling it in a shell script as well as calling another Python script that calls uname.
Next you could do strace -ff -o ctxtrace mtxrun --script context --batchmode --once hello
Ok, here we are: 14203 ? Sl 0:01 | \_ /var/www/xxx/bin/python /var/www/.../manage.py runfcgi method=threaded ... 14255 ? S 0:00 | \_ strace -ff -o ctxtrace mtxrun --script context --batchmode --once hello 14256 ? R 0:06 | \_ texlua /var/opt/context/tex/texmf-linux-64/bin/mtxrun --script context --batchmode --once hello
This gives you hopefully four ctxtrace.<pid> files.
I got only one for 14256
Right, so you are not even getting to the point where luatex is called. This is still texlua executing instructions from mtxrun.
Then do (for each pid) strace -p <pid> before killing luatex and see where it hangs. Interrupt and kill your luatex and have a look at the ctxtrace.* files.
strace -p 14256 attach: ptrace(PTRACE_ATTACH, ...): Operation not permitted (as the same user as well as as root)
Something to do with SElinux?
[...] read(3, "his script\n-- ... later we will u"..., 4096) = 4096 read(3, "xecute\") then\n\n -- execute scr"..., 4096) = 4096 read(3, "guments_after)\n resolvers.dowi"..., 4096) = 2858 read(3, ""..., 4096) = 0 close(3) = 0 munmap(0x2acfe2776000, 4096) = 0 brk(0x1c37a000) = 0x1c37a000 brk(0x1c39d000) = 0x1c39d000 brk(0x1c3c0000) = 0x1c3c0000
Here, uname -m should be called. But I guess you still have all unames replaced by their return value I guess?
brk(0x1c3e1000) = 0x1c3e1000 uname({sys="Linux", node="aine.fiee.net", ...}) = 0 --- SIGTERM (Terminated) @ 0 (0) --- +++ killed by SIGTERM +++
Here it should continue with reading texmfcnf.lua. The last uname({sys="Linux", node="aine.fiee.net", ... you get is from the os.uname call I would guess. Try putting the lines for k, v in next, os.uname() do print(k, v) end in a file and run it with texlua from the script to be sure. Then you might also try to invoke luatex directly: luatex --interaction=batchmode --fmt="<path to>/formats/cont-en" --lua="<path to>/formats/cont-en.lui" --backend=pdf hello Florian