Summary: | [interra]: Штрих ФР-К + Настройка свойств | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Mikhail Krylatykh <delayer> |
Component: | Оборудование ; Драйвера | Assignee: | Александр Морозов <amorozov> |
Status: | CLOSED FIXED | QA Contact: | |
Severity: | critical | ||
Priority: | P4 | CC: | amorozov, baraka, DjSpiker, kondratyuk |
Version: | 1.0.10 | Keywords: | ИНТЕРРА |
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 3589 |
Description
Mikhail Krylatykh
2009-04-30 16:27:14 MSD
Да, при попытке просто "занять/освободить порт" в консоль сыпется: fixme:comm:set_queue_size insize 1024 outsize 1024 unimplemented stub И ФР так и не видится, хотя номер порта указан верно. пользователь, от имени которого происходит работа, есть в dialout/uucp. Права на /dev/ttyS*: interra@shop2:~$ ls -l /dev/ttyS* crw-rw---- 1 root dialout 4, 64 2009-04-30 16:27 /dev/ttyS0 crw-rw---- 1 root dialout 4, 65 2009-04-30 19:26 /dev/ttyS1 crw-rw---- 1 root dialout 4, 66 2009-04-30 19:26 /dev/ttyS2 crw-rw---- 1 root dialout 4, 67 2009-04-30 19:26 /dev/ttyS3 При запуске wine98 program.exe тоже не работает? Нужно проверить, из-за wine98 ли такая регрессия или сама по себе. В случае успешного запуска с помощью wine98 можно будет прописать DrvFRTst.exe и подобные утилиты в замещения. (In reply to comment #2) > При запуске > wine98 program.exe > тоже не работает? Через wine98 без проблем работает. Думаю лучше прописать вызов через wine98 таких программ, чем чинить все с нуля. Не соглашусь, что совсем без проблем... Да, запускается, и если компорт указать корректный, то Штрих-ФР-К я вижу. Однако поиск оборудования вешается, то есть нажатие кнопки Поиск дает затемнение кнопки, вроде как ищет... но на этом все и заканчивается, искать может годами ;) При этом кнопа Закрыть работает, и окошко по ней закрывается нормально. Вывод при запуске в консоли присутствует такой: err:service:RPC_Init RpcServerListen failed with error 1714 err:wineboot:start_services_process Unexpected termination of services.exe - exit code 1714 eter23-16, воспроизводится При поиске оборудования на текущем eterhack не происходит обращения к COM-портам. Это видно по логам +comm,+file. При запуске в одной и той же .wine на atlant поиск не работает, а на cellar работает. Запускал через WINEDLLOVERRIDES="oleaut32=n,b" ww DrvFRTst.exe На cellar просто заходил через ssh -Y cellar Если запустить программу под отладчиком, установить брейк на 0x40004a60 (функцию потока, создающегося при нажатии на "Начать поиск") и выйти из отладчика при первом появлении исключения, то поиск оборудования выполняется и на atlant. Правда, при закрытии окошка поиска всё падает. Выполнение функции, расположенной по адресу 0x40004a60 на cellar: 0050:Starting thread proc 0x40004a60 (arg=0xa7f400) 0050:Call ole32.CoInitialize(00000000) ret=00b68612 ............ На atlant: 0031:Starting thread proc 0x40004a60 (arg=0xa8f400) 0031:Call KERNEL32.ExitThread(00000000) ret=40004ae2 DrvFR.dll: CODE:00058024 push ebp CODE:00058025 mov ebp, esp CODE:00058027 push ecx CODE:00058028 push ebx CODE:00058029 mov [ebp+var_4], eax CODE:0005802C mov eax, [ebp+var_4] CODE:0005802F cmp word ptr [eax+32h], 0 CODE:00058034 jz short loc_58042 CODE:00058036 mov ebx, [ebp+var_4] Если в отладчике установить брейк на 00058024, то поиск оборудования начинает работать, а если на 0005802F - нет. При этом содержимое регистров перед выполнением 0005802F в обоих случаях одинаково. Возможно, баг связан с многопоточностью, например, на одной машине раньше начинает выполняться один поток, а на другой - другой. Баг не проявляется, если добавить задержку в start_thread(). Принято. WINE@Etersoft 1.0.10 eter27/eter19 Работает при запуске через wine98 |