Страница 1 из 2

Ошибка создания файла.tmp

Добавлено: 08 янв 2014, 12:03
zna
Коллеги, как бороться с ошибкой:
Изображение
Сообщение может появиться случайным образом в любом интерфейсе, после ОК Галактика может упасть, а может и продолжить нормальную работу.
Права на папку админские, в момент появления этого сообщения файла- "tmp3F1.tmp" нет. Идентификатор (какого объекта?) говорит о переполнении двухбайтового числа. Похоже, что интерфейс генерирует этот идентификатор с ошибкой :-?
Клиент на Win7, сервер MSSQL 2008, Галактика- Экспресс ВРП, обновления - май 2013г., чек базы проходит нормально, триггеры проверял.

Re: Ошибка создания файла.tmp

Добавлено: 08 янв 2014, 13:51
m0p3e
Для начала попробуйте очистить папку tmp. Есть ограничение на количество файлов.

Re: Ошибка создания файла.tmp

Добавлено: 08 янв 2014, 14:10
zna
Чистится автоматически при открытии Галактики.

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 04:46
LaaLaa
zna писал(а):Чистится автоматически при открытии Галактики.
Скорее всего именно в этом и причина. Скорее всего один процесс файл создал другой процесс его почистил. Первый обращается к своему файлу и получает ошибку.

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 08:35
zna
Хм..
Галактика запускается bat- файлом, в котором передварительно удаляются времянки, оставшиеся от предыдущего сеанса. На текущий сеанс они не должны влиять. Потом в рабочую папку копируется предварительно сделанный user.dsk (его задача- восстановить старое главное меню, ну не прижилось новое у нас..). Вот содержимое батника:

Код: Выделить всё

set StartClient=C:\GalExpressClient2\
if Exist %StartClient%*.log del %StartClient%*.log /q 
if Exist %StartClient%*.tmp del %StartClient%*.tmp /q /s 
if Exist %StartClient%*.tmp del %StartClient%*.tmp /q /s /ah 
if Exist %StartClient%*.tmp del %StartClient%*.tmp /q /s /as

if Exist %StartClient%dsk\grmks\*.tmp del %StartClient%dsk\grmks\*.tmp /q /s 
if Exist %StartClient%dsk\grmks\*.tmp del %StartClient%dsk\grmks\*.tmp /q /s /ah 
if Exist %StartClient%dsk\grmks\*.tmp del %StartClient%dsk\grmks\*.tmp /q /s /as

if Exist %StartClient%tmp\grmks\*.* del %StartClient%tmp\grmks\*.* /q /s 
if Exist %StartClient%tmp\grmks\*.* del %StartClient%tmp\grmks\*.* /q /s /ah
if Exist %StartClient%tmp\grmks\*.* del %StartClient%tmp\grmks\*.* /q /s /as 

if Exist %StartClient%GrMks_%UserName%.res del %StartClient%GrMks_%UserName%.res /q 

copy /y \\Mks-galaktika2\galsrv\UserDsk\user.dsk %StartClient%dsk\grmks\%UserName%.dsk
start \\Mks-galaktika2\galsrv\EXE\galnet.exe /c:%StartClient%grmks.cfg

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 09:24
KATZ
Если есть антивирус - попробуйте отключить.

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 11:21
edward_K
А это с локала запускается или в терминале?
Да и звери иногда промахиваются и запускают по второму разу. Логичней чистку tmp вставить в старт системы.
Ругается всегда на один и тот же файл или на разные? Какие то TMP создаются? Вариантов много - антивирь, DEP, Smb2 и так далее .
Для TMP файлов в cfg должны быть прописаны 2 настройки - Files.TmpFilesDirectory, Files.TmpFilesShortDirectory - посмотрите в галке сервис - конфигуратор параметры.

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 12:41
zna
Запускаю локально на своём раб. месте, повторный запуск Галактики исключён. SMB2 на сервере аппаратного ключа вырублен. Ругань на разные tmp файлы, в зависимости от запускаемого интерфейса. После закрытия ругачего сообщения интерфейс, как правило, всё-таки открывается и работает нормально, tmp-шки создаются. Означенные настройки в cfg есть и нацелены на одну папку. Вот весь cfg, покритикуйте:

Код: Выделить всё

#include \\MKS-GALAKTIKA2\GalSrv\Start\StartUp.inc
#include \\MKS-GALAKTIKA2\GalSrv\Start\Color.inc

[Database]
  DataBaseName=grmks
  DataBaseDriver=MS70DRV.DLL
  CheckRepository=off

[SQLDriver]
  SQLServer=ncacn_ip_tcp:MKS-GALAKTIKA2[1997]

[Configurator]
  Designer=On
  ExpertMode=On
  Resource = C:\GalExpressClient2\Dsk\grmks\%user%.crf

[Common]
  AddConfigFile=C:\GalExpressClient2\Dsk\grmks\%user%_dop.cfg
  SaveCfgToFile=C:\GalExpressClient2\Dsk\grmks\%user%_dop.cfg

[Login]
  /u=naz
  /p=

[DeskTop]
  DeskTopFileName=C:\GalExpressClient2\Dsk\grmks\%user%.dsk

[Files]
  HelpFilesPath=\\mks-galaktika2\galsrv\exe\Help
  TmpFilesDirectory=C:\GalExpressClient2\tmp\grmks\%user%\
  TmpFilesShortDirectory=C:\GalExpressClient2\tmp\grmks\%user%\

[Windows]
  FontSize = 8

Forms.Fcenv = On

[Compilers]
  OutputResourceName=C:\GalExpressClient2\GrMks_%User%.res
  SubServientResource=C:\GalExpressClient2\GrMks_%User%.res
Сейчас вот в антивирусе Касперского указал "C:\GalExpressClient2" как доверенную папку, посмотрю пока..
А DEP- это что?

Re: Ошибка создания файла.tmp

Добавлено: 09 янв 2014, 16:39
zna
Отключение антивируса Касперского от сканирования клиентской папки не помогло- ошибки радостно прут с неиссякаемым энтузиазмом :D
Причём ругачка идёт на отсутствия доступа к файлу.tmp, которого нет в папке..
Попробую развести по разным углам настройки

Код: Выделить всё

  TmpFilesDirectory=C:\GalExpressClient2\tmp\grmks\%user%\
  TmpFilesShortDirectory=C:\GalExpressClient2\tmp\grmks\%user%\
т.е. по разным папкам..

Re: Ошибка создания файла.tmp

Добавлено: 10 янв 2014, 03:55
LaaLaa
zna писал(а):Потом в рабочую папку копируется предварительно сделанный user.dsk (его задача- восстановить старое главное меню, ну не прижилось новое у нас..)
Можно не копировать, а указать ссылку на заранее созданный dsk файл в параметре GlobalDsk

Re: Ошибка создания файла.tmp

Добавлено: 10 янв 2014, 11:16
pk
zna писал(а):Отключение антивируса Касперского от сканирования клиентской папки не помогло- ошибки радостно прут с неиссякаемым энтузиазмом :D
Причём ругачка идёт на отсутствия доступа к файлу.tmp, которого нет в папке..
Попробую развести по разным углам настройки
Смутное предположение, что в dsk может храниться имя временного файла, что-то такое встречалось.. В данном случае очистка dsk поможет, попробуйте.

Re: Ошибка создания файла.tmp

Добавлено: 13 янв 2014, 09:12
KATZ
zna писал(а):Отключение антивируса Касперского от сканирования клиентской папки не помогло- ошибки радостно прут с неиссякаемым энтузиазмом
Причём ругачка идёт на отсутствия доступа к файлу.tmp, которого нет в папке..
Попробуйте с полностью отключенным АВ. Доверенные зоны в касперском не гарантируют его лояльность.

Re: Ошибка создания файла.tmp

Добавлено: 13 янв 2014, 11:07
edward_K
А попробуйте еще галку переставить по более короткому пути - чтобы каждая папка была не более 8 символов и не более 3 от корня папка с запуском
да и ваш лющий dsk не лишне отключить на время. Да и лучше его подключать как DeskTop.GlobalDesktopFileName = ??????\common.dsk
Чистку tmp я бы все таки в автозагрузку перенес.
Интересно, а проблема возникла неожиданно или сразу после начала работы?

Re: Ошибка создания файла.tmp

Добавлено: 13 янв 2014, 11:23
Masygreen
прорвете сеть .. гал иногда очень странно реагирует на это.. кроме tmp диагнозом могут служить ошибки типа повреждения каких-то res файлов. ..

Re: Ошибка создания файла.tmp

Добавлено: 13 янв 2014, 11:36
zna
edward_K писал(а):А попробуйте еще галку переставить по более короткому пути - чтобы каждая папка была не более 8 символов и не более 3 от корня папка с запуском
да и ваш лющий dsk не лишне отключить на время. Да и лучше его подключать как DeskTop.GlobalDesktopFileName = ??????\common.dsk
Чистку tmp я бы все таки в автозагрузку перенес.
Интересно, а проблема возникла неожиданно или сразу после начала работы?
1. Пытался папки tmp по короткому пути подключить- без толку, всю Галактику .. попробую;
2. Да, уже убрал общий dsk в DeskTop.GlobalDesktopFileName- так гораздо удобнее, чем копирование;
3. В автозагрузку смысла мало, т.к. комп практически не выключается.

Сейчас вот полностью антивирус остановил, наблюдаю.
История проблемы такая: на начало 2013 года было нормально. В майские праздники 2013 было два события одновременно: переезд на 64-х разрядный сервер и обновление, всё делал вроде по здешним рекомендациям. Ошибки появились, но в терпимом количестве, далее стали нарастать.
Установлены собственные доработки, есть alter интерфесов, но ошибки идут по самым разным интерфейсам.