Сбой тестовых случаев 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.
@ petermax2 есть идеи?
Похоже, это тоже влияет на 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.
@ 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, если эта ошибка произойдет.
Кстати. Я не уверен, сохраняется ли эта проблема. Я их в последнее время не видел.
Кстати. Я не уверен, сохраняется ли эта проблема. Я их в последнее время не видел.
Спасибо за напоминание. А на других системах сборки проблемы никогда не возникало?
А на других системах сборки проблемы никогда не возникало?
Возможно, но согласно описанию проблемы # 2439 testmod_fcrypt
регулярно дает сбой только на сервере сборки Jenkins.
Если кто-то заметит сбой, опубликуйте его здесь.
Мы также наблюдали ту же самую ошибку, вызванную testmod_crypto
в Debian Unstable во время последнего PR (# 3395).
Я перепишу этот раздел, чтобы использовать 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
).
Я не видел, чтобы эти тесты терпели неудачу с тех пор, как были внесены эти улучшения. Думаю, его можно смело закрывать.
Рад слышать, что теперь он работает. Спасибо за ваш отзыв!
Самый полезный комментарий
@ petermax2 переписал части крипто-тестов и переместил их в отдельные задания CI (
debian-buster-cryptoplugins
иdebian-stretch-cryptoplugins
).Я не видел, чтобы эти тесты терпели неудачу с тех пор, как были внесены эти улучшения. Думаю, его можно смело закрывать.