Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 14:00
Оценка:
Пришел мне недавно запрос на рефанд, разумеется по самой дорогой лицензии.
Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась.
Причем пробовал на Windows 7 и Windows XP и результат один и тот же — program is not responding.
Само по себе это странно — в программе проверки на каждый чих стоят, длинных циклов нет.
Программа на Delphi, сторонних компонентов практически нет, а те что есть используются и в бесплатной версии.

Включил логгирование в файл — говорит файл не создается.
Собрал с madexcept — снова Windows сообщает что программа перестала отвечать сразу на старте.
Собрал с консольным окном, которое вызывается через AllocConsole в начале dpr файла — ничего не изменилось.

Собственно говоря я уже сомневаюсь, что ошибка вообще есть,
но может быть я что-то упустил?
Re: Баг в программе или клиент-мошенник?
От: autopsist  
Дата: 08.08.17 14:30
Оценка:
Здравствуйте, 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

У тебя на какой Delphi?
Re[2]: Баг в программе или клиент-мошенник?
От: autopsist  
Дата: 08.08.17 14:35
Оценка:
UPD: одним из предположений было — установили на компах Visual Studio и какая-то общая либа или еще что-то подменилась нехорошо.
Re: Баг в программе или клиент-мошенник?
От: vladimir.romin  
Дата: 08.08.17 14:41
Оценка: +1
Здравствуйте, icezone, Вы писали:

I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть,

I>но может быть я что-то упустил?

При установке программы файл может моментально инфицироваться вирусом, код вируса наверняка запускается раньше приложения, и возможно он сбоит.
Тогда симптомы будут такие какие есть.

Ставь на файл цифровую подпись и проси пользователя, перед запуском файла, эту подпись проверить. Если валидна, то мое предположение не верно.
Или пусть пришлет этот exe после запуска, чтобы ты сам проверил.
Re: Баг в программе или клиент-мошенник?
От: maks__  
Дата: 08.08.17 15:12
Оценка:
I>Пришел мне недавно запрос на рефанд, разумеется по самой дорогой лицензии.
I>Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась.
I>Причем пробовал на Windows 7 и Windows XP и результат один и тот же — program is not responding.
I>Само по себе это странно — в программе проверки на каждый чих стоят, длинных циклов нет.
I>Программа на Delphi, сторонних компонентов практически нет, а те что есть используются и в бесплатной версии.

I>Включил логгирование в файл — говорит файл не создается.

I>Собрал с madexcept — снова Windows сообщает что программа перестала отвечать сразу на старте.
I>Собрал с консольным окном, которое вызывается через AllocConsole в начале dpr файла — ничего не изменилось.

у тебя программа не отсылает отчеты о падениях со стеком вызовов?
надо отсылать.
Re: Баг в программе или клиент-мошенник?
От: Sharowarsheg  
Дата: 08.08.17 18:06
Оценка: +1
Здравствуйте, icezone, Вы писали:

I>Собственно говоря я уже сомневаюсь, что ошибка вообще есть,

I>но может быть я что-то упустил?

У меня в таких случаях всегда оказывался баг.
Попроси его TeamViewer или что-то такое поставить, и сам посмотри, что там происходит.
Re: Баг в программе или клиент-мошенник?
От: wantus  
Дата: 08.08.17 18:13
Оценка:
-> Disable your antivirus и прочий "секьюрити" крап and try again.

Помогает в 100% случаев.
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 18:36
Оценка:
Здравствуйте, autopsist, Вы писали:

A>У тебя на какой Delphi?


2007
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 18:41
Оценка:
Здравствуйте, vladimir.romin, Вы писали:

VR>При установке программы файл может моментально инфицироваться вирусом, код вируса наверняка запускается раньше приложения, и возможно он сбоит.

VR>Тогда симптомы будут такие какие есть.

Интересный вариант. В таком случае у него куча машин должна быть заражена и с другими программами должны быть проблемы.
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 18:43
Оценка:
Здравствуйте, maks__, Вы писали:

__>у тебя программа не отсылает отчеты о падениях со стеком вызовов?

__>надо отсылать.

в том то и дело, что никаких ошибок нет, просто окно Application is not responding.
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 18:46
Оценка:
Здравствуйте, Sharowarsheg, Вы писали:

S>У меня в таких случаях всегда оказывался баг.

S>Попроси его TeamViewer или что-то такое поставить, и сам посмотри, что там происходит.

в моем понимании, если в dpr-файле первой командой вызвать AllocConsole,
то консоль должна появиться в любом случае, инициализация и создание форм идет позже

доступ он мне не даст — корпоративная сеть
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 18:49
Оценка:
Здравствуйте, wantus, Вы писали:

->> Disable your antivirus и прочий "секьюрити" крап and try again.


W>Помогает в 100% случаев.


Попробую. Хотя вероятность невелика. Навесной защиты и прочего в программе нет.
Re: Баг в программе или клиент-мошенник?
От: Aquilaware  
Дата: 08.08.17 21:25
Оценка:
Здравствуйте, icezone, Вы писали:

I>но может быть я что-то упустил?


Скорее всего что-то внедряется в процесс сразу после запуска. Это может быть вирус, антивирус либо же утилитарная софтина которая вешает кривой хук или делает принудительный injection своего модуля во все процессы, ну а в модуле баг.
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 21:32
Оценка:
Здравствуйте, wantus, Вы писали:

W>Помогает в 100% случаев.


Не помогло — говорит антивируса на машине нет, какие бы отладочные версии я не отсылал результат один и тот же.
Появляется окно https://msdnshared.blob.core.windows.net/media/TNBlogsFS/BlogFileStorage/blogs_msdn/dixi/WindowsLiveWriter/ApplicationRecoveryandRestart_D0C3/CloseWait_thumb.png
Нажатие на Закрыть или Подождать не дает результата. Windows начинает тормозить, программу закрывает через диспетчер задач.

Я так понимаю, что где-то в основном окне деадлок, но у меня на старте циклов нет — считываются настройки, инициализируется рабочий поток и все.
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 08.08.17 21:58
Оценка:
Здравствуйте, Aquilaware, Вы писали:

A>Скорее всего что-то внедряется в процесс сразу после запуска. Это может быть вирус, антивирус либо же утилитарная софтина которая вешает кривой хук или делает принудительный injection своего модуля во все процессы, ну а в модуле баг.


Как определить? Дело в том, что у меня нет доступа к машине, а все методы отладки молчат.
Re[3]: Баг в программе или клиент-мошенник?
От: ov barcode generator
Дата: 09.08.17 01:42
Оценка:
I>Как определить? Дело в том, что у меня нет доступа к машине, а все методы отладки молчат.

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

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

если дело в рантайме, то надо отрубать антивирусы и смотреть какие длл-ки внедряются в процесс. это можно посмотреть process viewer-ом от sysinternals или в реестре найти список. если на этом этапе идей нет, то дешевле наверное будет сдаться

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

ну и да, подпиши файл хоть чем-нибудь, посмотри как выглядят свойства подписанного файла у тебя, попроси у пользователя скриншот как у него это выглядит. это позволит отсечь варианты с вирусами.
Re: Баг в программе или клиент-мошенник?
От: CEMb  
Дата: 09.08.17 02:32
Оценка:
Здравствуйте, icezone, Вы писали:

I>Клиент утверждал, что пробовал бесплатную версию, все работало, а потом поставил коммерческую и она сразу грохнулась.

Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения
Странно, что в корпоративной сети нет антивируса.
Но по поведению похоже на антивирус/проактивную защиту. Как я понял, дело до старта кода твоего приложения не доходит? У тебя ключ как-то в ехе проверяется же? Обычно всякий такой секьюрный код пугает антивирусы и защитников. Сделай простую программу, которая ничего не делает, только проверяет код (надо подумать только, не опасно ли делать такую программу и отдавать потенциальному мошеннику?) — таким образом ты отделишь проблемы своего функционала от проблем платной версии.

Ещё можно попросить снять скрин с Process Explorer-а со списком dll-ек (ну или дамп), чтобы посмотреть, что там внедрилось...
also, it's desktop photo frame
Re[4]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 09.08.17 02:33
Оценка:
Здравствуйте, ov, Вы писали:

ov>ну если совсем рефанд не хочется делать, то я бы начал с проверки гонит он в принципе или нет. для этого надо взять стопудово рабочую программу, не знаю, notepad.exe из винды или что-то другое, простое, известное, обозвать именем своей программы и попросить запустить. если "не запустится", ну значит дело плохо.


да, есть такая идея

ov>если запустится, то дело видимо в программе или в рантайме. у тебя, наверное, не одна программа? попроси скачать другую свою самую простую программу, написанную на том же дельфи. запустится она или нет? сделай простейшую программу на той же дельфе, собери аналогично и отправь — запустится или нет. если не запустится, а нотепад работал, значит дело в рантайме дельфи, возможно какие-то конфликты. если запустится, то дело уже в твоей программе.


бесплатная версия работает, в ней те же юниты подключены

ov>если дело в рантайме, то надо отрубать антивирусы и смотреть какие длл-ки внедряются в процесс. это можно посмотреть process viewer-ом от sysinternals или в реестре найти список. если на этом этапе идей нет, то дешевле наверное будет сдаться


антивирусов нет, на счет process viewer подумаю
если баг есть, то я заинтересован в его поимке
рефанд я и так готов сделать, чисто из благодарности

ov>если дело не в рантайме и простая прога запускается, то тут я пас, это видимо уже какие-то дельфевые ньюансы.

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

завтра обещал прислать с работы скриншот, но думаю, что никакого криминала не будет

я уже мозг себе сломал в поисках вариантов, все указывает на то, что программа не отвечает на системные сообщения
и судя по тормозам Windows программа жрет процессор в бесконечном цикле

у меня вся логика в отдельных потоках работает и не может на GUI повлиять, сами потоки тоже висят в ожидании пока кнопку не нажмешь
единственный вариант — winapi выдает кривое значение, но без ошибки
Re[2]: Баг в программе или клиент-мошенник?
От: icezone  
Дата: 09.08.17 02:48
Оценка:
Здравствуйте, CEMb, Вы писали:

CEM>Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения


бесплатная сильно урезана, платная достаточно дорогая

CEM>Странно, что в корпоративной сети нет антивируса.


это нормально, если система не имеет доступа извне

CEM>Но по поведению похоже на антивирус/проактивную защиту. Как я понял, дело до старта кода твоего приложения не доходит? У тебя ключ как-то в ехе проверяется же? Обычно всякий такой секьюрный код пугает антивирусы и защитников. Сделай простую программу, которая ничего не делает, только проверяет код (надо подумать только, не опасно ли делать такую программу и отдавать потенциальному мошеннику?) — таким образом ты отделишь проблемы своего функционала от проблем платной версии.


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

CEM>Ещё можно попросить снять скрин с Process Explorer-а со списком dll-ек (ну или дамп), чтобы посмотреть, что там внедрилось...


да, пока основной вариант
Re[3]: Баг в программе или клиент-мошенник?
От: CEMb  
Дата: 09.08.17 03:37
Оценка:
Здравствуйте, icezone, Вы писали:

CEM>>Странно, что бесплатная версия устраивала, а при багах на платной клиент хочет рефанд, а не починнку падения


I>бесплатная сильно урезана, платная достаточно дорогая


А может сделать что-то среднее?
Т.е. возможно, ему хватало бесплатной, и он не хочет разбираться с проблемами за такие деньги?
Конкуренты есть, кстати? Это тоже может всё объяснить.
Ты у него не спрашивал почему именно рефанд, а не доработка?
also, it's desktop photo frame
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.