Невозможна операция записи 5064 код ошибки winsock 10038

  1. 27.06.2012, 14:50


    #1

    Crazy вне форума


    Новичок


    Помогите!!!

    Вылитает такая ошибка: Невозможна операция записи (5064). Код ошибки WinSock: 10038
    Подскажите что делать? Как её исправить? Если можно то поподробнее. Заранее благодарю!


  2. 27.06.2012, 15:09


    #2

    SH вне форума


    ТВОРЕЦ СЧАСТЬЯ

    Аватар для SH


    Crazy, какая версия, при каких операциях, какая система, когда началось, после чего. Хотите подробнее — вначале расскажите толком, что у Вас вообще происходит.

    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке — напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru


  3. 27.06.2012, 15:39


    #3

    Crazy вне форума


    Новичок


    Буквально сегодня начались проблемы в store house. Метрдотель проводить выручку за март месяц и сразу появляется такая ошибка. До этого все было хорошо.


  4. 27.06.2012, 18:21


    #4

    SH вне форума


    ТВОРЕЦ СЧАСТЬЯ

    Аватар для SH


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

    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке — напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru


  5. 22.05.2013, 07:25


    #5

    Raziel38 вне форума


    Разбирающийся


    проблема почти аналогична, но с другими цифрами. «невозможна операция чтения 5065, код ошибки winsock 10053». вылетает при попытке вывести ведомость остатков, более простые операции проходят на ура. здесь же на форуме читал, что нужно увеличить таймаут, с 500 увеличил до 3000. не помогло. сервак на другом компе запускается как служба под управлением хп. ведомость остатков пытаюсь просмотреть на вин7. версия сх 4.64
    запускал сервер вручную. тоже не помогло.


  6. 22.05.2013, 14:48


    #6

    SH вне форума


    ТВОРЕЦ СЧАСТЬЯ

    Аватар для SH


    Raziel38, таймаут надо увеличивать, ну, допустим, до 20000. Или 360000.
    Надо попробовать запустить там же, где сервер стоит, локально — это раз.
    Надо сделать проверку базы, через shcheck и через sdb manager — это два.

    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке — напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru


  7. 23.05.2013, 06:02


    #7

    Raziel38 вне форума


    Разбирающийся


    SH, спасибо, сегодня попробую. отпишусь.
    попробовал. постепенно увеличивал таймаут до 36 с 6 нулями не помогло. локально запускается. утилитой проверил, пишет нет ошибок. ещё попробовал другие операции с отчётами, только ведомость остатков не работает и если пытаешься сохранить документ. происходит как бы дисконнект с сервером при этих операциях. далее приходится снова соединяться, иначе ничего не работает. попробовал перекинуть сервер на проблемный комп с вин7, так на нём всё заработало, но перестал формироваться список накладных на компе с хп, на котором раньше стоял сервер. пришлось вернуть всё на свои места.

    Последний раз редактировалось Raziel38; 04.06.2013 в 05:05.


  8. 01.06.2015, 18:50


    #8

    Арт вне форума


    Сведущий


    Здравствуйте! при проведении расхода, выдает следующую ошибку «Слишком большая высота дерева индекса «iExpSpecGoods0», Ошибка сервера Sdbserv 153.Объект = «iExpSpecGoods0». Параметр = 0. Ошибка Win32 = 0. Что это значит???


  9. 01.06.2015, 19:23


    #9

    SH вне форума


    ТВОРЕЦ СЧАСТЬЯ

    Аватар для SH


    А почему в этой теме-то вопрос…———- Добавлено в 18:23 ———- Предыдущее сообщение было размещено в 18:21 ———-Обычный поиск по форуму выдает на первом же месте аналогичную тему с этой же проблемой.
    Прогнозы неутешительные.

    Алексей Аркадьев

    Когда заказчик ищет волшебника, то чаще всего он находит сказочника.
    Если у Вас есть вопрос по поддержке — напишите его на форуме, я обязательно отвечу, если знаю ответ.
    Если Вам нужны какие-то файлы, пишите на почту: support@carbis.ru, но вначале посмотрите в разделе для скачивания.
    Для коммерческих вопросов:
    +7 (495) 740-49-91, или на почту: sales@carbis.ru


  10. 15.07.2015, 10:22


    #10

    vvv вне форума


    Интересующийся


    Невозможна операция записи (5064). Код ошибки WinSock: 10038

    вопрос то как решился?

    Последний раз редактировалось vvv; 16.07.2015 в 08:09.


Название ошибки Полный текст ошибки Описание ошибки и метод решения Ошибка менеджера данных 15 Поле-источник данных должно содержать значение для записи потока. Ошибка менеджера данных 15. Тег поля: {216.2.0}

Причин ошибки может быть несколько: 

  • в менеджерской базе в словаре валют содержится некорректная информация (например валюта без названия). При этом валюта может быть также удаленной — в таком случае надо проверять таблицу Money_.DB 
  • в R-Keeper есть блюдо с нулевой (удаленной) группой станции — в этом случае за данный день надо забить расход блюд в БД SHouse вручную 
  • версия транспорта данных SH4 (ImportRK.exe) не соответствует версии сервера SH4 – нужно привести версии программ в соответствия друг другу

В случае если выгрузка идет из РК7: — снять флаг в параметре \Установочные\Связь с другими системами\Альт.названия. Т.е. поле альт. название заполнять не нужно, а просто отключить экспорт альт. названий в SH4. После этого, импорт меню и расхода должен пройти успешно.

Ошибка сервера Sdbserv 153 Ошибка Sdbserv 153: Слишком большая высота дерева индекса «iCmltemsHdrRefs»

При входе в товарные группы, калькуляции, а также утилиту проверки базы данных, появляется след. сообщение: «Ошибка сервера Sdbserv 153,Объект = «iCmltemsHdrRefs». Параметр = 0. Ошибка Win32 = 0.Слишком большая высота дерева индекса «iCmltemsHdrRefs».
Также невозможно войти в некоторые калькуляции и документы, причем те которые уже проведены.

Решение:
Скорее всего, повреждена база данных. Можно попробовать ее восстановить, но гарантий никаких нет. Для этого необходимо создать запрос в Сервис Деске, в который обязательно вложить проблемную базу (если backup\restore проходит, то вкладывать backup базы в архиве (rar, zip); если нет, то вложить оригинал также в архиве)

Как вариант решения — восстановить backup, который сформирован до повреждения и заполнить базу недостающими документами.

Ошибка: Исключение процедуры сервера — 503 Ошибка: Исключение процедуры сервера — 503 (Не определена единица измерения товара)

Описание: Эта ошибка возникает при формировании списка документов, в частности документов расхода или при импорте расхода из базы r_keeper. Backup-Restore базы не помогает. При проверке накладных SHCheck Utility — эта ошибка проявляется и не исправляется.

Решение: Нужно выполнить процедуру ChkGsMUnitRef (из библиотеки SHSERV.DLL) — после его выполнения в текстовом логе сервера (по умолчанию, sdb.txt) появятся строки вида  «__ LOST MUNIT __ … «, в которых указаны наименования и коды товаров и наименования ед. изм., которые к ним надо добавить.

Не найдена товарная группа внешний код %Х Не найдена товарная группа внешний код %Х. Исключение процедуры сервера.

Ошибка возникает при импорте товаров (меню и модификаторы).

R-Keeper v7

В случае использования RK7 следует проверить, нет ли НЕ удаленных блюд (черновики, активные) в удаленных группах меню.

В общем для RK7 универсального решения нет — дополнительно можно посмотреть на задачи https://tracker.ucs.ru/issues/20726 и https://tracker.ucs.ru/issues/24364, а также связанными с ними задачи.

Не найдено поле DEPART в таблице ACHECK Field not found file C:\RK6\DB\ARK6.UDB table ACHECK field DEPART Ошибка возникает при импорте словарей (меню). Решение: обновить библиотеку SHTR.DLL на версию не ниже 1.13.9.1 Не найден товар для модификатора. Не найден товар для модификатора. Обновить SHTR.DLL на версию не ниже 1.13.9.1 Исключение процедуры сервера 563 Отсутствует версия комплекта на заданную дату (Исключение процедуры сервера 563) Если SHCheck и диагностика ошибок не выдают, то надо удалить данный комплект и завести его заново.
Также подобная ошибка бывает следствием при обновлении SHouse v3 на SHouse v4. Вполне вероятно во вновь создаваемые блюда входят полуфабрикаты перенесенные из старого склада. И у данных полуфабрикатов отсутствуют периоды на определенные даты, т.е. имеет место конфликт между периодами комплектов блюда и входящих в него составляющих.
Еще один вариант появления ошибки — когда в новый, создаваемый в SH4 комплект, входили комплекты, перекачанные из SH3. Решение — выполнение процедуры SetStartCmHdrDate из shfix.dll версии 4.49.86 Исключение процедуры сервера 37 Не найдена вершина в дереве/мастерзапись (Исключение процедуры сервера 37) Необходимо сделать обновление версии программы. Недопустимое имя параметра «%S» Недопустимое имя параметра «%S». Исключение процедуры сервера 100 Данная ошибка выдается при открытии карты комплекта. Проблема решается обновлением версии программы и удалением последнего периода действия комплекта. Если период не удаляется, удаляется сам комплект и заводится заново. Цена не может быть отрицательной. При импорте расхода возникает ошибка «Цена не может быть отрицательной» Проблема решается выполнением процедуры ZeroGsInPrice c использование специальной библиотеки ShFix.dll DLL exception: Field ‘NALOG’ not found. DLL exception: Field ‘NALOG’ not found. Данная ошибка появляется при импорте меню. Проблема решается повышением версии RK6. DLL exception: Invalid pointer operation. DLL exception: Invalid pointer operation. Посмотреть в отчетах R-Keeper v6 расход блюд за данный период. При наличии неизвестных блюд или знаков «???» исправлять БД R-Keeper v6 Could not convert variant of type (String) into type (Double) Could not convert variant of type (String) into type (Double) Ошибка возникает при добавлении товара в комплект. Решение проблемы — обновление версии программы. Или как временный вариант: в меню Сервис->Настройки склада->Комплекты — снять галочку «Автоматически подставлять проценты обработки» Неизвестное исключение процедуры сервера 606 Некорректная запись о замене для товара <наименование_товара>. Неизвестное исключение процедуры сервера 606 Ошибка возникает при построении списка накладных. Решение проблемы — обновление версии программы. Не найден товар для спецификации расхода Не найден товар для спецификации расхода. Внешний код XXX

Данные решения указанной проблемы нельзя применять в случае использования SH4 HeadOffice

Ошибка возникает при импорте расхода блюд. В качестве значения ХХХ указывается ШИФР проблемного блюда (модификатора, категории) в шестнадцатеричном виде (HEX) — например, значение 244Е соотв. десятичному 9294.

Вариант №1

Для решения проблемы нужно найти в таблице меню (menu.db) блюдо с соотв. шифром (поле Sifr) и проверить, корректно ли заполнены в этой записи остальные поля. Например, поле Parent (шифр родителя) может ссылаться на несуществующую запись. Если в таблице menu.db такого блюда нет, следует проверить в удаленном меню (menu_.db)

Если проблема не связана с блюдами, надо аналогичным образом проверить другие таблицы (categ.db, modify.db)

Вариант №2

Ошибка может возникать при использовании библиотеки SHTR.DLL, предназначенной для SH4 HeadOffice. В таком случае необходимо заменить ее на стандартную библиотеку SHTR.DLL.

Неверная контрольная сумма ключа защиты Неверная контрольная сумма ключа защиты. — Ошибка возникает при входе в программу и устраняется заменой ключа. — Либо не совпадает версия программы с прошивкой ключа. Дублирование в порядке компонентов комплекта Исключение процедуры сервера 621

Возникает при попытке открыть комплект или список комплектов.

Решение проблемы:

1. Если версия склада ниже 4.62, скопировать в любое место библиотеку ShServ.dll. ВАЖНО: библиотеку НЕ НУЖНО подменять в SDBSrv!
Если версия склада 4.62 и выше, процедуру можно запускать из стандартной библиотеки, входящей в инсталляцию. Если в стандартной библиотеке (даже версии 4.62 и выше) процедура все же не найдена, используем вышеуказанную библиотеку.
2. Запустить Sdbman.exe
3. Выбрать пункт «Прочее», далее «Выполнить запрос»
4. В поле «Процедура» указать имя процедуры SetCmItemsOrder
5. В поле «Библиотека» указать полный путь к скопированному файлу ShServ.dll (для версии ниже 4.62) или для текущей, из рабочей директории SDBSrv (для версии выше 4.62)
6. Выполнить запрос с помощью иконки на панели задач либо выбрав соотв. пункт в меню.

Undefined symbol «PRINTCOLOR» Undefined symbol «PRINTCOLOR» Ошибка возникает при попытке распечатать из спец. ведомости остатков форму «Заказ». Решение проблемы — обновление формы REP_SPECZAKAZ.frf Код ошибки WinSock 10038 Невозможна операция записи (5064). Код ошибки WinSock 10038. Ошибка выдается при построении баланса счетов. Проблема решается увеличением таймаута на сервере и клиенте. Адрес процедуры «DocHdrAttrList» неизвестен Ошибка процедуры сервера Sdbserv 84. Объект = «DocHdrAttrList». параметр = 0. Ошибка Win 32 = 0. Возникает при попытке добавить атрибут заголовка документа. Решение: обновить ShServ.dll — должна быть не ниже версии 4.48.86. An error occured while attempting to initialize the Borland Data Base Engine (error $210A) An error occured while attempting to initialize the Borland Data Base Engine (error $210A) Возникает при попытке импорте меню. Решение: установить BDE Database not supported Database not supported Ошибка возникает при импорте из R-Keeper и заключается в несоответствии версии библиотеки rklogin.dll и накопительной базы данных ARK6.UDB . Проблема устраняется копированием библиотеки rklogin.dll из рабочего каталога RK6 в директорию SH4 (откуда запускается транспорт данных ImportRK.exe) Ошибка сервера Sdbserv 72 Нарушение условий ссылочной целостности внешнего ключа «fk_ExpSpecs0_CmRef»: мастер-запись не найдена. Ошибка сервера Sdbserv 72. Объект = «fk_ExpSpecs0_CmRef». Параметр = 0. Ошибка Win32=0. Ошибка появляется при импорте меню. Для решения проблемы необходимо выполнить обновление программы SHouse до последней, затем выполнить процедуру CheckGsCmRef используя библиотеку SH_CRTDB.DLL. Комплект не найден (по заданному RID) Комплект не найден (по заданному RID) Ошибка появляется при открытии группы блюд. Для решения проблемы необходимо выполнить обновление программы SHouse до последней, затем выполнить процедуру CheckGsCmRef используя библиотеку SH_CRTDB.DLL. Floating point overflow Floating point overflow Данная ошибка появляется при печати отчетов. Проблема связана с ошибками в печатной форме для данного отчета (возможно после изменения ее самими пользователями). Решение проблемы — замена печатной формы, на рабочую печатную форму (стандартную) того же отчета. Printing in progress Printing in progress Данная ошибка появляется при печати отчетов. Проблема связана с ошибками в печатной форме для данного отчета (возможно после изменения ее самими пользователями). Решение проблемы — замена печатной формы, на рабочую печатную форму (стандартную) того же отчета. DLL exeption: Index is out of date DLL exeption: Index is out of date. Index: Iparent. Ошибка появляется при импорте данных из БД R-keeper. Для решения проблемы необходимо сделать реиндексацию БД R-keeper с помощью утилиты REIND32.EXE и повторить импорт данных в SHouse. Ошибка сервера Sdbserv 77 Нарушение условия уникальности индекса «uiExpM0». Ошибка сервера Sdbserv 77. Объект = «uiExpMO»

Есть несколько причин возникновения ошибки и методов ее решения:

1. Ошибка возникает при импорте расхода блюд из R-Keeper v6 или v7 и объясняется тем, что в таблице expm0 лежит много мусора. Таким образом, импорт расхода за некоторые дни может не проходить. Решение: выполнить процедуру ChkExpM из прилагаемой ShServ.dll. Для версии SH4.52 требуется модифицированная ShServ.dll, с версии SH4.53 эта процедура станет стандартной.

2. Блюдо было удалено вручную и в menu.db и в menu_.db. Решение: расход блюд не импортируется за этот день в SH4, а забивается вручную.

3. В SH4 некоторые модификаторы могут в свойствах иметь тип «ССЫЛКА» — так делать нельзя и это может быть причиной данной ошибки. Решение: нужно что бы все модификаторы имели тип «ТОВАР». (Проверялось на версии SH 4.60).

4. Если данные импортируются из RK7, необходимо параметр в RK7 «Не передавать тип заказа (SH4UsesDefaultCOT)» выставить в TRUE.

Нарушение условия уникальности индекса pkDocSpecs0 Нарушение условия уникальности индекса pkDocSpecs0

Дополнительная информация:

— диагностика база данных находит много потерянных страниц и также ссылается на индекс pkDocSpecs0. Backup базы проходит успешно, но восстановить из этого архива базу невозможно.

Решение:

— предупредить клиента, что на время восстановления базы в складе работать нет смысла, т.к. внесенные изменения будут потеряны

— создать запрос в Сервис Деске, вложить в него проблемную базу (backup не подходит!), предварительно сделав архив с помощью WinRAR (или любого другого архиватора) и ожидать восстановления базы

— если на момент возникновения проблемы с базой у клиента установлена не последняя версия склада, подготовиться к обновлению (не забывая при этом, что с версии 4.31.44 используются ключи с новой пропиской)

Количество должно быть больше нуля Количество должно быть больше нуля

Ошибка происходит при попытке открыть документа расхода. Проблема может возникать в нескольких случаях:

— в накопительной базе R-Keeper v6 есть чеки, которые были оплачены одной валютой, а сдача оформлена другой (как правило, ошибка персонала). Если оплата комбинированная, то сдача должна быть в любой из валют оплаты — в таком случае проблема не возникает.

— в накопительной базе R-Keeper v6 есть чеки, в оплате которых по одной из валют нулевая сумма. Эта ситуация возникает очень редко и является нештатной (сбой системы). Следует заметить, что это не относится к чекам без оплаты (которые обрабатываются нормально) — проблема возникает только в том случае, когда в таблице PCHECK.DB (оплата чеков) для одного чека существует несколько записей, одна из который с нулевой суммой.

Для решения проблемы потребуется исправлять исходные данные закрытого дня (каталог OLDRES)

В первом случае для выбора проблемных записей можно использовать следующий запрос:

SELECT * FROM ‘C:\UCS\PCHECK.DB’ AS a, ‘C:\UCS\PCHECK.DB’ AS b WHERE (a.Cnum = b.Cnum AND a.Curency <> b.Curency)

ВАЖНО: Запрос возвращает не только проблемные записи, но и записи с комбинированной оплатой — будьте внимательны!

Во втором случае нужно просмотреть все записи в таблице PCHECK.DB и удалить проблемную.

No measure unit is set for the product. When trying to perform expenditure, system shows error «No measure unit is set for the product.»

Sometimes system shows error «No measure unit is set for the product.» when trying to perform expenditure.
To check which products have problem with m. units perform following:

1. Using SDBMAN execute query (Service -> Execute query) on procedure «ChkGsMUnitRef» in ShServ.dll
2. Open server log (usually …\UCS\SDBSrv\SDB.TXT). This file will show info about products, which have problems with m. units. The line should start with __ LOST MUNIT __ goods:.
3. Fix m. units for indicated products.

Ошибка менеджера данных 16. Тэг поля:{200.3.0} Слишком длинная строка для присваивания

Возникает при открытии комплекта; группы комплектов, куда входит проблемный комплект; либо при открытии группы товаров, где есть товар, связанный с проблемным комплектом.

Причина: у комплекта макс длинна аббревиатуры 16 символов, у товара – 20. При создании комплекта на основе товара не отрезались лишние символы до версии 4.72

Решение:

Выполнить процедуру CutCmBaseAttr из библиотеки SHFix.dll версии 4.70.159.0 от 05.08.10

Неизвестное исключение процедуры сервера 72 Неизвестное исключение процедуры сервера 72 При формировании отчета «Анализ неплательщиков» в SHUtils, может возникнуть данная ошибка. 
Решение: обновить текущую версию SHUtils до версии 4.19.41.0 Несуществующие модификаторы при списании При списании документа расхода к товарам без модификаторов, прикрепляются несуществующие модификаторы. При пересписании документа, данные позиции могут уже не подкрепляться

Нечто подобное обсуждалось на трекере — например, запрос 0005967.

Решение:

1. Сделать бэкап БД.
2. Выполнить процедуру DelWrongExpM (указав в поле библиотеки обновленную ShFix.dll версии не ниже 4.70.159.0)
3. В логе сервера (SDB.TXT) после выполнения этого запроса должен отобразиться протокол количества удаленных позиций.

Далее, существующие проблемные документы загрузить заново и пересписать.

Обновленная ShFix.dll находится на ФТП (ftp://…/dealers/storehouse/sh4/shfix/). Также ее можно скачать с трекера — номер обращения 0005967 вложенный архив ShFix4_70_159.rar

Не работает назначение комплекта в SH 4.92 Не корректно отрабатывает назначение комплекта в SH 4.92

— В версии сервера 4.92 при работе с «учет/спец. учет» некорректно отрабатывает назначение комплекта по умолчанию. Если делать в учете, то не назначается в спец. учете (и наоборот). 
— Решение: сделать обновление SH  до версии 4.93 и выполнить запрос UpdGsCmRef  из библиотеки SHFix.DLL 4.84.222.0 — что назначит «неназначенные» комплекты по умолчанию

Error — Sdbserv 70 Ошибка чтения потока — Ошибка сервера Sdbserv 70

Воспроизводится:
1. Документы -> Корреспонденты -> Места реализации
2. Добавляем новое место реализации
3. Сохраняем
4. Вылетает окно с ошибкой.
Решение:
Ошибка возникает если при создании места реализации, в поле код указать трехзначное (или больше) значение. Код должен быть — ДВУХЗНАЧНЫМ!

P.S> решен запрос на трекере — №28093

Не сходятся остатки на конец-начало периода Не сходятся суммы остатков конца одного периода с началом следующего периода в товарном отчете

Решение:
Апгрейд SH4 до актуальных версий и выполнение следующих процедур:
1. Процедура ChkDoc12 проверяет замены и в случае обнаружения расхождений пишет в > текстовый лог (SDB.TXT) строки вида:
doc _номер документа_ saved _сохр. кол-во_ calc _расчетное кол-во_
2. Процедура RepDoc12 делает тоже самое плюс пытается это исправить (сохранить другое кол-во).

Предполагается вызывать так (в качестве библиотеки указывать SHSERV.DLL с версии SH 4.94):
ChkDoc12
— посмотреть лог, если есть проблемы, то
RepDoc12
— снова проверить ChkDoc12. (Перед применением RepDoc12 не забыть сделать резервную копию БД).

Внимание! Ошибки при работе SHC.EXE могут остаться. Главное, чтобы отчет сходился! На современных версиях SH 4.90 и выше, после правки можно воспользоваться SHC для исправления оставшихся после правки логических ошибок до полного исправления БД.

3. Если не помогают вышеописанные процедуры, выполнить процедуру

fix_002

— из актуальной для используемого SH версии SHFIX.DLL. Для старых версий SH (ниже 4.90) может не сработать, тогда выполнить после обновления ПО до актуальной версии.

Disabling your proxy server often fixes this issue

by Claire Moraa

Claire likes to think she’s got a knack for solving problems and improving the quality of life for those around her. Driven by the forces of rationality, curiosity,… read more


Updated on

  • Winsock error 10038 occurs when you try to connect to a remote host and your computer fails to open a socket connection.
  • Your firewall could be blocking such connections, so ensure you have allowed necessary exceptions before proceeding.

XINSTALL BY CLICKING THE DOWNLOAD FILE

Get rid of malfunctioning drivers on your PC

SPONSORED

Drivers can often become corrupt as they can interfere with malfunctioning system files, thus arriving to be installed but not running correctly. To keep your drivers running smoothly, your Windows OS must run even smoother. Get it in perfect shape by following the steps below:

  1. Download Fortect and install it on your PC.
  2. Start the tool’s scanning process to look for corrupt files that are the source of your problem
  3. Right-click on Start Repair so the tool can start the fixing algorithm
  • Fortect has been downloaded by 0 readers this month, rated 4.4 on TrustPilot

Winsock error 10038 is a socket connection problem you may encounter when connecting to a remote server. Sockets are a way to send and receive data over a network. They can be used for many things, from sending emails to viewing web pages. 

In this article, we’ll go over some of the most common causes and solutions for the socket connection error. We’ll also cover additional tips and tricks to help prevent this issue.

What is Winsock error 10038?

Winsock error 10038 is caused by problems with the Windows Sockets API, which is a part of the TCP/IP protocol suite. This is a set of communications protocols that send data between applications on a computer network.

If you are getting a socket connection error, it can be because of one of the following reasons.

  • Firewall or antivirus is blocking the connection – The most common reason for this error is if one of your third-party firewall or antivirus products has been updated recently. When this happens, they sometimes reset TCP/IP settings to default.
  • Wrong credentials – You might have entered the wrong password in the connection settings, especially if it is case-sensitive.
  • Connection issues – Sometimes, the network you are using may be down or slow for other reasons.
  • Incorrect or corrupt IP address – This can happen if you have recently changed your DNS settings or there is no connection between your local area network and the Internet.
  • Proxy server – If you’re using a proxy server, your connection may be interrupted because it limits access to certain sites.

How do I fix a socket connection error?

Attempt the following basic workarounds before the advanced steps:

  • Close all programs that you have running.
  • Check your cables and plugs and ensure they are securely connected to both devices.
  • Verify that you have entered the correct password when connecting.
  • Perform a network speed test to rule out the possibility of a slow connection.
  • Check if your firewall is enabled and allow an exception for the program you are trying to run.
  • Ensure your antivirus software is up-to-date.
  • Restart your router, modem, and PC again, if necessary.

1. Disable your antivirus temporarily

  1. Hit the Start menu icon, type Windows Security in the search bar, and click Open.
  2. Click on Firewall & network protection, then select Public network.league of legends black screen after champion select
  3. Locate Microsoft Defender Firewall and toggle the off button.turning off Microsoft Defender Firewall Windows

2. Update your network drivers

  1. Hit the Windows key, type Device Manager in the search bar, and click Open.device manager w11
  2. Navigate to Network adapters and click to expand. Right-click on the driver, then click Update driver from the drop-down.
  3. Select the Search automatically for drivers option and wait till the update finishes.
  4. Restart your PC and check if the error persists.

Another way to get things done faster and more accurately is to use a third-party driver updater utility. This is one sure way of ensuring you’re getting the correct drivers for your PC.

Even better, you don’t have to move a finger because Outbyte Driver Updater will automatically do the job for you. It will scan, detect, download, and install the driver from its wide database in a matter of seconds.

⇒ Get Outbyte Driver Updater

3. Disable Proxy 

  1. Press the Windows key and select Settings.settings windows 11
  2. Click on Network & Internet on the left pane, then scroll down and click Proxy on the right pane.Network proxy settings
  3. Select Edit next to Use a proxy server option in the Manual proxy setup section, toggle off Use a proxy server and click on Save.Disable proxy server
  4. Restart your PC and see if the issue persists.
Read more about this topic

  • Fix: Secure Boot is Greyed Out on Windows 11
  • Fix: Touchpad Clicks but Doesn’t Move on Windows 11

4. Reset TCP/IP

  1. Click on the Start Menu icon, type cmd in the search bar, and click Open.cmd-run-admin-w11 unexpected kernel mode trap windows 11
  2. Type in the following commands and press Enter after each one:netsh winsock reset catalog netsh int ipv4 reset reset.log netsh int ipv6 reset reset.log
  3. Now restart your PC and see if the error is still there.

Resetting TCP/IP removes your computer’s network settings and forces it to re-establish them from scratch. This includes everything from your IP address to your proxy settings.

It can resolve problems such as an unresponsive connection to the Internet or unexpected loss of connectivity.

In conclusion, if you are facing the problem of Winsock error 10038 and want to fix it, you only need to follow the steps we have listed above. Hopefully, one of the above methods will work for you.

Unfortunately, Winsock errors are common, so we try our best to come up with solutions for most of them. To that effect, we’d like to direct you to another wholesome article on the Winsock error 10051 and see our recommended fixes.

And with that, we sign out but keep it interactive in the comment section below with more tips and tricks.

Still experiencing troubles? Fix them with this tool:

SPONSORED

Some driver-related issues can be solved faster by using a tailored driver solution. If you’re still having problems with your drivers, simply install OutByte Driver Updater and get it up and running immediately. Thus, let it update all drivers and fix other PC issues in no time!

newsletter icon

Problem:

  • Call to send(), returns Winsock Error 10038 against socket handle

Illustration:

acceptedSocket = accept (server, (sockaddr *)&sin, &len);
  • accept(), returns 0
    • A new thread, is created for each connection
    • send(), (in thread function) returns 10038

Illustration: — in thread function

//omitted
SOCKET RemoteSocket = (SOCKET) client;
//omitted
send (RemoteSocket, stringToSpend, strlen(stringToSpend), 0)

Suggestions:

  • Possible, race condition?
  • Could use I/O completion ports, but not at this stage

asked Feb 23, 2009 at 14:23

Aaron's user avatar

AaronAaron

2,8239 gold badges44 silver badges57 bronze badges

Isn’t the problem in the line

acceptedSocket = accept (server, (sockaddr *)&sin, &len) == INVALID_SOCKET)

You make acceptedSocket the result of the comparison, but you should store the actual socket returned from accept somehow:

acceptedSocket = accept (server, (sockaddr *)&sin, &len);
isOK= acceptedSocket!=INVALID_SOCKET;

Although I’m a bit confused by the unbalanced parentheses in your post, so I may be wrong

answered Feb 23, 2009 at 14:52

jpalecek's user avatar

jpalecekjpalecek

47.1k7 gold badges102 silver badges144 bronze badges

0

accept() returns you a handle to a new connection-specific socket. for server code it’s 2+ sockets involved: one is in listen state you are calling accept() for and second is one returned from accept() — it’s an incoming connection socket. Following accept() can return socket for second incoming connection etc. if accept() returns 0 it’s not an incoming connection — it’s an error.

answered Feb 23, 2009 at 14:43

grigoryvp's user avatar

grigoryvpgrigoryvp

40.4k64 gold badges175 silver badges277 bronze badges

1

Hmm, seems like your send is executing too fast before the accept happened. So the socket used in send is not valid at the point send is executed. One of the obnoxious feature of multithreading. You need to wait for an event at the send thread and fire an event when an accept occurs

answered Feb 23, 2009 at 14:50

rptony's user avatar

rptonyrptony

1,0241 gold badge12 silver badges22 bronze badges

1

From Microsoft’s Knowledge base:

WSAEACCES (10013)

Permission
denied.

An attempt was made to access a socket in a way forbidden by its
access permissions. An example is using a broadcast address for «sendto»
without broadcast permission being set using
setsockopt(SO_BROADCAST).

WSAEADDRINUSE (10048)

Address already
in use.

Only one usage of each socket address (protocol/IP address/port)
is normally permitted. This error occurs if an program attempts to bind a
socket to an IP address/port that has already been used for an existing socket,
or a socket that wasn’t closed properly, or one that is still in the process of
closing. For server programs that need to bind multiple sockets to the same
port number, consider using setsockopt(SO_REUSEADDR). Client programs usually
need not call bind at all — connect will choose an unused port
automatically.

WSAEADDRNOTAVAIL (10049)

Cannot assign requested
address.

The requested address is not valid in its context. Normally
results from an attempt to bind to an address that is not valid for the local
machine, or connect/sendto an address or port that is not valid for a remote
machine (e.g. port 0).

WSAEAFNOSUPPORT (10047)

Address family not
supported by protocol family.

An address incompatible with the requested
protocol was used. All sockets are created with an associated «address family»
(i.e. AF_INET for Internet Protocols) and a generic protocol type (i.e.
SOCK_STREAM). This error will be returned if an incorrect protocol is
explicitly requested in the socket call, or if an address of the wrong family
is used for a socket, e.g. in sendto.

WSAEALREADY
(10037)

Operation already in progress.

An operation was attempted
on a non-blocking socket that already had an operation in progress — i.e.
calling connect a second time on a non-blocking socket that is already
connecting, or canceling an asynchronous request (WSAAsyncGetXbyY) that has
already been canceled or completed.

WSAECONNABORTED
(10053)

Software caused connection abort.

An established
connection was aborted by the software in your host machine, possibly due to a
data transmission timeout or protocol error.

WSAECONNREFUSED
(10061)

Connection refused.

No connection could be made because
the target machine actively refused it. This usually results from trying to
connect to a service that is inactive on the foreign host — i.e. one with no
server program running.

WSAECONNRESET (10054)

Connection reset by
peer.

A existing connection was forcibly closed by the remote host. This
normally results if the peer program on the remote host is suddenly stopped,
the host is rebooted, or the remote host used a «hard close» (see setsockopt
for more information on the SO_LINGER option on the remote
socket.)

WSAEDESTADDRREQ (10039)

Destination address
required.

A required address was omitted from an operation on a socket.
For example, this error will be returned if sendto is called with the remote
address of ADDR_ANY.

WSAEFAULT (10014)

Bad address.

The
system detected an invalid pointer address in attempting to use a pointer
argument of a call. This error occurs if an program passes an invalid pointer
value, or if the length of the buffer is too small. For instance, if the length
of an argument which is a struct sockaddr is smaller than sizeof(struct
sockaddr).

WSAEHOSTDOWN (10064)

Host is down.

A socket
operation failed because the destination host was down. A socket operation
encountered a dead host. Networking activity on the local host has not been
initiated. These conditions are more likely to be indicated by the error
WSAETIMEDOUT.

WSAEHOSTUNREACH (10065)

No route to host.

A
socket operation was attempted to an unreachable host. See
WSAENETUNREACH

WSAEINPROGRESS (10036)

Operation now in
progress.

A blocking operation is currently executing. Windows Sockets
only allows a single blocking operation to be outstanding per task (or thread),
and if any other function call is made (whether or not it references that or
any other socket) the function fails with the WSAEINPROGRESS
error.

WSAEINTR (10004)

Interrupted function call.

A
blocking operation was interrupted by a call to
WSACancelBlockingCall.

WSAEINVAL (10022)

Invalid
argument.

Some invalid argument was supplied (for example, specifying an
invalid level to the setsockopt function). In some instances, it also refers to
the current state of the socket — for instance, calling accept on a socket that
is not listening.

WSAEISCONN (10056)

Socket is already
connected.

A connect request was made on an already connected socket.
Some implementations also return this error if sendto is called on a connected
SOCK_DGRAM socket (For SOCK_STREAM sockets, the to parameter in sendto is
ignored), although other implementations treat this as a legal
occurrence.

WSAEMFILE (10024)

Too many open files.

Too
many open sockets. Each implementation may have a maximum number of socket
handles available, either globally, per process or per
thread.

WSAEMSGSIZE (10040)

Message too long.

A message
sent on a datagram socket was larger than the internal message buffer or some
other network limit, or the buffer used to receive a datagram into was smaller
than the datagram itself.

WSAENETDOWN (10050)

Network is
down.

A socket operation encountered a dead network. This could indicate
a serious failure of the network system (the protocol stack that the WinSock
DLL runs over), the network interface, or the local network
itself.

WSAENETRESET (10052)

Network dropped connection on
reset.

The host you were connected to crashed and rebooted. May also be
returned by setsockopt if an attempt is made to set SO_KEEPALIVE on a
connection that has already failed.

WSAENETUNREACH
(10051)

Network is unreachable.

A socket operation was attempted
to an unreachable network. This usually means the local software knows no route
to reach the remote host.

WSAENOBUFS (10055)

No buffer space
available.

An operation on a socket could not be performed because the
system lacked sufficient buffer space or because a queue was
full.

WSAENOPROTOOPT (10042)

Bad protocol option.

An
unknown, invalid or unsupported option or level was specified in a getsockopt
or setsockopt call.

WSAENOTCONN (10057)

Socket is not
connected.

A request to send or receive data was disallowed because the
socket is not connected and (when sending on a datagram socket using sendto) no
address was supplied. Any other type of operation might also return this error
— for example, setsockopt setting SO_KEEPALIVE if the connection has been
reset.

WSAENOTSOCK (10038)

Socket operation on
non-socket.

An operation was attempted on something that is not a
socket. Either the socket handle parameter did not reference a valid socket, or
for select, a member of an fd_set was not valid.

WSAEOPNOTSUPP
(10045)

Operation not supported.

The attempted operation is not
supported for the type of object referenced. Usually this occurs when a socket
descriptor to a socket that cannot support this operation, for example, trying
to accept a connection on a datagram socket.

WSAEPFNOSUPPORT
(10046)

Protocol family not supported.

The protocol family has
not been configured into the system or no implementation for it exists. Has a
slightly different meaning to WSAEAFNOSUPPORT, but is interchangeable in most
cases, and all Windows Sockets functions that return one of these specify
WSAEAFNOSUPPORT.

WSAEPROCLIM (10067)

Too many processes.

A
Windows Sockets implementation may have a limit on the number of programs that
may use it simultaneously. WSAStartup may fail with this error if the limit has
been reached.

WSAEPROTONOSUPPORT (10043)

Protocol not
supported.

The requested protocol has not been configured into the
system, or no implementation for it exists. For example, a socket call requests
a SOCK_DGRAM socket, but specifies a stream protocol.

WSAEPROTOTYPE
(10041)

Protocol wrong type for socket.

A protocol was specified
in the socket function call that does not support the semantics of the socket
type requested. For example, the ARPA Internet UDP protocol cannot be specified
with a socket type of SOCK_STREAM.

WSAESHUTDOWN (10058)

Cannot
send after socket shutdown.

A request to send or receive data was
disallowed because the socket had already been shut down in that direction with
a previous shutdown call. By calling shutdown a partial close of a socket is
requested, which is a signal that sending or receiving or both has been
discontinued.

WSAESOCKTNOSUPPORT (10044)

Socket type not
supported.

The support for the specified socket type does not exist in
this address family. For example, the optional type SOCK_RAW might be selected
in a socket call, and the implementation does not support SOCK_RAW sockets at
all.

WSAETIMEDOUT (10060)

Connection timed out.

A
connection attempt failed because the connected party did not properly respond
after a period of time, or established connection failed because connected host
has failed to respond.

WSAEWOULDBLOCK (10035)

Resource
temporarily unavailable.

This error is returned from operations on
non-blocking sockets that cannot be completed immediately, for example recv
when no data is queued to be read from the socket. It is a non-fatal error, and
the operation should be retried later. It is normal for WSAEWOULDBLOCK to be
reported as the result from calling connect on a non-blocking SOCK_STREAM
socket, since some time must elapse for the connection to be
established.

WSAHOST_NOT_FOUND (11001)

Host not found.

No
such host is known. The name is not an official hostname or alias, or it cannot
be found in the database(s) being queried. This error may also be returned for
protocol and service queries, and means the specified name could not be found
in the relevant database.

WSA_INVALID_HANDLE (OS
dependent)

Specified event object handle is invalid.

An program
attempts to use an event object, but the specified handle is not
valid.

WSA_INVALID_PARAMETER (OS dependent)

One or more
parameters are invalid.

An program used a Windows Sockets function which
directly maps to a Win32 function. The Win32 function is indicating a problem
with one or more parameters.

WSAINVALIDPROCTABLE (OS
dependent)

Invalid procedure table from service provider.

A
service provider returned a bogus proc table to WS2_32.DLL. (Usually caused by
one or more of the function pointers being NULL.)

WSAINVALIDPROVIDER (OS
dependent)

Invalid service provider version number.

A service
provider returned a version number other than 2.0.

WSA_IO_PENDING (OS
dependent)

Overlapped operations will complete later.

The program
has initiated an overlapped operation which cannot be completed immediately. A
completion indication will be given at a later time when the operation has been
completed.

WSA_IO_INCOMPLETE (OS dependent)

Overlapped I/O event
object not in signaled state.

The program has tried to determine the
status of an overlapped operation which is not yet completed. Programs that use
WSAWaitForMultipleEvents in a polling mode to determine when an overlapped
operation has completed will get this error code until the operation is
complete.

WSA_NOT_ENOUGH_MEMORY (OS dependent)

Insufficient
memory available.

An program used a Windows Sockets function which
directly maps to a Win32 function. The Win32 function is indicating a lack of
required memory resources.

WSANOTINITIALISED (10093)

Successful
WSAStartup not yet performed.

Either the program has not called
WSAStartup or WSAStartup failed. The program may be accessing a socket which
the current active task does not own (i.e. trying to share a socket between
tasks), or WSACleanup has been called too many times.

WSANO_DATA
(11004)

Valid name, no data record of requested type.

The
requested name is valid and was found in the database, but it does not have the
correct associated data being resolved for. The usual example for this is a
hostname -> address translation attempt (using gethostbyname or
WSAAsyncGetHostByName) which uses the DNS (Domain Name Server), and an MX
record is returned but no A record — indicating the host itself exists, but is
not directly reachable.

WSANO_RECOVERY (11003)

This is a
non-recoverable error.

This indicates some sort of non-recoverable error
occurred during a database lookup. This may be because the database files (e.g.
BSD-compatible HOSTS, SERVICES or PROTOCOLS files) could not be found, or a DNS
request was returned by the server with a severe
error.

WSAPROVIDERFAILEDINIT (OS dependent)

Unable to initialize
a service provider.

Either a service provider’s DLL could not be loaded
(LoadLibrary failed) or the provider’s WSPStartup/NSPStartup function
failed.

WSASYSCALLFAILURE (OS dependent)

System call
failure.

Returned when a system call that should never fail does. For
example, if a call to WaitForMultipleObjects fails or one of the registry
functions fails trying to manipulate theprotocol/namespace
catalogs.

WSASYSNOTREADY (10091)

Network subsystem is
unavailable.

This error is returned by WSAStartup if the Windows Sockets
implementation cannot function at this time because the underlying system it
uses to provide network services is currently unavailable. Users should check:

That the appropriate Windows Sockets DLL file is in the current
path.

That they are not trying to use more than one Windows Sockets
implementation simultaneously. If there is more than one WINSOCK DLL on your
system, be sure the first one in the path is appropriate for the network
subsystem currently loaded.

That the Windows Sockets implementation
documentation to be sure all necessary components are currently installed and
configured correctly.

WSATRY_AGAIN (11002)

Non-authoritative
host not found.

This is usually a temporary error during hostname
resolution and means that the local server did not receive a response from an
authoritative server. A retry at some time later may be
successful.

WSAVERNOTSUPPORTED (10092)

WINSOCK.DLL version out of
range.

The current Windows Sockets implementation does not support the
Windows Sockets specification version requested by the program. Check that no
old Windows Sockets DLL files are being accessed.

WSAEDISCON
(10094)

Graceful shutdown in progress.

Returned by recv, WSARecv
to indicate the remote party has initiated a graceful shutdown
sequence.

WSA_OPERATION_ABORTED (OS dependent)

Overlapped
operation aborted.

An overlapped operation was canceled due to the
closure of the socket, or the execution of the SIO_FLUSH command in WSAIoctl.

If the following error is displayed:

FLEXlm error: -15,570. System Error: 10038 «Winsock: Specified socket is invalid»

or

FLEXlm error: -15,570. System Error: 10038 «Winsock: Connection refused»

To resolve this issue, please try the following workarounds:

— Ensure that the same port numbers are listing in the SERVER line of the license.dat file on both the license server and client.

— Disable security software (e.g. antivirus)

— Uninstall wireless networking software

— Uninstall software/drivers for on-board infrared devices

— Reinstall the TCP/IP network stack

— If the network license manager is on Windows Vista, move the license manager files from the «C:Program Files» folder to another folder (e.g. C:flexlm).

If the error includes this line: ERROR: FLEXlm error: -15,570. System Error: 10061 «Winsock: Specified socket is invalid»

There is a port number conflict.

The network license manager operates using two TCP ports.

In order to use a firewall with FLEXnet, you will need to configure your license to use static ports and then open these in any network security that you have.

To do so, follow the steps below:

The first port the license manager uses is specified as the last argument of the SERVER line in the license file. This port is used for the initial connection to the license server. For example, this line below:

SERVER license-server-1 0011aabbcc22 27000

shows that the license manager is using port 27000. If you do not have a port number on the end of this line, you will need to specify a port. By default MathWorks uses port 27000 upon installation, however you can specify any open port on the machine.

To verify which ports are in use on your system, you can use the «netstat» utility. This utility is called from the DOS prompt for Windows, or through a terminal window on Linux/Unix/Mac. To use the utility, execute the following command:

The other license manager port is specified in DAEMON line of the license file. By default, the vendor DAEMON (MLM) uses a random open port. In order for the license manager to work with network security software and firewalls, you must specify an open port on your system for MLM. This specification is done in the license file by adding the flag ‘port=’ to the end of the DAEMON line. For example:

DAEMON MLM «C:flexlmmlm.exe» port=1711

In this example, MLM is tied to port 1711. Again, this must be a free port on the machine. If a port number which is already in use is chosen, a «port in use» error message will be generated when the license manager is restarted.

If you changed the ports, you will need to restart the license manager for the changes to take effect. Once the license manager is started successfully with the changes, you will need to open the ports any firewalls. Once open, you should be able to check out a license through a firewall.

NOTE: If client machines have a firewall, you will need to open the two ports on the client firewall as well.

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Невнимательность при письме приводит к ошибкам
  • Невидимые ошибки the outer worlds как спасти ученых
  • Невзирая на ошибки
  • Неверный формат хранилища данных обработка 1с ошибка
  • Невозможно завершить операцию ошибка 0х0000006

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: