[ОТВЕТИТЬ]
21.09.2015 14:44
DJRampAge
 
Собственно, такой вот косяк. Сталкивался кто с таким?
Продажи наличные, безналичные, загрузка номерклатуры, выгрузка чеков - всё в норме.
Ранее этот же самый дистрибутив был установлен на других магазинах и было всё в порядке. Последние 2 установки показывают такую вот проблему, как на фото ниже.
Установка производилась методом v64 -> v65 -> sp1 -> sp2
Собственно вопрос - как вылечить это?
21.09.2015 14:59
OlegON
 
Так 192.168.2.20 кто такой и кем приходится кассе? Какая топология?
21.09.2015 15:05
Discodog
 
Настройка магазина/Описание/Описание/Параметры - галочка "Восстановление и возврат локальных чеков при недоступном сервере" если стоит - снять и проверить возврат.
21.09.2015 15:16
DJRampAge
 
192.168.2.20 - адрес укм-сервера. топология - от одного свитча 100/1000 идёт на все компы, кассы и весы.
а галочку проверю, спасибо
21.09.2015 15:25
Discodog
 
а если галочка не стоит, то поставьте) Было на 49й подобное, галочкой этой рулил )
21.09.2015 16:39
DJRampAge
 
чуда не случилось

лог кассы:
15:27:29: 0x00020008: INFO: NTLP#0e26e9f8: Socket 19 connected to 192.168.1.20: new channel 3059120488 created
15:27:29: 0xbbe1800e: INFO: NtlpTrnManager: Remote username: ukm3w5e111lozzag. ptr = ffffffffb6567968
15:27:29: 0xbbe1800e: INFO: NtlpTrnManager: Answer for 192.168.1.201 host: remotehost, db = ukmclient, port = 3306, user = ukm3w5e111lozzag
15:27:29: 0xbbe1c00e: INFO: NtlpTrnManager: Remote username: ukm3w5e111lozzag. ptr = ffffffffb6567968
15:27:29: 0xbbe1c00e: INFO: NtlpTrnManager: Answer for 192.168.1.201 host: remotehost, db = ukmclient, port = 3306, user = ukm3w5e111lozzag
15:27:29: 0x00020008: INFO: LOGIN: operation in complete
15:27:49: 0x00004000: INFO: context: Pop front context CContextReceipt
15:27:50: 0x00004000: DEBUG: luaukm: hello
15:28:03: 0x00004000: INFO: context: Push front context CContextReceipt
15:28:13: 0x00004000: INFO: context: Pop front context CContextReceipt
15:28:14: 0x00004000: DEBUG: luaukm: hello
15:30:51: 0x00004000: WARNING: OBSOLETE: Sec: пользователю Дербе Елена Георгиевна(7) дал права на операцию 279 Рейн Павел Юрьевич(1)
15:30:59: 0x00004000: INFO: NtlpTrnManager: Receive host:192.168.1.20, db:ukmserver, port: 0, user: ukm000000020pnzk
15:33:06: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-65-2015_07_13_18_26_15/ukm/libukm/ccontext_default.cpp(706) HandleReturnbyreceiptBasic: Ошибка при подключении БД. Параметры подключения: host=192.168.1.20, user=ukm000000020pnzk, db=ukmserver, port=0: Error(2003) Can't connect to MySQL server on '192.168.1.20' (110): SQL
15:33:07: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-65-2015_07_13_18_26_15/ukm/libukm/addons.cpp(63) create: Anomalous parameter in /usr/local/storage/home/ukm/build-br-65-2015_07_13_18_26_15/ukm/libukm/video_control_itv.cpp(16) factory No more data in tokenizer
15:33:07: 0x00004000: INFO: UpdatesDownloadMonitor#b65140c0: Pending terminate request received
15:33:07: 0x0911400c: INFO: UpdatesDownloadMonitor#b65140c0: finished


лог сервера:
15:30:12: 0x00004e0c: INFO: NtlpTrnManager: Remote username: ukm000000020pnzk, for host: 192.168.1.20
15:30:12: 0x00004e0c: INFO: NtlpTrnManager: Answer for 192.168.1.20 host: remotehost, db = ukmserver, port = 0, user = ukm000000020pnzk


по какой-то причине системы стучится в 0 порт, хотя запрос уходит на 3306. при чём имена пользователей совершенно дикие
21.09.2015 16:40
DJRampAge
 
да, в логах ip другой подсети. 2 магазина с одинаковой проблемой, так что тесты провожу там, где нахожусь.
21.09.2015 16:55
Dim
 
в rc.ukm кассы параметры сервера правильные?
21.09.2015 17:23
DJRampAge
 
визуально никаких отклонений не вижу
rc.ukm:
port=1234
addr=127.0.0.1
mysql_port=3306
base=ukmclient
user=ukm_terminal
password=CtHDbCGK.C
server=192.168.1.20
21.09.2015 17:26
DJRampAge
 
Цитата:
15:30:12: 0x00004e0c: INFO: NtlpTrnManager: Answer for 192.168.1.20 host: remotehost, db = ukmserver, port = 0, user = ukm000000020pnzk
как ещё я понял из этой строчки, сервер отдаёт в параметрах подключения порт 0 вместо 3306. не исключено, что могу и ошибаться
21.09.2015 20:55
Dim
 
а где прописан адрес 192.168.2.20? касса же его показывает
22.09.2015 10:45
DJRampAge
 
Цитата:
а где прописан адрес 192.168.2.20? касса же его показывает
2 магазина с двумя серверами 1.20 и 2.20 с одинаковой проблемой. не суть подсети, кассы стучатся по правильному адресу
22.09.2015 10:58
DJRampAge
 
это же считается нормальным? или не особо?
пользователи на кассе:
mysql> select user from mysql.user;
+------------------+
| user |
+------------------+
| ukm3w5e111lozzag |
| ukm3w5e111lqaoww |
| ukm3w5e111lrd2nc |
| root |
| ukm_terminal |
| ukm_web |
+------------------+
6 rows in set (0,00 sec)
22.09.2015 13:50
Павел Сосновских
 
это нормально. при подключении кассы к серверу или локального сервера к головному создаются временные пользователи с временными паролями и с указанием ip-адресов, под которыми сервер может подключиться к кассе и наоборот или локальный к головному и наоборот

по теме - имхо это баг, с которым правильней всего обратиться в С+
22.09.2015 14:12
Никита
 
хм...есть предположение что папка инстала (укм-клиента) была взята с сервера на другой пк и загрузочная флешка (дискета) была создана уже с него. Посмотри там есть файлик /usr/local/ukmclient/rc.ukm , проверь чтобы стоял именно нужный порт сервера.
22.09.2015 14:14
DJRampAge
 
девятый пост:

rc.ukm:
port=1234
addr=127.0.0.1
mysql_port=3306
base=ukmclient
user=ukm_terminal
password=CtHDbCGK.C
server=192.168.1.20
22.09.2015 15:29
Никита
 
192.168.2.20 - адрес укм-сервера. топология - от одного свитча 100/1000 идёт на все компы, кассы и весы.
а галочку проверю, спасибо

port=1234
addr=127.0.0.1
mysql_port=3306
base=ukmclient
user=ukm_terminal
password=CtHDbCGK.C
server=192.168.1.20


не смущает ничего? ип сервера...не?
22.09.2015 16:16
DJRampAge
 
как я уже упомянул, есть 2 магазина с 1 и 2 подсетями и одинаковой проблемой. номер подсети - не суть, т.к. фото с другого магазина. так что нет, не смущает нисколько.
23.09.2015 10:10
akonev
 
Получается, ошибка возникает при подключении кассы напрямую в базу данных сервера.

Отсюда вопрос: где на кассе прописывается порт MySQL сервера?

Отдельное занимательное наблюдение:
У меня на кассах параметра server вовсе нет в rc.ukm.
Первые шесть строк есть. И на пароле файл заканчивается.
И как-то кассы сервер сами находят. Правда, версия у меня 56.

Предположение: возможно, если сервер указан, то надо указать к нему в комплекте еще и порт; не указан - принимается ноль.

Попробуй параметр server из rc.ukm убрать совсем.
23.09.2015 10:24
Никита
 
Цитата:
akonev Получается, ошибка возникает при подключении кассы напрямую в базу данных сервера.

Отсюда вопрос: где на кассе прописывается порт MySQL сервера?

Отдельное занимательное наблюдение:
У меня на кассах параметра server вовсе нет в rc.ukm.
Первые шесть строк есть. И на пароле файл заканчивается.
И как-то кассы сервер сами находят. Правда, версия у меня 56.

Предположение: возможно, если сервер указан, то надо указать к нему в комплекте еще и порт; не указан - принимается ноль.

Попробуй параметр server из rc.ukm убрать совсем.
порт на кассе прописывается /etc/my.cfg
я б еще проверил файлик /etc/sysconfig/network-scripts/ifcfg-eth0 верные ли там стоят параметры примерно должно быть так
Device=eth0
ONBOOT=yes
BOOTPROTO=static (хотя может быть dhcp)
IPADDR= - ип адрес кассы
NETMASK= 255.255.255.0
GATWAY= - ип адрес сервера

и в rc.ukm у меня есть строка
mysql_port=3306
23.09.2015 10:26
Mtirt
 
Это порт кассы, а не сервера...
23.09.2015 11:02
DJRampAge
 
убрал запись с указанием сервера, перезапустил кассу. ничего не поменялось.

внимательнее посмотрел логи и сравнил ещё раз запрос-ответ.
как я понял, сам сервер при соединении через сокет отдаёт неверный порт подключения и по этим данным касса, естественно, не может установить соединение.

есть у кого мысли по поводу того, где можно отредактировать эти данные?

лог кассы:
после запуска кассы получает верные данные

10:31:10: 0x00004000: INFO: Global: ---------- Client v.65 Service Pack 2 started -----------
10:31:10: 0x00004000: INFO: Global: ---------- Patch#1 7316 -----------
10:31:10: 0x0000c003: INFO: sound#b6c07548: started
10:31:10: 0x00010004: INFO: licsvc#b6c0a1a0: started
10:31:10: 0x00014005: INFO: mngsvc#0e4c9cf8: started
10:31:12: 0x00004000: INFO: Global: database host:127.0.0.1 db:ukmclient user:ukm_terminal port:3306
10:31:12: 0x00004000: INFO: Global: ---------- Installed service pack 2 -----------
10:31:12: 0x0001c007: INFO: NTLP#b6c0ae48: started
10:31:12: 0x00020008: INFO: Connector to server#b6c2cff0: started
10:31:24: 0x00020008: INFO: NTLP#b6c0ae48: Socket 15 connected to 192.168.1.20: new channel 3066224696 created
10:31:24: 0x00024009: INFO: NtlpTrnManager: Remote username: ukm3w5e111lt88xk. ptr = ffffffffb6c2e038
10:31:24: 0x00024009: INFO: NtlpTrnManager: Answer for 192.168.1.201 host: remotehost, db = ukmclient, port = 3306, user = ukm3w5e111lt88xk
10:31:24: 0x00028009: INFO: NtlpTrnManager: Remote username: ukm3w5e111lt88xk. ptr = ffffffffb6c2e038
10:31:24: 0x00028009: INFO: NtlpTrnManager: Answer for 192.168.1.201 host: remotehost, db = ukmclient, port = 3306, user = ukm3w5e111lt88xk
10:31:24: 0x00020008: INFO: LOGIN: operation in complete
10:31:26: 0x00004000: INFO: hw: initializing
10:31:26: 0x00004000: INFO: hw: USB-COM No usb-serial devices found in DB
10:31:26: 0x00004000: INFO: hw: Appending new keyboard port '/mb1/kbdp'
10:31:26: 0x00004000: INFO: hw: Appending new COM port '/mb1/com'
10:31:26: 0x00004000: INFO: hw: Appending new cashdrawer port '/mb1/com1/fiscalboard/cd'
10:31:26: 0x00004000: INFO: hw: USB HID keyboards list begin ----
10:31:26: 0x00004000: INFO: hw: No USB keyboards detected
10:31:26: 0x00004000: INFO: hw: USB HID keyboards list end ----
10:31:31: 0x00004000: DEBUG: luaukm: hello
10:31:31: 0x00004000: INFO: context: Push front context CContextDefault
10:31:31: 0x0003800b: INFO: CBottomExecutor#b6c85f20: started
10:31:31: 0x0003800b: INFO: CBottomExecutor#b6c85f20: finished
10:31:33: 0x00004000: WARNING: main: Правильно
10:31:33: 0x0004000c: INFO: UpdatesDownloadMonitor#b6652a98: started

после запуска процедуры возврата - нет

10:35:45: 0x00004000: INFO: NtlpTrnManager: Receive host:192.168.1.20, db:ukmserver, port: 0, user: ukm00000002059pc
10:37:53: 0x00004000: WARNING: debug#/usr/local/storage/home/ukm/build-br-65-2015_07_13_18_26_15/ukm/libukm/ccontext_default.cpp(706) HandleReturnbyreceiptBasic: Ошибка при подключении БД. Параметры подключения: host=192.168.1.20, user=ukm00000002059pc, db=ukmserver, port=0: Error(2003) Can't connect to MySQL server on '192.168.1.20' (110): SQL


логи сервера:
что видит сервер при запуске укм-клиента на кассе

10:29:08: 0x00001510: INFO: CAnalyze_Commiter#020d6540: Handle new receipt: cash_id=1001004, receipt_id=3703. Owner: analyze_accepted_receipts
10:30:56: 0x000016fc: INFO: NTLP#02106f60: Socket 3284 accepted from 192.168.1.201: new channel 121178208 created
10:30:56: 0x000016f8: INFO: diag: incoming command 101
10:30:56: 0x000036f4: INFO: CCash_loginner#192.168.1.201#07429160: started
10:30:56: 0x000016f8: INFO: diag: finished command 101
10:30:56: 0x000036f4: INFO: NtlpTrnManager: Receive host:192.168.1.201, db:ukmclient, port: 3306, user: ukm3w5e111lt88xk
10:30:56: 0x000036f4: INFO: NtlpTrnManager: Receive host:192.168.1.201, db:ukmclient, port: 3306, user: ukm3w5e111lt88xk
10:30:57: 0x000036f4: INFO: Cash#Терминал №101: успешное подключение из 121178208 канала
10:30:57: 0x00001788: INFO: replication#экспорт на терминал Терминал №101: Запуск
10:30:57: 0x00001788: INFO: replication#экспорт на терминал Терминал №101: формирование предварительного списка таблиц для репликации.
10:30:57: 0x00001788: INFO: replication#экспорт на терминал Терминал №101: Коррекция версий данных
10:30:57: 0x00001764: INFO: replication#импорт с терминала Терминал №101: Запуск
10:30:57: 0x00001764: INFO: replication#импорт с терминала Терминал №101: формирование предварительного списка таблиц для репликации.
10:30:57: 0x00001764: INFO: replication#импорт с терминала Терминал №101: Коррекция версий данных
10:30:57: 0x00001788: INFO: replication#экспорт на терминал Терминал №101: Анализ таблиц
10:30:57: 0x000036f4: INFO: CCash_loginner#192.168.1.201#07429160: finished
10:30:58: 0x00001788: INFO: replication#экспорт на терминал Терминал №101: Нет данных для репликации

что отдаёт сервер при запуске возврата

10:35:17: 0x000016f8: INFO: diag: incoming command 244
10:35:17: 0x000016f8: INFO: NtlpTrnManager: Remote username: ukm00000002059pc, for host: 192.168.1.20
10:35:18: 0x000016f8: INFO: NtlpTrnManager: Answer for 192.168.1.20 host: remotehost, db = ukmserver, port = 0, user = ukm00000002059pc
10:35:18: 0x000016f8: INFO: diag: finished command 244
23.09.2015 11:06
DJRampAge
 
извиняюсь за то, что плодю пложу развожу много постов.
в момент отказа запуска возврата на экране кассы появляется окно ошибки, где имя пользователя ukm000000002059pc, которое отдаёт сервер. соответственно, проблема именно в сервере, т.к. совпадают все данные подключения, но отдаётся неверный порт, в который пытается стучаться касса.
23.09.2015 11:16
OlegON
 
А если netstat -an или tcpdump посмотреть в момент отрыва, он правда на 0 пытается лезть? не уверен, что ему удастся создать такой пакет, но вдруг... Просто иногда 0 обозначает бродкаст или "по умолчанию", а по умолчанию там честный 3306.
23.09.2015 11:23
DJRampAge
 
ок, попробую тогда анализатором пакетов зацепиться за момент попытки соединения
23.09.2015 11:44
akonev
 
время синхронизировано на кассе и сервере?
я к тому, что мы точно можем рассчитывать на временные отметки в логах для определения очередности?

а так-то да, пока похоже на глюк сервера.

кстати! сервер в принципе принимает у вас подключения извне к MySQL?
я бы начал с создания пользователя и проверки возможности подключения.
23.09.2015 11:54
DJRampAge
 
да, сервер через sql manager принимает соединение по 3306 порту по стандартным имени и паролю. по данным временного подключения не пускает, ибо пароля не знаю.
время на сервере и кассе примерно одинаково, но не синхронно, т.к. кассы берут время с другого сервера.
23.09.2015 12:27
DJRampAge
 
от техподдержки с+ получил, наконец, ответ. будем его прорабатывать.

Цитата:
10:35:18: 0x000016f8: INFO: NtlpTrnManager: Answer for 192.168.1.20
host: remotehost, db = ukmserver, port = 0, user = ukm00000002059pc

в данном случае port = 0 - значит использовать порт по умолчанию, а порт по умолчанию 3306

в логе
10:37:53: 0x00004000: WARNING:
debug#/usr/local/storage/home/ukm/build-br-65-2015_07_13_18_26_15/ukm/libukm/ccontext_default.cpp(706)
HandleReturnbyreceiptBasic: Ошибка при подключении БД. Параметры
подключения: host=192.168.1.20, user=ukm00000002059pc, db=ukmserver,
port=0: Error(2003) Can't connect to MySQL server on '192.168.1.20'

при возврате при попытке подключения в mysql 192.168.1.20, получаем Can't connect to MySQL server on '192.168.1.20'

проблема скорей всего в сети

попробуйте сделать возврат получите ошибку вида (см. выше)

на сервере в бд mysql в таблице user будет запись для пользователя ukm00000002059pc (взять из последних логов)
поставьте ему пароль такой же как у root

и попробуйте подключиться с кассы к mysql на 192.168.1.20 с логином ukm00000002059pc и паролем CtHDbCGK.C
скорей всего получите ошибку Can't connect to MySQL server on '192.168.1.20'
причем если локально подключаться с 192.168.1.20 в mysql с такими данными все ок

=> кто-то между кассой и сервером блокирует порт 3306
23.09.2015 16:28
DJRampAge
 
вчера прописал всевозможные правила разрешений в брандмауэре - не помогло. сейчас отключил доменное наблюдение - не помогло. отключил слежение ещё и частных и гостевых сетей.
постучался телнетом в различных направлениях на порт 3306. телнет цепляется.
попробовал возврат - работает.

на данный момент проблема решена. если это оказалось не то решение, уважаемые коллеги, напишу здесь.
Опции темы


Часовой пояс GMT +3, время: 11:07.

 

Форум сделан на основе vBulletin®
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.