Служба TeamCity Build Agent сразу выходит из строя с 1053 'не запустилась своевременно'

2881
Richard Dingwall

У меня машина с Windows XP SP3 с TeamCity 6.5 Build Agent. Я пытаюсь запустить ее под другой учетной записью. Однако, когда я пытаюсь запустить его, он сразу завершается с ошибкой:

Error 1053: The service did not respond to the start or control request in a timely fashion. 

Эта ошибка обычно зарезервирована для случаев, когда службы не запускаются в течение 30 секунд, однако в моем случае ошибка возникает немедленно.

Каковы возможные причины, которые могут быть причиной этой ошибки? Я проверил все, что могу придумать:

  • Служба работает нормально в системе.
  • Это учетная запись домена.
  • Учетная запись домена не заблокирована, а срок действия пароля не истекает.
  • Пароль введен правильно. (да ;)
  • Учетная запись домена добавляется в локальную группу администраторов.
  • Учетной записи домена предоставляется локальная политика безопасности «Вход в систему как служба».

В журнале событий нет ничего, кроме аудита успешности входа и выхода из учетной записи, и службе не удалось запустить ошибку (без дополнительной информации, кодов выхода или трассировки стека). В каталоге C: \ BuildAgent \ logs файлы не создаются, поэтому я не думаю, что этот процесс вообще начинается.

2
Есть ли другой сервис, на который он полагается, который не запускается / не работает? jmreicha 12 лет назад 1
Не думал об этом, но нет, сервис не имеет зависимостей. Richard Dingwall 12 лет назад 0
Хорошо. Оказалось, что это _в_ проблема с рассматриваемой службой. Извините, я должен был быть чистым в начале. Richard Dingwall 12 лет назад 0

2 ответа на вопрос

3
Richard Dingwall

Там не было никаких файлов, созданных в C:\BuildAgent\logs, но в C:\BuildAgent\launcher\bin\wrapper.logя нашел следующее сообщение об ошибке:

FATAL | wrapper | 2011/10/13 18:00:08 | Unable to access registry to obtain environment variables - The operation completed successfully. (0x0) 

Похоже, что TeamCity Build Agent запущен Java Service Wrapper с открытым исходным кодом от Tanuki. Сообщение об ошибке возникает при запуске оболочки, она извлекает все переменные окружения из реестра и вставляет их в текущий контекст для wrapped-приложения ( исходный код с сообщением об ошибке здесь ).

Оболочка немедленно завершается, если отсутствует один из следующих ключей:

  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Диспетчер сеансов \ Среда \
  • HKEY_CURRENT_USER \ Environment \

В моем случае второй ключ по какой-то причине отсутствовал. Но выполнение следующей команды (в контексте рассматриваемого пользователя) заполнило требуемый ключ, и агент сборки TeamCity смог запуститься.

runas /user:MYDOMAIN\MyUser REG ADD "HKCU\Environment" /v "Foo" /d "Bar" 
Большое спасибо за это решение! Мне просто нужно было создать ключ «HKEY_CURRENT_USER \ Environment» с помощью regedit, и «Сервис агента сборки TeamCity» можно было запустить снова. Dimitri C. 12 лет назад 0
0
CoreTech

Это может быть проблема с разрешениями. Имеет ли служба доступ к каким-либо ресурсам, которые пользователь не имеет прав на использование?