Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Непрерывная работа с COM портом, ошибка 1816 - Недостаточно квот для обра 
V
    Опции темы
voov
Дата 9.7.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: нет
Всего: 8



Есть приложение (сервер), которое постоянно ведет обмен данными по СОМ порту. Порт открывается при старте приложения и закрывается при остановке. Все бы хорошо, но после некоторого времени работы, сутки или 2-е (зависит от интенсивности обмена), СОМ порт отказывается работать. Вызовы ClearCommError или PurgeComm возвращают ошибку 1816 - Недостаточно квот для обработки команды.
Может нужно периодически закрывать и открывать порт? Или есть еще какие лекарства от такого ?  smile 

Это сообщение отредактировал(а) voov - 9.7.2008, 15:09
PM MAIL   Вверх
ama_kid
Дата 9.7.2008, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: 5
Всего: 95



может утечки памяти какие есть? 

Это сообщение отредактировал(а) ama_kid - 9.7.2008, 16:02


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
voov
Дата 10.7.2008, 16:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: нет
Всего: 8



C памятью все нормально. В диспетчере задач в списке процессов велись наблюдения, память не расла в течении всего времени работы. Дебагер также не сообщал об утечках при остановке приложения. В общем программа ведет себя вполне адекватно, пока не случается описаная выше ошибка.
Проблема связана именно с СОМ портом. Нет ли у винды каких приколов, типа максимального времени открытого СОМ порта.
PM MAIL   Вверх
Mal Hack
Дата 10.7.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: нет
Всего: 261



С отказывается работеть - вроде бы как он подключен но на команды не реагирует, или отрубается коннект?
С какими параметрами порт открыт? что в DCB?
PM ICQ   Вверх
voov
Дата 11.7.2008, 10:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: нет
Всего: 8



Порт открыт (9600, без паритета, 8 дата бит, 1 стоп бит, без контроля потока, Overlapped=true). Работает сутки-двое, ClearCommError дает ошибку 1816 (порт все еще открыт - проверяется по хендлу файла). По такому событию порт закрываем, пытаемся открыть - и PurgeComm дает ту же ошибку 1816.

Цитата

что в DCB?
 в момент возникновения ошибки сказать не могу, так как ситуацию повторить проблематично (нужно ждать пару дней). Что именно нужно посмотреть в DCB?
PM MAIL   Вверх
EnergoHokum
Дата 11.7.2008, 12:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 600
Регистрация: 10.11.2006
Где: Россия, Ставропол ь

Репутация: 3
Всего: 6



Вполне возможно, что происходит утечка не памяти userspace, а памяти ядра. "Виноватыми" могут быть незакрытые handle чего-нить. Проверь, на все-ли использованные handle ты говоришь CloseHandle.
PM MAIL ICQ   Вверх
voov
Дата 11.7.2008, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: нет
Всего: 8



Не должно быть утечки, но чем черт не шутит... 

Как можно проверить, отследить?
Наблюдаю диспетчером задачь, на закладке БЫСТРОДЕЙСТВИЕ (Если происходит утечка памяти ядра, здесь же должно быть видно по счетчикам и графику)
Делаю лог работы процесса через ЖУРНАЛ СЧЕТЧИКОВ (один из счетчиков - счетчик дескрипторов).
Как еще можно проконтролировать?

Какие еще идеи, мысли?
PM MAIL   Вверх
EnergoHokum
Дата 11.7.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 600
Регистрация: 10.11.2006
Где: Россия, Ставропол ь

Репутация: 3
Всего: 6



Я утечки handle-ов смотрю через ProcessExplorer от Руссиновича. Скажи ему View -> Show Lower Pane, там будут (для выделенного процесса) все его дескрипторы. Ну и оставь на пару часов. Если что-то течёт, будет глазами заметно.
PM MAIL ICQ   Вверх
voov
Дата 11.7.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 29.11.2007

Репутация: нет
Всего: 8



оопс... smile 
точно! утечка дескрипторов, растут прямо на глазах...
всем, кто откликнулся, СПАСИБО!
EnergoHokum, благодарю что тыкнул носом

Это сообщение отредактировал(а) voov - 11.7.2008, 16:02
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0477 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.