Вылет UnitServer при нескольких принтерах на драйвере Hexagon

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
Аватара пользователя
saratovout
Сообщения: 42
Зарегистрирован: 08 авг 2019, 23:52

Вылет UnitServer при нескольких принтерах на драйвере Hexagon

Сообщение saratovout » 09 авг 2019, 17:47

При попытке добавления более 1 принтера этикеток "Гексагон: Принтера этикеток Zebra,Proton,Toshiba-TEC,Datamax-O neil" (Hexagon), UnitServer вылетает на старте.

UnitServer версий 2.1.29.12 / 2.1.29.10 / 2.1.28.10.
Драйвер Hexagon 3.0.2.0 (с оф. сайта) / 2.6.6.0 (в сборке UnitServer)

При настроенном/добавленном (в настройках UnitServer'a) одного принтера, всё работает без проблем.
Действующие лицензии на UnitServer есть.
Действующие лицензии на HexagonLabelPrinterDriver есть (без лицензии драйвера работает, поверх макета в этом случае печатаются надписи "демо", когда лицензии выключена).

Прошу прокомментировать проблему. Возможно её решить?

Код: Выделить всё

Имя сбойного приложения: UnitServer.exe, версия: 2.1.29.10, отметка времени: 0x5d37288e
Имя сбойного модуля: HexagonLabelPrinter.dll, версия: 3.0.2.0, отметка времени 0x5c053288
Код исключения: 0xc0000005
Смещение ошибки: 0x003a4a71
Идентификатор сбойного процесса: 0x1b0c
Время запуска сбойного приложения: 0x01d54df05b7ff80d
Путь сбойного приложения: C:\Program Files (x86)\UnitServer\UnitServer.exe
Путь сбойного модуля: C:\Program Files (x86)\UnitServer\Dll\HexagonLabelPrinter.dll
Код отчета: 9a2dd9ba-b9e3-11e9-ac36-001517ed53ac

Код: Выделить всё

Приложение: UnitServer.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.AccessViolationException
   в KkmFactory.DllManger.GetClassObject(DeviceSettings)
   в KkmFactory.Unit1c.InitDll()
   в KkmFactory.UnitManager+ . ()
   в System.Threading.Tasks.Task.InnerInvoke()
   в System.Threading.Tasks.Task.Execute()
   в System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
   в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   в System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   в System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
   в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Код: Выделить всё

Имя сбойного приложения: UnitServer.exe, версия: 2.1.29.10, отметка времени: 0x5d37288e
Имя сбойного модуля: HexagonLabelPrinter.dll, версия: 2.6.6.0, отметка времени 0x57a4a2fb
Код исключения: 0xc0000005
Смещение ошибки: 0x0031942d
Идентификатор сбойного процесса: 0xb18
Время запуска сбойного приложения: 0x01d54df4ffe8753b
Путь сбойного приложения: C:\Program Files (x86)\UnitServer\UnitServer.exe
Путь сбойного модуля: C:\Program Files (x86)\UnitServer\Dll\HexagonLabelPrinter.dll
Код отчета: 3e820b4d-b9e8-11e9-ac36-001517ed53ac

Код: Выделить всё

Приложение: UnitServer.exe
Версия платформы: v4.0.30319
Описание. Процесс был завершен из-за необработанного исключения.
Сведения об исключении: System.AccessViolationException
   в KkmFactory.DllManger.GetClassObject(DeviceSettings)
   в KkmFactory.Unit1c.InitDll()
   в KkmFactory.UnitManager+ . ()
   в System.Threading.Tasks.Task.InnerInvoke()
   в System.Threading.Tasks.Task.Execute()
   в System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
   в System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   в System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   в System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   в System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   в System.Threading.ThreadPoolWorkQueue.Dispatch()
   в System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Audim
Администратор
Сообщения: 1744
Зарегистрирован: 17 мар 2015, 18:36

Re: Вылет UnitServer при нескольких принтерах на драйвере Hexagon

Сообщение Audim » 09 авг 2019, 22:29

Попробую разобраться в чем дело...

Аватара пользователя
saratovout
Сообщения: 42
Зарегистрирован: 08 авг 2019, 23:52

Re: Вылет UnitServer при нескольких принтерах на драйвере Hexagon

Сообщение saratovout » 09 авг 2019, 22:52

Также тестировались последние драйвера Hexagon 3.1.2 / 3.0.6, ситуация идентична.
Могу переслать dll'ки всех имеющихся версий, если нужно.

Предполагаю, что проблема кроется в одновременной попытке инициализации всех устройств под одним драйвером..

Upd. Пожалуйста, сообщите, если решение проблемы появится.
Последний раз редактировалось saratovout 22 авг 2019, 19:44, всего редактировалось 2 раза.

Audim
Администратор
Сообщения: 1744
Зарегистрирован: 17 мар 2015, 18:36

Re: Вылет UnitServer при нескольких принтерах на драйвере Hexagon

Сообщение Audim » 12 авг 2019, 18:27

64-bit'ные не встанут ни когда....

Ответить