Package: rubber
Version: 1.5-1
Severity: normal

Dear Maintainer,

Since the last update, rubber now fails with a UnicodeDecodeError when
the .log is not in UTF-8, which is the encoding of my locale. Setting
LANG=C makes it breaks somewhere else (much earlier).
While my source file is in UTF-8, the .log file is not.

Here is a little example I wrote.

$ cat test.tex
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\begin{document}
  ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
  ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
\end{document}

$ rubber -df test
compiling test.tex...
Traceback (most recent call last):
  File "/usr/bin/rubber", line 17, in <module>
    sys.exit (cmdline (args))
  File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 432, in __call__
    self.main (cmdline)
  File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 373, in main
    self.process_source (env)
  File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 460, in 
process_source
    self.build (env)
  File "/usr/lib/python3/dist-packages/rubber/cmdline.py", line 393, in build
    ret = env.main.make(True)
  File "/usr/lib/python3/dist-packages/rubber/depend.py", line 143, in make
    rv = self.real_make (force)
  File "/usr/lib/python3/dist-packages/rubber/depend.py", line 184, in real_make
    if not self.run ():
  File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1313, 
in run
    if not self.compile():
  File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1232, 
in compile
    if not self.parse_log ():
  File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 1246, 
in parse_log
    return self.log.readlog (logfile_name, logfile_limit)
  File "/usr/lib/python3/dist-packages/rubber/converters/latex.py", line 184, 
in readlog
    line = fp.readline ()
  File "/usr/lib/python3.6/codecs.py", line 321, in decode
    (result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe9 in position 2036: 
invalid continuation byte

The trouble comes from the fact that the test.log contains an error
(overfull) on the one paragraph, and that the "é" are output in a
different encoding in the .log (latin1 I guess). It breaks at line 51
in the following:

$ cat -n test.log
     1  This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 
2019/dev/Debian) (preloaded format=pdflatex 2018.9.3)  4 SEP 2018 10:46
     2  entering extended mode
     3   restricted \write18 enabled.
     4   %&-line parsing enabled.
     5  **\nonstopmode \input{test.tex}
     6  (./test.tex (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
     7  Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
     8  (/usr/share/texlive/texmf-dist/tex/latex/base/size10.clo
     9  File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option)
    10  )
    11  \c@part=\count80
    12  \c@section=\count81
    13  \c@subsection=\count82
    14  \c@subsubsection=\count83
    15  \c@paragraph=\count84
    16  \c@subparagraph=\count85
    17  \c@figure=\count86
    18  \c@table=\count87
    19  \abovecaptionskip=\skip41
    20  \belowcaptionskip=\skip42
    21  \bibindent=\dimen102
    22  )
    23  (/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
    24  Package: fontenc 2017/04/05 v2.0i Standard LaTeX package
    25  
    26  (/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
    27  File: t1enc.def 2017/04/05 v2.0i Standard LaTeX file
    28  LaTeX Font Info:    Redeclaring font encoding T1 on input line 48.
    29  ))
    30  (/usr/share/texlive/texmf-dist/tex/latex/base/inputenc.sty
    31  Package: inputenc 2018/04/06 v1.3b Input encoding file
    32  \inpenc@prehook=\toks14
    33  \inpenc@posthook=\toks15
    34  ) (./test.aux)
    35  \openout1 = `test.aux'.
    36  
    37  LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 4.
    38  LaTeX Font Info:    ... okay on input line 4.
    39  LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 4.
    40  LaTeX Font Info:    ... okay on input line 4.
    41  LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 4.
    42  LaTeX Font Info:    ... okay on input line 4.
    43  LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 4.
    44  LaTeX Font Info:    ... okay on input line 4.
    45  LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 4.
    46  LaTeX Font Info:    ... okay on input line 4.
    47  LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 4.
    48  LaTeX Font Info:    ... okay on input line 4.
    49  
    50  Overfull \hbox (249.8584pt too wide) in paragraph at lines 5--7
    51  []\T1/cmr/m/n/10 
éééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé
    52  ééé ééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééééé 
    53   []
    54  
    55  [1
    56  
    57  {/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./test.aux) ) 
    58  Here is how much of TeX's memory you used:
    59   431 strings out of 494484
    60   4085 string characters out of 6174952
    61   55258 words of memory out of 5000000
    62   4160 multiletter control sequences out of 15000+600000
    63   4403 words of font info for 15 fonts, out of 8000000 for 9000
    64   59 hyphenation exceptions out of 8191
    65   24i,4n,18p,172b,113s stack positions out of 
5000i,500n,10000p,200000b,80000s
    66   </home/hym/
    67  .texlive2018/texmf-var/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk>
    68  Output written on test.pdf (1 page, 1755 bytes).
    69  PDF statistics:
    70   14 PDF objects out of 1000 (max. 8388607)
    71   8 compressed objects within 1 object stream
    72   0 named destinations out of 1000 (max. 500000)
    73   1 words of extra memory for PDF output out of 10000 (max. 10000000)
    74  

Best regards,
Samuel

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 
'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.17.0-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages rubber depends on:
ii  python3             3.6.6-1
ii  texlive-latex-base  2018.20180824-1

rubber recommends no packages.

Versions of packages rubber suggests:
pn  asymptote                        <none>
ii  biber                            2.11-2
ii  fig2dev [transfig]               1:3.2.7a-3
ii  imagemagick                      8:6.9.10.8+dfsg-1
ii  imagemagick-6.q16 [imagemagick]  8:6.9.10.8+dfsg-1
pn  python-prompt-toolkit            <none>
ii  python-pygments                  2.2.0+dfsg-1
ii  python3-prompt-toolkit           1.0.15-1
ii  python3-pygments                 2.2.0+dfsg-1
pn  r-cran-knitr                     <none>
ii  texlive-bibtex-extra             2018.20180824-1
ii  texlive-binaries                 2018.20180824.48463-1
ii  texlive-extra-utils              2018.20180824-1
ii  texlive-latex-extra              2018.20180824-1
ii  texlive-latex-recommended        2018.20180824-1
pn  texlive-metapost                 <none>
pn  texlive-omega                    <none>
ii  texlive-pictures                 2018.20180824-1

-- no debconf information

Reply via email to