http://bugs.winehq.org/show_bug.cgi?id=10037
Summary: Photoshop CS Freezes After initialisation Product: Wine Version: 0.9.47. Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: wine-misc AssignedTo: wine-bugs@winehq.org ReportedBy: robbie@startailpro.co.uk
I was told off for continuing my bug so I am here. <a href=http://bugs.winehq.org/show_bug.cgi?id=9004 >Bug 9004</a> is my old bug and had some new info in it but I am here now. (will a tags work?)
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #1 from Robbie robbie@startailpro.co.uk 2007-10-14 16:24:32 --- That's a lesson
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #2 from Robbie robbie@startailpro.co.uk 2007-10-14 16:42:47 --- At the moment the only problem I am having with the trial app is that my layers and tools will disappear if I change my virtual desktop.
http://bugs.winehq.org/show_bug.cgi?id=10037
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mikolaj.zalewski@gmail.com
--- Comment #3 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-14 16:48:28 --- Can you compile wine from sources? If so, does the patch http://www.winehq.org/pipermail/wine-patches/attachments/20070926/0db01ad6/a... help? Could you provide a WINEDEBUG=+advapi trace?
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #4 from Robbie robbie@startailpro.co.uk 2007-10-14 16:59:08 --- Right, i do compile wine from sources but I don't know how to do patches. I assume have to make a new ~/.wine and re-install a proper version of Photoshop CS instead of my trial.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #5 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-14 17:05:19 --- Do a:
patch -p1 -E <file.patch
from the sources root. You should have a clean ~/.wine for the experiment, but you can simply rename ~/.wine to ~/.wine-trial, test the proper version and then remove the ~/.wine and rename ~/.wine-trial back to ~/.wine . It's good to do `wineserver -k` before any rename/delete to make sure there will be no conflicts. After building wine from sources you can either install it or simply run it with `/path/to/sources/wine Photoshop.exe` to run the patched version.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #6 from Robbie robbie@startailpro.co.uk 2007-10-15 12:59:52 --- Created an attachment (id=8592) --> (http://bugs.winehq.org/attachment.cgi?id=8592) trace back of avapi32
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #7 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-15 13:24:53 --- Could you provide 20000 last lines of a WINEDEBUG=+relay log (you can get the last lines with `tail -n 20000 full_log`)?
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #8 from Robbie robbie@startailpro.co.uk 2007-10-16 12:28:14 --- Created an attachment (id=8614) --> (http://bugs.winehq.org/attachment.cgi?id=8614) WINEBUG+=relay log
I have made it 10 000 as 20 000 is too big.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #9 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-16 21:47:58 --- This is not a relay log - you must have made a mistake somewhere. I forgot to warn you that a relay log will take some 4-5GB and will take some 20-30 minutes to generate. But after it is generated you can extract the tail lines and delete the original. You can compress it with gzip or bzip2 to make it smaller.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #10 from Robbie robbie@startailpro.co.uk 2007-10-17 15:46:04 --- Well I did WINEDEBUG+="relay log" wine Photoshop.exe
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #11 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-17 16:19:31 --- I should have written it more clearly. You should do (I'll also add +seh,+tid as they might be helpful):
WINEDEBUG=+relay,+seh,+tid wine Photoshop &>output
And send 10000 or 20000 last lines of the log.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #12 from Robbie robbie@startailpro.co.uk 2007-10-19 14:50:25 --- Created an attachment (id=8664) --> (http://bugs.winehq.org/attachment.cgi?id=8664) WINEDEBUG=+"relay, seh, tid"
15000 lines
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #13 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-19 15:19:36 --- It should have been WINEDEBUG=+relay,+seh,+tid, not WINEDEBUG=+"relay, seh, tid" (there are '+' everywhere). However the relay log is already quite interesting - there is an infinite recursion on RtlAllocateHeap. I see no code path where there RtlAllocateHeap calls itself. On possibility is that RtlAllocateHeap generates a seh exception, the handler calls RtlAllocateHeap that generates another exception handled by the same handler etc. It's quite possible as previously there was a call to HeapDestroy. Could you generate a trace with seh logs so that we can check if that's it?
Another strange thing is that RtlAllocateHeap is called from a DLL that already got a PROCESS_DETACH. It's strange it's code is still in memory (the heap was destroyed on that PROCESS_DETACH. Maybe we are detaching DLLs in a wrong order?)
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #14 from Robbie robbie@startailpro.co.uk 2007-10-19 15:52:36 --- I do this WINEDEBUG=+relay, +seh, +tid but it came up with '+seh command not found', so I put it as WINEDEBUG=+"relay, seh, tid" as that the same, I thought. So i'll do seh log.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #15 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-19 16:00:33 --- If you wouldn't have put the spaces the first would have worked. But it's not a problem. And maybe it would be even more interesting to do a "WINEDEBUG=+module,+loaddll" log. It looks like AWSCommonUI.dll is calling a function in ARM.dll after the second have had a PROCESS_DETACH.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #16 from Robbie robbie@startailpro.co.uk 2007-10-19 16:01:09 --- Created an attachment (id=8665) --> (http://bugs.winehq.org/attachment.cgi?id=8665) WINEDEBUG=+"seh"
10000 lines
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #17 from Robbie robbie@startailpro.co.uk 2007-10-19 16:02:35 --- Oddly enough its not me adding the lines but tail
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #18 from Robbie robbie@startailpro.co.uk 2007-10-19 16:03:24 --- I'm glad you can understand it
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #19 from Robbie robbie@startailpro.co.uk 2007-10-19 16:09:35 --- Created an attachment (id=8666) --> (http://bugs.winehq.org/attachment.cgi?id=8666) WINEDEBUG=+"module, loaddll"
10000 lines
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #20 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-19 21:00:58 --- Could you also provide a WINEDEBUG="+module,+loaddll,+tid" log (note the '+' - there are three of them. And no spaces)? To make the log smaller do a "grep -v HCR_GetFolderAttributes output >output2". If needed also use gzip or bzip2 on it. That way it should be possible to attach the whole log - dll loading that is at the beginning of the log may be important to understand the order in which they are unloaded.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #21 from Robbie robbie@startailpro.co.uk 2007-10-20 04:10:40 --- Created an attachment (id=8674) --> (http://bugs.winehq.org/attachment.cgi?id=8674) WINEDEBUG="+module,+loaddll,+tid"
all lines
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #22 from Robbie robbie@startailpro.co.uk 2007-10-20 05:02:36 --- Created an attachment (id=8675) --> (http://bugs.winehq.org/attachment.cgi?id=8675) WINEDEBUG=+advapi
I wonder if I actually installed the patch or not so I re-installed and did the trace. It still freezes though.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #23 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-23 17:11:50 --- The first cause of the crash is that after calling GetModuleHandle the program calls ExitProcess with a 0xfeedface exit code. From http://www.woodmann.cjb.net/forum/showthread.php?t=9530 it seems that this means that SafeCast detected a debugger - probably it didn't like the kernel32 image. It seems that the SafeCast in Photoshop CS retail is more strict than in the CS2 Trial.
http://bugs.winehq.org/show_bug.cgi?id=10037
Mikolaj Zalewski mikolaj.zalewski@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Ever Confirmed|0 |1
--- Comment #24 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-24 16:08:51 --- I can confirm the bug.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #25 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-24 20:00:53 --- The setup program also end prematurely because of this - it gets killed by SafeCast when it is about to execute the Activation step. However it seems everything is installed correctly - the logs are the same for starting SafeCase during the installation as during the Photoshop startup.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #26 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-25 16:16:30 --- Created an attachment (id=8773) --> (http://bugs.winehq.org/attachment.cgi?id=8773) A utility that checks if exports begins with 0xCC
As on the forum they wrote that this return may be because of a system function begining with 0xCC I wanted to make sure that this is not the case and wrote a small utility that checks it. However the results are the same as on XP - the only functions that begins with 0xCC are ntdll.DbgBreakPoint and ntdll.DbgUserBreakPoint . There is a differance that we have a NULL export - to support the SecuROM we set FT_Thunk to NULL if we emulate NT but removing that doesn't seem to change anything.
Also SafeCast tries to load CdaSdTst.dll with is not present but that also fails under Window XP without preventing Photoshop CS from starting.
http://bugs.winehq.org/show_bug.cgi?id=10037
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #27 from Anastasius Focht focht@gmx.net 2007-10-25 16:50:03 --- Hello,
--- quote --- As on the forum they wrote that this return may be because of a system function begining with 0xCC I wanted to make sure that this is not the case and wrote a small utility that checks it. However the results are the same as on XP - the only functions that begins with 0xCC are ntdll.DbgBreakPoint and ntdll.DbgUserBreakPoint . There is a differance that we have a NULL export - to support the SecuROM we set FT_Thunk to NULL if we emulate NT but removing that doesn't seem to change anything. --- quote ---
Yes, you're seeing the SafeDisc/SafeCast metabug which blocks most SD/SC 2.x/3.x protected apps/games on wine. SafeDisc and SafeCast share the same code base (SafeDisc has additional code for media checks). The "ExitProcess(0xfeedface)" is a general return code for any anomalies encountered - not specific to int3 software breakpoints found on api entries. The root cause lies indeed in wine's builtin dll/PE executable/exports layouts. Not only kernel32 is affected but all other checked builtins too (for SD/SC usually: kernel32, user32 and gdi32). I read somewhere other people are working on this (vitamin?) dunno how far they got. I don't want to interfere someones work if not requested ;-)
--- quote --- Also SafeCast tries to load CdaSdTst.dll with is not present but that also fails under Window XP without preventing Photoshop CS from starting. --- quote ---
This dll doesn't need to be present. Failure to load this dll is gracefully handled/ignored by SC.
Regards
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #28 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-25 17:00:01 --- Wow! I see you know something about it. Is there somewhere I could read more about it or could you write something more? (I was reluctant to disassemble the code to make sure there is nothing wrong in me sending patch. I'll also try to contact vitamin on IRC)
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #29 from Mikolaj Zalewski mikolaj.zalewski@gmail.com 2007-10-25 20:59:04 --- There are two bugs with details SafeDisc problems - #9925 and #9926. The #9925 doesn't seem to be the problem - SafeCast is loaded into the Photoshop process long after photoshop started and I don't see any interaction with other processes. Bug #9926 seems more possible but I've commented out the externs and the symptons are the same.
http://bugs.winehq.org/show_bug.cgi?id=10037
--- Comment #30 from Dmitry Timoshkov dmitry@codeweavers.com 2007-11-08 20:06:56 --- With yesterday's SD fixes Alexandre put into the git Photoshop starts up for me. Could anybody else retest/confirm this?
http://bugs.winehq.org/show_bug.cgi?id=10037
Robbie robbie@startailpro.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED
--- Comment #31 from Robbie robbie@startailpro.co.uk 2007-11-25 10:47:17 --- Ok. After going to 0.9.49 the activation thingy comes up (very technical wording). To me that was a good sign, as I used a *cough* crack to make it work. I now have a fully functioning Photoshop CS and I thank all who helped and the people and the community of wine to make it possible. :)
http://bugs.winehq.org/show_bug.cgi?id=10037
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #32 from Dan Kegel dank@kegel.com 2008-01-28 05:45:12 --- Closing all RESOLVED FIXED bugs older than four weeks.