Форум: "Прочее";
Текущий архив: 2014.08.03;
Скачать: [xml.tar.bz2];
Внизvirtualbox + fmCreate + Read = EPROTO Найти похожие ветки
← →
Дмитрий СС (2014-01-08 19:32) [0]Имеется:
Windows 7.
Debian на virtualbox-е.
Подключена общая папка.
В этой папке лежит програмка написанная на freepascal.
В определенной части кода она создает временный файл Tmp := TFileStream.Create("...", fmCreate);
Файл заполняется.
После чего делается Tmp.Seek(0, 0) и попытка чтения.
Но Tmp.Read(...) возвращает 0. С помощью strace я установил, что соответствующий вызов read возвращает EPROTO "Protocol error".
strace строка для создания файла:
open("...",O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 5
Если открываемый файл находится на локальном разделе, то читается/пишется он нормально.
Программа выполняется от имени root.
Какие могут быть идеи?
← →
Дмитрий СС (2014-01-08 19:53) [1]Анализ с помощью Process monitor на хост ОС показал, что virtualbox даже не пытается читать этот файл (только записывает)
← →
icelex © (2014-01-10 12:55) [2]разрешения не выставлены?
← →
Дмитрий СС (2014-01-11 10:18) [3]На виртуальной ос выполняется под рутом.
На хост все права есть. Даже под админом запускается.
Ошибка чтения именно файлов открытых с флагом fmCreate. Если открыть ReadWrite ошибки нет.
Временно сделал через сетевую папку - так работает.
Пс. Виртуалбокс обновил, дебиан тоже. Не помогает.
Всякие багрепорты читал - ничего толкого. Пишут что исправленно: баг закрыт, если проявится откройте снова. И все хрен знает каких времен.
← →
sniknik © (2014-01-11 11:13) [4]> strace строка для создания файла:
> open("...",O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 5
моде разве не в 16 ном формате задается обычно? я к тому что в 10м не очень хорошо видно. и попробуй поставить $0777 или (тоже самое) S_IRWXU or S_IRWXG or S_IRWXO
← →
Дмитрий СС (2014-01-12 00:39) [5]
> open("...",O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 5
Это строка из вывода strace. Видимо на языке в котором предшествующий ноль обозначает восьмеричную систему.
Пробовал указывать вручную 777 (во фрипаскале это &777) - эффект тот же самый. К слову сказать, шары виртуалбокса не поддерживают управление правами.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2014.08.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c