new luatex binary in TL pretest crashes when \directmeatpost is used
Hello luatex developers, I installed TL pretest with new luatex binary and I found a bug in it, when \directmetapost defined in minim-mp package is used. Try the following file: \input minim-mp \directmetapost{ % define the pattern picture letter; letter = maketext("a"); beginpattern(a) draw letter rotated 45; matrix = identity rotated 45; endpattern(12pt,12pt); % use the pattern beginfig(1) fill fullcircle scaled 3cm withpattern(a) withcolor 3/4red; draw fullcircle scaled 3cm withpen pencircle scaled 1; endfig; } \bye and run luatex. The luatex from TL 2022 runs without problems but luatex from TL 2023 says: This is LuaTeX, Version 1.16.0 (TeX Live 2023) restricted system commands enabled. (./test.tex (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim-mp/minim-mp.tex (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim/minim-alloc.tex) (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim/minim-pdfresources.tex)){/ usr/local/texlive/2023/texmf-var/fonts/map/pdftex/updmap/pdftex.map} ! error: (pdf backend): 2 unmatched 'save' after form shipout ! ==> Fatal error occurred, no output PDF file produced! Michal Vlasak noticed that the problem is probably related to the commit: https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/commit/c1909e4a4c5311197a25... Best regards Petr Olsak
On Tue, 28 Feb 2023 at 20:50, luigi scarso
On Tue, 28 Feb 2023 at 20:28, Petr Olsak
wrote: Hello luatex developers,
I installed TL pretest with new luatex binary and I found a bug in it, when \directmetapost defined in minim-mp package is used. Try the following file:
checking now
confirmed
On 2/28/2023 8:19 PM, Petr Olsak wrote:
Hello luatex developers,
I installed TL pretest with new luatex binary and I found a bug in it, when \directmetapost defined in minim-mp package is used. Try the following file:
\input minim-mp
\directmetapost{ % define the pattern picture letter; letter = maketext("a"); beginpattern(a) draw letter rotated 45; matrix = identity rotated 45; endpattern(12pt,12pt); % use the pattern beginfig(1) fill fullcircle scaled 3cm withpattern(a) withcolor 3/4red; draw fullcircle scaled 3cm withpen pencircle scaled 1; endfig; }
\bye
and run luatex. The luatex from TL 2022 runs without problems but luatex from TL 2023 says:
This is LuaTeX, Version 1.16.0 (TeX Live 2023) restricted system commands enabled. (./test.tex (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim-mp/minim-mp.tex (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim/minim-alloc.tex) (/usr/local/texlive/2023/texmf-dist/tex/luatex/minim/minim-pdfresources.tex)){/ usr/local/texlive/2023/texmf-var/fonts/map/pdftex/updmap/pdftex.map} ! error: (pdf backend): 2 unmatched 'save' after form shipout ! ==> Fatal error occurred, no output PDF file produced!
Michal Vlasak noticed that the problem is probably related to the commit:
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/commit/c1909e4a4c5311197a25...
Hi Michal, The error indicates some bad whatsit subtype being used. Can you check if any of the packages that gets loaded here, does some numeric whatsit node allocation? The late literal has its own whatsid subtype (I might collapse it at some time into the regular one as that makes more sense.) which makes e.g. save, restore, user ones move up in the subtype number range. (I don't want to waste more time than i already did chasing something that is possibly outside the engines scope, so best check this first before I look deeper down the code.) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On Wed Mar 1, 2023 at 9:21 AM CET, Hans Hagen wrote:
On 2/28/2023 8:19 PM, Petr Olsak wrote:
[...] ! error: (pdf backend): 2 unmatched 'save' after form shipout ! ==> Fatal error occurred, no output PDF file produced!
Michal Vlasak noticed that the problem is probably related to the commit:
https://gitlab.lisn.upsaclay.fr/texlive/luatex/-/commit/c1909e4a4c5311197a25...
Hi Michal,
The error indicates some bad whatsit subtype being used. Can you check if any of the packages that gets loaded here, does some numeric whatsit node allocation? The late literal has its own whatsid subtype (I might collapse it at some time into the regular one as that makes more sense.) which makes e.g. save, restore, user ones move up in the subtype number range.
(I don't want to waste more time than i already did chasing something that is possibly outside the engines scope, so best check this first before I look deeper down the code.)
Hi Hans, thanks for the hint, I didn't dare to look closer, because I didn't really understand the LuaTeX commit and frankly don't have a lot of time for TeX these days. But the fact that whatsit subtypes got renumbered of course means that something like this is not going to work well: append:node(node.new(8, 30)) -- q Hastily I put together a patch for minim. Now it is up to Esger Renkema (CC'd) to solve the issue. https://gitlab.com/renkema/minim/-/merge_requests/7 Thanks again and sorry for the noise. Michal
participants (5)
-
Esger Renkema
-
Hans Hagen
-
luigi scarso
-
Michal Vlasák
-
Petr Olsak