1С multi-user завершена аварийно

1C:V7 starter program (multi-user)

Очень сильно задолбала проблема ?, возникающая откуда не возмись : при выходе из 1С 7.7 на сервере Windows Server 2008 R2.

Прекращена программа 1C:V7 starter program (multi-user)

фотка 1

И в окончательном варианте на экране повисает :

1C:V7 starter program (multi-user) не работает

фотка 2

Когда заходим от Администратора такая ошибка не возникает. Значит что-то связано с правами пользователей!

У нас используются разные компоненты.

Пробуем выключить ИХ из загрузки ,т.е тупо делаем примерно так :

Процедура ПриНачалеРаботыСистемы()  Экспорт
    	Возврат;

И чудо свершилось, ошибка ушла.

Теперь изучаем чего мы там нагородили , какая из компонент лажает

Ну например в этом точно причина была :

ИмяDLL = "ndeclin.dll";
Если ЗагрузитьВнешнююКомпоненту(ИмяDLL)=0 Тогда
        Сообщить("Ошибка загрузки внешней компоненты: "+ИмяDLL);
КонецЕсли;

Это компонента для склонения имен , очень удобно склонять в документах ФИО физ.лиц.

При этом при загрузке она не ругается, а все ругань происходит при закрытии 1С. Почему?

Ечли открывать 1С под пользователем Windows , у которого есть права Администратора , то сбоя не происходит. В противном случае получаем ошибку и как следствие необходимость переиндексации базы данных.

Теперь внимание

И вот теперь внимание , если закоментировать ЗагрузитьВнешнююКомпоненту, то ошибка уходит.

Вспоминаем зачем нужна команда ЗагрузитьВнешнююКомпоненту, похоже только один раз от админа зарегистрировать компоненту в Windows?

Рабочими лошадками , которые грузят компоненту в память при загрузке программы являются команды СоздатьОбъект , типа

глPDS = СоздатьОбъект( "Padeg.Declension" );
глNDS = СоздатьОбъект( "AddIn.NameDeclination" );

Выводы

Можно убрать команду ЗагрузитьВнешнююКомпоненту из сценария загруки (из глобального модуля). И все будут работать , во всяком случае какое-то время.

Но причина не найдена на самом деле.

Dependency walker х64 для ndeclin.dll показывает некие ошибки.

фотка 3

Dependency walker х32 не ругается , но ошибки тоже есть :

фотка 4

Программа Просмотр событий фиксирует 3 ошибки Приложения

фотка 5

Кто такой cpsspap?

И последним появляется отчет Windows Error Reporting :


- 
- 
   
  1001 
  4 
  0 
  0x80000000000000 
   
  56890 
  Application 
  WinServ-2008-64 
   
  
- 
  939464771 
  392888938 
  APPCRASH 
  Отсутствует 
  0 
  1cv7.exe 
  7.70.0.27 
  4573fcb7 
  StackHash_fd00 
  0.0.0.0 
  00000000 
  0eedfade 
  00000000 
   
   
  C:\Users\ba\AppData\Local\Temp\WERAA89.tmp.version.txt 
  C:\Users\ba\AppData\Local\Microsoft\Windows\WER\ReportArchive\Report0d39aeec 
  
  

C:\Users\ba\AppData\Local\Microsoft\Windows\WER\ReportArchive\Report0d39aeec

Здесь лежит следующая инфа :

Version=1 EventType=APPCRASH EventTime=132275473313587790 ReportType=2 Consent=1 UploadTime=132275473344177790 Response.BucketId=939464771 Response.BucketTable=392888938 Response.type=4 Sig[0].Name=Имя приложения Sig[0].Value=1cv7.exe Sig[1].Name=Версия приложения Sig[1].Value=7.70.0.27 Sig[2].Name=Штамп времени приложения Sig[2].Value=4573fcb7 Sig[3].Name=Имя модуля с ошибкой Sig[3].Value=StackHash_fd00 Sig[4].Name=Версия модуля с ошибкой Sig[4].Value=0.0.0.0 Sig[5].Name=Штамп времени модуля с ошибкой Sig[5].Value=00000000 Sig[6].Name=Код исключения Sig[6].Value=0eedfade Sig[7].Name=Смещение исключения Sig[7].Value=00000000 DynamicSig[1].Name=Версия ОС DynamicSig[1].Value=6.0.6003.2.2.0.16.7 DynamicSig[2].Name=Код языка DynamicSig[2].Value=1049 DynamicSig[22].Name=Дополнительные сведения 1 DynamicSig[22].Value=fd00 DynamicSig[23].Name=Дополнительные сведения 2 DynamicSig[23].Value=ea6f5fe8924aaa756324d57f87834160 DynamicSig[24].Name=Дополнительные сведения 3 DynamicSig[24].Value=fd00 DynamicSig[25].Name=Дополнительные сведения 4 DynamicSig[25].Value=ea6f5fe8924aaa756324d57f87834160 UI[2]=C:\Program Files (x86)\1Cv77\BIN\1cv7.exe UI[3]=Прекращена работа 1C:V7 starter program (multi-user) UI[4]=Windows может провести поиск способа устранения этой ошибки в Интернете. UI[5]=Искать решение проблемы в Интернете и закрыть программу UI[6]=Проверить наличие способа исправления ошибки в Интернете позднее и закрыть программу UI[7]=Закрыть программу State[0].Key=Transport.DoneStage1 State[0].Value=1 State[1].Key=DataRequest State[1].Value=Bucket=939464771/nBucketTable=392888938/nResponse=1/n FriendlyEventName=Остановка работы ConsentKey=APPCRASH AppName=1C:V7 starter program (multi-user) AppPath=C:\Program Files (x86)\1Cv77\BIN\1cv7.exe

Надо признать , что не смотря на объемный лог причину-то не понять пока.

Марк Русинович в помощь нам

На просторах интернета есть отличная прога ProcessMonitor , смотрите ,что показывает она по фильтру 1cv7.exe

фотка 6


И вот наступает момент истины - обычным пользователям не хватает прав на создание/запись в данную ветку реестра
HKLM\SoftWare\WoW6432\Node\Padeg

Открываем через regedit нужную нам ветку реестра и вручную указываем, кому добавить права.

Ошибка уходит. Всех поздравляю!