![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| DmitryHT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
Вообщем, при попытке испытать на максимуме грабер проксей обнаружил такую ошибку "Access violation ..."
Причем на 500 потоках все работает на Ура, но если выставить кол-во потоков еще больше (приблизительно > 800), то выскакивает указанная выше ошибка. С чем это может быть связано? Спасибо! |
|||
|
||||
| BaD_SeCt0R |
|
|||
![]() Lazy Coder ![]() ![]() Профиль Группа: Участник Сообщений: 432 Регистрация: 9.10.2006 Где: Анапа Репутация: 4 Всего: 18 |
Access violation - попытка доступа к несуществующим данным. Для более полного ответа дай больше данных
-------------------- Кто владеет информацией - владеет миром. (С) Френсис Бэкон. |
|||
|
||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
По токому вопросу можно точно сказать только одно: "Нарушение доступа ..."
Подробней давай... что за потоки, что делают. Код тут нужен. -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
800 потоков при работе с сетью???? весело... показывай код - мне интересно даже стало, как это вообще может нормально работать... -------------------- ![]() |
|||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 6 Всего: 121 |
В системе максимальное число потоков ~2000, при дефолтном размере стека в 1 мб, при указании стека вручную при создании потока всё зависит от этой величины. Как удалось убедиться на практике, в пользовательской системе(т.е. не server) больше 1500 потоков нормально сосуществовать не могут. Памяти у тебя сколько?
PS А зачем нужны 800 потоков для твоей задачи? -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| DmitryHT |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
насчет кода даже не знаю какой участок предоставить...
такое кол-во потоков используется для чекинга работоспособности найденых проксей, т.к. их за 100 тысяч, то нужно максимально возможное кол-во потоков.
а почемы бы и нет? винда пропатчена на кол-во полуоткрытых соединений. Работает сие на сервере с памятью в 1гиг всего, но по статистике память и процессор загружены лишь на половину.
вот и я о том же...как при 500 потоках нет такой ошибки, а при выше 800 уже проскакивает и то не сразу? |
||||
|
|||||
| ALeXandrK |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 342 Регистрация: 31.1.2007 Где: Санкт-Петербург Репутация: 3 Всего: 6 |
Так может у тебя разные потоки работают с одинаковыми данными.
Один поток удалил переменную, а другой пытается к ней обратиться - вот и ошибка. Может в этом проблемка... P.s.: Попробуй уменьшить круг подозреваемых, если это возможно. Это сообщение отредактировал(а) ALeXandrK - 22.9.2007, 11:38 -------------------- Богат не/ни тот, у кого много, а тот, кому хватает |
|||
|
||||
| aktuba |
|
|||
![]() Смышленный ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1915 Регистрация: 24.4.2006 Где: Планета Земля Репутация: 16 Всего: 38 |
Да я и не говорю нет. Смотри - у тебя один список проксей и 800 потоков поочереди берут каждый пункт из списка и проверяют. Представим ситуацию - два потока взяли две последние строки. Первый поток проверил и оказалось, что прокся мертвая. Данная строка удаляется из списка, верно? Если да - вот тебе и ошибка, т.к. второй поток будет пытаться удалить строку, которой уже нет в списке... -------------------- ![]() |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
мда... имхо хватило бы и 50 потоков при правильной реализации...
а без кода тут нечего и советовать... если есть AV, значит кто-то хочет пользовать что-то этому не пренадлежащее -------------------- There are always someone smarter than you... |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
MetalFan, не всегда, иногда отсутствующее. Вариантов много и гадать можно много, но лучше предположить что ошибка в 17й строке.
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DmitryHT |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
в результате этого обнаружил, что ошибка появляется в момент создания нового потока
в чем может причина ошибки в этом случае?
и при какой же такой реализации можно проверить более 100 тысяч прокси в 50 и 500 потоков с одинаковой скоростью? Это сообщение отредактировал(а) DmitryHT - 24.9.2007, 10:19 |
||||||
|
|||||||
| DmitryHT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
поставил приоритет на tplower стала появляться новая ошибка:
кто-нибукдь в курсе из-за чего это? up: потом выставил на самый низкий tpIdle и опять получил Access Violation Это сообщение отредактировал(а) DmitryHT - 24.9.2007, 11:03 |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
DmitryHT, нужно учитывать реальные возможности сетевухи / модема. Они железные, а не резиновые
Вот и получается что потоков много, но они простаивают. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| DmitryHT |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 97 Регистрация: 31.8.2007 Репутация: нет Всего: нет |
так разве в случае простоя должна происходить ошибка? п.с. канал 100 Мбит/с |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Канал 100Мбит это сеть или интернет? Обычная сетевуха на 100Мбит пропускает реально около 75Мбит. Это к тому что неплохо бы расчитать сколько все таки трафика уходит за минуту при непрерывном пинге и сколько за минуту серверов проверено, отсюда можно посчитать сколько трафа реально уходит на пинг одного сервера т.е. посчитать сколько теоретически можно пропинговать за это время и поставить реальное число потоков.
Может и в том что пропатчена винда, ведь ограничения не зря стоят... -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |