Название: dlopen error code 24 [решено] Отправлено: Igors от Ноябрь 20, 2011, 17:31 Добрый день
"Floating" баг, появляется раз раз на 400-600 вызовов. dlopen возвращает NULL, dlerror печатает Цитировать dlopen(/Volumes/Macintosh HD/MyApp/MyPlug, 5): no suitable image found. Did find: Разумеется файл MyPlug имеется и его архитектура подходящая. Если повторить - dlopen сработает нормально. Но кто такой 24? /Volumes/Macintosh HD/MyApp/MyPlug : open() failed with errno=24 Может даже вопрос сформулировать: как "разгуглить"? Даю dlopen и/или dlerror - масса ссылок но ничего что мне нужно. Добавляю 24 - сваливается в даты. Пробовал зацепиться за errno 24 (+ dlopen) - тоже мусор. Спасибо Название: Re: dlopen error code 24 (как нагуглить) Отправлено: BRE от Ноябрь 20, 2011, 17:36 #define EMFILE 24 /* Too many open files */
Название: Re: dlopen error code 24 (как нагуглить) Отправлено: Igors от Ноябрь 20, 2011, 17:47 #define EMFILE 24 /* Too many open files */ Тогда как посмотреть "а что же открыто"? Те 400-600 соответствуют 400-600 запускам приложения, ну я так полагал что (даже если я чего-то не закрыл) то ОС закроет при выходе. Или это уже не так?Примечание: возникает только для 64 версии приложения Название: Re: dlopen error code 24 (как нагуглить) Отправлено: Igors от Ноябрь 21, 2011, 04:32 Похоже да - остаются незакрытые файлы. Проверил так: запустил параллельно еще копию - и обе падают одновременно с ошибкой 24. Как же я умудрился так насвистеть? Выясню - отпишусь
Название: Re: dlopen error code 24 (как нагуглить) Отправлено: GreatSnake от Ноябрь 21, 2011, 07:08 Про strerror() (http://ru.wikipedia.org/wiki/Strerror) знать не мешало бы :)
Название: Re: dlopen error code 24 (как нагуглить) Отправлено: Igors от Ноябрь 21, 2011, 13:05 Про strerror() (http://ru.wikipedia.org/wiki/Strerror) знать не мешало бы :) В курсе, и про EMFILE тоже. Но меня сбило с толку что приложение-то каждый раз завершается - откуда взяться открытым файлам? Может 24 в данном контексте нечто другое - вот и стал искать дырку от бублика :) Название: Re: dlopen error code 24 (как нагуглить) Отправлено: GreatSnake от Ноябрь 21, 2011, 13:17 Workaround (http://usrinapto.wordpress.com/2010/03/06/mac-os-x-10-6-max-open-files-too-many-open-files/).
Название: Re: dlopen error code 24 (как нагуглить) Отправлено: Igors от Ноябрь 22, 2011, 14:04 Задействовал "File Activity" (Instruments), и он мне прекрасно показал кто, где и чего открывает и закрывает. Да, действительно, при попытке открыть 256-й файл получаю отлуп :)
Instruments - Вещь |