Libelektra: fcrypt / gpgme / crypto: тестовый пример не выполняется

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

Сбой тестовых случаев Fcrypt на мастере:

122/131 MemCheck  #93: testmod_fcrypt ...................***Failed   29.99 sec

OK closing connection

Terminating gpg-agent returned with status “256”FCRYPT       TESTS

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


/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:161: error in test_gpg: failed to install the GPG test key

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:189: error in test_file_crypto_operations: kdb set failed

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:190: error in test_file_crypto_operations: file content did not change during encryption

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:193: error in test_file_crypto_operations: kdb get (pregetstorage) failed

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:197: error in test_file_crypto_operations: kdb get (postgetstorage) failed

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:198: error in test_file_crypto_operations: postgetstorage did not encrypt the file again

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:233: error in test_file_signature_operations: kdb set failed

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:234: error in test_file_signature_operations: file content did not change during encryption

/home/jenkins/workspace/libelektra_master-Q2SIBK3KE2NBEMJ4WVGJXAXCSCB77DUBUULVLZDKHQEV3WNDXBMA/src/plugins/fcrypt/testmod_fcrypt.c:237: error in test_file_signature_operations: kdb get failed


fcrypt Results: 39 Tests done — 9 errors.

https://build.libelektra.org/jenkins/blue/organizations/jenkins/libelektra/detail/master/361/pipeline

@ petermax2 есть идеи?

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

@ petermax2 переписал части крипто-тестов и переместил их в отдельные задания CI ( debian-buster-cryptoplugins и debian-stretch-cryptoplugins ).

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

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

Похоже, это тоже влияет на gpgme:

 62/137 MemCheck #103: testmod_gpgme ....................***Failed   44.22 sec

GPGME        TESTS

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

[repetitions cut]


GPGME        TESTS

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


OK closing connection

Terminating gpg-agent returned with status “256”GPGME        TESTS

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


/home/jenkins/workspace/libelektra_PR-1950-LKQXQDFYJCAZVRKFRKER3H4ZYYVI5QHMP5O7HG5TCW7WRVITCO5A/src/plugins/gpgme/testmod_gpgme.c:227: error in test_encryption_decryption: kdb get failed

/home/jenkins/workspace/libelektra_PR-1950-LKQXQDFYJCAZVRKFRKER3H4ZYYVI5QHMP5O7HG5TCW7WRVITCO5A/src/plugins/gpgme/testmod_gpgme.c:243: error in test_encryption_decryption: key type not restored to string during decryption

/home/jenkins/workspace/libelektra_PR-1950-LKQXQDFYJCAZVRKFRKER3H4ZYYVI5QHMP5O7HG5TCW7WRVITCO5A/src/plugins/gpgme/testmod_gpgme.c:244: error in test_encryption_decryption: key content not restored during decryption

/home/jenkins/workspace/libelektra_PR-1950-LKQXQDFYJCAZVRKFRKER3H4ZYYVI5QHMP5O7HG5TCW7WRVITCO5A/src/plugins/gpgme/testmod_gpgme.c:254: error in test_encryption_decryption: key content not restored during decryption


gpgme Results: 45 Tests done — 4 errors.

https://build.libelektra.org/jenkins/blue/organizations/jenkins/libelektra/detail/PR-1950/34/pipeline

@ petermax2 есть идеи?

если честно нет. Коды возврата не являются документами, но они могут означать:

./src/gpg-error.h.in:968:#define GPGRT_LOG_RUN_DETACHED 256
./src/gpg-error.h.in:1175:#define ARGPARSE_FLAG_STOP_SEEN 256  /* Set to true if a "--" has been seen. */

Я не мог найти значение 256 , просматривая код.

Также не могу воспроизвести проблему локально, как обычно. :разочарованный:

Спасибо, что заглянули!

Воспроизведение будет довольно сложным, кажется, что это происходит только спорадически и только в основной ветке ( @sanssecours или вы видели это также в PR?).

Кто печатает

OK closing connection

и

Terminating gpg-agent returned with status “256”

?

Я видел это эпизодически, работая над пиаром. Он исчез после восстановления.

Думаю, я тоже видел это на моих личных джинсах при очень высокой нагрузке. Возможно ли, что здесь что-то закончится?

Возможно ли, что здесь что-то закончится?

Может быть! В зависимости от реализации libassuan.

Обновление статуса: я до сих пор не знаю, как решить эту проблему. Любые идеи приветствуются!

Спасибо за обновление!

Я думаю, что путь вперед - сообщить об этом людям из GPG. Мы уже знаем все, что имеет отношение к делу, например, код выхода. Но только они могут (если вообще есть) интерпретировать, как это может происходить.

Если они скажут: о, да, эта ошибка иногда возникает, мы должны учитывать, что наши плагины снова запускают gpg, если эта ошибка произойдет.

Кстати. Я не уверен, сохраняется ли эта проблема. Я их в последнее время не видел.

Кстати. Я не уверен, сохраняется ли эта проблема. Я их в последнее время не видел.

Мы отключили testmod_fcrypt на сервере сборки Jenkins .

Спасибо за напоминание. А на других системах сборки проблемы никогда не возникало?

А на других системах сборки проблемы никогда не возникало?

Возможно, но согласно описанию проблемы # 2439 testmod_fcrypt регулярно дает сбой только на сервере сборки Jenkins.

Если кто-то заметит сбой, опубликуйте его здесь.

Мы также наблюдали ту же самую ошибку, вызванную testmod_crypto в Debian Unstable во время последнего PR (# 3395).

https://github.com/ElektraInitiative/libelektra/blob/2e6a5795fde79158f3102c04859dc1091a9dc1d8/src/plugins/crypto/gpgagent_teardown.h#L15

Я перепишу этот раздел, чтобы использовать execv , чтобы лучше понять, что происходит на сервере сборки.

Если ошибка повторится, повторно откройте эту проблему.

Ошибка произошла снова, я все еще ищу.

Пожалуйста, свяжитесь со мной, если ошибка повторится.

Снова случилось с

 80/137 MemCheck  #87: testmod_gpgme ....................***Failed   43.49 sec

GPGME        TESTS

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

[... mpranj truncated a little bit here ...]

GPGME        TESTS

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



/home/jenkins/workspace/libelektra_PR-3419/src/plugins/gpgme/testmod_gpgme.c:227: error in test_encryption_decryption: kdb get failed

/home/jenkins/workspace/libelektra_PR-3419/src/plugins/gpgme/testmod_gpgme.c:243: error in test_encryption_decryption: key type not restored to string during decryption

/home/jenkins/workspace/libelektra_PR-3419/src/plugins/gpgme/testmod_gpgme.c:244: error in test_encryption_decryption: key content not restored during decryption

/home/jenkins/workspace/libelektra_PR-3419/src/plugins/gpgme/testmod_gpgme.c:254: error in test_encryption_decryption: key content not restored during decryption



gpgme Results: 45 Tests done — 4 errors.

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

Думаю, это та же (или очень похожая) ошибка, связанная с gpg. Не думаю, что стоит открывать еще один вопрос.

gpgme (или gpgme в сочетании с valgrind), похоже, вызывает проблемы, если вывод stdout и stderr перенаправляется.

GPGME        TESTS
==================

==155492== Warning: invalid file descriptor 1012 in syscall close()
==155492== Warning: invalid file descriptor 1013 in syscall close()
==155492== Warning: invalid file descriptor 1014 in syscall close()
==155492== Warning: invalid file descriptor 1015 in syscall close()
==155492==    Use --log-fd=<number> to select an alternative log fd.
==155492== Warning: invalid file descriptor 1016 in syscall close()
==155492== Warning: invalid file descriptor 1017 in syscall close()
==155492== Warning: invalid file descriptor 1018 in syscall close()
==155491== 
==155491== HEAP SUMMARY:
==155491==     in use at exit: 25,235 bytes in 176 blocks
==155491==   total heap usage: 802 allocs, 626 frees, 119,751 bytes allocated
==155491== 
==155491== LEAK SUMMARY:
==155491==    definitely lost: 0 bytes in 0 blocks
==155491==    indirectly lost: 0 bytes in 0 blocks
==155491==      possibly lost: 0 bytes in 0 blocks
==155491==    still reachable: 23,146 bytes in 163 blocks
==155491==         suppressed: 2,089 bytes in 13 blocks
==155491== Reachable blocks (those to which a pointer was found) are not shown.
==155491== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==155491== 
==155491== For counts of detected and suppressed errors, rerun with: -v
==155491== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
GPGME        TESTS
==================


gpgme Results: 45 Tests done — 0 errors.
==155462== 
==155462== HEAP SUMMARY:
==155462==     in use at exit: 4,833 bytes in 39 blocks
==155462==   total heap usage: 955 allocs, 916 frees, 698,713 bytes allocated
==155462== 
==155462== LEAK SUMMARY:
==155462==    definitely lost: 0 bytes in 0 blocks
==155462==    indirectly lost: 0 bytes in 0 blocks
==155462==      possibly lost: 0 bytes in 0 blocks
==155462==    still reachable: 3,241 bytes in 35 blocks
==155462==         suppressed: 1,592 bytes in 4 blocks
==155462== Reachable blocks (those to which a pointer was found) are not shown.
==155462== To see them, rerun with: --leak-check=full --show-leak-kinds=all
==155462== 
==155462== For counts of detected and suppressed errors, rerun with: -v
==155462== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Думаю, это объясняет, почему результаты теста многократно записываются в файлы журнала.

GPGME        TESTS
==================

[truncated output]

GPGME        TESTS
==================

GPGME        TESTS
==================


gpgme Results: 45 Tests done — 0 errors.

Исправлена ​​ли эта проблема сейчас?

@ petermax2 переписал части крипто-тестов и переместил их в отдельные задания CI ( debian-buster-cryptoplugins и debian-stretch-cryptoplugins ).

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

Рад слышать, что теперь он работает. Спасибо за ваш отзыв!

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