Официальный форум СВД Встраиваемые Системы
10 Декабря, 2016, 15:41:56 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: qconn повисшие файловые дескрипторы  (Прочитано 1280 раз)
Camarada
Пользователь

Сообщений: 22


« : 20 Апреля, 2012, 08:13:25 »

Здравствуйте.
QNX 6.4.1 PowerPC, BSP для Xilinx Virtex5
Есть свой драйвер блочного устройства (компакт флешки через интерфейс Xilinx SystemAce)
В родной библиотеке используется кэширование, запись на носитель производится при закрытии (internal_close) файла .
В драйвере веду подсчет открытых дескрипторов для каждого файла, выполняю internal_close при закрытии последнего ocb для этого файла.
Проблема у меня с qconn следующая, часто при открытии файла например для просмотра, qconn выполняет двойное открытие файла.
При копировании файла на Host File System из под Momentics qconn также выполняет два открытия файла, но тут самое главное: close_ocb вызывает только один раз.
Я естественно засомневался в моем понимании всего процесса и проверил, прибив qconn. Повисший файловый дескриптор закрылся. И мой счетчик ссылок стал равен нулю, что и ожидалось.
Сталкивались?
Могу ли я попросить проверить факт наличия проблемы на каком-нибудь вашем ресменеджере. Или опровергнуть его и помочь мне разобраться, что же я делаю не так.
Сергей Зыль на QNXRUSSIA обещал, что попробуете помочь. Спасибо

Михаил Марков. ОАО ЦКБА, Тула
Записан
Александр Варварик
Администратор
Старожил

Сообщений: 1354



WWW
« Ответ #1 : 20 Апреля, 2012, 09:14:08 »

Да, наверное поможем, тем более если Сергей обещал. Есть только маленькое но - часть людей еще не вернулась из Москвы, поэтому будет небольшая задержка с ответом.
Записан

Андрей Докучаев
Сотрудник СВД ВС
Ветеран

Сообщений: 652



WWW
« Ответ #2 : 25 Апреля, 2012, 12:15:04 »

Михаил, добрый день.

Исследовали поведение qconn при выполнении на виртуальной машине. При удаленном редактировании файла qconn закрывает дескриптор сразу же после использования. При копировании же, действительно, файл открывается дважды. При этом первый дескриптор будет закрыт после завершения копирования, а второй удерживается qconn-ом для собственных нужд. При попытке копирования следующего файла удерживаемый ресурс освобождается. Нельзя сказать, что это приводит к накапливанию открытых дескрипторов, либо противоречит логике работы утилиты.
« Последнее редактирование: 25 Апреля, 2012, 12:17:06 от Андрей Докучаев » Записан

Владимир Махилёв
Сотрудник СВД ВС
Ветеран

Сообщений: 659



WWW
« Ответ #3 : 26 Апреля, 2012, 10:59:34 »

В 6.5 с IDE 4.7, в т.ч. и на PPC поведение аналогичное. Дескрипторы закрываются не сразу, но и не накапливаются, т.е. это штатный режим работы qconn.


Кстати, в IDE Project выложена новая версия IDE 5.0 .
Записан

Camarada
Пользователь

Сообщений: 22


« Ответ #4 : 26 Апреля, 2012, 13:10:31 »

Спасибо большое за ответы, буду искать программное решение.
Записан
Camarada
Пользователь

Сообщений: 22


« Ответ #5 : 26 Июня, 2012, 15:38:02 »

И снова qconn.
Стала периодически возникать такая вот ошибка. Чудеса.
Process 102410 (qconn) terminated SIGSEGV code=1 fltno=11 ip=4805ce1c(qconn@main+0x18250) ref=3cbf737f
Записан
Владимир Махилёв
Сотрудник СВД ВС
Ветеран

Сообщений: 659



WWW
« Ответ #6 : 29 Июня, 2012, 15:31:46 »

Михаил, опишите какие конкретно действия со стороны IDE приводят к падению.

Если есть возможность проверить работу qconn в 6.5 - стоит это сделать.  (Я понимаю, что для этого придётся пересобрать BSP под 6.5)
Записан

Camarada
Пользователь

Сообщений: 22


« Ответ #7 : 29 Июня, 2012, 15:35:44 »

Никаких действий, IDE просто запущена (Target настроен), подается питание на плату, через несколько секунд он падает. В stdout то, что я написал.
Сейчас нет возможности это попробовать, плата в другом городе. Да конечно с bsp развлекаться большого желания нет, так как проблема не критичная.
Записан
Владимир Махилёв
Сотрудник СВД ВС
Ветеран

Сообщений: 659



WWW
« Ответ #8 : 29 Июня, 2012, 17:39:34 »

Т.е. в IDE в работает перспектива System Profiler и в фоновом режиме опрашивает клиента.
Боюсь, что шансов повторить и отладить такие падения без оборудования у нас нет. На PPC оборудовании, находящемся у нас, добиться таких падений не удаётся.

Записан

Alexo
Интересующийся

Сообщений: 3


« Ответ #9 : 02 Июля, 2014, 15:21:10 »

И снова qconn.
Стала периодически возникать такая вот ошибка. Чудеса.
Process 102410 (qconn) terminated SIGSEGV code=1 fltno=11 ip=4805ce1c(qconn@main+0x18250) ref=3cbf737f

Кстати, точно такая же ошибка при попытке копирования файла из QNX Momentics на виртуалку с образом QNX, о чем я писал в своей одноименной теме в этом разделе.. Что может быть и что делать???
Записан
Camarada
Пользователь

Сообщений: 22


« Ответ #10 : 02 Июля, 2014, 15:29:24 »

Кстати, точно такая же ошибка при попытке копирования файла из QNX Momentics на виртуалку с образом QNX, о чем я писал в своей одноименной теме в этом разделе.. Что может быть и что делать???
Похоже перезапускать qconn. Может быть используя ham
Записан
Alexo
Интересующийся

Сообщений: 3


« Ответ #11 : 02 Июля, 2014, 15:34:20 »

Кстати, точно такая же ошибка при попытке копирования файла из QNX Momentics на виртуалку с образом QNX, о чем я писал в своей одноименной теме в этом разделе.. Что может быть и что делать???
Похоже перезапускать qconn. Может быть используя ham

но в процессах qconn работает как ни в чем не бывало.. Каждый раз перезапускать все равно не получится - вся система "виртуалка - QNX - программа" должна каждый раз при новом включении работать безо всяких перезапусков. Хотя перезапустить все же попробую.. Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP © 2002-2016 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | © Aiwan. Kolobok smiles | Sitemap
Valid XHTML 1.0! Valid CSS!
Сайт СВД ВС

В последний раз google посещал эту страницу 14 Ноября, 2016, 01:25:22