Linux x86_64 .deb contains malformed bundled Tectonic binary
What version of the Codex App are you using?
26.810.52044 (Linux .deb package version)
What subscription do you have?
ChatGPT Plus
What platform is your computer?
Linux x86_64
What issue are you seeing?
The Linux x86_64 .deb contains a malformed Tectonic executable at:
/usr/lib/chatgpt/resources/plugins/openai-bundled/plugins/latex/bin/tectonic
The bundled LaTeX plugin invokes this executable using Tectonic's V2 CLI. The process hangs indefinitely and does not produce a PDF.
The executable is structurally invalid as an ELF file:
ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV),
dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2,
missing section headers at 60077368
readelf reports:
readelf: Error: Reading 2240 bytes extends past end of file for section headers
A byte-level comparison with the official Tectonic 0.17.0 x86_64-unknown-linux-gnu release identifies the corruption precisely:
- Both binaries have GNU Build ID
14a82f2adbabbf18f5692344d7633674040a8c36. - Official Tectonic size:
60077496bytes. - Bundled Tectonic size:
60048824bytes. - Difference: exactly
0x7000/28672bytes. - Both files are byte-identical through offset
0x33b516f. - The official binary contains
0x7000zero bytes from0x33b5170through0x33bc16f. - Those bytes are absent from the bundled binary.
- From official-binary offset
0x33bc170onward, the remainder is byte-identical to the bundled binary, shifted earlier by exactly0x7000.
The removed range is inside the ELF .got section and ends exactly where .got.plt begins:
.got file offset 0x33b46c8, size 0x7aa8
.got.plt file offset 0x33bc170
The ELF offsets were not adjusted for this removal. Consequently, data following the removed range is interpreted at incorrect file offsets and the section-header table points beyond EOF.
What steps can reproduce the bug?
Create a minimal document:
cat > test.tex <<'EOF'
\documentclass{article}
\begin{document}
Hello from Tectonic.
\end{document}
EOF
Run Tectonic using the command used by the bundled LaTeX plugin:
TECTONIC_UNTRUSTED_MODE=1 \
timeout 30s \
/usr/lib/chatgpt/resources/plugins/openai-bundled/plugins/latex/bin/tectonic \
-X compile \
--outdir . \
--outfmt pdf \
--print \
--untrusted \
test.tex
The command times out and no test.pdf is produced.
The official upstream Tectonic 0.17.0 x86_64-unknown-linux-gnu executable successfully compiles the same document with the same arguments and produces test.pdf.
What is the expected behavior?
The Tectonic executable bundled with the Linux .deb should be a valid ELF executable and should successfully compile LaTeX documents using the command invoked by the bundled LaTeX plugin.
Additional information
Bundled executable:
SHA-256: dacccc2c38395a72332910ff54223a5ee2f0acacbd94ed40ab98bda636a5aa9e
GNU Build ID: 14a82f2adbabbf18f5692344d7633674040a8c36
Size: 60048824 bytes
The matching official Tectonic 0.17.0 binary has the same GNU Build ID and is exactly 0x7000 bytes larger.
The byte pattern is consistent with a zero-filled/sparse region being collapsed during packaging or post-processing without preserving the file's logical layout. This is an inference from the resulting file structure; the exact packaging step responsible is not known.