[Dev-luatex] problem with os.spawn+os.execute on win32

Manuel Pégourié-Gonnard mpg at elzevir.fr
Tue Sep 2 02:19:33 CEST 2008


Hi Taco, hi Hans, hi everyone,

With LuaTeX 0.25.4 from the TeX Live distribution, I get a strange
behaviour when, in a texlua script, I call another texlua script which
in turn calls a program, depending on the sequence os.spawn and/or
os.execute I use.

Example, assuming acrord32 is in the PATH and presentation.pdf exists:

% wrapper.tlu
kpse.set_program_name("texlua")
os.spawn('texlua d:/mpg/program.tlu') -- or...
-- os.execute('texlua d:/mpg/program.tlu)

% program.tlu
os.execute ('acrord32 "d:\\mpg\\presentation.pdf"') -- or...
-- os.spawn ('acrord32 "d:\\mpg\\presentation.pdf"')

Now if I run 'texlua wrapper.tlu' from a command line, when Adobe Reader
9 starts, it immediatly crashes showing an error box "internal error".

The problem disappears under one of the following conditions:
1. Change os.spawn to os.execute in wrapper.tlu and/or os.execute to
os.spawn in program.tlu.
2. Do the same on linux (with trivial path adaptations).
3. Use something else than Adobe Reader (or Adobe Acrobat) 8 or 9.
4. Comment the call to kpse.set_program_name().

I tend to believe that 3 and 4 a rather anecdotic, and though in theory
the problem could come from kpse or AR, it may actually be more related
to os.spawn. A quick look at loslibext.c let me think that os.spawn is
indeed rather tricky on windows (and at least more than on *nix).

So, what do you think? Is it a bug or I am doing something wrong?

Thanks,
Manuel.



More information about the dev-luatex mailing list