Re[4]: Thread was being aborted
От: MadHuman Россия  
Дата: 22.02.18 12:54
Оценка:
Здравствуйте, Sinix, Вы писали:

S>См эту ссылку

S>https://haacked.com/archive/2011/10/16/the-dangers-of-implementing-recurring-background-tasks-in-asp-net.aspx/

S>Навешиваем логгинг на unhandled exception & domain unload events,

если аборт происходит только в одном потоке, а остальные остаются и завершаются другие асинхронные инициализации (это видно по нашим логам), и собственно всё работает нормально (кроме тех мест которые рассчитывали на абортнутую инициализацию), это же однозначно говорит о том что AppDomain не был грохнут, верно?

S>если ничего не найдено — проверяем стэк, возможно исключение всё-таки апи выбросило.

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


S>Нет — см предыдущий совет про ilspy и thread.Abort().

в нашем коде 100% нет.
внешние библиотеки на этом этапе ещё не используются, значит не могут быть причиной такого, верно?

S>Как вариант, можно поймать через etw trace, но надо мануалы искать.

S>https://blogs.msdn.microsoft.com/tess/2008/11/06/troubleshooting-appdomain-restarts-and-other-issues-with-etw-tracing/ для начала.
это ещё не раскурил, но спасибо.


S>UPD, да, в аппуле IIS других приложений нет случаем?

нет. всё происходит на отдельном VDS с Win2008 r2 web, это единственный аппул.
настроено так, чтоб аппул рекуклился раз в сутки, собственно при старте такая хрень иногда (редко) и случается.
в течении дня всё ок, никогда подобного не фиксировалось.

всё таки как-то связано с работой процедур инициализации, тк при абортах стэк-трэйсы только в них.

бывают ли какие другие причины (кроме явного вызова кем-то Thread.Abort) когда рант-тайм исходя из каких-то своих соображений абортит поток?..
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.