Summary: | Не запускается База WinNER 5.0 | ||
---|---|---|---|
Product: | WINE@Etersoft | Reporter: | Swamy Dhyan Nataraj <n> |
Component: | Запуск ; Отладка ; Исключения | Assignee: | BUGS@Etersoft <bugs> |
Status: | CLOSED WONTFIX | QA Contact: | Денис Баранов <baraka> |
Severity: | normal | ||
Priority: | P4 | CC: | kondratyuk, lav |
Version: | 1.1 | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | Debian GNU/Linux | ||
URL: | http://lj.shaplov.ru/2009/winner+wine/ | ||
Whiteboard: | |||
Заявки RT: | Связано с: | ||
Дата напоминания: | |||
Bug Depends on: | 4086 | ||
Bug Blocks: | 42 |
Description
Swamy Dhyan Nataraj
2009-06-05 14:29:24 MSD
sohranil v /var/ftp/pvt/Windows/DB/ Posle ustanovki IE problema v: ERR: ExpandFileNameEx: directory /C: not exists трейс перед падением по каналу shell: trace:shell:UrlUnescapeW (L"file:///C:/WinNER5/cup5/cup.xml", (nil), 0x33df04, 0x00100000) trace:shell:UrlUnescapeW result L"file:///C:/WinNER5/cup5/cup.xml" trace:shell:UrlCanonicalizeW result L"file:///C:/WinNER5/cup5/cup.xml" на функцию ExpandFileNameEx завёл отдельную багу #4086 При отладке по каналу relay. Последние строки перед падением: 0022:Call KERNEL32.LoadLibraryExA(0033fa9b "C:\\WinNER5\\cup5\\Vclx50.Ru",00000000,00000002) ret=400087a2 0022:Ret KERNEL32.LoadLibraryExA() retval=00000000 ret=400087a2 0022:Ret PE DLL (proc=0x4030b0a8,module=0x402f0000 L"Vclx50.bpl",reason=PROCESS_ATTACH,res=0x1) retval=ffffffff 0022:Call PE DLL (proc=0x7de33c10,module=0x7ddd0000 L"opengl32.dll",reason=PROCESS_ATTACH,res=0x1) 0022:Call KERNEL32.DisableThreadLibraryCalls(7ddd0000) ret=7de33bf4 0022:Ret KERNEL32.DisableThreadLibraryCalls() retval=00000001 ret=7de33bf4 0022:Call user32.GetDesktopWindow() ret=7de338aa 0022:Ret user32.GetDesktopWindow() retval=00070082 ret=7de338aa 0022:Call KERNEL32.GetModuleHandleA(7de4ef23 "winex11.drv") ret=7de338b8 0022:Ret KERNEL32.GetModuleHandleA() retval=7d8d0000 ret=7de338b8 0022:Call KERNEL32.GetModuleHandleA(7de4ef2f "gdi32.dll") ret=7de338cc 0022:Ret KERNEL32.GetModuleHandleA() retval=7e860000 ret=7de338cc 0022:Call KERNEL32.GetProcAddress(7d8d0000,7de4ef78 "wine_tsx11_lock") ret=7de33946 0022:Ret KERNEL32.GetProcAddress() retval=7d943797 ret=7de33946 0022:Call KERNEL32.GetProcAddress(7d8d0000,7de4ef88 "wine_tsx11_unlock") ret=7de33968 0022:Ret KERNEL32.GetProcAddress() retval=7d9437bf ret=7de33968 0022:Call KERNEL32.GetProcAddress(7e860000,7de4ef9a "wglGetProcAddress") ret=7de3398a 0022:Ret KERNEL32.GetProcAddress() retval=7e86f294 ret=7de3398a 0022:Call gdi32.wglGetProcAddress(7de4efac "wglGetIntegerv") ret=7de339a4 X Error of failed request: BadRequest (invalid request code or no such operation) Major opcode of failed request: 134 (DRI2) Minor opcode of failed request: 1 (DRI2Connect) Serial number of failed request: 658 Current serial number in output stream: 658 Разобрался. Ошибка возникает при вызове кода: else ret = dc->funcs->pwglGetProcAddress(func); находящегося в функции wglGetProcAddress (gdi32.dll) Возврат после этой команды уже не происходит. Если убрать данную сточку, то появляется графическое окно программы через функцию wglGetProcAddress программа пытается запросить адрес OpenGL функции func: 'wglGetIntegerv' Похожая проблема описывается в: http://www.winehq.org/pipermail/wine-patches/2006-November/032384.html При комментировании следующих строк (по совету автора патча) в функции process_attach (opengl32/wgl.c) wine_wgl.p_wglGetIntegerv = (void *) wine_wgl.p_wglGetProcAddress("wglGetIntegerv"); wine_wgl.p_wglFinish = (void *)wine_wgl.p_wglGetProcAddress("wglFinish"); wine_wgl.p_wglFlush = (void *)wine_wgl.p_wglGetProcAddress("wglFlush"); программа идёт дальше, и выдаёт графическое сообщение об ошибке: EAccessViolation: Access violation at address 4007A7A8 in module 'Vcl50.bpl'. Read of address 00000038. в консоле: fixme:ole:TLB_ReadTypeLib Header type magic 0x00505a4d not supported. err:ole:TLB_ReadTypeLib Loading of typelib L"C:\\WinNER5\\cup5\\cup.bin" failed with error 0 Нет интереса в поддержке у разработчика. Осенью анонсировано решение для Linux. |