Программ с крэшем
От: grosborn  
Дата: 16.11.12 16:51
Оценка:
Пошли первые установки и сразу вижу что программа дает крэши у пользователей. В программе есть анализ интернет-страниц, используется htmlagilitypack и webbrowser и они дают креши и зависончики с переполнениями стэка (пак) в зависимости от загружаемых веб-страниц. Что МС, что опенсорс, бажат. То есть на некоторых страницах. Вроде не часто, будь это в корпоративе, описал бы как багофичу с обещанием исправить в следующих версиях. Но продукт для домашних пользователей. Как это исправить я знаю — выкинуть пак и использовать хромиум или самый дурной вариант вынести все в сервис. Но не хотелось бы сейчас это делать, поскольку нужно сначала вообще определиться пойдет или нет. Чем можно оперативно без лишнего переписывания подавить крэши библиотек?
Забанен на рсдн за применение слова "Маргинал"
Re: Программ с крэшем
От: MikePetrichenko Беларусь www.btframework.com
Дата: 16.11.12 19:04
Оценка:
Здравствуйте, grosborn, Вы писали:

G>...Чем можно оперативно без лишнего переписывания подавить крэши библиотек?


Качественными тестами и отладкой. Вcтраиванием отладочных библиотек типа EurekaLog. Обращением в поддержку использованных библиотек.
Bluetooth, IrDA, WiFi and Serial Ports SDK for .NET, ActiveX, C++ and VCL
Spektrum Telemetry Log File Viewer
Re[2]: Программ с крэшем
От: grosborn  
Дата: 16.11.12 19:26
Оценка:
MP>Качественными тестами и отладкой. Вcтраиванием отладочных библиотек типа EurekaLog. Обращением в поддержку использованных библиотек.

Мимо. Даже коммерческие продукты не исправляют свои баги в достаточной степени, а уж мечтать о техподдержке со стороны МС и не приходится. Вся их техподдержка всегда заключалась в том, что бы объяснить что так оно и будет всегда работать. Хоть убейся апстенку.
Ну то есть вот эти баги в библиотеках есть как данность и они будут вечно. И избавлюсь я конечно от этих изделий рано или поздно, но мне сейчас нужен костыль.
Забанен на рсдн за применение слова "Маргинал"
Re: Программ с крэшем
От: Alexey Neorov Россия  
Дата: 16.11.12 20:08
Оценка:
Здравствуйте, grosborn, Вы писали:

G>Пошли первые установки и сразу вижу что программа дает крэши у пользователей. В программе есть анализ интернет-страниц, используется htmlagilitypack и webbrowser и они дают креши и зависончики с переполнениями стэка (пак) в зависимости от загружаемых веб-страниц. Что МС, что опенсорс, бажат. То есть на некоторых страницах. Вроде не часто, будь это в корпоративе, описал бы как багофичу с обещанием исправить в следующих версиях. Но продукт для домашних пользователей. Как это исправить я знаю — выкинуть пак и использовать хромиум или самый дурной вариант вынести все в сервис. Но не хотелось бы сейчас это делать, поскольку нужно сначала вообще определиться пойдет или нет. Чем можно оперативно без лишнего переписывания подавить крэши библиотек?


Так а что конкретно крешится и из-за чего? Вы какую-то дыру нашли в IE webbrower?
Re[2]: Программ с крэшем
От: grosborn  
Дата: 16.11.12 20:46
Оценка:
AN>Так а что конкретно крешится и из-за чего? Вы какую-то дыру нашли в IE webbrower?

Переписал обращения и крошиться перестало. Портил память. Хотя все может и повториться на каких-то страницах. А сейчас в процессе работы блокирует поток гуи. На каких-то тяжелых страницах когда у него парсер затыкается. И плюс еще умудряется из ком-компонента из отдельного потока влиять на смену фокуса активной формы моего приложения. Это когда странички дают команду на открытие окон или переадресацию. Хотя все работает, но зависает на секунду-другую или сбивает фокус ввода. И вот когда пользователь вводит текст, а в этот момент мне в фоне нужно распарсить страницу и сбросить превью, вот тут и проявляется. Причем довольно редко и на определенных страницах. В общем довольно проблемный компонент. Но тут ничего не поделать, такой он есть. А вот с оверстэками и дедлоками опенсорсных библиотек что-то наверное можно было бы сделать без их правки. И поправить можно было бы но ловить редкие креши это долго и мучительно и никогда не уверен что все выловил. А вот как бы их изолировать, может тулзы есть обкатанные или подходы. Так-то у меня логируется и исключения ловятся, но по факту не всегда спасает.
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Программ с крэшем
От: Igor70  
Дата: 16.11.12 20:49
Оценка:
Здравствуйте, grosborn, Вы писали:

AN>>Так а что конкретно крешится и из-за чего? Вы какую-то дыру нашли в IE webbrower?


G>Переписал обращения и крошиться перестало. Портил память. Хотя все может и повториться на каких-то страницах. А сейчас в процессе работы блокирует поток гуи. На каких-то тяжелых страницах когда у него парсер затыкается. И плюс еще умудряется из ком-компонента из отдельного потока влиять на смену фокуса активной формы моего приложения. Это когда странички дают команду на открытие окон или переадресацию. Хотя все работает, но зависает на секунду-другую или сбивает фокус ввода. И вот когда пользователь вводит текст, а в этот момент мне в фоне нужно распарсить страницу и сбросить превью, вот тут и проявляется. Причем довольно редко и на определенных страницах. В общем довольно проблемный компонент. Но тут ничего не поделать, такой он есть. А вот с оверстэками и дедлоками опенсорсных библиотек что-то наверное можно было бы сделать без их правки. И поправить можно было бы но ловить редкие креши это долго и мучительно и никогда не уверен что все выловил. А вот как бы их изолировать, может тулзы есть обкатанные или подходы. Так-то у меня логируется и исключения ловятся, но по факту не всегда спасает.


мда... не хотел бы я быть покупателем ваших программ...
Re[4]: Программ с крэшем
От: grosborn  
Дата: 16.11.12 20:52
Оценка:
I>мда... не хотел бы я быть покупателем ваших программ...

Это не продается. Это бета версия для исследование рынка. Выводить продукт в бета версии и сразу продавать я так не делаю.
Забанен на рсдн за применение слова "Маргинал"
Re[4]: Программ с крэшем
От: grosborn  
Дата: 16.11.12 20:55
Оценка: -2 :)
I>мда... не хотел бы я быть покупателем ваших программ...

Да, и если ты подумал что эти косяки на моей стороне, то тоже ошибаешься. Эти косяки существуют у всех, просто вы, обыкновенные программисты, их как бэ не замечаете. Ну крэшануло раз в месяц, ну подумаешь, 2% потери пакетов это ерунда
Забанен на рсдн за применение слова "Маргинал"
Re[3]: Программ с крэшем
От: BulatZiganshin  
Дата: 16.11.12 20:58
Оценка:
Здравствуйте, grosborn, Вы писали:

изолировать в отдельный процесс/процессы? в стиле chrome/erlang
Люди, я люблю вас! Будьте бдительны!!!
Re[4]: Программ с крэшем
От: grosborn  
Дата: 16.11.12 21:01
Оценка:
BZ>изолировать в отдельный процесс/процессы? в стиле chrome/erlang

Очевидно. Ну вот не хотелось бы, отложить бы, мне сейчас важнее понять как пользователи отнесутся к продукту. Ищу легких путей
Забанен на рсдн за применение слова "Маргинал"
Re: Программ с крэшем
От: alex95  
Дата: 16.11.12 21:37
Оценка:
__try {}
__except{}
окружить.

c OpenGL/DirectX иногда приходилось так делать — Когда какие то версии драйверов валились на вполне нормальных данных.
Re[3]: Программ с крэшем
От: Sharowarsheg  
Дата: 17.11.12 06:04
Оценка:
Здравствуйте, grosborn, Вы писали:

MP>>Качественными тестами и отладкой. Вcтраиванием отладочных библиотек типа EurekaLog. Обращением в поддержку использованных библиотек.


G>Мимо. Даже коммерческие продукты не исправляют свои баги в достаточной степени, а уж мечтать о техподдержке со стороны МС и не приходится. Вся их техподдержка всегда заключалась в том, что бы объяснить что так оно и будет всегда работать. Хоть убейся апстенку.


Ты в MS писать пробовал? Я два раза писал MS в саппорт о багах, оба раза кончалось патчем и Qxxxxx.
Re[3]: Программ с крэшем
От: Sharowarsheg  
Дата: 17.11.12 06:08
Оценка:
Здравствуйте, grosborn, Вы писали:

AN>>Так а что конкретно крешится и из-за чего? Вы какую-то дыру нашли в IE webbrower?


G>А вот с оверстэками и дедлоками опенсорсных библиотек что-то наверное можно было бы сделать без их правки. И поправить можно было бы но ловить редкие креши это долго и мучительно и никогда не уверен что все выловил. А вот как бы их изолировать, может тулзы есть обкатанные или подходы.


Обкатанный подход — отдельный процесс и таймаут. Делаешь helper process и с ним обмен или через memory mapped file или через IPC, ну или как еще, хоть в файлы пиши. Ты ему HTML, он тебе bitmap или что-то похожее. Когда надо отрендерить, запускаешь тот процесс, и начинаешь ему запросы подавать. 5 секунд он тебе не ответил, ты его убиваешь целиком — TerminateProcess(), и клиенту выдаешь "Render fail". Если тебе надо, чтобы там что-то сложное рендерилось, то обмен делается "ты ему html — он тебе handle окна", нет никакого запрета сделать окно чужого процесса своим child. Существенно, что изоляция нормально работает только на уровне процессов.
Re[4]: Программ с крэшем
От: grosborn  
Дата: 17.11.12 06:43
Оценка:
MP>>>Качественными тестами и отладкой. Вcтраиванием отладочных библиотек типа EurekaLog. Обращением в поддержку использованных библиотек.

G>>Мимо. Даже коммерческие продукты не исправляют свои баги в достаточной степени, а уж мечтать о техподдержке со стороны МС и не приходится. Вся их техподдержка всегда заключалась в том, что бы объяснить что так оно и будет всегда работать. Хоть убейся апстенку.


S>Ты в MS писать пробовал? Я два раза писал MS в саппорт о багах, оба раза кончалось патчем и Qxxxxx.


Интересный опыт. Я пробовал писать на их форуме поддержки. А куда им там писать что бы они индивидуально вопрос рассмотрели даже не знаю. И не вижу смысла вот в данном конкретном случае, потому что это особенности поведения и менять ничего, я уверен, не будут. Не те баги. Да и не нужен мне патч, в планах переход на другие компоненты.
Забанен на рсдн за применение слова "Маргинал"
Re[4]: Программ с крэшем
От: grosborn  
Дата: 17.11.12 06:46
Оценка:
S>Обкатанный подход — отдельный процесс и таймаут. Делаешь helper process и с ним обмен или через memory mapped file или через IPC, ну или как еще, хоть в файлы пиши. Ты ему HTML, он тебе bitmap или что-то похожее. Когда надо отрендерить, запускаешь тот процесс, и начинаешь ему запросы подавать. 5 секунд он тебе не ответил, ты его убиваешь целиком — TerminateProcess(), и клиенту выдаешь "Render fail". Если тебе надо, чтобы там что-то сложное рендерилось, то обмен делается "ты ему html — он тебе handle окна", нет никакого запрета сделать окно чужого процесса своим child. Существенно, что изоляция нормально работает только на уровне процессов.

Видимо не увильнуть мне от дополнительной работы, придется делать. Спасибо.
Забанен на рсдн за применение слова "Маргинал"
Re[5]: Программ с крэшем
От: butcha Россия  
Дата: 17.11.12 06:56
Оценка:
Здравствуйте, grosborn, Вы писали:

I>>мда... не хотел бы я быть покупателем ваших программ...


G>Да, и если ты подумал что эти косяки на моей стороне, то тоже ошибаешься. Эти косяки существуют у всех, просто вы, обыкновенные программисты, их как бэ не замечаете. Ну крэшануло раз в месяц, ну подумаешь, 2% потери пакетов это ерунда


А у "Необыкновенных" программистов виноват во всем webbrowser, опенсорс и MS?
Re[6]: Программ с крэшем
От: grosborn  
Дата: 17.11.12 07:02
Оценка: -2
B>А у "Необыкновенных" программистов виноват во всем webbrowser, опенсорс и MS?

Кто двери открытыми оставил? Опять школота понабежала.
Забанен на рсдн за применение слова "Маргинал"
Re[7]: Программ с крэшем
От: grosborn  
Дата: 20.11.12 09:46
Оценка:
B>>А у "Необыкновенных" программистов виноват во всем webbrowser, опенсорс и MS?

Топну на первую. Нравится мне когда кбк с компонентами ни разу не работавшие и документацию не читающие меня осуждают
Забанен на рсдн за применение слова "Маргинал"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.