Что такое You_are_empty.exe и как это исправить?
Проблемы EXE, связанные с you_are_empty.exe, в большинстве случаев связаны с повреждением, отсутствием или заражением исполняемого файла и часто наблюдаются на этапе запуска программного обеспечения YOU ARE EMPTY. В большинстве случаев скачивание и замена файла EXE позволяет решить проблему. Если ошибка you_are_empty.exe возникла в результате его удаления по причине заражения вредоносным ПО, мы рекомендуем запустить сканирование реестра, чтобы очистить все недействительные ссылки на пути к файлам, созданные вредоносной программой.
Формат Windows Executable File, известный как собственный формат Исполнимые файлы, чаще всего имеет расширение EXE. Мы подготовили для вас несколько версий файлов you_are_empty.exe, которые походят для %%os%% и нескольких выпусков Windows. Данные файлы можно посмотреть и скачать ниже. Если у нас нет необходимой копии версии you_are_empty.exe, вы можете просто нажать кнопку Request (Запрос), чтобы её запросить. Если ниже отсутствует необходимая вам версия, мы рекомендуем обратиться непосредственно к Digital Spray Studios.
Размещение вновь загруженного файла you_are_empty.exe в правильном каталоге (в месте расположения исходного файла), скорее всего, решит проблему, однако, чтобы однозначно в этом убедиться, следует выполнить проверку. Мы рекомендуем повторно запустить YOU ARE EMPTY для проверки того, возникает ли проблема.
you_are_empty.exe Описание файла | |
---|---|
Тип файла: | EXE |
Группа: | Game,Videogame |
Новейшие программы: | YOU ARE EMPTY |
ID: | 2007 |
Компания: | Digital Spray Studios |
Имя файла: | you_are_empty.exe 64a0c78dfdb5d1bb1f2d9b342b769c776f581162 |
MD5: | c3c972e2c0714fa3887def6dee6e3c91 |
CRC32: | 7ff2b77d |
empty-expect и сборка под архитектуру PowerPC
Некоторые консольные приложения несмотря на интуитивную предрасположенность к скриптовой автоматизации предполагают интерактивное взаимодействие с пользователем, что напрочь убивает любые попытки составления простых скриптов для автоматического выполнения тех или иных действий с их помощью.
Для исправления ситуации существуют немногочисленные программы, позволяющие создавать своего рода псевдотерминалы, отслеживающие появление на консоли того или иного текста и позволяющие задать текст, автоматически отправляемый в ответ на данный текст. Типовым примером является утилита expect, требующая для работы интерпретатора tcl, или значительно более легкая и значительно менее известная утилита empty, заметно более подходящая для OpenWrt-роутеров.
В случае попытки запуска утилиты empty на роутере, работающем на процессоре архитектуры PowerPC (в частности, mpc85xx), обнаруживается, что любые действия приводят к ее моментальному сбою с сообщением о segfault’е (SIGSEGV) в системном логе:
Tue Apr 22 00:07:26 2014 kern.info kernel: [885768.318640] empty[9029]: unhandled signal 11 at 00004000 nip 4806f2a4 lr 10002180 code 30001
В ходе изучения исходников empty.c была выявлена особенность gcc-компилятора, что при вызове функции semctl() без четвертого параметра, который, в общем-то, должен бы являться необязательным, под архитектуру PowerPC генерируется некорректный код. Описание и workaround для данной проблемы представлен, к примеру, здесь (к слову, обратите внимание на дату заметки – 2003 год). Так, быстро исправить ситуацию позволяет добавление заглушки в виде указателя, к примеру, на неиспользуемую целочисленную переменную, в качестве четвертого параметра на каждом вызове функции semctl().
На базе этой информации был составлен патч mpc85xx-fix.patch:
--- a/empty.c 2014-04-22 00:04:32.317542049 +0400 +++ b/empty.c 2014-04-22 00:06:02.580442807 +0400 @@ -177,6 +177,7 @@ int fl_state = 2; /* 0 - in >>> 1 - out (void)closelog(); (void)exit(ex_code);
Для использования его нужно разместить в папку ./package/feeds/packages/empty/patches относительно корня каталога buildroot’а OpenWrt и затем пересобрать утилиту командой make package/feeds/packages/empty/ .
Что характерно, проблема проявляется только при сборке под mpc85xx (powerpc), тогда как, к примеру, утилита, собранная для ar71xx (mips32r) работает корректно.
PS: Название утилиты empty обыгрывает сокращение pty, означающее «псевдотерминал», и слово «empty», означающее «пустоту». И все было бы хорошо, не будь «empty» до такой степени распространенным словом при описании той или иной компьютерной проблемы. В результате найти в интернете хоть какие-то обсуждения утилиты empty и с добавлением дополнительных ключевых слов вроде «terminal», «console» или «utility» терпят сокрушительное фиаско. По этой причине данную утилиту больше шансов найти по не совсем логичному названию empty-expect, что подчеркивает ее связь со значительно более известной утилитой автоматизации интерактивных консольных программ — expect.
При подготовке материала использовались источники:
https://www.solvusoft.com/ru/files/%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B0-%D0%BF%D1%80%D0%B8-%D1%83%D0%B4%D0%B0%D0%BB%D0%B5%D0%BD%D0%B8%D0%B8-%D0%B2%D0%B8%D1%80%D1%83%D1%81%D0%B0/exe/windows/digital-spray-studios/you-are-empty/you-are-empty-exe/
https://tt.erinome.net/2014/04/660