Я пытаюсь реализовать некоторые хуки, как до, так и после ошибки, однако. Я получаю одно и то же сообщение об ошибке при попытке зафиксировать:
'*-commit' hook failed (did not exit cleanly: apr_exit_why_e was 2, exitcode was
-1073741515). with no output.
Exitcode -1073741515 выглядит странно, и быстрый гугл-фу дал мне следующее:
Обрабатывается как шестнадцатеричное DWORD, код ошибки, который вы видите, 0xC0000135.
То есть Sev = 11, C = 0, R = 0, Facility = 0, Код = 0x0135.
Значение 0xC0000135 можно найти в NtStatus.h со следующим определением
//
// MessageId: STATUS_DLL_NOT_FOUND
//
// MessageText:
//
// {Unable To Locate Component}
// This application has failed to start because %hs was not found.
// Re-installing the application may fix this problem.
//
#define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L)
Хорошо, длл не найден, не должно быть слишком сложно, верно? У меня есть виртуальная машина с SVN, которая мирно с этими крючками. Поэтому я запускаю Filemon.exe и Depends.exe на обеих машинах.
Я все еще слоняюсь по журналам filemon для обоих серверов, и зависит от того, не создает ли я каких-либо уникальных проблем с любым исполняемым файлом, который я могу себе представить, если его ударил Commit Hook.
Я решил быстро взглянуть на журналы событий, и, о Боже!
Хук 'pre-commit' завершился неудачно (не завершился чисто: apr_exit_why_e было 2, код выхода был -1073741515). без вывода. [409, # 165001]
Дополнительные сведения: этот [409, # 165001] повсюду в Google, но я не собираюсь ничего полезного.
Хук явно вызывает исполняемый файл с тремя параметрами.
C: \ SubversionNotify \ SubversionNotify.exe% 1% 2 -pre
Я даже пытался использовать переменные.
SET REPOS=%1
SET REV=%2
C:\SubversionNotify\SubversionNotify.exe %REPOS% %REV% -pre
Просмотр журналов filemon показывает, что он никогда не доходит до SubversionNotify.exe
Наступает момент, когда я не могу тратить гораздо больше времени, пытаясь реализовать это, помогите мне ТАК, вы моя единственная надежда.
Характеристики сервера:
Windows XP, работает на сервере VisualSVN, последняя версия.
Edit:
Кажется, что SubversionNotify выдает исключение, обратно в Depends.exe, чтобы проверить, что DLL не работает.
Ошибка выглядит следующим образом:
Приложение не удалось правильно инициализировать (0xc0000135).
Этот 0xC0000135 был замечен ранее, охота на dll, хой!