gifts2017

Ошибка соединения с сервером 1С и ошибка формата потока.

Опубликовал Alex_IT (Alex_IT) в раздел Администрирование - Тестирование и исправление

При подключении к серверу 1С из консоли получаем:

Ошибка соединения с сервером 1С:Предприятия 8.2:
Ошибка на сервере или соединение разорвано администратором
Ошибка формата потока

При запуске SQL базы получаем ошибку:

Ошибка при выполнении операции с информационной базой.
Ошибка на сервере или соединение разорвано администратором.
Ошибка формата потока

И так, исходные данные:

Свежеустановленная Windows 7 Professional x64, все апдейты и т.д. (проблема имеет место и на Server 2008 и на 2008R2)

Произведена установка платформы 1С 8.2 (тестировались релизы 8.2.16.3688.2.16.3638.2.15.319

Установлен сервер 1C x64 (32битный тоже пробовал)

Все работает до перезагрузки. После перезагрузки при попытке подключения к базе в SQL или открытии кластера в консоли 1С получаем отлуп с такими картинками:

При подключении к серверу 1С из консоли получаем:

Ошибка соединения с сервером 1С:Предприятия 8.2:
Ошибка на сервере или соединение разорвано администратором
Ошибка формата потока

Ошибка

При запуске SQL базы получаем ошибку:

Ошибка при выполнении операции с информационной базой.
Ошибка на сервере или соединение разорвано администратором.
Ошибка формата потока

 Ошибка

Для возможности запуска базы и подключения к кластеру из консоли помогало только:

1. Остановка службы сервера  1С:Предприятия 8.2

2. Удаление процессов rmngr.exe  rphost.exe (сам вылетает при завершении rmngr.exe).

3. Очистка каталога C:\Program Files\1cv82\srvinfo\reg_1541\snccntx (у 32 битного сервера C:\Program Files (x86)\1cv82\srvinfo\reg_1541\snccntx)

4. Запуск службы сервера 1С:Предприятия 8.2

 Однако, в процессе работы с SQLной конфой, можно было неожиданно поймать аварийное закрытие 1Ски с последующим получением этих же ошибок.

Были протестированы:

1. различные релизы, различные серверы,

2. различные пользователи: Система, Администратор, USR1CV82.

3. принудительное выставление полных прав этим пользователям на каталоги C:\Program Files\1cv82\ (у 32 битного сервера C:\Program Files (x86)\1cv82\) с наследованием на дочерние объекты.

4. десятки перезагрузок и многое другое.

Однако причина оказалась куда более неожиданной! 


Разыменование в Windows 7 (Server 2008,  2008R2, вероятно и 2012)

 

Попробуйте пропинговать свой комп по имени. То что Вы увидите, определит возможность применения моего решения.

Выполнить это просто: 

1. Запустите командную строку (Win+R, наберите cmd и нажмите ОК)

2. В командной строке наберите команду "Ping" пробел и имя вашего компьютера. Именно имя, а не его IP адрес. Нажмите Enter.

3. Если система начала пинговать себя через адрес вида fabc:de12:3456:7890:ABCD:EF98:7654:3210, или другой отличный от Вашего IP адрес

 - добро пожаловать в частный клуб багофичи разыменования по версии Windows 7.

Основа проблемы кроется в том, что 1С сервер не может по имени определить себя.

А вот, отображение Вашего IP в виде IPv6 - одна из самых частых причин возникновения этой ошибки. 

Еще одной из причин может быть периодическое подключение к другой сети (допустим ВПНу) когда создается новый интерфейс и Винда опять же начинает разыменовывать себя "неправильно".

Ниже я опишу два решения для обхода этой "особенности".

Предварительно хочу предупредить:

Все действия с Вашим компьютером Вы производите на свой страх и риск.

Человек выполняющий мои рекомендации должен понимать Что и Почему он делает!!!


Вариант №1 Добавить в Hosts свой ПК и его IP

1. Нужно найти файлик hosts в папке C:\Windows\System32\drivers\etc  Если в этой папке Вы не видите файлик Hosts, значит он просто скрыт. Тогда можно нажать клавишу ALT и, в появившемся меню, выбрать "Сервис"-"Параметры папок"-"Вид" и  снять там галочку "Скрывать защищенные системные файлы".  Можно еще установить переключатель "Показывать скрытые файлы, папки, диски", тогда вообще все будет видно.  (После манипуляций с Hosts, рекомендую вернуть галочку на ее прежнее место, что бы случайно чего не зацепить в будущем)

2. Открыть этот файлик в Notepad (блокнот) и в конец дописать строку вида 192.168.0.1 Server  (IPадрес ИмяПК). Сохранить и закрыть файлик.

3. Попробовать заново пропинговать свой ПК через имя. Если Вы снова не видите нужно IP - что-то пошло не так... Возможно антивирус вернул старую версию файла (Каспер такое любит) или что-то еще.

В общем нужно добиться правильного адреса при пинге через имя.

 Пример изменений в Hosts



Вариант №2 Отключить полностью протокол IPv6 (http://support.microsoft.com/kb/929852)

Этот варинт подойдет тольео если причиной ошибки является IPv6.
Стараясь быть впереди планеты всей, Windows 7, мало того что ставит IPv6 сразу ко всем интерфейсам, так она еще и ставит его в качестве дефолтного при разыменовании.  Однако на сегодняшний день этот протокол мало кто использует, а следовательно его можно/нужно отключить. Помните, что снятие галочки с протокола IPv6 в интерфейсе сетевой карты ничего не даст! 
  1. Нажмите Win+R, напишите regedit и нажмите Enter. Откроется редактор реестра.
  2. Если появиться запрос на разрешение действий, нажмите в  диалоговом окне Контроль учетных записей пользователей кнопку Продолжить.
  3. Найдите и выберите следующий подраздел реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\
  4. Дважды щелкните пункт DisabledComponents для изменения параметра DisabledComponents.
    Если параметр DisabledComponents отсутствует, его необходимо создать. Для этого:
    1. Находясь на ветке Parameters,  в меню Правка выберите пункт Создать, а затем — Параметр DWORD (32 бита).
    2. Введите DisabledComponents и нажмите клавишу ВВОД.
    3. Дважды щелкните пункт DisabledComponents.
    4. Введите значение    ffffffff   , а затем нажмите кнопку ОК
    5. Перегрузить компьютер.

Выглядеть должно так:

IPv6 OFF

Таким образом Вы отключите протокол IPv6 полностью и Винда не будет использовать его IP вдрес для разименования.

 

ВАЖНО!!!

Обязательно пропингуйте свой ПК через имя и убедитесь, что пинги идут на правильный IP адрес.  Не всегда, с первого раза, удается отключить IPv6 (то имя параметра не совсем правильное, то значение...)

 

Хочу напомнить, что оба решения не являются панацеей, и не самом деле позволяют обойти ошибку, а не устранить ее причину.

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Andrey H (han_kdz) 11.11.12 22:50
Спасибо огромное. Та же ситуация на Windows Server 2008 R2. Удаление ipv6 из настройки сетевой карты ничего не да дает, но описанный вариант №1 сработал!
Респект!
2. Alex_IT (Alex_IT) 11.11.12 22:56
(1) han_kdz, Да, у меня на IPv6 тоже была снята галка, однако Винда все равно пинговалась через IPv6. Видимо причина в том, что снятие галки на определенном интерфейсе не отключает сам протокол в системе. При этом, мой второй метод отключает IPv6 именно во всей ОС и так же лечит проблему с Сервером1С.
3. User_E (User_E) 13.11.12 11:00
По повду Hosts сталкнулся с проблемой что его нет в каталоге C:\Windows\System32\drivers\etc, это касается 7-ой винды. Решил проблему запус блокнота от имени админа и через файл открыть руками прописал hosts.
4. Alex_IT (Alex_IT) 13.11.12 12:46
(3) User_E, Тоже вариант, но можно просто нажать ALT и в появившемся меню "Сервис-Параметры папок-Вид" СНЯТЬ галочку Скрывать защищенные системные файлы. Можно еще установить переключатель "Показывать скрытые файлы, папки, диски", тогда вообще все будет видно.
5. mc2 14.11.12 01:51
Огромное спасибо. Сработал второй вариант под Windows 7.
6. sanches (sanches) 14.11.12 06:22
Большое СПАСИБО. Ставлю авансом +, проверю позже :)
Надеюсь, у меня как и у всех остальных получится решить проблему одним из способов предложенными Вами.
7. Фаниль Исламов (fancy) 14.11.12 06:34
Я тоже с таким сталкивался, если вдруг на сервере 1С пропадал интернет, или наоборот подключался (к примеру 3g-модем)
8. Евгений Шабалин (xzorkiix) 14.11.12 09:45
Пацаны ваще котята! Спасибо.
9. Максим (maxim305) 14.11.12 10:29
Спасибо, актуальная статья!
10. aleksei (alekseies) 14.11.12 10:39
Сталкивался с такой ошибкой. 1С Предприятие 8.2 УПП Клиент-Сервер. Пришлось снесты антивирус NOD32 3.x 4.x/ Все за работало!
11. Alex_IT (Alex_IT) 14.11.12 11:00
(10) alekseies, Антивирус может быть причиной именно этой ошибки, в том случае если он создает свой сетевой интерфейс, тогда разыменование вполне может пойти именно через интерфейс антивируса.
12. Роман Кокарев (РоманКокарев) 14.11.12 14:53
После совершения действий из 1ого вариант пингуется как положено автором. Будем надеяться, что это поможет избежать данной ошибки в будущем.
13. Максим Князев (mad_maksim) 15.11.12 09:35
Предыстория долгая, можно было короче. В целом информация полезная.
У меня десятки серверов с активным ipv6, с таким не сталкивался.
Интересно было бы понять причину таких ситуаций.
Пока озвучена одна - кривой антивирус NOD (который, к слову сказать, вообще нельзя ставить на сервера)
14. Alex_IT (Alex_IT) 15.11.12 09:51
(13) mad_maksim, Антивирус может быть частным случаем, но не массовым.
Расскажите, какие релизы платформы установлены на Ваших серверах и какая операционка установлена?
15. Андрей Ярошенко (Garstag) 15.11.12 10:55
Операционка на сервере - Win2008 R2, антивирус - McAfee, сервер эксплуатируется уже 3 года с разными версиями платформ. С такой проблемой сталкивался на клиентских машинах, при соединении из другого домена. Решил дописыванием суффикса в интерфейсе IPv4.
16. Alex_IT (Alex_IT) 15.11.12 11:06
(15) Garstag,
А установлен ли SP1 на серверах и какой текущий релиз платформы 8.2?
У меня тоже есть сервера на 2008R2, установленные 2-3 года назад и, согласен, там нет такой проблемы.
И точно ли с такой ошибкой Вы встречались? Т.к. похожих ошибок очень много, но эта особенная :)

У меня есть подозрение, что причина в схеме назначения метрики интерфейсов/протоколов . И, видимо, эта схема поменялась при выходе SP1... Я игрался с метрикой интерфейсов на своей машине - все указывает на нее...
17. Андрей Ярошенко (Garstag) 15.11.12 11:27
SP1 на сервере установлен, у нас все обновления отслеживаются службой WSUS. Сейчас установлена платформа 8.2.16.363, но начинали мы с платформы 8.1
Сказать не могу, что у нас была именно эта ошибка, но очень уж похожая по описанию...
18. Alex_IT (Alex_IT) 15.11.12 11:43
(17) Garstag, Вероятно ошибка была другой. Просто, ошибка формата потока может возникать минимум в 5 абсолютно различных случаях, многие уже описывались на разных ресурсах.
19. Сергей Соловьев (sergey_s_) 28.11.12 11:40
Ситуация такая же на Windows Server 2008 R2 х64 SP1.
При отключенном нете все нормально, но как только подключаешь нет все вылетает, или перезагрузка с включенным нетом так там после запуска не работает.
Использовал "Вариант №1" все заработало!
Афтару Огромное Спасибо.
20. haz (zaxarovsky) 08.12.12 08:28
Спасибо за статью, помогла разобраться в проблеме!
Проблема, видимо, почти такая же как здесь описано, но решилось у меня несколько иначе и проще.

Просто в окне запуска инфобаз в настройке подключения базы заменил имя кластера серверов 1C с айпишного на именованное (192.168.100.11:1541 поменял на vterm:1541).
(При этом имя центрального сервера в консоли 1С задано как vterm)
21. Alex_IT (Alex_IT) 08.12.12 10:46
(20) haz, Да, помню еще по работе с КИПом, вроде Гилев отмечал, что подключение и сам кластер обязательно должны быть по имени, а не по IP адресу.
22. Xpym Xpym (xpym-xpym) 25.02.13 12:23
(13) mad_maksim,
НОДа нет, а 1С на сервере не работает

(20) haz,
это не помогло

пускай админы танцуем с бубном дальше
23. Maratimus Arslan (maratimus) 22.04.13 16:18
спасибо огромное, иначе я бы еще долго танцевал в бубном вокруг эмулятора,
а 8.2.18 проблема существует или уже решена?
24. Alex_IT (Alex_IT) 22.04.13 17:14
(23) maratimus, не пробовал, как-то надежнее самому прописать :)
25. Анатолий Бровин (Brovin) 04.07.13 08:58
Спасибо, первый способ помог. После внезапного перезагруза сервера сначала слетела аренда ip адреса по DHCP, а после прописывания айпишника вручную всплыла данная проблема, решилась исправлением файла hosts. Windows Server 2008 R2 х64
26. BAZIL BAZIL (wbazil) 04.07.13 09:14
так же сталкивался с этой проблемой, отключение Ip6 через реестр помогло раз и навсегда
проще всего в файл с именем Ip6Disable.reg
добавить строчки
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters]
"DisabledComponents"=dword:ffffffff


и запустить его на нужных серверах, тогда никаких проблем с прописыванием вручную не возникает
27. Alex_IT (Alex_IT) 04.07.13 10:19
(26) wbazil, если только отключить IPv6, и если у Вас есть периодически подключаемые ВПНы, то Вы вполне успешно поймаете этот же глюк, но уже без IPv6. Т.ч. изменения hosts пока самый надежный метод :)
28. BAZIL BAZIL (wbazil) 04.07.13 11:56
(27) Alex_IT
VPNнов у нас на серверах 1с нет, народ ходит на отдельную терминалку и через неё уже подключается к 1с
ситуации конечно бывают разные, но по соображениям безопасности, и если есть возможность, лучше все ж 1с отдельно, а удаленные подключения отдельно
29. Marina (evoo) 03.10.13 11:21
Неделю мучилась с этой ошибкой, программа запускалась через раз, публикация очень помогла. Спасибо! :)
30. Дмитрий Киселев (erp-consul) 23.10.13 18:23
лечится также простой переустановкой серверной части 1с
31. Alex_IT (Alex_IT) 23.10.13 19:09
(30) erp-consul, абсолютно никак не поможет. Почитайте статью, ошибка проявлялась на разных релизах. Возможно в современных, что то и исправили, но я не проверял.
32. Art Fa (artfa) 23.10.13 20:19
у меня отваливалась служба Агента сервера 1с (SQL standart 2012, 1с 8.3.2.163) после загрузки ПК в теч. 5-10 мин., служба висела как работающая, однако при перезапске не запускалась, осюда последствия со всеми вытекающими.
пробовал переустановить сервер 1с, проблема осталась.
отключил ipv6 и все стало нормально.
33. Alex_IT (Alex_IT) 23.10.13 21:47
(32) artfa, значит проблему так и не пофиксили.
34. Art Fa (artfa) 25.10.13 12:25
Alex_IT, проблема устранена и меня это устраивает, кстати пинговался нормально, так же вручную прописывал в hosts сервер, результат = 0, а причина в чем? может вы проясните, все локально
35. Art Fa (artfa) 25.10.13 12:28
36. Alex_IT (Alex_IT) 25.10.13 12:50
(35) artfa, если пинговался по Имени с выводом IPv4 адреса, то проблема была не в ipv6, но т.к. после отключения ipv6 все начало нормально работать, то проблема именно в ipv6.
Следовательно, можно предположить, что вы пинговали комп по Ip адресу(IPv4), а не имени. Но я могу и ошибаться.
37. Art Fa (artfa) 25.10.13 13:40
38. Alex_IT (Alex_IT) 25.10.13 13:56
(37) artfa, тогда есть еще какой-либо нюанс, но определить его не могу. Но, главное, что отключение IPv6 решило проблему и это хорошо :)
39. NickKrsk (nick_krsk) 28.11.13 10:47
Спасибо огромное за статью!
Очень помогла при решении проблемы. Другие варианты решения, найденные в интернет, не помогали.
40. Dmitriy Kuklin (amadeus2011) 11.03.14 12:16
спасибо за статью, удалось пинги сделать как вы написали, правда еще одна проблема вышла при попытке открыть базу 1С выходит ошибка сетевого доступа к серверу, 1С сервер скорее всего не может распознать имя компьютера
41. Сергей Племянников (Serge_ASB) 24.03.14 18:19
Попробовал отключить Ipv6... Результат будет только завтра.
Второй вопрос. Кроме Tcpip6 в регистре есть какой-то ipv6tunnel. C ним чего делать?
42. Alex_IT (Alex_IT) 24.03.14 19:27
(41) Serge_ASB, Ничего с ipv6tunnel делать не нужно. Если IPV6 отключен, то этого будет достаточно. Обычно даже достаточно простой записи в хостс.
43. Олег Кирияк (oleglega) 21.04.14 14:49
Спасибо большущее! Прописал IP в файле hosts, перезагрузился - заработало!
44. Николай Романов (LexBG) 02.12.14 11:44
Спасибо за статью! Первый способ помог. Но и ipv6 отключил на всякий случай :-)
45. Игорь Владмирович (Grohovod) 10.04.15 10:19
В статье ошибка.
Значение 0xfffffff неправильное.
Нужно устанавливать 0xff
Внимательно читайте https://support.microsoft.com/ru-ru/kb/929852.
46. Alex_IT (Alex_IT) 15.04.15 11:24
(45) Grohovod, в статью https://support.microsoft.com/ru-ru/kb/929852 последнее изменение внесено 8 марта 2015 г., на момент написания моей статьи там было именно 0xfffffff. И именно по этой причине Микрософт внесла в заголовок статьи описание ошибочного значения.
Однако, на практике проверено, что 0xfffffff отлично отключает IPv6 (или отключал).
47. Дмитрий Аншаков (pencil) 21.10.15 04:43
Огромное спасибо. Замучился с регулярным отвалианием 1С на девелоперской машине. Всю голову сломал отчего такое происходит, учитывая что всё крутится на одном компе.
48. Сергей Племянников (Serge_ASB) 16.05.16 10:48
На утро пользователи БД (УТ 10.3) MS SQL 2008R2 1C 8.3.7.1845 получают следующее:
"Ошибка формата потока".
Запустить в режиме Предприятия и в режиме Конфигуратора нельзя.
Работает только Web интерфейс.
Консоль серверов 1С запускается.
SQL Management запускается.
Как-то можно протестировать БД средствами SQL?
P.S. Базу восстановить получается из резервной копии SQL предыдущего дня.

Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа