| Summary: | Сохранение из 1С 8.1 на CIFS не работает | ||
|---|---|---|---|
| Product: | [Внутреннее (Etersoft)] Отдел тестирования | Reporter: | Vitaly Lipatov <lav> |
| Component: | 1С | Assignee: | Pavel Shilovsky <piastry> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P3 | CC: | amorozov, baraka, lav, night, sin, yurifil |
| Version: | не указана | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | All | ||
| Whiteboard: | |||
| Заявки RT: | 10580, 11003, 9561 | Связано с: | 4370 |
| Дата напоминания: | |||
| Bug Depends on: | 4370 | ||
| Bug Blocks: | 3043, 3044, 4201, 4284 | ||
|
Description
Vitaly Lipatov
2009-07-29 19:34:07 MSD
У меня пока гипотезы 3: 1. Ошибка в работе 1С 8.1 (некорректно сохраняет именно в таком раскладе) - странно то, что локально с сохранением проблем нет. В логах не очень хорошие сообщения на тему сохранения. 2. Нечто в используемой samba, влияющее на etercifs 3. Особые параметры монтирования на клиенте Установил samba3: # pkg_fetch samba3 ---> Fetching samba3 /var/tmp/portupgraded02Wz9IN/samba3.tbz 100% of 26 MB 326 kBps 00m00s ---> Downloaded as samba3.tbz ---> Identifying the package /var/tmp/portupgraded02Wz9IN/samba3.tbz ---> Saved as /usr/ports/packages/All/samba-3.0.35,1.tbz [root@freebsd /mnt/FreeBSD/7.2/usr/ports/net/samba3]# pkg_add -f /usr/ports/packages/All/samba-3.0.35,1.tbz Но надо обновить все пакеты, я пока не знаю как. Денис, предлагаю проверять в порядке согласно моему комментарию №1. порты обновляются утилитой portupgrade. portupgrade -aP обновляет все порты, устанавливая бинарники, где возможно. сейчас /usr/ports хоста указывает на /mnt/FreeBSD/7.2/usr/ports с обновленными портами. FreeBSD отменяется. Воспроизвести удалось в обычных условиях. Открываем любой документ, Файл>Сохранить копию> Выбираем расширение .xls В консоль валится следующее: fixme:storage:StgCreateDocfile Storage share mode not implemented. fixme:storage:StgCreateDocfile Transacted mode not implemented. err:virtual:map_file_into_view shared writable mmap not supported, broken filesystem? err:virtual:NtMapViewOfSection map_file_into_view 0x10330000 1000 000000000 failed err:storage:ImplBIGBLOCKFILE_WriteAt Unable to get a page to write. This should never happen err:virtual:map_file_into_view shared writable mmap not supported, broken filesystem? err:virtual:NtMapViewOfSection map_file_into_view 0x10330000 1000 000000000 failed err:storage:ImplBIGBLOCKFILE_WriteAt Unable to get a page to write. This should never happen err:virtual:map_file_into_view shared writable mmap not supported, broken filesystem? err:virtual:NtMapViewOfSection map_file_into_view 0x10330000 1000 000000000 failed WINE@Etersoft 1.0.11 eter5.1/eter3 etercifs 4.3.8 Самый легкий способ воспроизведения: Файл>Новый>Табличный документ, заполняем его, далее Файл>Сохранить копию> Выбираем расширение .xls, выбираем созранение на CIFS-ресурс. Проверено что на NFS-ресурс сохраняется корректно, локально тоже все хорошо. Так же по прошествии некоторого времени файлы начинают корректно сохраняться. При монтировании с параметрами noperm,forcemand сохранение работает, а с noperm,forcemand,direct не работает (настройки samba и версии ядер и etercifs те же, что в баге 4346). Проблема в том, что без direct есть проблемы с 1С 7.7.
Судя по сообщению
err:virtual:map_file_into_view shared writable mmap not supported, broken
filesystem?
дело в mmap. Вот такая тестовая программа:
#include <stdio.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
int main(int argc, char *argv[])
{
void *addr;
int fd;
if (argc != 2)
{
fprintf(stderr, "Using: %s filename\n", argv[0]);
return 1;
}
fd = open(argv[1], O_RDWR, 0640);
if (fd < 0)
{
perror("open");
return 1;
}
addr = mmap(NULL, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (addr != MAP_FAILED)
{
puts("mmap OK");
munmap(addr, 4096);
}
else
{
perror("mmap");
}
close(fd);
return 0;
}
при монтировании с noperm,forcemand,direct выводит:
mmap: No such device
С noperm,forcemand,direct,brl сохранение тоже не работает. Я так понимаю, что всё идёт к тому, чтобы режим монтирования CIFS для баз (совместной работы с WINE) и для обычной работы был разный... Надо ли проверять, какая ситуация на 4.4.1 (сборки имеются)? Это та же проблема, что и в 4370. С параметром direct CIFS просто не знает такой операции, как mmap, потому работа многих приложений, таких как openoffice, gedit не корректна. С 1С 8.1 такая же ситуация. Патч из баги 4370 решает эту проблему. etercifs 4.4.1 eter1 Проблема решена. Какая проблема и каким образом решена? Что именно стало работать для тебя? MOUNT_OPTIONS=user=guest,pass=,rw,iocharset=utf8,noperm,forcemand,direct Сохранение и открытие файлов на CIFS ресурсе работает корректно. etercifs 4.4.1 eter1 Считаём решённым в релизе WINE@E 1.0.12 |