Bug#915661: context: upgrade of context hangs on "Pregenerating ConTeXt MarkIV format."
Hi Norbert,
On 2018-12-06 09:19:27 +0900, Norbert Preining wrote:
> tags 915661 + unreproducible moreinfo
> thanks
>
> Hi Vincent,
>
> thanks for your message, very interesting.
>
> On Wed, 05 Dec 2018, Vincent Lefevre wrote:
> > root 9619 9618 0 17:36 pts/4 00:00:00 luatex --ini --lua=/usr/share/texmf/tex/context/base/mkiv/luat-cod.lua /usr/share/texmf/tex/context/base/mkiv/cont-en.mkiv dump
> >
> > which started 20 minutes ago and has no activity according to
> > "strace -p 9619".
>
> I don't think that the strace on 9619 is useful, I guess there are other
> processes started that luatex is waiting for.
No, that was the leaf of the (here, linear) ps tree.
Since I can reproduce the problem with texlive-binaries
2018.20181104.49075-1 (this is what I had when I did the
upgrade) and using "apt install --reinstall context":
ypig:~> tps :r21384
root 21384 apt install --reinstall context
root └─> 21465 dpkg --status-fd 61 --configure --pending
root └─> 21545 sh context.postinst configure 2018.04.04.20181118-1
root └─> 21553 sh luatools --make cont-en
root └─> 21554 texlua mtxrun --script base --make cont-en
root └─> 21557 sh -c luatex --ini --lua=/usr/share/texmf/tex/context/base/mkiv/luat-cod.lua cont-en.mkiv \dump
root └─> 21558 luatex --ini --lua=/usr/share/texmf/tex/context/base/mkiv/luat-cod.lua cont-en.mkiv dump
> Most probably it is the font caching that is done by context.
>
> So if you have loads of big fonts or maybe strange fonts, then this
> might create problems.
>
> Can please look into what other depending processes are running?
> I found
> px 9619
> (or the PID of the luatex process on the next run) which uses px from
> the px package a very useful tool ;-)
------------------------------------------------------------------------
ypig:/home/vlefevre# px 21558
luatex
--ini
--lua=/usr/share/texmf/tex/context/base/mkiv/luat-cod.lua
/usr/share/texmf/tex/context/base/mkiv/cont-en.mkiv
dump
kernel(0) root
init(1) root
sshd(2786) root
sshd:(22260) root
sshd:(22274) vlefevre
-zsh(22275) vlefevre
su(11172) root
bash(11173) root
apt(21384) root
dpkg(21465) root
context.postinst(21545) root
luatools(21553) root
texlua(21554) root
sh(21557) root
--------------------------> luatex(21558) root
2m22s ago luatex was started, at 2018-12-06T02:11:46+01:00.
Other processes started close to luatex(21558):
dpkg(21465) was started 4.0s before luatex(21558)
context.postinst(21545) was started 3.0s before luatex(21558)
luatools(21553) was started just before luatex(21558)
sh(21557) was started just before luatex(21558)
texlua(21554) was started just before luatex(21558)
Users logged in when luatex(21558) started:
vlefevre from 140.77.51.8
2018-12-06T02:14:08.869324: Now invoking lsof, this can take over a minute on a big system...
2018-12-06T02:14:09.275548: lsof done, proceeding.
File descriptors:
stdin : [CHR] /dev/pts/2
stdout: /tmp/luatools.cEMlPzbw
stderr: /tmp/luatools.cEMlPzbw
Network connections:
Inter Process Communication:
For a list of all open files, do "sudo lsof -p 21558", or "sudo watch lsof -p 21558" for a live view.
------------------------------------------------------------------------
and /tmp/luatools.cEMlPzbw contains:
resolvers | formats | using format path '/var/lib/texmf/luatex-cache/context/b47c3d3cee7cb6c86268d0595268c442/formats/luatex'
resolvers | resolving | using given filetype 'tex'
resolvers | methods | resolving, method 'concatinators', how 'tag', tag 'file'
resolvers | methods | resolving, method 'concatinators', how 'tag', tag 'file'
resolvers | resolving | remembering file 'cont-en.mkiv' using hash 'tex::cont-en.mkiv'
resolvers | formats | using tex source file '/usr/share/texmf/tex/context/base/mkiv/cont-en.mkiv'
resolvers | resolving | checking qualified name '/usr/share/texmf/tex/context/base/mkiv/cont-en.lus'
resolvers | resolving | using given filetype 'tex'
resolvers | resolving | remembering file '/usr/share/texmf/tex/context/base/mkiv/cont-en.lus' using hash 'tex::/usr/share/texmf/tex/context/base/mkiv/cont-en.lus'
resolvers | resolving | remembering file '/usr/share/texmf/tex/context/base/mkiv/context.lus' using hash 'tex::/usr/share/texmf/tex/context/base/mkiv/context.lus'
resolvers | formats | executing runner 'make luatex format': luatex --ini --lua=/usr/share/texmf/tex/context/base/mkiv/luat-cod.lua /usr/share/texmf/tex/context/base/mkiv/cont-en.mkiv \dump
error in callback: /usr/share/texmf/tex/context/base/mkiv/luat-cod.lua:194: attempt to call upvalue 'isfile' (a nil value)
This is LuaTeX, Version 1.09.0 (TeX Live 2019/dev/Debian) (INITEX)
system commands enabled.
.
<insert>
<*> ...hare/texmf/tex/context/base/mkiv/cont-en.mkiv
dump
Note: The issue cannot be reproduced with the latest texlive-binaries
version. Perhaps a missing versioned dependency (or a Breaks...)?
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
Reply to: