Libelektra: Jenkins: repetir versões com falha

Criado em 16 set. 2019  ·  36Comentários  ·  Fonte: ElektraInitiative/libelektra

Descrição

Atualmente, a construção do Jenkins falha frequentemente por vários motivos. Este problema deve listar alguns dos problemas que atualmente incluem:

  • [x] compilações Maven com falha,
  • [] falhas na construção da página inicial ,
  • [] [erros internos do compilador] (https://github.com/ElektraInitiative/libelektra/issues/2986),
  • [] Falhas de instalação do CMake,
  • [] falhas de remoção de espaço de trabalho,
  • [x] Falhas de construção de Haskell,
  • [] Falhas de instalação do APT,
  • [] [tempos limite] (https://github.com/ElektraInitiative/libelektra/issues/2984),
  • [x] testes reprovados,
  • [] [problemas de conexão] (https://github.com/ElektraInitiative/libelektra/issues/2999), e
  • [] Falhas de commit do Git

.

Falhas

| Branch | Motivo da falha | Falha na criação de trabalho / estágio |
| ---------- | ------------- | ----------- |
| PR #2932 | Compilação Maven | debian-unstable-clang-asan |
| master | Construção da página inicial | Implantar site |
| master | Construção da página inicial | Implantar site |
| PR #2945 | Erro interno do compilador | build-elektra-web-base |
| master | Falha na instalação do Cmake | debian-stretch-full |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| master | Falha na remoção do espaço de trabalho | Principais compilações |
| PR #2945 | Falha na compilação de Haskell | debian-stretch-full-optimizations-off |
| PR #2945 | A instalação do APT falhou | build-elektra-website |
| PR #2932 | Compilação Maven | debian-unstable-clang-asan |
| master | Tempo limite | debian-stretch-full-mmap-asan |
| PR #2975 | Tempo limite | debian-buster-mingw-w64 |
| master | Construção da página inicial | Implantar site |
| master | Construção da página inicial | Implantar site |
| master | Tempo limite | debian-buster-full |
| master | Falha de compilação de Haskell | debian-stretch-full-ini |
| master | Tempo limite | debian-unstable-full |
| master | Testes de reprovação | debian-buster-full |
| master | Erro interno do compilador | build-elektra-web-base |
| master | Construção da página inicial | Implantar site |
| master | Construção da página inicial | Implantar site |
| master | Construção da página inicial | Implantar site |
| master | Construção da página inicial | Implantar site |
| PR #2998 | Tempo limite , problemas de conexão | build-elektra-web-base , debian-buster-full-i386 |
| master | Compilação Maven | debian-unstable-clang-asan |
| PR #2998 | Tempo limite | build-elektra-website-backend |
| master | Problemas de conexão | build-elektra-web-base |
| master | Construção da página inicial | Implantar site |
| master | Compilação Maven | debian-unstable-full-clang |
| master | Falha no commit do Git | buildPackage/debian/buster |
| master | Falha no commit do Git | buildPackage/debian/buster |
| master | Falha no commit do Git | buildPackage/debian/buster , buildPackage/debian/stretch |
| master | Falha no commit do Git | buildPackage/debian/buster |
| master | Falha no commit do Git | buildPackage/debian/buster |

Testes com falha

| Teste | Localização | Vezes falhou |
| -------------------------------------- | --------------------- | ------------ |
| check_external_example_codegen_econf | debian-buster-full | 1 |
| check_external_example_codegen_menu | debian-buster-full | 1 |
| check_external_example_codegen_tree | debian-buster-full | 1 |
| check_external_example_highlevel | debian-buster-full | 1 |
| check_spec | debian-buster-full | 1 |
| testkdb_ensure | debian-buster-full | 1 |

bug build continuous integration

Comentários muito úteis

É apenas Disk quota exceeded , eu não queria exagerar na memória. Eu limpei agora. Está de volta.

Todos 36 comentários

Obrigado por coletar os problemas!

Para as compilações do maven, já temos um problema: # 2855

Para as compilações do maven, já temos um problema: # 2855

Eu sei 😊. Já adicionei um link na descrição do problema.

Obrigado por esta pesquisa elaborada. Agora precisamos corrigir um problema após o outro.

Para os problemas de Haskell, podemos remover as ligações / plug-ins de haskell. Eles não são mantidos de qualquer maneira.

Haskell será removido em # 3017

As falhas com docker pull falha no estágio do site ocorrem com bastante frequência agora.

Acabei de ter problemas de conexão para build-elektra-web-base também.

3d070e3209ce: Retrying in 1 second

error creating overlay mount to /home/_docker/overlay2/e9563564b9365114c47d90b7e8d307565225097a525e6b1b866a2da2877b2aa8/merged: device or resource busy

script returned exit code 1

Este é um registro completo.

As falhas com docker pull falha no estágio do site ocorrem com bastante frequência agora.

É tudo uma nova tentativa e espera depois de Pulling from build-elektra-web-base ( log )?

Além disso, acho que este erro é novo: test_service_convertengine falha durante Starting build/hub.libelektra.org/build-elektra-website-backend ( log 2 )

Sim, concordo que test_service_convertengine ainda não foi relatado aqui. Na verdade, podemos desativar o teste, pois o serviço não é modificado de qualquer maneira.

@sanssecours existe algum procedimento para adicionar novos testes na lista acima?

@sanssecours existe algum procedimento para adicionar novos testes na lista acima?

Não. Já desisti de modificar a lista, já que a compilação do Jenkins falha com muita frequência. Eu recomendaria que apenas abríssemos um fascículo para cada problema específico.

Para questões relacionadas ao código-fonte, eu concordo. Para os problemas relacionados à instabilidade do docker / jenkins, é suficiente coletar os problemas aqui, pois é muito limitado o que podemos fazer após a migração que já fazemos, mas infelizmente leva mais tempo conforme o esperado. Seria bom se @Mistreated pudesse fornecer mais informações sobre o status, talvez em # 160.

Além disso, acho que este erro é novo: test_service_convertengine falha durante a inicialização de build / hub.libelektra.org / build-elektra-website-backend (log 2)

Você pode relatar isso separadamente? A correção é desativar os testes.

Você pode relatar isso separadamente?

Feito, consulte # 3086

Acho que nosso melhor palpite para tornar nossas vidas muito mais fáceis é "consertar" esses problemas usando https://wiki.jenkins.io/display/JENKINS/Naginator+Plugin

Então, o Jenkins reiniciará as tarefas com falha várias vezes. Acho que podemos tentar 5 reinicializações antes de desistir?

@Mistreated Você pode implementar isso também no servidor antigo? Ou isso é muito arriscado?

Antes de implementarmos isso, no entanto, precisamos do novo Nó Jenkins, caso contrário, a fila ficará muito longa.

Depois de um pouco de dificuldade, consegui adicionar um novo Nó Jenkins.

Antes de implementarmos isso, no entanto, precisamos do novo Nó Jenkins, caso contrário, a fila ficará muito longa.

O servidor antigo está sobrecarregado na minha opinião, mas podemos tentar, eu acho ..

Depois de um pouco de dificuldade, consegui adicionar um novo Nó Jenkins.

Obrigado por adicionar o novo nó Jenkins. Desativei o nó por enquanto, pois ele parece interromper a compilação .

Eu atualizei o nó. Deve funcionar agora. Se algo der errado, você pode me atualizar aqui novamente.

Se algo der errado, você pode me atualizar aqui novamente.

Parece que docker pull falha em hetzner-jenkins1 , uma vez que o nó não tem espaço livre suficiente:

Não é possível entrar em contato com hetzner-jenkins1: hudson.remoting.RequestAbortedException: java.io.IOException: Encerramento inesperado do canal
falha ao registrar a camada: Status de saída de ApplyLayer 1 stdout: stderr: write / usr / lib / git-core / git-credential-store: cota de disco excedida

.

Parece que o pull do docker falha em hetzner-jenkins1, pois o nó não tem espaço livre suficiente:

Nó atualizado.

Trabalhos de construção em hetzner-jenkins1 parecem falhar , devido a problemas relacionados com permissões:

Recurso: Não foi possível criar o diretório '/.config'. Motivo: permissão negada. Identidade: uid: 47000, euid: 47000, gid: 47000, egid: 47000

.

Eu atualizei o Node, novamente, não deve haver mais problemas de permissão.

Por que o Jenkins deseja construir um diretório '/.config' e não apenas '.config'?
Existe um diretório .config dentro de '/ home / jenkins /' mas ele deseja criar a pasta .config em '/'.

Não acho que o usuário 'jenkins' deva ser capaz de fazer isso.

@Mistreated, por favor, também faça um PR para realmente testar se as compilações funcionam agora.

Por que o Jenkins deseja construir um diretório '/.config' e não apenas '.config'?
Existe um diretório .config dentro de '/ home / jenkins /' mas ele deseja criar a pasta .config em '/'.

Isso pode acontecer se o diretório inicial do usuário for /. Você olhou em / etc / passwd, talvez algo esteja errado lá?

Isso pode acontecer se o diretório inicial do usuário for /. Você olhou em / etc / passwd, talvez algo esteja errado lá?

' jenkins: x : 47000: 47000 :: / home / jenkins: / bin / sh'

Tudo parece bem, mesmo nos logs do nó:

'HOME =' / home / jenkins ''
'NOTA: Caminho remoto relativo resolvido para: / home / jenkins /.'

Seria mais fácil depurar para ver um PR com todo o log.

O nó mestre está desativado.

Seria mais fácil depurar para ver um PR com todo o log.

3134

O nó mestre está desativado.

Obrigado pela informação. Excluí todas as informações de log de solicitações pull antigas e reativei o nó. Infelizmente, a quantidade de espaço livre no mestre Jenkins ainda é muito baixa (~ 3,9 G).

@Mistreated Mudei a discussão sobre o nó hetzner para # 3138. Este problema é sobre falhas temporárias no servidor de compilação, não sobre a configuração errada do servidor de compilação.

Parece que a construção de imagens Docker não funciona em hetzner-jenkins1 :

stderr: error: could not lock config file .git/config: Disk quota exceeded

. Desativei o nó.

É apenas Disk quota exceeded , eu não queria exagerar na memória. Eu limpei agora. Está de volta.

Mais dois testes que às vezes falham (# 3168):

 27/134 MemCheck  #23: testcpp_contextual_thread ........***Exception: Other  2.59 sec
Running main() from /opt/gtest/googletest/src/gtest_main.cc
[==========] Running 8 tests from 1 test case.
[----------] Global test environment set-up.
[----------] 8 tests from test_contextual_thread
[ RUN      ] test_contextual_thread.instanciation

/home/jenkins/workspace/libelektra_PR-3168-L5JHIPUUQR3TWFGKHQIDK6HHW6QAMSQXWJC5ZUZMBLDMLTYA2ENA@2/src/bindings/cpp/tests/testcpp_contextual_thread.cpp:70: Failure

Expected equality of these values:
  ks.lookup ("user/hello").getString ()
    Which is: "8"
  "5"
terminate called without an active exception
60/254 Test  #57: testio_glib .................................***Failed    5.08 sec

BINDING TEST-SUITE

==================

test basics
test idle
test timer
testTimerShouldCallbackOnce (warning): measured 316ms, expected 250ms - deviation 66ms.
testTimerShouldCallbackAtIntervals (warning): measured 343ms, expected 250ms - deviation 93ms.
testTimerShouldCallbackAtIntervals (warning): measured 322ms, expected 250ms - deviation 72ms.
testTimerShouldCallbackAtIntervals (warning): measured 338ms, expected 250ms - deviation 88ms.
../src/bindings/io/test/test_timer.c:273: error in testTimerShouldChangeInterval: timer was not called the required amount of times
test file descriptor
test mix

Mais um erro em https://build.libelektra.org/jenkins/blue/organizations/jenkins/libelektra/detail/master/12/pipeline/

Step 12/31 : RUN curl -o cppcms-${CPPCMS_VERSION}.tar.bz -L         "https://sourceforge.net/projects/cppcms/files/cppcms/${CPPCMS_VERSION}/cppcms-${CPPCMS_VERSION}.tar.bz2/download"     && tar -xjvf cppcms-${CPPCMS_VERSION}.tar.bz     && mkdir cppcms-${CPPCMS_VERSION}/build     && cd cppcms-${CPPCMS_VERSION}/build     && cmake ..     && make -j ${PARALLEL}     && make install     && cd /app/deps     && rm -Rf cppcms-${CPPCMS_VERSION}

 ---> Running in f5ed5e42a480

curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)

The command '/bin/sh -c curl -o cppcms-${CPPCMS_VERSION}.tar.bz -L         "https://sourceforge.net/projects/cppcms/files/cppcms/${CPPCMS_VERSION}/cppcms-${CPPCMS_VERSION}.tar.bz2/download"     && tar -xjvf cppcms-${CPPCMS_VERSION}.tar.bz     && mkdir cppcms-${CPPCMS_VERSION}/build     && cd cppcms-${CPPCMS_VERSION}/build     && cmake ..     && make -j ${PARALLEL}     && make install     && cd /app/deps     && rm -Rf cppcms-${CPPCMS_VERSION}' returned a non-zero code: 92

script returned exit code 92

Receio que https://wiki.jenkins.io/display/JENKINS/Naginator+Plugin seja o único grande passo em frente.

Infelizmente, isso não resolverá os problemas do Travis ou do Cirrus.

Atualizamos "Falha nos tempos" na postagem inicial? check_external_example_codegen_econf está acontecendo com bastante frequência atualmente.

Tentar atualizar a postagem inicial ou tentar consertar todos esses problemas é inútil. Precisamos de uma nova tentativa automática. Espero que @Mistreated implemente isso em nosso novo servidor.

O que você acha do # 3224?

Os problemas estão resolvidos agora. Abra novos problemas se as compilações ainda falharem.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

markus2330 picture markus2330  ·  3Comentários

mpranj picture mpranj  ·  3Comentários

markus2330 picture markus2330  ·  4Comentários

mpranj picture mpranj  ·  4Comentários

markus2330 picture markus2330  ·  3Comentários