-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initialize error: Insufficient buffer. #6
Comments
В качестве быстрого решения попробуйте не использовать последнюю версию, а запустить сервер таким образом: По самой проблеме, к сожалению, не подскажу. Сам только разбираюсь и kmlebedev/txmlconnector:latest у меня не стартует с аналогичными ошибками |
Там просто старый образ, сейчас попробую обновить |
Большое спасибо за обновление. Даже успел нагуглить про gonative (https://habr.com/ru/post/249449/), но дальше этого пока не продвинулся P.S. Большое спасибо за проект |
Пофиксил сборку выложил свежий рабочий doсker image |
Image version 6.19.2.21.16 Часто выбивает. |
Магия тут
Кажется ответ не влез в буфер, но как этим управлять не понятно. Могу пока сделать, так что бы не вылетало.
|
Да, теперь не падает, спасибо, хотелось бы понять, но не мой профиль, это похоже внутри dll вылетает судя по коду |
После некоторых экспериментов с локальным билдом проблемка вообще ушла локально, при этом последний собранный вами контейнер что я запустил на сервере продолжает выбивать ошибку, не вылетает конечно. Отличия в версиях пакетов, вот мой файл:
|
Может проблема в контейнере |
Рано радовался, ловится во время дебага клиентского приложение, вернусь с более точной информацией |
Может быть проблема в том что dll модуль выделяет буфер для чтение и ваш клиент не успевает считывать ? |
Проблема оказалась в логике клиентского приложения в режиме отладки. Смысл такой: если допустить повторную отправку команды connect пока еще не обработан весь тот поток начальных данных, что был выкинут сервером в ответ на первый connect, то вылетит эта ошибка. Тоесть, моя точка останова и неспешная отладка поступающих сообщений вызвала в другом потоке клиента повторную попытку подключения по retry таймауту и эта вторая попытка выбивает ошибку на сервере. По смыслу в принципе так и есть, на стороне сервера в dll библиотеке первый буфер еще не выгружен целиком, и допускается попытка писать туда еще раз. Официальная документация: Надеюсь кому поможет. |
Этот
Если выждать и подключиться через минутку, то все будет нормально.
|
Замечены такие кейсы:
Всвязи с чем обработку этих кейсов надо реализовавать либо на стороне txmlconnector, но как я понимаю это не его задача обрабатывать логику клиента, а значит вот эта строчка https://github.com/kmlebedev/txmlconnector/blob/main/server/main.go#L168 неприемлима тк при ее наличии нельзя обработать перечисленные выше кейсы на стороне клиента. |
То же словил |
Я тоже на это же наступил. Гугление привело на похожее: ClickHouse/clickhouse-go#209 |
Здравствуйте! Спасибо больше за реализацию коннектора.
Пытаюсь его поднять сервер по инструкции, но возникает ошибка. Я раньше не пользовался ни wine, ни golang, ни коннектором от финам.
Подскажите пожалуйста куда примерно копать, чтобы найти причину ошибки?
The text was updated successfully, but these errors were encountered: