Libelektra: Дженкинс: повторить неудачные сборки

Созданный на 16 сент. 2019  ·  36Комментарии  ·  Источник: ElektraInitiative/libelektra

Описание

В настоящее время сборка Jenkins довольно часто дает сбой по разным причинам. В этом выпуске следует перечислить некоторые из проблем, которые в настоящее время включают:

  • [x] сбой сборки Maven ,
  • [] не удается построить домашнюю страницу ,
  • [] [внутренние ошибки компилятора] (https://github.com/ElektraInitiative/libelektra/issues/2986),
  • [] Сбои при установке CMake,
  • [] ошибки удаления рабочего пространства,
  • [x] Сбои сборки Haskell,
  • [] Ошибки установки APT,
  • [] [тайм-ауты] (https://github.com/ElektraInitiative/libelektra/issues/2984),
  • [x] неудачных тестов,
  • [] [проблемы с подключением] (https://github.com/ElektraInitiative/libelektra/issues/2999) и
  • [] Ошибки фиксации Git

.

Неудачи

| Филиал | Причина отказа | Ошибка сборки / этап |
| ---------- | ------------- | ----------- |
| PR #2932 | Сборка Maven | debian-unstable-clang-asan |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| PR #2945 | Внутренняя ошибка компилятора | build-elektra-web-base |
| master | Ошибка установки Cmake | debian-stretch-full |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| master | Ошибка удаления рабочего пространства | Основные постройки |
| PR #2945 | Ошибка сборки Haskell | debian-stretch-full-optimizations-off |
| PR #2945 | Не удалось установить APT | build-elektra-website |
| PR #2932 | Сборка Maven | debian-unstable-clang-asan |
| master | Тайм-аут | debian-stretch-full-mmap-asan |
| PR #2975 | Тайм-аут | debian-buster-mingw-w64 |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Тайм-аут | debian-buster-full |
| master | Ошибка сборки Haskell | debian-stretch-full-ini |
| master | Тайм-аут | debian-unstable-full |
| master | Неудачные тесты | debian-buster-full |
| master | Внутренняя ошибка компилятора | build-elektra-web-base |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| PR #2998 | Тайм-аут , проблемы с подключением | build-elektra-web-base , debian-buster-full-i386 |
| master | Сборка Maven | debian-unstable-clang-asan |
| PR #2998 | Тайм-аут | build-elektra-website-backend |
| master | Проблемы с подключением | build-elektra-web-base |
| master | Сборка домашней страницы | Развернуть веб-сайт |
| master | Сборка Maven | debian-unstable-full-clang |
| master | Ошибка фиксации Git | buildPackage/debian/buster |
| master | Ошибка фиксации Git | buildPackage/debian/buster |
| master | Ошибка фиксации Git | buildPackage/debian/buster , buildPackage/debian/stretch |
| master | Ошибка фиксации Git | buildPackage/debian/buster |
| master | Ошибка фиксации Git | buildPackage/debian/buster |

Неудачные тесты

| Тест | Расположение | Раз не удалось |
| -------------------------------------- | --------------------- | ------------ |
| 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

Самый полезный комментарий

Это просто Disk quota exceeded , не хотелось перебивать памятью. Я почистил сейчас. Его снова вверх.

Все 36 Комментарий

Спасибо за сбор вопросов!

Для сборок maven у нас уже есть проблема: # 2855

Для сборок maven у нас уже есть проблема: # 2855

Я знаю 😊. Я уже добавил ссылку в описание проблемы.

Спасибо за это подробное исследование. Теперь нам нужно исправлять одну проблему за другой.

Для проблем с Haskell мы можем удалить привязки / плагины haskell. Они все равно не поддерживаются.

Haskell будет удален в # 3017

Сбои с ошибкой docker pull на этапе веб-сайта сейчас возникают довольно часто.

У меня тоже проблемы с подключением к build-elektra-web-base.

3d070e3209ce: Retrying in 1 second

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

script returned exit code 1

Это полный журнал.

Сбои с ошибкой docker pull на этапе веб-сайта сейчас возникают довольно часто.

Это все повторные попытки и ожидание после Pulling from build-elektra-web-base ( log )?

Кроме того, я думаю, что эта ошибка новая: test_service_convertengine не работает во время Starting build/hub.libelektra.org/build-elektra-website-backend ( журнал 2 )

Да, я согласен, что test_service_convertengine здесь еще не сообщается. Фактически мы можем отключить тест, так как сервис все равно не изменяется.

@sanssecours есть ли какая-то процедура, как добавить новые тесты в список выше?

@sanssecours есть ли какая-то процедура, как добавить новые тесты в список выше?

Неа. Я уже отказался от модификации списка, поскольку сборка Jenkins слишком часто дает сбой. Я бы порекомендовал просто открывать вопрос для каждой конкретной проблемы.

По вопросам, связанным с исходным кодом, я согласен. Для проблем, связанных с нестабильностью docker / jenkins, достаточно собрать здесь проблемы, так как это очень ограничивает то, что мы можем сделать после миграции, которую мы уже делаем, но, к сожалению, занимает больше времени, чем ожидалось. Было бы неплохо, если бы @Mistreated мог предоставить дополнительную информацию о статусе, возможно, в # 160.

Кроме того, я думаю, что эта ошибка новая: test_service_convertengine не работает во время запуска сборки / hub.libelektra.org / build-elektra-website-backend (журнал 2)

Не могли бы вы сообщить об этом отдельно? Исправление - отключить тесты.

Не могли бы вы сообщить об этом отдельно?

Готово, см. №3086

Я думаю, что лучший способ сделать нашу жизнь намного проще - «исправить» эти проблемы с помощью https://wiki.jenkins.io/display/JENKINS/Naginator+Plugin.

Затем Дженкинс несколько раз перезапустит неудачные задания. Я думаю, мы могли бы попробовать 5 перезапусков, прежде чем сдаться?

@Mistreated Можете ли вы реализовать это также на старом сервере? Или это слишком рискованно?

Однако перед тем, как реализовать это, нам понадобится новый узел Jenkins, иначе очередь станет слишком длинной.

После небольших усилий мне удалось добавить новый Jenkins Node.

Однако перед тем, как реализовать это, нам понадобится новый узел Jenkins, иначе очередь станет слишком длинной.

На мой взгляд, старый сервер перегружен, но, думаю, можно попробовать ..

После небольших усилий мне удалось добавить новый Jenkins Node.

Спасибо за добавление нового узла Jenkins. Я отключил узел на данный момент, так как он, похоже, нарушает сборку .

Я обновил узел. Теперь он должен работать. Если что-то пойдет не так, вы можете снова сообщить мне об этом.

Если что-то пойдет не так, вы можете снова сообщить мне об этом.

Похоже, что docker pull не работает на hetzner-jenkins1 , так как на узле недостаточно свободного места:

Невозможно связаться с hetzner-jenkins1: hudson.remoting.RequestAbortedException: java.io.IOException: неожиданное завершение канала
не удалось зарегистрировать уровень: статус выхода ApplyLayer 1 stdout: stderr: write / usr / lib / git-core / git-credential-store: превышена квота диска

.

Похоже, что docker pull не работает на hetzner-jenkins1, поскольку на узле недостаточно свободного места:

Узел обновлен.

Построение заданий на hetzner-jenkins1 кажется неудачным из-за проблем, связанных с разрешениями:

Ресурс: не удалось создать каталог /.config. Причина: отказано в разрешении. Идентификация: uid: 47000, euid: 47000, gid: 47000, egid: 47000

.

Я обновил узел, опять же, проблем с разрешениями больше быть не должно.

Почему Дженкинс хочет создать каталог /.config, а не просто каталог .config?
Внутри '/ home / jenkins /' есть каталог .config, но он хочет сделать папку .config в '/'.

Я не думаю, что пользователь jenkins сможет это сделать.

@Mistreated, пожалуйста, также сделайте PR, чтобы проверить, работают ли сейчас сборки.

Почему Дженкинс хочет создать каталог /.config, а не просто каталог .config?
Внутри '/ home / jenkins /' есть каталог .config, но он хочет сделать папку .config в '/'.

Это может произойти, если домашний каталог пользователя /. В / etc / passwd смотрели, может там что-то не так?

Это может произойти, если домашний каталог пользователя /. В / etc / passwd смотрели, может там что-то не так?

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

Все выглядит нормально, даже в логах узла:

'HOME =' / home / jenkins ''
ПРИМЕЧАНИЕ. Относительный удаленный путь разрешен в: / home / jenkins /.

Проще было бы при отладке видеть PR со всем журналом.

Главный узел не работает.

Проще было бы при отладке видеть PR со всем журналом.

3134

Главный узел не работает.

Спасибо за информацию. Я удалил всю информацию журнала для старых запросов на вытягивание и снова включил узел. К сожалению, количество свободного места на мастере Jenkins по-прежнему очень мало (~ 3,9 ГБ).

@Mistreated Я переместил обсуждение узла hetzner в # 3138. Эта проблема связана с временными сбоями на сервере сборки, а не с неправильной настройкой сервера сборки.

Похоже, создание образов Docker не работает на hetzner-jenkins1 :

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

. Я отключил узел.

Это просто Disk quota exceeded , не хотелось перебивать памятью. Я почистил сейчас. Его снова вверх.

Еще два теста, которые иногда терпят неудачу (# 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

Еще одна ошибка в 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

Боюсь, что https://wiki.jenkins.io/display/JENKINS/Naginator+Plugin - единственный больший шаг вперед.

К сожалению, это не решит проблемы Travis или Cirrus.

Обновили ли мы "Times failed" в стартовом посте? check_external_example_codegen_econf настоящее время происходит довольно часто.

Пытаться обновить стартовый пост или исправить все эти проблемы безнадежно. Нам нужна автоматическая повторная попытка. Я надеюсь, что @Mistreated скоро реализует это на нашем новом сервере.

Что вы думаете о № 3224?

Проблемы решены. Пожалуйста, открывайте новые задачи, если сборки по-прежнему не работают.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги