Официальный форум СВД Встраиваемые Системы
26 Апрель, 2024, 01:29:08 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
 
 
 Сайт СВД ВС  Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: qconn повисшие файловые дескрипторы  (Прочитано 2313 раз)
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 обещал, что попробуете помочь. Спасибо

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

Сообщений: 1353



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

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

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

Сообщений: 1076



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

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

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

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

Сообщений: 704



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
Записан
Владимир Махилёв
Сотрудник СВД ВС
Старожил

Сообщений: 704



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 развлекаться большого желания нет, так как проблема не критичная.
Записан
Владимир Махилёв
Сотрудник СВД ВС
Старожил

Сообщений: 704



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-2024 СВД Встраиваемые Системы.
При использовании материалов сайта ссылка на forum.kpda.ru обязательна.

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

В последний раз google посещал эту страницу 12 Февраль, 2024, 07:28:13