Summary: | Wine-tests: мелкие ошибки, не требующие создание отдельной баги | ||
---|---|---|---|
Product: | [Свободные проекты (Open source projects)] WINE-tests | Reporter: | Виталий Перов <vitperov> |
Component: | Общее | Assignee: | Виталий Перов <vitperov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | minor | ||
Priority: | P4 | CC: | amorozov, baraka, lav, mdevaev |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 6424, 6467 | ||
Bug Blocks: | 6264 | ||
Attachments: |
Письмо с патчем
Ещё одно письмо с патчем Патч 1 Патч 2 ping-patch-1 ping-patch-2 ping-patch-3 ping-patches-mail Патч для eterhack |
Description
Виталий Перов
2010-10-22 18:48:38 MSD
При запуске скрипта возникает исключение: Result = 0 Unhandled exception: Traceback (most recent call last): File "/srv/builder/Projects/wine-tests/apply_new_patches.py", line 57, in <module> result = patch.apply_with_tests() File "/srv/builder/Projects/wine-tests/wine_repository.py", line 248, in apply_with_tests results_before = repo.run_tests(self.tests, ".before") File "/srv/builder/Projects/wine-tests/wine_repository.py", line 148, in run_tests result = self.run_test(test, postfix) File "/srv/builder/Projects/wine-tests/wine_repository.py", line 128, in run_test return Fasle NameError: global name 'Fasle' is not defined Вторая проблема: Unhandled exception: Traceback (most recent call last): File "/srv/builder/Projects/wine-tests/apply_new_patches.py", line 57, in <module> result = patch.apply_with_tests() File "/srv/builder/Projects/wine-tests/wine_repository.py", line 234, in apply_with_tests result = self.find_tests_to_run() File "/srv/builder/Projects/wine-tests/wine_repository.py", line 175, in find_tests_to_run self.debug("Skip tests for file '", + filename + "'") TypeError: bad operand type for unary +: 'str' Исправил Следующая проблема: Traceback (most recent call last): File "/srv/builder/Projects/wine-tests/apply_new_patches.py", line 57, in <module> result = patch.apply_with_tests() File "/srv/builder/Projects/wine-tests/wine_repository.py", line 271, in apply_with_tests failed = self.is_failed_tests(results_before, results_after) File "/srv/builder/Projects/wine-tests/wine_repository.py", line 213, in is_failed_tests self.debug("Failed test '" + res_before[i] + "'") TypeError: cannot concatenate 'str' and 'bool' objects Временно добавил преобразование в строку. Последующий запуск покажет реальную проблему. Последующий запуск: Unhandled exception: Traceback (most recent call last): File "/srv/builder/Projects/wine-tests/apply_new_patches.py", line 57, in <module> result = patch.apply_with_tests() File "/srv/builder/Projects/wine-tests/wine_repository.py", line 271, in apply_with_tests failed = self.is_failed_tests(results_before, results_after) File "/srv/builder/Projects/wine-tests/wine_repository.py", line 213, in is_failed_tests self.debug("Failed test '" + res_before[i] + "'") TypeError: cannot concatenate 'str' and 'bool' objects Проблему вызывает патч: 0001-winex11.drv-Fix-XF86AudioMute-problem-with-SBIS-eterbu.txt Попробовал приложить в режиме локального тестирования - заметил новую ошибку: надо указывать полный путь к файлу т.к текущая директория позже меняется > надо указывать полный путь к файлу т.к текущая директория позже
> меняется
>
Исправил
Проблема в следующем: diff: False: Нет такого файла или каталога Получившаяся комманда: diff False False >/dev/null В логах: ERROR: wine_repository: the patch '/home/vitperov/Projects/wine-dev/dlls/winex11.drv/tests/winex11.drv_test.exe.so' doesn't exists. Maybe this dll have no tests? А на почту это сообщение не приходит... Проверил. у данной dll вообще нет тестов. Исправил проблему. Патчи успешно приложились в репозиторий Created attachment 1933 [details]
Письмо с патчем
Не приложился патч из приаттаченного письма.
После отправки пришло письмо с заголовком "Cron <builder@builder> /srv/builder/Projects/wine-tests/apply_new_patches.py", содержащее лог, оканчивающийся следующими строчками:
../../include/wine/etersoft.h:163: warning: 'etersoft_1version' defined but not used
../../include/wine/etersoft.h:169: warning: 'etersoft_fix_driver' defined but not used
Result = 0
Unhandled exception:
Traceback (most recent call last):
File "/srv/builder/Projects/wine-tests/apply_new_patches.py", line 81, in <module>
result = patch.apply_with_tests()
File "/srv/builder/Projects/wine-tests/wine_repository.py", line 246, in apply_with_tests
if len(self.tests) < 1:
AttributeError: wine_patch instance has no attribute 'tests'
Created attachment 1934 [details]
Ещё одно письмо с патчем
Не приложился патч из приаттаченного письма.
После отправки пришло два письма. Первое с заголовком "Cron <builder@builder> /srv/builder/Projects/wine-tests/apply_new_patches.py". Содержимое оканчивается на:
fixme:storage:StgOpenStorage STGM_PRIORITY mode not implemented correctly
fixme:storage:StgOpenStorage STGM_PRIORITY mode not implemented correctly
fixme:storage:StgOpenStorage STGM_PRIORITY mode not implemented correctly
Result = 0
Result = 0
Result = 256
Второе письмо - пустое с заголовком "Your patch is rejected ([eterhack] ole32: Prevent a crash of tests on wine.)"
Из полученных писем непонятно, почему патч rejected: не удалось приложить, не собралось после прикладывания, не прошли какие-то тесты?
Спасибо! По поводу первого падения - вроде всё понятно. А вот со вторым случаем надо смотреть логи. Скрипт запускается под пользователем builder@builder. В связи с багой 6299 у меня пропал доступ под этим пользователем. Пока ни логи посмотреть не могу, ни скрипт обновить (In reply to comment #7) > Created an attachment (id=1933) [details] > Письмо с патчем Саша, не мог бы ты приложить патчи вместо писем? Created attachment 1936 [details]
Патч 1
Created attachment 1937 [details]
Патч 2
> if len(self.tests) < 1:
> AttributeError: wine_patch instance has no attribute 'tests'
>
Исправил.
Проверил локально - патч прикладывается.
Включил отсылку отладочных сообщений автору патча.
Обновил скрипт на builder Заново склонировал репозиторий eterwine (возникла проблема из-за частичного приложения предыдущих патчей) Включил запуск через cron. Проверил второй патч: DEBUG:Diff command:diff /home/vitperov/tmp/wine-tests/storage32.tst.before /home/vitperov/tmp/wine-tests/storage32.tst.after >/dev/null Похоже это именно тот, случай, когда наш патч что-то меняет в тестах. Надо разобраться
> Похоже это именно тот, случай, когда наш патч что-то меняет в тестах.
> Надо разобраться
>
Исправил. Все подробности в баге 6271.
Перестал запускаться скрипт. Падает при обновлении eterwine: [builder-robot@builder wine-tests]$ ./apply_new_patches.py Unhandled exception: Traceback (most recent call last): File "./apply_new_patches.py", line 65, in <module> repo.update() File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 44, in update result = origin.pull() File "/usr/lib/python2.6/site-packages/git/remote.py", line 674, in pull return self._get_fetch_info_from_stderr(proc, progress or RemoteProgress()) File "/usr/lib/python2.6/site-packages/git/remote.py", line 610, in _get_fetch_info_from_stderr assert len(fetch_info_lines) == len(fetch_head_info) AssertionError Добавил перехват исключения AssertionError. Работает Попробовал ещё раз отправить приаттаченный сюда "Патч 1" в wine-patches-test. Ответа не пришло. В репозитории ничего не закоммитилось. Посмотрел логи. Проблема была при обновлении репозиториев. В репозитории eter-1.0.12 осталась временная ветка tmp после предыдущей неудачной попытки, поэтому обновление не проходило. Можно попробовать ещё раз отправить. Письмо с ответом придти должно, но публикация репозиториев по-прежнему не работает. Можно будет проверять после решения баги 6424 нашёл причину, почему остаётся ветка tmp: raise GitCommandError(command, status, stderr_value) GitCommandError: 'git branch -d tmp' returned exit status 1: error: The branch 'tmp' is not fully merged. If you are sure you want to delete it, run 'git branch -D tmp'. Проблема в том, что скрипт не вызывает напрямую комманду git. Видимо в этом случае придётся всемсто библиотечной функции использовать git напрямую. Исправил. Должно работать. (In reply to comment #23) > Исправил. Должно работать. > И всё-таки не работает. Вылезают какие-то ошибки о обновлением репозитория: [15:59:26]DEBUG: wine_repository: Update repository ETERWINE [15:59:26]DEBUG: wine_repository: Some error occured during update [15:59:26]DEBUG: wine_repository: Update repository ETERHACK [15:59:26]DEBUG: wine_repository: Some error occured during update [15:59:26]DEBUG: wine_repository: Update repository ETER-1.0.12 [15:59:27]DEBUG: wine_repository: Some error occured during update После последней отправки патча 1 пришло письмо с таким содержимым: DEBUG:Initialization. File='/srv/builder-robot/tmp/wine-tests/0001-crypt32-tests-Fix-tests-for-enveloped-messages-on-Win9.txt' DEBUG:apply_with_tests call DEBUG:test_apply call DEBUG:The patch provides tests. It will be applyed without any testing DEBUG:Nothing to test. Skip DEBUG:Nothing to test. The patch is good for this repository DEBUG:test_apply call ERROR:The path doesn't apply to the repository 'ETER-1.0.12' DEBUG:Can be applied to 1 repositories from 2 Непонятно, что означает "The path doesn't apply to the repository 'ETER-1.0.12'". Что значит "путь не применяется к репозиторию"?
> ERROR:The path doesn't apply to the repository 'ETER-1.0.12'
Исправил
Отправил сегодня снова патч 1. Ответа не пришло, ничего не закоммитилось. (In reply to comment #27) > Отправил сегодня снова патч 1. Ответа не пришло, ничего не > закоммитилось. > Удалил ветку из репозиториев etehack и eter-1.0.12. Теперь падения быть не должно. По поводу этого заведена бага 6467 Вчера отправил три патча для eter-1.0.12 на wine-patches@etersoft.ru, пришел ответ, что они не приняты. Во вложениях текст письма и патчи. Created attachment 1971 [details]
ping-patch-1
Created attachment 1972 [details]
ping-patch-2
Created attachment 1973 [details]
ping-patch-3
Created attachment 1974 [details]
ping-patches-mail
Ну и да, заголовок письма был таким: Fwd: [eter-1.0.12] [eterhack] Working ping (fix eterbug #2383) 1) Ответы должны были придти на каждый патч. Пришёл только один ответ? 2) Патчи сам попробую приложить в среду. 3) Пока о полученном логе: ETERHACK: rror: patch failed: programs/ping/Makefile.in:5 error: programs/ping/Makefile.in: patch does not apply error: programs/ping/ping.c: does not exist in index Интересна именно последняя строчка. Похоже файла programs/ping/ping.c вообще нет в репозитории etherhack. Ты пробовал прикладывать у себя патч к eterhack? ETER-1.0.12: error: patch failed: programs/ping/ping.c:25 error: programs/ping/ping.c: patch does not apply Тут могу сказать только то, что не прикладывается. Вообще, явной ошибки робота тут нет. Вижу две возможных причины: 1) Больше похоже на то, что сам патч не совсем корректный. 2) Возможно локальный репозиторий для робота не корректный Максим, ты не мог бы ещё раз проверить свою локальную версию репозиториев eterhack и eter-1.0.12. И ещё раз попробовать приложить патчи локально. Если проблема в роботе, попробую исправить в среду. Патчи правильные, ну да ладно. Я их адаптирую к master и в мейнстрим отправлю. Посмотрел локальный репозиторий для скрипта. Там всё нормально. Кажется понял в чём проблема. Когда ты отправляешь патч в два репозитория, и он не прикладывается к одному из них, то по задумке он и откатывается из второго. Попробуй, пожалуйста, ещё раз отправить патчи ТОЛЬКО для eter-1.0.12 Приложились, спасибо Отправлял недавно патчи. Пришло письмо с логом, в котором были такие строчки: GitCommandError: 'git am /srv/builder-robot/tmp/wine-tests/0001-server-get_inode-can-create-an-inode-prevent-creating-.txt' returned exit status 1: /usr/libexec/git-core/git-am: line 158: /srv/builder-robot/tmp/wine-tests/0001-server-get_inode-can-create-an-inode-prevent-creating-.txt: No such file or directory Отправил сегодня патч в wine-patches-test пару раз. Никакого ответа не пришло, ничего не приложилось. > returned exit status 1: /usr/libexec/git-core/git-am: line 158: > /srv/builder-robot/tmp/wine-tests/0001-server-get_inode-can-create-an-inode-prevent-creating-.txt: > No such file or directory Поскольку патч уже приложен, то трудно это воспроизвести. Отложу на потом. >Отправил сегодня патч в wine-patches-test пару раз. Никакого ответа не пришло, >ничего не приложилось. Проверил репозитории eterhack и 1.0.12. С ними всё в порядке. Посмотрел в логе - там записи только за сегодняшний день. Видимо надо переделать систему создания логов. Саша, приложи, пожалуйста, патч к баге. Попробую сам приложить и проверить. Created attachment 2027 [details] Патч для eterhack > Саша, приложи, пожалуйста, патч к баге. Попробую сам приложить и проверить. Думаю, что эта проблема от патча не зависит. Максим, например, тоже с ней столкнулся. > Думаю, что эта проблема от патча не зависит. Максим, например, тоже с ней
> столкнулся.
Скорее всего не зависит. Просто проверять на чём-то же надо. Не посылать же левые патчи.
Если письма не посылаются, то скорее всего где-то происходит падение.
За это отвечает бага #6467. Сделал патч.
Если там действительно происходит падение, то теперь должны приходить письма с логом падения.
Уже можно проверять.
Разобрался. Проблема была в другом: Кто-то послал пустое письмо без патча. В этом случае письмо не удалялось, и повторная проверка начиналась именно с него. Исправил. Теперь, при следующем запуске, все посланные ранее патчи должны обработаться. Мои патчи приложились, все нормально, я сделал pull, они на месте. Правда, потом пришло странное письмо: ------------------- [11:30:05]DEBUG: wine_patch: Initialization. File='/srv/builder-robot/tmp/wine-tests/0001-Working-implementation-of-the-ping.patch' [11:54:29]DEBUG: wine_patch: apply_with_tests call [11:54:29]DEBUG: wine_patch: test_apply call [11:54:29]DEBUG: wine_repository: Repository 'ETERHACK'. Applying the commit file /srv/builder-robot/tmp/wine-tests/0001-Working-implementation-of-the-ping.patch [11:54:29]ERROR: wine_repository: Can't apply the patch:Traceback (most recent call last): File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 65, in apply_commit result = self.git.execute(["git", "am", filename]) File "/usr/lib/python2.6/site-packages/git/cmd.py", line 341, in execute raise GitCommandError(command, status, stderr_value) GitCommandError: 'git am /srv/builder-robot/tmp/wine-tests/0001-Working-implementation-of-the-ping.patch' returned exit status 1: /usr/libexec/git-core/git-am: line 158: /srv/builder-robot/tmp/wine-tests/0001-Working-implementation-of-the-ping.patch: No such file or directory [11:54:29]DEBUG: wine_repository: aborting... [11:54:29]ERROR: wine_repository: Can't abort the patch applying: Traceback (most recent call last): File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 70, in apply_commit self.git.execute(["git", "am", "--abort"]) File "/usr/lib/python2.6/site-packages/git/cmd.py", line 341, in execute raise GitCommandError(command, status, stderr_value) GitCommandError: 'git am --abort' returned exit status 1: Resolve operation not in progress, we are not resuming. [11:54:29]ERROR: wine_patch: The patch doesn't apply to the repository 'ETERHACK' [11:54:29]DEBUG: wine_patch: Can be applied to 0 repositories from 1 ------------------- (В ответ на comment #45) > Мои патчи приложились, все нормально, я сделал pull, они на месте. Правда, > потом пришло странное письмо: Всё правильно, это патчи, посланные повторно. Просто они накапливались в почтовом ящике: и старые и новые. Почему-то не прикладывается патч. В пришедшем письме такая ошибка: [14:58:10]ERROR: wine_repository: Error occured during the 'git push'. Backtrace:Traceback (most recent call last): File "/srv/builder-robot/Projects/wine-tests/git_repository.py", line 55, in publish self.git.execute(["git", "push", "origin", master_name]) File "/usr/lib/python2.6/site-packages/git/cmd.py", line 341, in execute raise GitCommandError(command, status, stderr_value) GitCommandError: 'git push origin eterhack' returned exit status 1: To git.office:/projects/eterhack.git ! [rejected] eterhack -> eterhack (non-fast-forward) error: failed to push some refs to 'git.office:/projects/eterhack.git' To prevent you from losing history, non-fast-forward updates were rejected Merge the remote changes (e.g. 'git pull') before pushing again. See the 'Note about fast-forwards' section of 'git push --help' for details. (В ответ на comment #47) > Почему-то не прикладывается патч. В пришедшем письме такая ошибка: > ! [rejected] eterhack -> eterhack (non-fast-forward) Ну, это не совсем ошибка скрипта. Во время пока скрипт проверял правильность патча репозиторий обновили. Повторная отправка патча должна с работать. А вообще да, согласен, надо как-то продумать, чтобы не посылать патч повторно. > Ну, это не совсем ошибка скрипта. Во время пока скрипт проверял правильность
> патча репозиторий обновили. Повторная отправка патча должна с работать.
После того, как это произошло, я сделал git fetch, но ничего не получил, не похоже, что репозиторий менялся.
Вообще, я этот патч три раза отправлял, в итоге просто сделал git push из своего репозитория. (В ответ на comment #50) > Вообще, я этот патч три раза отправлял, в итоге просто сделал git push из > своего репозитория. И все три раза приходили аналогичные ответы? > И все три раза приходили аналогичные ответы?
Да. Сегодня отправлял другой патч - тоже самое.
Ясно. Скорее всего проблема с локальным репозиторием скрипта. Проверил. Репозиторий не обновлялся: error: The following untracked working tree files would be overwritten by merge Удалил мешающие файлы. Сделал git pull. Теперь всё должно работать Что-то ничего не работает. Ответные письма не приходят, в репозиторий ничего не коммитится. (В ответ на comment #54) > Что-то ничего не работает. Ответные письма не приходят, в репозиторий ничего не > коммитится. Проблема опять в том, что при некорректном завершении не удаляется ветка tmp (бага 6656). Пока удалил вручную. Опять не приходят письма и не прикладываются патчи. Дважды отправил письмо "[eter-1.0.12] Variable limits for setwinelimit", ответа нет. Разобрался. Проблема с публикацией репозитория. Скрипт говорит, что публикация прошла успешно, хотя на самом деле ничего не опубликовалось. Опубликовал 1.0.12 и eterhack вручную. Те патчи, которые приложились теперь опубликованы. Новые патчи пока посылать не имеет смысла. Постараюсь за сегодня исправить проблему Исправлять ничего не пришлось. Всё работает. Патчи можно присылать После отправки патча пришло письмо со странным сообщением: [21:08:42]ERROR wine_repository: the patch '/srv/builder-robot/Projects/eterhack-test/dlls/winemapi/tests/winemapi_test.exe.so' doesn't exists. Maybe this dll have no tests? Робот работает более-менее стабильно. Незначительных проблем не предвидится. Багу закрываю Возникла проблема с отправкой патчей. Робот присылал ответ с сообщением "The patch doesn't match to any repository". Оказалось, что письма с заголовком "[Wine-patches] [eterhack] Update ETER_AUTHORS." доходят до робота как "[Wine-patches] =?utf-8?q?=5Beterhack=5D_Update_ETER=5FAUTHORS=2E?=", и он не находит тег [eterhack]. Сделал, чтобы заголовок перекодировался. |