Укажите отработанное время

Отработанное время:
Продуктивное время:
Bug 399 - Не работает java при установке Гаранта F1 Турбо   Make a simular bug
Summary: Не работает java при установке Гаранта F1 Турбо
Status: CLOSED FIXED
Alias: None
Product: WINE@Etersoft
Classification: Продукты (Products)
Component: Установка программ / MSI (show other bugs)
Version: 1.0.6
Hardware: PC Linux
: P2 critical
Target Milestone: ---
Deadline: 2007-01-30
Assignee: Константин Кондратюк
QA Contact:
URL: http://bugs.winehq.org/show_bug.cgi?i...
Whiteboard:
Keywords:
Depends on:
Blocks: 287
  Show dependency treegraph
 
In work:
Reported: 2006-11-20 14:57 MSK by Константин Кондратюк
Modified: 2009-02-02 17:12 MSK (History)
2 users (show)

See Also:
Заявки RT:
Связано с:
Дата напоминания:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Константин Кондратюк 2006-11-20 14:57:29 MSK
При установке платформы Гарант, использующей java, происходит ошибка.

http://bugs.winehq.org/show_bug.cgi?id=2953
Comment 1 Константин Кондратюк 2006-12-18 17:14:57 MSK
В 1.0.5 проблема остаётся.
Нужна срочно платформа F1 Турбо
Comment 2 Константин Кондратюк 2006-12-27 16:09:04 MSK
Ошибка DirectDraw.
Проявляется при запуске ~/wine_c/windows/temp/I1167212837/Windows/SetupF1.exe в бутылке garant-java.

WINEDEBUG=+ddraw показывает следующие строки:
trace:ddraw:DllMain (0x7dd40000,0,0x1)
warn:ddraw:DllMain There are still existing DirectDraw interfaces. Wine bug or buggy application?
warn:ddraw:DllMain DDraw 0x1de0e0 has a refcount of 2
trace:ddraw:IDirectDrawImpl_AddRef (0x1de0e0) : incrementing IDirectDraw7 refcount from 2.
trace:ddraw:IDirectDrawImpl_EnumSurfaces (0x1de0e0)->(1,0x33d570,0x1de0e0,0x7dd5c582)
trace:ddraw:IDirectDrawSurfaceImpl_AddRef (0x1df6b0) : AddRef increasing from 1
trace:ddraw:IDirectDrawSurfaceImpl_Release (0x1df6b0) : Releasing from 2
warn:ddraw:DestroyCallback Surface 0x1df6b0 has an reference count of 1
trace:ddraw:IDirectDrawSurfaceImpl_Release (0x1df6b0) : Releasing from 1
trace:ddraw:IDirectDrawSurfaceImpl_Release (0x1df6b0) Destroying the render target, uninitializing D3D
Comment 3 Константин Кондратюк 2007-01-03 15:54:10 MSK
При установке j2re-1.4.2.13 получена та же ошибка. Так что это общая проблема java-машин.
Comment 4 Vitaly Lipatov 2007-01-26 20:57:09 MSK
надо проверить на новой версии
Comment 5 Vitaly Lipatov 2007-01-26 20:59:50 MSK
Надо найти соотв. баги в bugs.winehq.org
И повесить если нет.
Comment 6 Vitaly Lipatov 2007-02-17 21:42:08 MSK
fixme:font:WineEngCreateFontInstance Untranslated charset 255
fixme:imm:ImmGetOpenStatus (0x21ca78): semi-stub
fixme:imm:ImmSetConversionStatus (0x21ca78, 1, 0): stub
fixme:imm:ImmGetDefaultIMEWnd (0x10030 - (nil) 0x15f608 ): semi-stub
First chance exception: page fault on read access to 0x000002a0 in 32-bit code (0x7e9022a6).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7e9022a6 ESP:7cdb3e60 EBP:7cdb3e9c EFLAGS:00010202(   - 00      - -RI1)
 EAX:00000000 EBX:7d24b038 ECX:7eaa81e4 EDX:7cdb3e90
 ESI:0021cfb0 EDI:00000000
Stack dump:
0x7cdb3e60:  7d202853 00000de1 7d2469e4 7cdb3e90
0x7cdb3e70:  001e4488 02a70020 00000000 00001000
0x7cdb3e80:  00000000 0000002d 00000000 00000000
0x7cdb3e90:  00000000 7d24b038 0021cfb0 7cdb3f5c
0x7cdb3ea0:  7d1fdcc3 0021cfb0 7cdb3f10 7cdb3f20
0x7cdb3eb0:  7ffc60cc 7cdb3ef4 7ee7f231 7ec15940
Backtrace:
=>1 0x7e9022a6 glTexImage2D+0x406() in libgl.so.1 (0x7cdb3e9c)
  2 0x7d1fdcc3 in wined3d (+0x5dcc3) (0x7cdb3f5c)
  3 0x7d1ffa50 in wined3d (+0x5fa50) (0x7cdb3fac)
  4 0x7d27f022 in ddraw (+0x2f022) (0x7cdb3fec)
  5 0x0295e32e in awt (+0x6e32e) (0x00568090)
  6 0x029555b0 in awt (+0x655b0) (0x02954f50)
  7 0x748b5655 (0x5314ec83)
  8 0x00000000 (0x00000000)
0x7e9022a6 glTexImage2D+0x406 in libgl.so.1: jmp        *0x2a0(%eax)
Comment 7 Vitaly Lipatov 2007-02-17 21:47:03 MSK
=>1 0x7e94e2a6 glTexImage2D+0x406() in libgl.so.1 (0x7ce46edc)
  2 0x7d263361 IWineD3DSurfaceImpl_BltOverride+0x1b1(This=0x1f2170, DestRect=<register ESI not in topmost frame>, SrcSurface=0x2e060e8, SrcRect=0x7ce4709c, Flags=<is not available>, DDBltFx=0x0) [/net/wine/Projects/wine-origin/dlls/wined3d/surface.c:2588] in wined3d (0x7ce46f8c)
  3 0x7d264cc9 IWineD3DSurfaceImpl_Blt+0xa9(iface=<register ESI not in topmost frame>, DestRect=0x7ce470ac, SrcSurface=<register EDI not in topmost frame>, SrcRect=0x7ce4709c, Flags=0x1000000, DDBltFx=0x0) [/net/wine/Projects/wine-origin/dlls/wined3d/surface.c:2775] in wined3d (0x7ce46fbc)
  4 0x7d2d9cf3 IDirectDrawSurfaceImpl_Blt+0xb3(iface=0x2ab1b80, DestRect=0x7ce470ac, SrcSurface=0x21b528, SrcRect=0x7ce4709c, Flags=<register ESI not in topmost frame>, DDBltFx=<register EDI not in topmost frame>) [/net/wine/Projects/wine-origin/dlls/ddraw/surface.c:717] in ddraw (0x7ce46ffc)
  5 0x0295e32e in awt (+0x6e32e) (0x00569b70)
  6 0x029555b0 in awt (+0x655b0) (0x02954f50)
Comment 8 Vitaly Lipatov 2007-02-17 21:49:45 MSK
trace:d3d_surface:IWineD3DSurfaceImpl_BltOverride Blt from surface 0x2e05f48 to rendertarget 0x1f2708
trace:d3d_surface:IWineD3DSurfaceImpl_PreLoad (0x2e05f48)Checking to see if the container is a base texture
trace:d3d_surface:IWineD3DSurfaceImpl_GetContainer (This 0x2e05f48, riid {3c2aebf6-6f30-11d9-c687-00046142c14f}, ppContainer 0x7ce40ed0)
trace:d3d_surface:IWineD3DSurfaceImpl_GetContainer Relaying to QueryInterface
trace:d3d_surface:IWineD3DSurfaceImpl_PreLoad (0x2e05f48) : About to load surface
Comment 9 Vitaly Lipatov 2007-02-17 22:18:18 MSK
Когда я отключил вывод в этих функциях, падение на первом этапе прекратилось,
появились окна диалога установки (пустые внутри, потому что всё рисование осуществляется через Java).

Пример программы, воспроизводящей проблему (компилируем на builder с помощью javac):

import javax.swing.JFrame;
import javax.swing.JPanel;

public class FrameDemo2
extends JPanel {

    public static void main(String args[])
    {
        JFrame frame = new JFrame("FrameDemo2");
        frame.setVisible(true);
    }
}

Comment 10 Vitaly Lipatov 2007-02-17 22:34:05 MSK
Что используем из awt (исходники в /var/ftp/pub/ALTLinux/SRPMS/j2se1.5-sun-source-1.5.0_11-alt1.i586.rpm)

[Loaded sun.awt.im.CompositionAreaHandler from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.text.AttributedString from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.text.CharacterIterator from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.text.AttributedCharacterIterator from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.text.AttributedString$AttributedStringIterator from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded sun.java2d.loops.FontInfo from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded sun.awt.SunGraphicsCallback from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.awt.GraphicsCallback from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.awt.GraphicsCallback$PaintCallback from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded javax.swing.DebugGraphics from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded javax.swing.DebugGraphicsInfo from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded javax.swing.GraphicsWrapper from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded javax.swing.SwingGraphics from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded sun.awt.windows.WVolatileImage from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded sun.awt.image.Image from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.awt.image.RenderedImage from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.awt.image.WritableRenderedImage from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded java.awt.image.BufferedImage from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
[Loaded sun.awt.image.OffScreenImage from C:\windows\temp\I1167223059\Windows\resource\jre\lib\rt.jar]
Comment 11 Vitaly Lipatov 2007-02-18 12:17:10 MSK
Ну вот, я потратил час чтобы прийти к названию функции, которое мы давно давно знали.
Интересно, есть ли в этих исходниках обращение к D3D или надо другие искать...
Comment 12 Константин Кондратюк 2007-02-19 17:37:13 MSK
Команда, используемая в Гаранте для запуска java для установки:

cmd: "C:\windows\temp\I1171895602\Windows\resource\jre\bin\javaw.exe" -Xms16777216 -Xmx50331648 -classpath "C:\windows\temp\I1171895602\InstallerData\IAClasses.zip;C:\windows\temp\I1171895602\Windows\resource\jdglue.zip;C:\windows\temp\I1171895602\InstallerData\Execute.zip;C:\windows\temp\I1171895602\Windows\InstallerData\Execute.zip;C:\windows\temp\I1171895602\InstallerData\Resource1.zip;C:\windows\temp\I1171895602\Windows\InstallerData\Resource1.zip;C:\windows\temp\I1171895602\InstallerData;C:\windows\temp\I1171895602\Windows\InstallerData;" com.zerog.lax.LAX "C:/windows/temp/I1171895602/Windows/SetupF1.lax" "C:/windows/temp/laxf037.tmp"
Comment 13 Константин Кондратюк 2007-02-21 13:46:42 MSK
Для использования Swing в java нужно запускать JRE с параметром "-Dsun.java2d.noddraw"
Нужно сделать так, чтобы при запуске java всегда стартовала с этим параметром.
Comment 14 Константин Кондратюк 2007-02-24 18:49:48 MSK
Проблема с запуском установки из-за ddraw решена. Патч приложен к сборке 1.0.6 (noddraw.patch). При запуске javaw.exe добавляет нужный параметр в командную строку.
Comment 15 Vitaly Lipatov 2007-02-24 22:21:47 MSK
Работает. Проверили. CLOSED делать не будем, так как решение - хак.
Comment 16 Vitaly Lipatov 2007-12-22 15:49:05 MSK
Похоже проблема была связана с тем, что DirectDraw не работает без GL.
См. описанное в 973