https://bugs.winehq.org/show_bug.cgi?id=34642
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
--- Comment #3 from Michael Müller michael@fds-team.de --- Hi,
I tried to debug this issue and found a function related to the problem. I was unable to find the exact reason for the problem, maybe someone else has more luck to reveal the last piece of the puzzle using my findings. However, I came up with a workaround to prevent this problem.
When you start premiere pro 2 using +relay as debug channel, the application works as expected but is really slow because of all the debug output. This means that the problem is either a timing issue or related to the redirect coded added by the +relay channel.
To verify my assumption, I added my own debug channel which does the same like relay, but without printing any debug messages at all. The program still worked using the new debug channel, so I limited the dlls affected by my code to find out which one is causing the problem. Adding the relay code only to ntdll.dll was sufficient to make premiere pro happy. I did the same with the ordinals exported by ntdll and was able to pinpoint it to a single function: RtlInterlockedPushEntrySList
Adding the relay code only to ntdll.dll.RtlInterlockedPushEntrySList is sufficient to make the application start. Anyway, I was unable to find a proper fix for this without adding the relay code. My idea that the function may need to be hotpatchable, like the relay code, was wrong since adding DECLSPEC_HOTPATCH to RtlInterlockedPushEntrySList did not solve the problem.
(Tested with wine-1.7.26)
Regards, Michael