Здравствуйте, Carc, Вы писали:
C>А если шутки в сторону… C>Application Verifier + LuaPriv ключевые слова
Прочитал и долго гадал, при чём тут Lua?... Ещё больше грузанулся, когда "LuaPriv" (also known as UAC checks).
И только потом оказалось The Limited User Account Privilege Predictor
Этому человечеству уже не хватает букв
Здравствуйте, icezone, Вы писали:
I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть, I>но может быть я что-то упустил?
Ну если программа именно стабильно висит, можно попробовать попросить его сделать дамп процесса (благо в последних версиях Windows это можно делать из Task Manager) и уже самому смотреть на чем повисло.
По поводу непонятных зависаний в чуть более ранних версиях Far у меня наблюдалась похожая ситуация, когда я включал режим "сохранять позицию папок" (или как-то так — суть в том, что при последующем открытии Far пытался восстановить панели, как они были при закрытии, т.е. открыть те же пути), завершал работу на каком-то сетевом ресурсе, который при следующем открытии был недоступен.
В этом случае Far висел до момента получения таймаута.
Увы, о вашей программе я ничего не знаю — предполагать больше ничего не могу.
А если шутки в сторону… Application Verifier + LuaPriv ключевые слова
Моя шорт-стори парунедельной давности примерно такая.
В силу не важных причин, дал полный доступ к своей машинке пару недель назад пока по дачам\тещам\огородам\тагил_рулит. Не суть. В общем, врубилили мои "дружбаны_мать_их" мне автообновления винды и что характерно именно на семерке.
Долго-ли-коротко, но каким-то образом моя аппликуха отлично работающая попала в этом самый Microsoft Verifier с включенным тестом LuaPriv… И случилось это аккурат после очередного автоматического наката обновления Винды, а поскольку автоматом я кагбэ и не в курсе был.
Обнаружилось после суток медитаций, уже под ночь когда я с отладчиком наперевес ринулся уже на сам релизный бинарник, по подозрительной строке "LuaPriv injected". Ну а когда дошло до отладочной версии там и вовсе начались чудеса. В одном из самых что ни на есть стартовом куске кода вдруг GetVersionEx начала выдавать номера версий винды 8.2 , чего в принципе быть не может (судя по мсднъ), причем RtlGetVersion выдавала нормальный ответ, а стандартная GetVersion(ex) врала так, что мама не горюй.
Лётало да падало всё подряд вообще безо всяких видимых причинно-следственных связей, то через секунду, то через пяток. Гугл выручил по ключевому слову LuaPriv. Как только отрубил эту хрень, всё пришло в норму.
Уж не знаю помогут ли чем-то мои мысли, но всё же… Опять же я еще под впечатлением суточной медитации на предмет, что твориться…
Здравствуйте, icezone, Вы писали:
I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть, I>но может быть я что-то упустил?
При установке программы файл может моментально инфицироваться вирусом, код вируса наверняка запускается раньше приложения, и возможно он сбоит.
Тогда симптомы будут такие какие есть.
Ставь на файл цифровую подпись и проси пользователя, перед запуском файла, эту подпись проверить. Если валидна, то мое предположение не верно.
Или пусть пришлет этот exe после запуска, чтобы ты сам проверил.
Здравствуйте, icezone, Вы писали:
I>Наконец-то получил первые скриншоты, ситуация выглядит немного иначе:
I>- на экране есть пустое главное окно (в заголовке нет указания что оно не отвечает) I>- виндовое сообщение об ошибке выглядит иначе https://community.norton.com/en/system/files/u279953/desktop001.jpg I> т.е в Windows 7 окошко в старом стиле. I>- консольного окна вообще нет, как такое возможно?
Пусть биос обновит. Может у него новое поколение процессоров от интел
Здравствуйте, icezone, Вы писали:
I>инициализация модулей происходит во время Application.Initialize
Секция initialization в используемых юнитах вызывается до любого кода в dpr. У меня как-то на запуске падала сторонняя библиотека в этой секции, причём на моих тестовых машинах не падала никогда.
Пришел мне недавно запрос на рефанд, разумеется по самой дорогой лицензии.
Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась.
Причем пробовал на Windows 7 и Windows XP и результат один и тот же — program is not responding.
Само по себе это странно — в программе проверки на каждый чих стоят, длинных циклов нет.
Программа на Delphi, сторонних компонентов практически нет, а те что есть используются и в бесплатной версии.
Включил логгирование в файл — говорит файл не создается.
Собрал с madexcept — снова Windows сообщает что программа перестала отвечать сразу на старте.
Собрал с консольным окном, которое вызывается через AllocConsole в начале dpr файла — ничего не изменилось.
Собственно говоря я уже сомневаюсь, что ошибка вообще есть,
но может быть я что-то упустил?
Здравствуйте, icezone, Вы писали:
I>Пришел мне недавно запрос на рефанд, разумеется по самой дорогой лицензии. I>Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась. I>Причем пробовал на Windows 7 и Windows XP и результат один и тот же — program is not responding. I>Само по себе это странно — в программе проверки на каждый чих стоят, длинных циклов нет. I>Программа на Delphi, сторонних компонентов практически нет, а те что есть используются и в бесплатной версии.
I>Включил логгирование в файл — говорит файл не создается. I>Собрал с madexcept — снова Windows сообщает что программа перестала отвечать сразу на старте. I>Собрал с консольным окном, которое вызывается через AllocConsole в начале dpr файла — ничего не изменилось.
I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть, I>но может быть я что-то упустил?
У нас обратная ситуация была, перестал запускаться екзешник. У нас не запускается, но клиенты покупают и используют судя по логу.
Пересобрали на XE5 — работает у всех.
Так и не поняли что это было — продукт был сделан на старой Delphi 7
I>Пришел мне недавно запрос на рефанд, разумеется по самой дорогой лицензии. I>Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась. I>Причем пробовал на Windows 7 и Windows XP и результат один и тот же — program is not responding. I>Само по себе это странно — в программе проверки на каждый чих стоят, длинных циклов нет. I>Программа на Delphi, сторонних компонентов практически нет, а те что есть используются и в бесплатной версии.
I>Включил логгирование в файл — говорит файл не создается. I>Собрал с madexcept — снова Windows сообщает что программа перестала отвечать сразу на старте. I>Собрал с консольным окном, которое вызывается через AllocConsole в начале dpr файла — ничего не изменилось.
у тебя программа не отсылает отчеты о падениях со стеком вызовов?
надо отсылать.
Здравствуйте, vladimir.romin, Вы писали:
VR>При установке программы файл может моментально инфицироваться вирусом, код вируса наверняка запускается раньше приложения, и возможно он сбоит. VR>Тогда симптомы будут такие какие есть.
Интересный вариант. В таком случае у него куча машин должна быть заражена и с другими программами должны быть проблемы.
Здравствуйте, Sharowarsheg, Вы писали:
S>У меня в таких случаях всегда оказывался баг. S>Попроси его TeamViewer или что-то такое поставить, и сам посмотри, что там происходит.
в моем понимании, если в dpr-файле первой командой вызвать AllocConsole,
то консоль должна появиться в любом случае, инициализация и создание форм идет позже
Здравствуйте, icezone, Вы писали:
I>но может быть я что-то упустил?
Скорее всего что-то внедряется в процесс сразу после запуска. Это может быть вирус, антивирус либо же утилитарная софтина которая вешает кривой хук или делает принудительный injection своего модуля во все процессы, ну а в модуле баг.
Здравствуйте, Aquilaware, Вы писали:
A>Скорее всего что-то внедряется в процесс сразу после запуска. Это может быть вирус, антивирус либо же утилитарная софтина которая вешает кривой хук или делает принудительный injection своего модуля во все процессы, ну а в модуле баг.
Как определить? Дело в том, что у меня нет доступа к машине, а все методы отладки молчат.
I>Как определить? Дело в том, что у меня нет доступа к машине, а все методы отладки молчат.
ну если совсем рефанд не хочется делать, то я бы начал с проверки гонит он в принципе или нет. для этого надо взять стопудово рабочую программу, не знаю, notepad.exe из винды или что-то другое, простое, известное, обозвать именем своей программы и попросить запустить. если "не запустится", ну значит дело плохо.
если запустится, то дело видимо в программе или в рантайме. у тебя, наверное, не одна программа? попроси скачать другую свою самую простую программу, написанную на том же дельфи. запустится она или нет? сделай простейшую программу на той же дельфе, собери аналогично и отправь — запустится или нет. если не запустится, а нотепад работал, значит дело в рантайме дельфи, возможно какие-то конфликты. если запустится, то дело уже в твоей программе.
если дело в рантайме, то надо отрубать антивирусы и смотреть какие длл-ки внедряются в процесс. это можно посмотреть process viewer-ом от sysinternals или в реестре найти список. если на этом этапе идей нет, то дешевле наверное будет сдаться
если дело не в рантайме и простая прога запускается, то тут я пас, это видимо уже какие-то дельфевые ньюансы.
ну и да, подпиши файл хоть чем-нибудь, посмотри как выглядят свойства подписанного файла у тебя, попроси у пользователя скриншот как у него это выглядит. это позволит отсечь варианты с вирусами.
Здравствуйте, icezone, Вы писали:
I>Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась.
Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения
Странно, что в корпоративной сети нет антивируса.
Но по поведению похоже на антивирус/проактивную защиту. Как я понял, дело до старта кода твоего приложения не доходит? У тебя ключ как-то в ехе проверяется же? Обычно всякий такой секьюрный код пугает антивирусы и защитников. Сделай простую программу, которая ничего не делает, только проверяет код (надо подумать только, не опасно ли делать такую программу и отдавать потенциальному мошеннику?) — таким образом ты отделишь проблемы своего функционала от проблем платной версии.
Ещё можно попросить снять скрин с Process Explorer-а со списком dll-ек (ну или дамп), чтобы посмотреть, что там внедрилось...
Здравствуйте, ov, Вы писали:
ov>ну если совсем рефанд не хочется делать, то я бы начал с проверки гонит он в принципе или нет. для этого надо взять стопудово рабочую программу, не знаю, notepad.exe из винды или что-то другое, простое, известное, обозвать именем своей программы и попросить запустить. если "не запустится", ну значит дело плохо.
да, есть такая идея
ov>если запустится, то дело видимо в программе или в рантайме. у тебя, наверное, не одна программа? попроси скачать другую свою самую простую программу, написанную на том же дельфи. запустится она или нет? сделай простейшую программу на той же дельфе, собери аналогично и отправь — запустится или нет. если не запустится, а нотепад работал, значит дело в рантайме дельфи, возможно какие-то конфликты. если запустится, то дело уже в твоей программе.
бесплатная версия работает, в ней те же юниты подключены
ov>если дело в рантайме, то надо отрубать антивирусы и смотреть какие длл-ки внедряются в процесс. это можно посмотреть process viewer-ом от sysinternals или в реестре найти список. если на этом этапе идей нет, то дешевле наверное будет сдаться
антивирусов нет, на счет process viewer подумаю
если баг есть, то я заинтересован в его поимке
рефанд я и так готов сделать, чисто из благодарности
ov>если дело не в рантайме и простая прога запускается, то тут я пас, это видимо уже какие-то дельфевые ньюансы. ov>ну и да, подпиши файл хоть чем-нибудь, посмотри как выглядят свойства подписанного файла у тебя, попроси у пользователя скриншот как у него это выглядит. это позволит отсечь варианты с вирусами.
завтра обещал прислать с работы скриншот, но думаю, что никакого криминала не будет
я уже мозг себе сломал в поисках вариантов, все указывает на то, что программа не отвечает на системные сообщения
и судя по тормозам Windows программа жрет процессор в бесконечном цикле
у меня вся логика в отдельных потоках работает и не может на GUI повлиять, сами потоки тоже висят в ожидании пока кнопку не нажмешь
единственный вариант — winapi выдает кривое значение, но без ошибки
Здравствуйте, CEMb, Вы писали:
CEM>Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения
бесплатная сильно урезана, платная достаточно дорогая
CEM>Странно, что в корпоративной сети нет антивируса.
это нормально, если система не имеет доступа извне
CEM>Но по поведению похоже на антивирус/проактивную защиту. Как я понял, дело до старта кода твоего приложения не доходит? У тебя ключ как-то в ехе проверяется же? Обычно всякий такой секьюрный код пугает антивирусы и защитников. Сделай простую программу, которая ничего не делает, только проверяет код (надо подумать только, не опасно ли делать такую программу и отдавать потенциальному мошеннику?) — таким образом ты отделишь проблемы своего функционала от проблем платной версии.
вот именно этот момент и не понятен — первая команда открывает консоль и пишет туда лог, консоль не появляется на экране.
либо выполнение программы вообще не начинается, либо окно не появляется из-за зацикливания при создании основного окна
защиту я вообще отключил в отладочной версии
CEM>Ещё можно попросить снять скрин с Process Explorer-а со списком dll-ек (ну или дамп), чтобы посмотреть, что там внедрилось...
Здравствуйте, icezone, Вы писали:
CEM>>Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения
I>бесплатная сильно урезана, платная достаточно дорогая
А может сделать что-то среднее?
Т.е. возможно, ему хватало бесплатной, и он не хочет разбираться с проблемами за такие деньги?
Конкуренты есть, кстати? Это тоже может всё объяснить.
Ты у него не спрашивал почему именно рефанд, а не доработка?
Здравствуйте, icezone, Вы писали:
I>в моем понимании, если в dpr-файле первой командой вызвать AllocConsole, I>то консоль должна появиться в любом случае, инициализация и создание форм идет позже
Инициализация модулей, например, выполняется раньше. Инициализция всяких DLL, мне представляется, еще раньше.
Здравствуйте, icezone, Вы писали:
I>рефанд я и так готов сделать, чисто из благодарности
+1
Стоит с этого начать, наизвиняться, поблагодарить и сказать, что за все мои X лет я такой mysterious чухни не встречал. Поэтому очень любопытно понять чего происходит. Может у вас там руткит
Здравствуйте, wantus, Вы писали:
W>Стоит с этого начать, наизвиняться, поблагодарить и сказать, что за все мои X лет я такой mysterious чухни не встречал. Поэтому очень любопытно понять чего происходит. Может у вас там руткит
отвечает он очень неохотно, поэтому стимулы пока приберегу
Здравствуйте, CEMb, Вы писали:
CEM>А может сделать что-то среднее? CEM>Т.е. возможно, ему хватало бесплатной, и он не хочет разбираться с проблемами за такие деньги?
нет, схема отработана годами
CEM>Конкуренты есть, кстати? Это тоже может всё объяснить.
один, сильно дорогой
CEM>Ты у него не спрашивал почему именно рефанд, а не доработка?
стандартная шняга — работа стоит, денег нет на другую покупку
__>>у тебя программа не отсылает отчеты о падениях со стеком вызовов? __>>надо отсылать.
I>в том то и дело, что никаких ошибок нет, просто окно Application is not responding.
может быть, процесс вызывает апи, которое тормозит. например, работа с диском, чтение реестра.
можно посмотреть список загруженных dll. возможно, кто-то установил хук и выполнение попадает в глючную стороннюю dll
не говоря уже про драйвера, антивирусы, песочницы, виртуализацию.
Здравствуйте, maks__, Вы писали:
__>может быть, процесс вызывает апи, которое тормозит. например, работа с диском, чтение реестра. __>можно посмотреть список загруженных dll. возможно, кто-то установил хук и выполнение попадает в глючную стороннюю dll __>не говоря уже про драйвера, антивирусы, песочницы, виртуализацию.
сегодня ответил, что ничего не изменилось с новой отладочной версией
либо это сторонний софт/железо, либо мошенничество
Наконец-то получил первые скриншоты, ситуация выглядит немного иначе:
— на экране есть пустое главное окно (в заголовке нет указания что оно не отвечает)
— виндовое сообщение об ошибке выглядит иначе https://community.norton.com/en/system/files/u279953/desktop001.jpg
т.е в Windows 7 окошко в старом стиле.
— консольного окна вообще нет, как такое возможно?
сама программа , другие окна и десктоп выглядят нормально, только сообщение об ошибке выглядит как в Win98
такое возможно если ошибка где-то в легаси коде
Здравствуйте, icezone, Вы писали:
I>Наконец-то получил первые скриншоты, ситуация выглядит немного иначе:
А почему в заголовке окна ccSvcHost? Это ведь он не отвечает получается. Процесс относится к Symantec Security, которого на компе как бы нет. Либо человек не знает, что он есть. Я думаю надо поставить симантековский пакет той же версии и проверить с ним, попахивает каким-то конфликтом.
Здравствуйте, icezone, Вы писали:
I>дамп будет огромный, у меня на машине получилось 200мб
Может все же попросить? Мне, бывало, и гиговые дампы скидывали (по FTP; некоторые расшаривают папку в дропбоксе).
Я бы грешил на антивирус. Иногда пользователи не знают, что у них есть антивирус. Дамп покажет загруженные dll-ки, и будет ясно, какой антивирус работает.
Здравствуйте, Grayscaler, Вы писали:
G>Секция initialization в используемых юнитах вызывается до любого кода в dpr. У меня как-то на запуске падала сторонняя библиотека в этой секции, причём на моих тестовых машинах не падала никогда.
надо же, не знал
проверил сторонние юниты — нет там нифига в секциях initialize
клиент пока притих, подозреваю, что он либо криворукий, либо врал все это время
Здравствуйте, Unhandled_Exception, Вы писали:
U_E>Может все же попросить? Мне, бывало, и гиговые дампы скидывали (по FTP; некоторые расшаривают папку в дропбоксе).
нет, большинство его ответов — я сделал как вы просили и ничего не изменилось.
остальные просьбы он просто игнорирует
U_E>Я бы грешил на антивирус. Иногда пользователи не знают, что у них есть антивирус. Дамп покажет загруженные dll-ки, и будет ясно, какой антивирус работает.
по его словам чистая Windows 7 на новом сервере. никаких антивирусов и файрволов нет
Здравствуйте, XOOIOOX, Вы писали:
XOO>Подсунь ему бесплатную, которая типа не глючит, под видом обновления платной. Если скажет, что все так же зависает, то это жулик.
я пока попросил прислать мне свойства установленного файла (версию, размер), при чем описал пошагово с картинками
два раза он мне присылал свойства инсталлятора, а потом вообще притих
Здравствуйте, Grayscaler, Вы писали:
G>А почему в заголовке окна ccSvcHost? Это ведь он не отвечает получается. Процесс относится к Symantec Security, которого на компе как бы нет. Либо человек не знает, что он есть. Я думаю надо поставить симантековский пакет той же версии и проверить с ним, попахивает каким-то конфликтом.
это левая картинка с таким же окном, я же не буду скрины с клиентской машины выкладывать
Здравствуйте, sr_dev, Вы писали:
_>Почему не попросите показать по TeamViewer / AnyDesk etc ? Если клиент заинтересован в решении проблемы, то не откажется. Иначе похоже на мошенство
все упирается в клиента — не идет он на сотрудничество, с самого начала просит возврат
с прошлой пятницы вообще молчит
I>Здравствуйте, wantus, Вы писали:
W>>Заодно имеет смысл почитать про DllMain
I>у меня не используются dll в данном проекте
Почитать всё равно не помешает Тем более, что системные dll таки используются практически всеми windows binaries и находятся они через системные PATH переменные, которые в принципе могут показывать куда угодно.
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, sr_dev, Вы писали:
_>>Почему не попросите показать по TeamViewer / AnyDesk etc ? Если клиент заинтересован в решении проблемы, то не откажется. Иначе похоже на мошенство
I>все упирается в клиента — не идет он на сотрудничество, с самого начала просит возврат I>с прошлой пятницы вообще молчит
я бы не рефандил. предложил ему решить проблему удобным для него способом. мошенство имхо, у нас все рефанды были после безуспешных наших попыток помочь
Здравствуйте, sr_dev, Вы писали:
_>я бы не рефандил. предложил ему решить проблему удобным для него способом. мошенство имхо, у нас все рефанды были после безуспешных наших попыток помочь
Здравствуйте, icezone, Вы писали:
I>Здравствуйте, vladimir.romin, Вы писали:
VR>>При установке программы файл может моментально инфицироваться вирусом, код вируса наверняка запускается раньше приложения, и возможно он сбоит. VR>>Тогда симптомы будут такие какие есть.
I>Интересный вариант. В таком случае у него куча машин должна быть заражена и с другими программами должны быть проблемы.
Был случай, когда подписанный экзешник "зависал" при старте из-за того, что был отрублен инет на машине и windows не мог проверить валидность ЭЦП (но там после некоторого таймаута запускалось все равно)
Здравствуйте, bro.ila, Вы писали:
BI>Был случай, когда подписанный экзешник "зависал" при старте из-за того, что был отрублен инет на машине и windows не мог проверить валидность ЭЦП (но там после некоторого таймаута запускалось все равно)
я уже отправлял голую версию, без подписей и защиты, но пока все говорит о том, что ее даже не ставили
Здравствуйте, icezone, Вы писали:
I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть, I>но может быть я что-то упустил?
Тему не читал, но советов могу надавать)
— добавить в программу логгирование в текстовый файл
— с ключами компилятора игрались?
— попробуйте запаковать программу upx
— программа используе несистемные dll? Если да, попробуйте поставить софт вместе с ними
— добавьте в поставку отдельную утилиту, которая будет считать контрольную сумму всех файлов
Здравствуйте, scf, Вы писали:
scf>- добавить в программу логгирование в текстовый файл scf>- с ключами компилятора игрались? scf>- попробуйте запаковать программу upx scf>- программа используе несистемные dll? Если да, попробуйте поставить софт вместе с ними scf>- добавьте в поставку отдельную утилиту, которая будет считать контрольную сумму всех файлов
все пробовал.
похоже клиент все это время ничего не устанавливал, а просто отвечал "не работает",
попросил проверить свойства файлов и он пропал
Здравствуйте, icezone, Вы писали:
I>по его словам чистая Windows 7 на новом сервере. никаких антивирусов и файрволов нет
Раз это сервер, то может дело в системе виртуализации? Неизвестно ведь, виртуалку там сделали или реальный сервер. Маловероятно, но всё же может стоит рассмотреть этот вариант...