иногда не запускается процесс
От: pumpurumer  
Дата: 30.07.21 06:01
Оценка:
предыстория:
много лет использовали примерно такой сценарий запуска
при старте винды, вместо шела, запускаем апдейтер (свой)
апдейтер или качает обнову, или сразу запускает приложение.
все работало отлично (примерно лет 12)
а в этом году, появилась плавающая проблема, на некоторых точка, по схеме
апдейтер запустился
апдейтер запускат процесс
процесс ничего не делает.

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

в логах запуска приложения пусто. но первые логи похоже пишутся чуть позже чем нужно

место в приложении, которе запускаем, (в файле с "защитными логами пусто")
using (Mutex myLock = new Mutex(false, "MytexStartGui"))
{
  WriteLogFile("Ожидаем блокировки MytexStartGui");
  if (myLock.WaitOne(1000, false))
  {


как запускается процесс:
targetProcess = Process.Start(prog);
в prog — полный путь до целевого exe
пид у него появляется, HasExited false (добавили логирование состояние).
т.е. грубо говоря процесс висит и ничего не делает. такое происходит примерно на 2..3% точек.


куда копать — не понимаю
в application ничего нету, в системе тоже. (eventlog)
Re: иногда не запускается процесс
От: vaa  
Дата: 30.07.21 06:21
Оценка:
Здравствуйте, pumpurumer, Вы писали:

P>в application ничего нету, в системе тоже. (eventlog)


windows ver?
☭ ✊ В мире нет ничего, кроме движущейся материи.
Re[2]: иногда не запускается процесс
От: pumpurumer  
Дата: 30.07.21 08:48
Оценка:
Здравствуйте, vaa, Вы писали:

vaa>Здравствуйте, pumpurumer, Вы писали:


P>>в application ничего нету, в системе тоже. (eventlog)


vaa>windows ver?


windows embedded standard 7 / windows 7
Re: иногда не запускается процесс
От: Sinclair Россия https://github.com/evilguest/
Дата: 31.07.21 05:48
Оценка:
Здравствуйте, pumpurumer, Вы писали:
P>куда копать — не понимаю
А нельзя запихать логгирование хоть чего-то до того, как будет захваче мутекс?
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re: иногда не запускается процесс
От: ksg71 Германия  
Дата: 31.07.21 10:32
Оценка:
Здравствуйте, pumpurumer, Вы писали:

стектрейс в зависшем процессе или его дампе посмотреть
с WinDbg к примеру
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Re[2]: иногда не запускается процесс
От: pumpurumer  
Дата: 31.07.21 17:59
Оценка:
Здравствуйте, ksg71, Вы писали:

K>Здравствуйте, pumpurumer, Вы писали:


K>стектрейс в зависшем процессе или его дампе посмотреть

K>с WinDbg к примеру

а как сдампить процесс, без его падения из кода? да, я могу погуглить, но возможно подскажите направление?
т.е. например в коде апдейтера написать — делай дамп процесса, если по твоему мнению оно не работает (в принципе — можно понять, что дамп делать нужно).
Re[2]: иногда не запускается процесс
От: pumpurumer  
Дата: 31.07.21 18:00
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, pumpurumer, Вы писали:

P>>куда копать — не понимаю
S>А нельзя запихать логгирование хоть чего-то до того, как будет захваче мутекс?
да, уже добавил. ждем проявления.
но именно перед захватом — логи есть (wait). нет логов до конструктора. есть логи по exception из конструктора (нет его, эксепшена в смысле).
Re[3]: иногда не запускается процесс
От: ksg71 Германия  
Дата: 31.07.21 18:11
Оценка:
Здравствуйте, pumpurumer, Вы писали:

P>Здравствуйте, ksg71, Вы писали:


K>>Здравствуйте, pumpurumer, Вы писали:


K>>стектрейс в зависшем процессе или его дампе посмотреть

K>>с WinDbg к примеру

P>а как сдампить процесс, без его падения из кода? да, я могу погуглить, но возможно подскажите направление?

P>т.е. например в коде апдейтера написать — делай дамп процесса, если по твоему мнению оно не работает (в принципе — можно понять, что дамп делать нужно).

зачем из кода? в TaskManager находишь процесс и в контекстном меню "Create Dump File"
или вот это здесь
вроде умеет автоматически по заданным критериям процессы дампить
Das Reich der Freiheit beginnt da, wo die Arbeit aufhört. (c) Karl Marx
Отредактировано 31.07.2021 18:16 ksg71 . Предыдущая версия .
Re: иногда не запускается процесс
От: pumpurumer  
Дата: 11.08.21 08:01
Оценка: 6 (1)
Здравствуйте, pumpurumer, Вы писали:

P>предыстория:

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

P>потом поддержка подключается, и все запускается двойным кликом мыши.


P>в логах запуска приложения пусто. но первые логи похоже пишутся чуть позже чем нужно


P>место в приложении, которе запускаем, (в файле с "защитными логами пусто")

P>
P>using (Mutex myLock = new Mutex(false, "MytexStartGui"))
P>{
P>  WriteLogFile("Ожидаем блокировки MytexStartGui");
P>  if (myLock.WaitOne(1000, false))
P>  {
P>


P>как запускается процесс:

P>targetProcess = Process.Start(prog);
P>в prog — полный путь до целевого exe
P>пид у него появляется, HasExited false (добавили логирование состояние).
P>т.е. грубо говоря процесс висит и ничего не делает. такое происходит примерно на 2..3% точек.


P>куда копать — не понимаю

P>в application ничего нету, в системе тоже. (eventlog)

проблема связанна с DialogFilterProc
вроде как исправляется в KB2728894

итого, проблема фигурирует как:
.NET Framework-based application that uses the Dialog Filter feature freezes on a computer that is running Windows Embedded POSReady 7 or Windows Thin PC
http://www.microsoft.com/en-us/download/details.aspx?id=34786
https://support.microsoft.com/ru-ru/topic/-net-framework-based-application-that-uses-the-dialog-filter-feature-freezes-on-a-computer-that-is-running-windows-embedded-posready-7-or-windows-thin-pc-ce80c259-54be-f5cc-6af4-c787dff1e413
https://stackoverflow.com/questions/64526847/net-application-is-blocked-on-start-hanging-in-process-explorer-with-1-mb
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.