Bug com o biber 2.15 no Windows com arquivos bib grandes

Bug com o biber 2.15 no Windows com arquivos bib grandes

Acabei de atualizar minha distribuição MikTeX e agora estou executando biber2.15 com biblatex3.15a. E de repente, me deparo com problemas. Eu tenho um arquivo bib com 1888 entradas e tentar usá-lo agora parece quebrar biblatex, embora tenha funcionado bem em versões anteriores. Não sei se o problema está em biberou biblatex, mas tente o seguinte:

Criei dois arquivos bib do original, disponíveisaquieaqui. Com o seguinte MWE funciona bem e ambas as citações são resolvidas:

\documentclass{article}
\usepackage[french, german, UKenglish]{babel}
\usepackage[backend=biber, style=authoryear]{biblatex}
\addbibresource{Test.bib}
\addbibresource{Test2.bib}

\begin{document}
Let's test: \textcite{Arnold2002}, \textcite{Setty1973}

\printbibliography
\end{document}

No entanto, quando combino os dois arquivos bib em um e tento compilar com ele, nenhuma das citações é resolvida. Como funciona bem ao dividir o banco de dados em dois, não consigo ver nenhum outro motivo para esse comportamento além do novo biberou biblatexter um limite de tamanho de arquivo/número de entrada no arquivo bib. Não a quantidade de entradas realmente citadas, veja bem (como foi em bibtex), mas o grande número de entradas no banco de dados. Ou estou esquecendo alguma coisa? Qualquer ajuda seria muito apreciada.

EDITAR 1:

Aqui está o .blgarquivo. Na verdade, há uma mensagem de erro "[1095]", mas não consigo entender:

[0] Config.pm:312> INFO - This is Biber 2.15 (beta)
[0] Config.pm:315> INFO - Logfile is 'DatabaseTest.blg'
[311] biber-MSWIN64:330> INFO - === 
[385] Biber.pm:415> INFO - Reading 'DatabaseTest.bcf'
[882] Biber.pm:952> INFO - Found 2 citekeys in bib section 0
[998] Biber.pm:4334> INFO - Processing section 0
[1068] Biber.pm:4523> INFO - Looking for bibtex format file 'TestFull.bib' for section 0
[1095] Utils.pm:411> ERROR - Data file 'TestFull.bib' cannot be read in encoding 'utf8': Wide character at C:\Users\Manue\AppData\Local\Temp\par-4d616e7565\cache-b32225defac3568d1e921af5a7245ca571b236aa\inc\lib/Win32/Unicode/File.pm line 163.
[1095] Biber.pm:132> INFO - ERRORS: 1

EDITAR 2:

Agora identifiquei o comprimento limite. O arquivo disponívelaquicontém tantas entradas quanto consigo processar. Ele contém 1.477 entradas, 25.026 linhas e 1.048.339 bytes. Este arquivo simplesmente funciona, mas assim que eu adicionar apenas mais uma entrada simulada como

@Article{Test3,
  author       = {Author, A. and Author B. and Author, C.},
  date         = {2020},
  journaltitle = {A Journal},
  title        = {A nice title of a certain topic which I cannot even imagine},
  issue        = {3},
  pages        = {1--18},
  volume       = {12}
}

Eu recebo o mesmo erro acima. Este parece ser o limite de comprimento com o qual biblatexfunciona corretamente.

EDITAR 3:

Aquié o arquivo completo que não funciona diretamente do JabRef (como .bib) sem nenhuma alteração. Eaquié o mesmo arquivo que o dump hexadecimal exportado com o Cygwin.

Responder1

De acordo com novos testes de Ulrike Fischer, agora é razoavelmente certo que se trata de um bug na nova versão do biber, que quebra em um determinado tamanho de arquivo bib:

https://github.com/plk/biber/issues/332

EDITAR:

Por enquanto, existem duas soluções possíveis

  1. Divida seu bibarquivo em vários arquivos, cada um com tamanho <1 MB
  2. Utilize a atual versão de desenvolvimento 2.16 do biber, disponível emsourceforge, onde o bug foi corrigido.

EDITAR 2:

O biber 2.16 foi lançado em abril de 2021. Arquivos bib de até 100 MB agora devem ser suportados. Se você enfrentar esse problema em seu sistema, certifique-se de usar o Biber 2.16 ou superior.

Responder2

Não posso escrever comentários (ainda) como resposta: isso parece um problema específico do sistema operacional. Testei no Linux sem problemas. Há um problema muito recente relatado no rastreador de problemas do GitHub (https://github.com/plk/biber/issues/332) semelhante ao seu problema e pode estar relacionado aos marcadores EOL. Você poderia verificar se a solução no rastreador de problemas funciona para você? Em particular, o usuário relatou que a conversão para marcadores EOL somente LF resolveu o problema.

Responder3

eu seguiessepara basicamente ter certeza de que meu EOL era LF em vez de CRLF e isso resolveu meus problemas, além de garantir que meu arquivo fosse codificado como UTF-8.

Responder4

Tenho um arquivo bib com mais de 4.500 entradas que funciona perfeitamente com TexLive2019 e TexStudio 3.0.1 no Windows 10. Quando mudei para um computador Windows 10 diferente, baixei o TexLive2020 e o TexStudio 3.0.1. Imediatamente recebi esse erro ao tentar compilar meu documento. É o mesmo arquivo bib em execução nas duas máquinas porque eu baixei-o do Google Drive. Portanto, isso definitivamente parece ser um bug e não um problema de codificação de arquivo.

EDIT: usei Notepad++ e JABREF para dividir o arquivo em três arquivos .bib e depois usei um \addbibresource{} para cada parte no TexStudio. (Não consegui reconhecer os três nomes de arquivos em um único comando add sem espaços e uma vírgula entre os arquivos.) Agora ele funciona como deveria.

informação relacionada