[Bug 10002] Adobe Illustrator CS and CS2 abort on startup

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Mar 31 15:48:52 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=10002


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #8 from Anastasius Focht <focht at gmx.net>  2008-03-31 15:48:51 ---
Hello,

there are various issues though the app is not really specific about the cause.
The commercial vbox wrapper protection scheme is a bit of nuisance here so one
has to reduce the number of possible causes in the startup phase one by one.

The first one is that installer and the app/support tools don't get well with
color profiles in mscms storage (the 'private' locations will work).
With the current implementation of mscms api, the profiles are stored in
"windows/system32/spool/drivers/color".
This works as long as the mscms API is used to retrieve the directory where the
profiles are stored.

Unfortunately the CS installer stores the profiles *NOT* in
"windows/system32/spool/drivers/color" but in the old 9X
"windows/system32/Color/" location (creates the "Color" directory if not
present).

--- snip illustrator installation ---
..
001c:Call KERNEL32.GetFileAttributesA(0298ff00
"C:\\windows\\system32\\Color\\Adob257b.rra") ret=10033a6e
001c:Ret  KERNEL32.GetFileAttributesA() retval=ffffffff ret=10033a6e
001c:Call KERNEL32.CreateFileA(0298ff00
"C:\\windows\\system32\\Color\\Adob257b.rra",40000000,00000001,00000000,00000002,00000080,00000000)
ret=1002f158
001c:Ret  KERNEL32.CreateFileA() retval=00002e30 ret=1002f158 
..
001c:Call KERNEL32.GetFileAttributesA(0298ff00
"C:\\windows\\system32\\Color\\AdobeRGB1998.icc") ret=10033a6e
001c:Ret  KERNEL32.GetFileAttributesA() retval=ffffffff ret=10033a6e
001c:Call KERNEL32.DeleteFileA(0298ff00
"C:\\windows\\system32\\Color\\AdobeRGB1998.icc") ret=1005c7c5
001c:Ret  KERNEL32.DeleteFileA() retval=00000000 ret=1005c7c5
001c:Call KERNEL32.GetLastError() ret=1005c7cb
001c:Ret  KERNEL32.GetLastError() retval=00000002 ret=1005c7cb
001c:Call KERNEL32.MoveFileA(0298ff48
"C:\\windows\\system32\\Color\\Adob257b.rra",0298ff00
"C:\\windows\\system32\\Color\\AdobeRGB1998.icc") ret=1005c823
001c:Ret  KERNEL32.MoveFileA() retval=00000001 ret=1005c823 
--- snip illustrator installation ---

Starting with fresh ~/.wine.
After cs trial installation:

--- snip ---
[focht at nexus Color]$ pwd
/home/focht/.wine/drive_c/windows/system32/Color
[focht at nexus Color]$ ls -lsa
total 7360
  8 drwxrwxr-x 2 focht focht   4096 2008-03-30 21:59 .
  8 drwxrwxr-x 8 focht focht   4096 2008-03-30 21:59 ..
  8 -rw-rw-r-- 1 focht focht    560 2003-11-06 20:46 AdobeRGB1998.icc
  8 -rw-rw-r-- 1 focht focht    552 2003-11-06 20:46 AppleRGB.icc
  8 -rw-rw-r-- 1 focht focht    552 2003-11-06 20:46 CIERGB.icc
  8 -rw-rw-r-- 1 focht focht    560 2003-11-06 20:46 ColorMatchRGB.icc
556 -rw-rw-r-- 1 focht focht 557164 2003-11-06 20:46 EuroscaleCoated.icc
556 -rw-rw-r-- 1 focht focht 557164 2003-11-06 20:46 EuroscaleUncoated.icc
556 -rw-rw-r-- 1 focht focht 557168 2003-11-06 20:46 JapanColor2001Coated.icc
556 -rw-rw-r-- 1 focht focht 557168 2003-11-06 20:46 JapanColor2001Uncoated.icc
556 -rw-rw-r-- 1 focht focht 557160 2003-11-06 20:46 JapanStandard.icc
556 -rw-rw-r-- 1 focht focht 557164 2003-11-06 20:46 JapanWebCoated.icc
  8 -rw-rw-r-- 1 focht focht    556 2003-11-06 20:46 NTSC1953.icc
  8 -rw-rw-r-- 1 focht focht    552 2003-11-06 20:46 PAL_SECAM.icc
716 -rw-rw-r-- 1 focht focht 722600 2003-11-06 20:46 Photoshop4DefaultCMYK.icc
716 -rw-rw-r-- 1 focht focht 722576 2003-11-06 20:46 Photoshop5DefaultCMYK.icc
  8 -rw-rw-r-- 1 focht focht    552 2003-11-06 20:46 SMPTE-C.icc
  8 -rw-rw-r-- 1 focht focht   3144 2003-11-06 20:46 sRGB Color Space
Profile.icm
280 -rw-rw-r-- 1 focht focht 274474 2003-11-15 14:55 stdpyccl.icm
556 -rw-rw-r-- 1 focht focht 557168 2003-11-06 20:46 USSheetfedCoated.icc
556 -rw-rw-r-- 1 focht focht 557168 2003-11-06 20:46 USSheetfedUncoated.icc
556 -rw-rw-r-- 1 focht focht 557168 2003-11-06 20:46 USWebCoatedSWOP.icc
556 -rw-rw-r-- 1 focht focht 557164 2003-11-06 20:46 USWebUncoated.icc
  8 -rw-rw-r-- 1 focht focht    560 2003-11-06 20:46 WideGamutRGB.icc
--- snip ---

and "new" mscms storage:

--- snip ---
[focht at nexus color]$ pwd
/home/focht/.wine/drive_c/windows/system32/spool/drivers/color
[focht at nexus color]$ ls -lsa
total 16
8 drwxrwxr-x 2 focht focht 4096 2008-03-31 21:12 .
8 drwxrwxr-x 5 focht focht 4096 2008-03-31 21:12 ..
--- snip ---

Illustrator and other support tools later retrieve the profiles location by
using GetColorDirectoryA().

--- snip illustrator trace ---
..
0013:Call mscms.GetColorDirectoryA(00000000,0033edf4,0033e9d4) ret=015df457
..
0013:Call KERNEL32.GetSystemDirectoryW(0033e6dc,00000100) ret=6116e9c0
0013:Ret  KERNEL32.GetSystemDirectoryW() retval=00000013 ret=6116e9c0
0013:Call KERNEL32.WideCharToMultiByte(00000000,00000000,00158698
L"C:\\windows\\system32\\spool\\drivers\\color",ffffffff,00000000,00000000,00000000,00000000)
ret=6116ed6c
0013:Ret  KERNEL32.WideCharToMultiByte() retval=00000028 ret=6116ed6c
..
0013:Ret  mscms.GetColorDirectoryA() retval=00000001 ret=015df457
..
0013:Call KERNEL32.FindFirstFileA(0033e43c
"C:\\windows\\system32\\spool\\drivers\\color\\*",0033e540) ret=015deb47
0013:Ret  KERNEL32.FindFirstFileA() retval=00158698 ret=015deb47
..
0013:Call KERNEL32.GetSystemDirectoryA(0033edf4,00000104) ret=015df4a5
0013:Ret  KERNEL32.GetSystemDirectoryA() retval=00000013 ret=015df4a5
0013:Call KERNEL32.FindFirstFileA(0033e43c
"C:\\windows\\system32\\Color\\*",0033e540) ret=015deb47
0013:Ret  KERNEL32.FindFirstFileA() retval=00158698 ret=015deb47
..
0013:Call advapi32.RegOpenKeyExA(80000002,0163dab4
"SOFTWARE\\Microsoft\\Windows\\CurrentVersion",00000000,00020019,0033f14c)
ret=015de83d
0013:Ret  advapi32.RegOpenKeyExA() retval=00000000 ret=015de83d
0013:Call advapi32.RegQueryValueExA(00000114,0163daa4
"CommonFilesDir",00000000,0033f144,0033ed34,0033f148) ret=015de866
0013:Ret  advapi32.RegQueryValueExA() retval=00000000 ret=015de866
0013:Call advapi32.RegCloseKey(00000114) ret=015de8a3
0013:Ret  advapi32.RegCloseKey() retval=00000000 ret=015de8a3
0013:Call KERNEL32.GetFileAttributesA(0033f198 "C:\\Program Files\\Common
Files\\Adobe\\") ret=015de62a
0013:Ret  KERNEL32.GetFileAttributesA() retval=00000010 ret=015de62a
0013:Call KERNEL32.GetFileAttributesA(0033f198 "C:\\Program Files\\Common
Files\\Adobe\\Color\\") ret=015de62a
0013:Ret  KERNEL32.GetFileAttributesA() retval=00000010 ret=015de62a
..
0013:Call KERNEL32.CreateFileA(0033f198 "C:\\Program Files\\Common
Files\\Adobe\\Color\\ACE1Cache.lst",80000000,00000003,0033f0f8,00000003,00000080,00000000)
ret=01618801
0013:Ret  KERNEL32.CreateFileA() retval=00000114 ret=01618801
..
0013:Call KERNEL32.CreateFileA(0033f33c
"C:\\windows\\system32\\spool\\drivers\\color\\sRGB Color Space
Profile.icm",80000000,00000003,0033f214,00000003,00000080,00000000)
ret=01618801
0013:Ret  KERNEL32.CreateFileA() retval=ffffffff ret=01618801
0013:Call KERNEL32.GetLastError() ret=0161880d
0013:Ret  KERNEL32.GetLastError() retval=00000002 ret=0161880d
..
0013:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033f27c)
ret=0160b183
0013:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b8419a0
0013:trace:seh:raise_exception  info[0]=19930520
0013:trace:seh:raise_exception  info[1]=0033f2a4
0013:trace:seh:raise_exception  info[2]=016339e4
0013:trace:seh:raise_exception  eax=7b82c3e9 ebx=7b8ae884 ecx=00000000
edx=0033f260 esi=0033f260 edi=0033f1e0
0013:trace:seh:raise_exception  ebp=0033f1c8 esp=0033f164 cs=0073 ds=007b
es=007b fs=0033 gs=003b flags=00000216
0013:trace:seh:call_stack_handlers calling handler at 0x161b6d0 code=e06d7363
flags=1
0013:trace:seh:call_stack_handlers handler at 0x161b6d0 returned 1
0013:trace:seh:call_stack_handlers calling handler at 0x161b70a code=e06d7363
flags=1
--- snip illustrator trace ---

Nothing is found due to installer putting them in "old" directory and C++
exception is thrown.
Not catastrophic for Illustrator because it searches additional 'private'
profile locations but it adds additional noise.
Other tools like the adobe gamma loader (from "C:\Program Files\Common
Files\Adobe\Calibration\Adobe Gamma Loader.exe") won't even work due to that
problem.

To solve the profiles problem - supporting the "old" and "new" profile storage
I suggest to use a symbolic link.

E.g. wine should create a "windows/system32/Color/" symlink to
"windows/system32/spool/drivers/color".
That way older and new apps can access the profiles.

With fresh ~./wine, precreation of "color" profile directory symlink and
installation, the app and tools find the profiles:

--- snip ---
002e:Call mscms.GetColorDirectoryA(00000000,0033f068,0033ec48) ret=015df457
002e:Call KERNEL32.GetSystemDirectoryW(0033e94c,00000100) ret=67b649c0
002e:Ret  KERNEL32.GetSystemDirectoryW() retval=00000013 ret=67b649c0
002e:Call KERNEL32.WideCharToMultiByte(00000000,00000000,00158960
L"C:\\windows\\system32\\spool\\drivers\\color",ffffffff,00000000,00000000,00000000,00000000)
ret=67b64d6c
002e:Ret  KERNEL32.WideCharToMultiByte() retval=00000028 ret=67b64d6c
002e:Ret  mscms.GetColorDirectoryA() retval=00000001 ret=015df457
..
002e:Call KERNEL32.FindFirstFileA(0033e6b0
"C:\\windows\\system32\\spool\\drivers\\color\\*",0033e7b4) ret=015deb47
002e:Ret  KERNEL32.FindFirstFileA() retval=00158960 ret=015deb47
..
002e:Call KERNEL32.CreateFileA(0033eb2c
"C:\\windows\\system32\\spool\\drivers\\color\\sRGB Color Space
Profile.icm",80000000,00000003,00338660,00000003,00000080,00000000)
ret=01618801
002e:Ret  KERNEL32.CreateFileA() retval=0000011c ret=01618801 
..
--- snip ---

Note: This will not solve the crash but will enhance functionality of support
tools and removes some noise (less exceptions).
More stuff to follow.

Regards


-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list