Russian Qt Forum
Июнь 03, 2024, 20:24 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: dlopen error code 24 [решено]  (Прочитано 4794 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Ноябрь 20, 2011, 17:31 »

Добрый день

"Floating" баг, появляется раз раз на 400-600 вызовов. dlopen возвращает NULL, dlerror печатает

Цитировать
dlopen(/Volumes/Macintosh HD/MyApp/MyPlug, 5): no suitable image found.  Did find:
   /Volumes/Macintosh HD/MyApp/MyPlug : open() failed with errno=24
Разумеется файл MyPlug имеется и его архитектура подходящая. Если повторить - dlopen сработает нормально. Но кто такой 24?

Может даже вопрос сформулировать: как "разгуглить"? Даю dlopen  и/или dlerror - масса ссылок но ничего что мне нужно. Добавляю 24 - сваливается в даты. Пробовал зацепиться за errno 24 (+ dlopen) - тоже мусор.

Спасибо
« Последнее редактирование: Ноябрь 22, 2011, 14:05 от Igors » Записан
BRE
Гость
« Ответ #1 : Ноябрь 20, 2011, 17:36 »

#define   EMFILE      24   /* Too many open files */
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #2 : Ноябрь 20, 2011, 17:47 »

#define   EMFILE      24   /* Too many open files */

Тогда как посмотреть "а что же открыто"? Те 400-600 соответствуют 400-600 запускам приложения, ну я так полагал что (даже если я чего-то не закрыл) то ОС закроет при выходе. Или это уже не так?

Примечание: возникает только для 64 версии приложения
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Ноябрь 21, 2011, 04:32 »

Похоже да - остаются незакрытые файлы. Проверил так: запустил параллельно еще копию - и обе падают одновременно с ошибкой 24. Как же я умудрился так насвистеть? Выясню - отпишусь
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #4 : Ноябрь 21, 2011, 07:08 »

Про strerror() знать не мешало бы Улыбающийся
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #5 : Ноябрь 21, 2011, 13:05 »

Про strerror() знать не мешало бы Улыбающийся
В курсе, и про EMFILE  тоже. Но меня сбило с толку что приложение-то каждый раз завершается - откуда взяться открытым файлам? Может 24 в данном контексте нечто другое - вот и стал искать дырку от бублика  Улыбающийся   
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #6 : Ноябрь 21, 2011, 13:17 »

Workaround.
Записан

Qt 5.11/4.8.7 (X11/Win)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #7 : Ноябрь 22, 2011, 14:04 »

Задействовал "File Activity" (Instruments), и он мне прекрасно показал кто, где и чего открывает и закрывает. Да, действительно, при попытке открыть 256-й файл получаю отлуп  Улыбающийся

Instruments - Вещь
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.076 секунд. Запросов: 19.