After upgrading from TeX Live 2022 to TeX Live 2023, when running bibtex
, bibtex8
, or bibtexu
in TeX Live 2023, I get this error for any input file:
3 is a bad bad
bibtex does not produce any output. What causes this error?
bad
is a variable in bibtex
used for reporting "constants" that do not meet certain constraints. The only "good" bad
is 0
. A bad
value of 3 means max_print_line >= buf_size
, which is not allowed.
Beginning in TeX Live 2023, bibtex
now gets the max_print_line
"constant" from the environment. So if you have the max_print_line
environment variable set to ≥20000, as suggested in this answer, you will now trigger this error, which you wouldn't have seen before. It does not appear that you can set buf_size
with an environment variable in the same way.
If you set max_print_line=19999
, the error goes away.
If you are trying to understand how this happens in bibtex
works by reading the PDF version of its source produced with weave that comes with TeX Live, you may be more confused because the code reading the environment variables is not there, nor is an initial buf_size
value of 20000. All of these things occur in the bibtex.ch change file, which makes various patches.