Bug 2279243 - ConTeXt broken since LuaTeX upgrade to `svn66984`
Summary: ConTeXt broken since LuaTeX upgrade to `svn66984`
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: texlive-base
Version: 42
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2024-05-06 04:53 UTC by Max Chernoff
Modified: 2025-04-22 07:47 UTC (History)
4 users (show)

Fixed In Version: texlive-base-20230311-78.fc39 texlive-base-20230311-82.fc40
Clone Of:
Environment:
Last Closed: 2024-05-15 15:17:37 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Max Chernoff 2024-05-06 04:53:25 UTC
Hi,

ConTeXt has been broken since the LuaTeX upgrade to fix CVE-2023-32700
and CVE-2023-32668 last year. For more details, see:

- https://tug.org/~mseven/luatex.html#socket-context

- https://tex.stackexchange.com/q/717181/270600

To fix this, either:

- Apply the patch from the first link; or

- Pull a more recent ConTeXt version (you'd want
  `systems/texlive/2023/tlnet-final/archive/context.tar.xz` and
  `systems/texlive/2023/tlnet-final/archive/context.x86_64-linux.tar.xz`
  from one of the [historic mirrors](https://tug.org/historic/)).

If the patch was successful, then you should be able to run

    $ context --luatex --nofile

without any errors.

Some other small issues:

1. The `Source`s in `texlive-base.spec` are pinned to
   `https://ctan.math.illinois.edu`, but it's better to use the mirror
   redirector at `https://mirrors.ctan.org/` instead. If for policy
   reasons you need to use a specific mirror, then
   `https://dante.ctan.org/tex-archive/` and `https://tug.ctan.org/` are
   the authoritative mirrors.

2. You should build the binaries with `--with-banner-add=/Fedora XX`;
   see https://tug.org/texlive/doc/tlbuild.html#Distro-builds and
   https://tug.org/texlive/build.html#build.

Thanks,
-- Max

Comment 1 Tom "spot" Callaway 2024-05-06 12:25:51 UTC
Thanks for the bug report. I'll work on getting this fixed. This is the perennial challenge with updating TeXLive, any changes to base seem to have a major impact on the components, and any component changes tend to ripple outward as well.

With regard to the pinned mirror, in the recent past, using the mirror redirector has lead to wildly inconsistent results where some mirrors are out of date, and we have ended up with components that seem to be current, but are subtly incompatible with each other. That particular mirror is/was good at being current.

Comment 2 Fedora Update System 2024-05-06 16:34:11 UTC
FEDORA-2024-7280d9f003 (texlive-base-20230311-78.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-7280d9f003

Comment 3 Fedora Update System 2024-05-06 16:34:12 UTC
FEDORA-2024-91e106cbc7 (texlive-base-20230311-82.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-91e106cbc7

Comment 4 Fedora Update System 2024-05-07 02:19:58 UTC
FEDORA-2024-7280d9f003 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-7280d9f003`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-7280d9f003

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 5 Fedora Update System 2024-05-07 04:56:19 UTC
FEDORA-2024-91e106cbc7 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-91e106cbc7`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-91e106cbc7

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 6 Fedora Update System 2024-05-15 15:17:37 UTC
FEDORA-2024-7280d9f003 (texlive-base-20230311-78.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 7 Fedora Update System 2024-05-15 18:56:40 UTC
FEDORA-2024-91e106cbc7 (texlive-base-20230311-82.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 8 v.plessky 2024-12-01 18:26:33 UTC
I have texlive installation on Fedora 41, and this problem is present here.

$ context --version
mtx-context     | ConTeXt Process Management 1.04
mtx-context     |
mtx-context     | main context file: /usr/share/texlive/texmf-dist/tex/context/base/mkiv/context.mkiv
mtx-context     | current version: 2023.03.10 12:15
mtx-context     | main context file: /usr/share/texlive/texmf-dist/tex/context/base/mkxl/context.mkxl
mtx-context     | current version: 2023.03.10 12:15

$ luatex --version
This is LuaTeX, Version 1.17.0 (TeX Live 2023)
Development id: 7581


$ context --luatex --nofile
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'Copying', lower: 'copying', already: 'COPYING'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGELOG', lower: 'changelog', already: 'ChangeLog'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'ChangeLog.md', lower: 'changelog.md', already: 'CHANGELOG.md'
resolvers       | globbing | confusing filename, name: 'CHANGELOG', lower: 'changelog', already: 'ChangeLog'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGELOG', lower: 'changelog', already: 'ChangeLog'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
resolvers       | globbing | confusing filename, name: 'Changelog', lower: 'changelog', already: 'ChangeLog'
resolvers       | globbing | confusing filename, name: 'CHANGES', lower: 'changes', already: 'Changes'
mtx-context     | warning: no format found, forcing remake (commandline driven)
resolvers       | resolving | configuration files already identified
resolvers       | resolving | loading configuration file '/usr/share/texlive/texmf-dist/web2c/texmfcnf.lua'
resolvers       | resolving |
resolvers       | resolving | locating list of '/usr/share/texlive/texmf-dist' (runtime) (tree:////usr/share/texlive/texmf-dist)
resolvers       | methods | resolving, method 'locators', how 'uri', handler 'tree', argument 'tree:////usr/share/texlive/texmf-dist'
resolvers       | trees | locator '/usr/share/texlive/texmf-dist' found
resolvers       | resolving | hash '/usr/share/texlive/texmf-dist' appended
resolvers       | resolving |
resolvers       | methods | resolving, method 'generators', how 'uri', handler 'file', argument '/usr/share/texlive/texmf-dist'
resolvers       | expansions | using cached scan of path '/usr/share/texlive/texmf-dist', branch '/usr/share/texlive/texmf-dist'
resolvers       | methods | resolving, method 'generators', how 'uri', handler 'file', argument '/usr/share/texlive/texmf-dist'
resolvers       | expansions | using cached scan of path '/usr/share/texlive/texmf-dist', branch '/usr/share/texlive/texmf-dist'
resolvers       | resolving |
resolvers       | resolving | not saving runtime tree '/usr/share/texlive/texmf-dist'
resolvers       | resolving | not saving runtime tree '/usr/share/texlive/texmf-dist'
resolvers       | resolving | using given filetype 'tex'
resolvers       | methods | resolving, method 'concatinators', how 'tag', tag 'default'
resolvers       | methods | resolving, method 'concatinators', how 'tag', tag 'default'
resolvers       | resolving | remembering file 'cont-en.mkiv' using hash 'tex::cont-en.mkiv'
resolvers       | formats | using tex source file '/usr/share/texlive/texmf-dist/tex/context/base/mkiv/cont-en.mkiv'
resolvers       | formats | using lua stub file '/usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.lua'
resolvers       | formats | changing to format path '/home/vadim/.cache/texlive/luatex-cache/context/c8ffba5311d077c16376bba44d5fa793/formats/luatex'
resolvers       | formats | executing runner 'make luatex format': /usr/bin/luatex --ini  --lua=/usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.lua /usr/share/texlive/texmf-dist/tex/context/base/mkiv/cont-en.mkiv  
This is LuaTeX, Version 1.17.0 (TeX Live 2023)  (INITEX)
 system commands enabled.
(/usr/share/texlive/texmf-dist/tex/context/base/mkiv/cont-en.mkiv (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/context.mkiv (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/syst-ini.mkiv) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/norm-ctx.mkiv) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/syst-pln.mkiv) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/syst-mes.mkiv) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.mkiv<+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.lua>) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-bas.mkiv loading: ConTeXt Lua Macros / Basic Lua Libraries<+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-bit32.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-lua.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-macro.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-sandbox.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-package.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-lpeg.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-function.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-string.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-table.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-boolean.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-number.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-math.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-io.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-os.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-file.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-gzip.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-md5.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-sha.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-dir.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-unicode.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-url.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-set.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/l-macro-imp-optimize.lua>) (/usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-lib.mkiv loading: ConTeXt Lua Macros / Libraries<+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-str.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-tab.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-fil.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-sac.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-sto.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-pck.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-prs.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-fmt.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-dim.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/trac-set.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/luat-log.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/trac-inf.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-lua.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-deb.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-tpl.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-seq.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-sta.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-sbx.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-soc-imp-reset.lua><+ /usr/share/texlive/texmf-dist/tex/context/base/mkiv/util-soc-imp-socket.lua>...e/texlive/texmf-dist/tex/context/base/mkiv/l-sandbox.lua:180: module 'socket.core' not found:
        no field package.preload['socket.core']
        no file '/usr/local/share/lua/5.3/socket/core.lua'
        no file '/usr/local/share/lua/5.3/socket/core/init.lua'
        no file '/usr/local/lib/lua/5.3/socket/core.lua'
        no file '/usr/local/lib/lua/5.3/socket/core/init.lua'
        no file './socket/core.lua'
        no file './socket/core/init.lua'
        no file '/usr/local/lib/lua/5.3/socket/core.so'
        no file '/usr/local/lib/lua/5.3/loadall.so'
        no file './socket/core.so'
        no file '/usr/local/lib/lua/5.3/socket.so'
        no file '/usr/local/lib/lua/5.3/loadall.so'
        no file './socket.so'
stack traceback:
        [C]: in upvalue 'requiem'
        ...e/texlive/texmf-dist/tex/context/base/mkiv/l-sandbox.lua:180: in function 'require'
        ...texmf-dist/tex/context/base/mkiv/util-soc-imp-socket.lua:8: in local 'data'
        ...re/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.lua:192: in field 'luafilechunk'
        ...re/texlive/texmf-dist/tex/context/base/mkiv/luat-cod.lua:73: in function 'lua.registercode'
        [\directlua]:1: in main chunk.
\registerctxluafile #1#2->\ctxlua {lua.registercode("#1","#2")}
                                                               
l.40 \registerctxluafile{util-soc-imp-socket} {}
                                              
?

Comment 9 Max Chernoff 2024-12-02 01:29:59 UTC
Looks like [`1bf99ed`](https://src.fedoraproject.org/rpms/texlive-base/c/1bf99ed7e31a02bde2c1ffd3cb962288d204c7ba?branch=f39) was only applied to `f39` and `f40`, so I guess that should be ported to `f41` (and `rawhide` too, unless that will be updated to TeX Live 2024 soonish).

Comment 10 Max Timmerkamp 2025-04-21 16:32:05 UTC
Hi everyone,

I recently ran into this problem on Fedora 41, and after an upgrade to Fedora 42, also on Fedora 42. However, on Fedora 42, I get a vastly different error message if I do not apply the patch mentioned above. While `context --luatex --nofile` does not result in an error regarding socket.core any more, compiling an actual document aborts with the message `fatal error : unable to load bytecode register 544, maybe wipe the cache first`. Wiping the cache did not seem to work. But patching mtxrun.lua resolves this error. Since the error message is quite different, I'm not sure the issue is related, but I believe so. Anyhow, the patch mentioned above is obviously still missing in Fedora 42.

Comment 11 Max Chernoff 2025-04-22 07:47:32 UTC
(In reply to Max Timmerkamp from comment #10)
> I recently ran into this problem on Fedora 41, and after an upgrade to
> Fedora 42, also on Fedora 42. However, on Fedora 42, I get a vastly
> different error message if I do not apply the patch mentioned above. While
> `context --luatex --nofile` does not result in an error regarding
> socket.core any more, compiling an actual document aborts with the message
> `fatal error : unable to load bytecode register 544, maybe wipe the cache
> first`. Wiping the cache did not seem to work. But patching mtxrun.lua
> resolves this error. Since the error message is quite different, I'm not
> sure the issue is related, but I believe so. Anyhow, the patch mentioned
> above is obviously still missing in Fedora 42.

I don't get the `fatal error : unable to load bytecode register 544` error, but I do still get the socket error with Fedora 42.


Note You need to log in before you can comment on or make changes to this bug.